《dlbook》深度學(xué)習(xí)系列——前言
本系列筆記主要針對Github 上這本有關(guān)深度學(xué)習(xí)的書——《deep learning book》相關(guān)的讀書筆記糠睡。針對當前熱門的深度學(xué)習(xí)做一個基本的梳理,感興趣的朋友可以看看!
本書的章節(jié)安排結(jié)構(gòu)如下
人工智能
人工智能(AI) 是一個具有許多實際應(yīng)用和活躍研究課題的領(lǐng)域球订,并蓬勃發(fā)展著咬摇。我們指望通過智能軟件自動化處理常規(guī)勞動袖瞻、理解語音或圖像司致、幫助醫(yī)學(xué)診斷和支持基礎(chǔ)科學(xué)研究拆吆。
機器學(xué)習(xí)
機器學(xué)習(xí)(Machine Learning) 是指AI系統(tǒng)具有自己獲取知識的能力聋迎,即從原始數(shù)據(jù)中提取模式的能力。
引入機器學(xué)習(xí)使計算機可以解決設(shè)計現(xiàn)實世界知識的問題枣耀,并能做出看似“主觀”的決策霉晕。
常見的機器學(xué)習(xí)算法包括邏輯回歸(Logistics Regression) 、 樸素貝葉斯(Navie Bayes) 等... 這些機器學(xué)習(xí)算法的性能很大程度上依賴于給定數(shù)據(jù)的表示(Representation) 捞奕。
? 上圖就是一個簡單的可視化例子牺堰,左圖是數(shù)據(jù)在笛卡爾坐標系中的表示,右邊是數(shù)據(jù)在極坐標中的表示颅围。
? 但是我們很難知道應(yīng)該提取哪些特征伟葫。例如,我們編寫一個識別程序來檢測照片中的車輛院促,我們想用車輪的存在作為特征筏养,不幸的是斧抱,我們很難準確地從像素值的角度描述一個車輪看起來如何。車輪有簡單的幾何形狀渐溶,但它的圖像可以因為環(huán)境變得很復(fù)雜辉浦,如落在車輪上的陰影、太陽照亮的車輪金屬零件茎辐、汽車擋泥板或遮擋的前景物體等宪郊。
表示學(xué)習(xí)
? 解決這個問題的一個途徑就是用機器學(xué)習(xí)來發(fā)現(xiàn)表示本身,而不僅僅把表示映射到輸出拖陆。這種學(xué)習(xí)方法被稱為表示學(xué)習(xí)(Representation Learning) 弛槐。學(xué)習(xí)到的往往獲得比手動設(shè)計的表示更好的性能。并且它們只需最少的人工干預(yù), 就能讓AI系統(tǒng)迅速適應(yīng)新的任務(wù)依啰。表示學(xué)習(xí)算法只需幾分鐘就可以為簡單的任務(wù)發(fā)現(xiàn)一個很好的特征集丐黄,對于復(fù)雜任務(wù)則需要幾小時到幾個月。手動為一個復(fù)雜的任務(wù)設(shè)計特征需要耗費大量的人工時間和精力孔飒;甚至需要花費整個社群研究人員幾十年時間灌闺。
自動編碼器
? 一個典型的表示學(xué)習(xí)的例子就是自動編碼器(autoencoder) 。自動編碼器是組合了將輸入轉(zhuǎn)換到不同表示編碼器(encoder) 函數(shù)和將新的表示轉(zhuǎn)回原來形式的解碼器(decoder) 函數(shù)坏瞄。
? 自動編碼器的目標是輸入經(jīng)過編碼器和解碼器之后盡可能多的保留信息桂对,同時希望新的表示有各種好的屬性。 不同種類的自動編碼器的目標是實現(xiàn)不同種類的屬性鸠匀。
下圖是一個自動編碼器的示例:
如上圖蕉斜,將input 輸入一個encoder 編碼器,就會得到一個code缀棍,這個code 就是輸入的一個表示宅此,那么我們怎么知道這個code 的表示就是輸入input 呢?這時候我們加一個decoder 解碼器爬范,這時候解碼器就會輸出一個信息父腕,那么如果這個輸出信息和一開始的輸入信號input很相似(理想情況一樣),那么很明顯青瀑,我們就有理由相信這個code是input的一個靠譜的表示璧亮。所以通過調(diào)整encoder 和decoder 的參數(shù),使得重構(gòu)誤差最小斥难,這時我們就得到輸入信號input 的第一個表示了枝嘶,也就是編碼code 。因為使用的是無標簽數(shù)據(jù)學(xué)習(xí)哑诊,所以誤差的來源就是直接重構(gòu)后與原輸入相比得到群扶。
? 然而現(xiàn)實世界中從原始數(shù)據(jù)中提取高層次、抽象的特征是非常困難的。 深度學(xué)習(xí)(Deep Learning)通過其他較簡單的表示來表達復(fù)雜表示竞阐,解決了表示學(xué)習(xí)中核心問題 提茁。
深度學(xué)習(xí)
? 深度學(xué)習(xí)讓計算機通過較簡單概念構(gòu)建復(fù)雜的概念。下圖顯示了深度學(xué)習(xí)系統(tǒng)通過組合較簡單的概念馁菜,例如轉(zhuǎn)角和輪廓茴扁,轉(zhuǎn)而定義邊緣來表示圖像中一個人的概念。深度學(xué)習(xí)模型的典型例子是前饋深度網(wǎng)絡(luò)或多層感知機(MLP)汪疮。多層感知機僅僅是一個將一組輸入值映射到輸出的數(shù)學(xué)函數(shù)峭火。該函數(shù)由許多較簡單的函數(shù)組合而構(gòu)成。我們可以認為每個應(yīng)用具有不同的數(shù)學(xué)函數(shù)智嚷,并為輸入提供新的表示卖丸。
學(xué)習(xí)數(shù)據(jù)的正確表示的想法是深度學(xué)習(xí)的一個觀點。另一個觀點是深度允許計算機學(xué)習(xí)一個多步驟的計算機程序盏道。
上圖顯示了語言的選擇澤陽給相同的兩個架構(gòu)兩個不同的衡量稍浆。
總結(jié)
總之,這本書的主題是——深度學(xué)習(xí)是AI的途徑之一猜嘱。具體地講衅枫,它是機器學(xué)習(xí)地一種,一種允許計算機系統(tǒng)能從經(jīng)驗和數(shù)據(jù)中得到提高地技術(shù)朗伶。
本書主張機器學(xué)習(xí)是構(gòu)建能在復(fù)雜實際環(huán)境下運行的AI系統(tǒng)的唯一可行方法弦撩。深度學(xué)習(xí)是一種特定類型的機器學(xué)習(xí),通過將世界表示為由較簡單概念定義復(fù)雜概念论皆,從一般抽象到高級抽象的嵌套概念體系獲得極大的能力和靈活性益楼。
下圖說明了這些不同地AI 學(xué)科之間地關(guān)系
下圖給出了每個學(xué)科如何工作地一個高層次原理