《1天搞懂深度學(xué)習(xí)》爵政,快300頁的ppt仅讽,臺灣李宏毅教授寫的,非常棒钾挟。不夸張地說洁灵,是我看過最系統(tǒng),也最通俗易懂的掺出,關(guān)于深度學(xué)習(xí)的文章徽千。
這是slideshare的鏈接:《1天搞懂深度學(xué)習(xí)》
廢話少說,先上干貨汤锨,整個PPT的思維導(dǎo)圖如下:
深度學(xué)習(xí)概論
介紹深度學(xué)習(xí)
作者非常淺顯的指出機器(深度)學(xué)習(xí)過程非常簡單双抽,分為定義方法、判斷方法的優(yōu)劣闲礼、挑選出最佳的方法荠诬。
對于深度學(xué)習(xí),首先第一步定義方法 - 神經(jīng)網(wǎng)絡(luò)位仁。深度學(xué)習(xí)顧名思義是指多層的神經(jīng)網(wǎng)絡(luò)。
神經(jīng)網(wǎng)絡(luò)的思想來源于對于人腦的生理上的研究方椎,人腦由數(shù)億個神經(jīng)元組成聂抢,神經(jīng)元通過軸突互相連接通信。神經(jīng)網(wǎng)絡(luò)和人腦類似棠众,存在多個層級(layer)琳疏,每個層級都有多個節(jié)點(神經(jīng)元)有决,層級和層級之間相互連接(軸突),最終輸出結(jié)果空盼。
對于神經(jīng)網(wǎng)絡(luò)的計算能力可以理解為通過一層層Layer的計算歸納书幕,逐步的將抽象的原始數(shù)據(jù)變的具體。以圖片識別為例揽趾,輸入是一個個像素點台汇,經(jīng)過每層神經(jīng)網(wǎng)絡(luò),逐步變化成為線篱瞎、面苟呐、對象的概念,然后機器有能力能夠識別出來俐筋。
第二步牵素,評估方法的優(yōu)劣。
Loss function是用于評估方法優(yōu)劣澄者,通常我們用學(xué)習(xí)出來的參數(shù)對測試數(shù)據(jù)進行計算私蕾,得出對應(yīng)的預(yù)測(y)然后和真實的測試數(shù)據(jù)的目標值(t)進行比對,y和t之間的差距往往就是Loss稠通。那么評估一個算法的好壞蝠引,就是要盡可能的降低Loss。
第三步抱怔,如何獲得最佳的學(xué)習(xí)方法
獲得最佳的學(xué)習(xí)是采用梯度下降算法劣坊,作者也提到梯度下降算法存在局部最優(yōu)解的問題。人們往往認為機器無所不能屈留,實際上更像是在一個地圖上面拓荒局冰,對周邊一無所知。神經(jīng)網(wǎng)絡(luò)計算梯度的算法是反向傳播算法灌危,簡稱BP康二。
Why Deep?
作者首先指出越多的參數(shù)往往帶來越好的預(yù)測能力勇蝙,所以神經(jīng)網(wǎng)絡(luò)往往參數(shù)越多越好沫勿。那么如果是同樣的參數(shù)情況下,為什么層級較多的表現(xiàn)會更好呢味混?
作者認為深度網(wǎng)絡(luò)可以帶來模塊化的好處产雹,隨著網(wǎng)絡(luò)的層級,神經(jīng)網(wǎng)絡(luò)會將像素元素逐漸歸納出一些基本的特征翁锡,進而變成紋理蔓挖,進而變成對象。
訓(xùn)練方法
作者總結(jié)下來訓(xùn)練過程中會發(fā)現(xiàn)了兩種情況:
1. 沒有辦法得到很好的訓(xùn)練結(jié)果 ---》 重新選擇訓(xùn)練方式
2. 沒有辦法得到很好的測試結(jié)果 ---》 往往由于過度擬合導(dǎo)致馆衔,需要重新定義方法
優(yōu)化訓(xùn)練方法的手段:
1. 選擇合適的Loss function:使用Cross Entropy效果要優(yōu)于Mean Square Error
2. Mini-batch: 每次訓(xùn)練使用少量數(shù)據(jù)而不是全量數(shù)據(jù)效率更高
3. Activation Function:使用ReLU替代Sigmoid可以解決梯度消失的問題瘟判,可以訓(xùn)練更深的神經(jīng)網(wǎng)絡(luò)
4. Adaptive Learning Rate:可以隨著迭代不斷自我調(diào)整怨绣,提高學(xué)習(xí)效率
5. Momentum: 可以一定程度上避免陷入局部最低點的問題
避免過度擬合(overfitting)的方法:
1. Early Stopping:使用cross validation的方式,不斷對validation data進行檢驗拷获,一旦發(fā)現(xiàn)預(yù)測精度下降則停止篮撑。
2. Weight Decay:參數(shù)正則化的一種方式?
3. Dropout:通過隨機去掉一些節(jié)點的連接達到改變網(wǎng)絡(luò)形式匆瓜,所以會產(chǎn)生出多種網(wǎng)絡(luò)形態(tài)赢笨,然后匯集得到一個最佳結(jié)果
4. Network Structure: 例如CNN等其他形態(tài)的網(wǎng)絡(luò)
神經(jīng)網(wǎng)絡(luò)變體
Convolutional Neural Network (CNN)
通常情況下,一個CNN包含多次的卷積陕壹、池化质欲,然后Flatten,最終再通過一個深度神經(jīng)網(wǎng)絡(luò)進行學(xué)習(xí)預(yù)測糠馆。CNN在圖像嘶伟、語音識別取得非常好的成績,核心的想法在于一些物體的特征往往可以提取出來又碌,并且可能出現(xiàn)在圖片的任何位置九昧,而且通過卷積、池化可以大大減少輸入數(shù)據(jù)毕匀,加快訓(xùn)練效率铸鹰。
Recurrent Neural Network (RNN)
RNN的想法是可以將hidden layer的數(shù)據(jù)存儲下來,然后作為輸入給下一個網(wǎng)絡(luò)學(xué)習(xí)皂岔。這種網(wǎng)絡(luò)的想法可以解決自然語言中前后詞語是存在關(guān)聯(lián)性的蹋笼,所以RNN可以把這些關(guān)聯(lián)性放到網(wǎng)絡(luò)中進行學(xué)習(xí)。
其他前沿技術(shù)
Ultra Deep Network:2015年出現(xiàn)了152層的Residual Net實現(xiàn)了圖片3.57%錯誤率
Reinforcement Learning: 通過獎勵機制強化學(xué)習(xí)躁垛,并且做出相應(yīng)的動作
Unsupervised Learning:
1. Deep Style
2. 生成圖片
3. 無需人工介入理解文字的含義