一、反向傳播思想:
1茉盏、計(jì)算出輸出與標(biāo)簽間的損失函數(shù)值瞻惋,然后計(jì)算其相對(duì)于每個(gè)神經(jīng)元的梯度,根據(jù)梯度方向更新權(quán)值援岩。
(1)將訓(xùn)練集數(shù)據(jù)輸入到ANN的輸入層歼狼,經(jīng)過隱藏層,最后達(dá)到輸出層并輸出結(jié)果享怀,這是ANN的前向傳播過程羽峰;
(2)由于ANN的輸出結(jié)果與實(shí)際結(jié)果有誤差,則計(jì)算估計(jì)值與實(shí)際值之間的誤差添瓷,并將該誤差從輸出層向隱藏層反向傳播梅屉,直至傳播到輸入層;
(3)在反向傳播的過程中鳞贷,根據(jù)誤差調(diào)整各種參數(shù)的值坯汤;不斷迭代上述過程,直至收斂搀愧。
2惰聂、無監(jiān)督逐層訓(xùn)練:預(yù)訓(xùn)練:每次訓(xùn)練一層隱結(jié)點(diǎn)。訓(xùn)練時(shí)將上一層隱結(jié)點(diǎn)的輸出作為輸入咱筛,而本層隱結(jié)點(diǎn)的輸出作為 下一層隱結(jié)點(diǎn)的輸入搓幌。在預(yù)訓(xùn)練結(jié)束后,再對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行微調(diào)訓(xùn)練迅箩。
3溉愁、DNN:指深度神經(jīng)網(wǎng)絡(luò),與RNN循環(huán)神經(jīng)網(wǎng)絡(luò)饲趋、CNN卷積神經(jīng)網(wǎng)絡(luò)的區(qū)別就是拐揭,DNN特指全連接的神經(jīng)元結(jié)構(gòu),并不包含卷積單元 或時(shí)間上的關(guān)聯(lián)奕塑。
二堂污、DBN:(預(yù)訓(xùn)練+微調(diào))
思想:整個(gè)網(wǎng)絡(luò)看成是多個(gè)RBM的堆疊,在使用無監(jiān)督逐層訓(xùn)練時(shí)爵川,首先訓(xùn)練第一層敷鸦,然后將第一層預(yù)訓(xùn)練好的隱結(jié)點(diǎn)視為第二層的輸入節(jié)點(diǎn),對(duì)第二層進(jìn)行預(yù)訓(xùn)練,各層預(yù)訓(xùn)練完成后扒披,再用BP算法對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練值依。
整體解釋:預(yù)訓(xùn)練+微調(diào) 的做法可視為將大量參數(shù)分組,對(duì)每組先找到局部看起來比較好的位置碟案,然后再基于這些局部較優(yōu)的結(jié)果聯(lián)合起來進(jìn)行全局尋優(yōu)愿险。好處:利用了模型大量參數(shù)所提供的自由度,有效的節(jié)省了訓(xùn)練開銷价说。
(補(bǔ)充:是一個(gè)概率生成模型辆亏,與傳統(tǒng)的判別神經(jīng)網(wǎng)絡(luò)不同的是,生成模型建立了觀察數(shù)據(jù)和標(biāo)簽之間的聯(lián)合分布鳖目,而判別模型只評(píng)估了條件概率扮叨。?
DBN遇到的問題:需要為訓(xùn)練提供一個(gè)有標(biāo)簽的樣本集;學(xué)習(xí)過程較慢领迈;不適當(dāng)?shù)膮?shù)選擇導(dǎo)致學(xué)習(xí)收斂于局部最優(yōu)解彻磁。?
)
三、CNN:(局部感知+權(quán)共享機(jī)制:讓一組神經(jīng)元使用相同的連接權(quán))
提出:全連接的結(jié)構(gòu)下會(huì)引起參數(shù)數(shù)量的膨脹狸捅,容易過擬合且局部最優(yōu)衷蜓。圖像中有固有的局部模式可以利用,所以尘喝,提出了CNN磁浇,并不是所有上下層神經(jīng)元都能直接相連,而是通過“卷積核”作為中介朽褪。同一個(gè)卷積核在所有圖像內(nèi)都是共享的置吓,圖像通過卷積操作后仍然保留原來的位置關(guān)系。
復(fù)合多個(gè)“卷積層”和“采樣層”對(duì)輸入信號(hào)進(jìn)行加工鞍匾,然后再連接層實(shí)現(xiàn)與輸出目標(biāo)之間的映射交洗。多層的目的:一層卷積學(xué)到的特征往往是局部的,層數(shù)越高橡淑,學(xué)到的特征就越全局化。
CNN兩大神器:
1咆爽、局部感知:一般認(rèn)為圖像的空間聯(lián)系是局部的像素聯(lián)系比較密切梁棠,而距離較遠(yuǎn)的像素相關(guān)性較弱,因此斗埂,每個(gè)神經(jīng)元沒必要對(duì)全局圖像進(jìn)行感知符糊,只要對(duì)局部進(jìn)行感知,然后在更高層將局部的信息綜合起來得到全局信息呛凶。利用卷積層實(shí)現(xiàn):(特征映射男娄,每個(gè)特征映射是一個(gè)神經(jīng)元陣列):從上一層通過局部卷積濾波器提取局部特征。卷積層緊跟著一個(gè)用來求局部平均與二次提取的計(jì)算層,這種二次特征提取結(jié)構(gòu)減少了特征分辨率模闲。
2建瘫、參數(shù)共享:在局部連接中,每個(gè)神經(jīng)元的參數(shù)都是一樣的尸折,即:同一個(gè)卷積核在圖像中都是共享的啰脚。(理解:卷積操作實(shí)際是在提取一個(gè)個(gè)局部信息,而局部信息的一些統(tǒng)計(jì)特性和其他部分是一樣的实夹,也就意味著這部分學(xué)到的特征也可以用到另一部分上橄浓。所以對(duì)圖像上的所有位置,都能使用同樣的學(xué)習(xí)特征亮航。)卷積核共享有個(gè)問題:提取特征不充分荸实,可以通過增加多個(gè)卷積核來彌補(bǔ),可以學(xué)習(xí)多種特征缴淋。
3泪勒、采樣(池化)層:在通過卷積得到特征后,希望利用這些特征進(jìn)行分類宴猾≡泊妫基于局部相關(guān)性原理進(jìn)行亞采樣,在減少數(shù)據(jù)量的同時(shí)保留有用信息仇哆。(壓縮數(shù)據(jù)和參數(shù)的量沦辙,減少過擬合)(max-polling 和average-polling)
可用BP算法訓(xùn)練,訓(xùn)練中讹剔,無論是卷積層還是采樣層油讯,每一組神經(jīng)元都是用相同的連接權(quán)。
優(yōu)點(diǎn):限制了參數(shù)的個(gè)數(shù)并挖掘了局部結(jié)構(gòu)的這個(gè)特點(diǎn)延欠,減少了復(fù)雜度陌兑。
(CNN主要用來識(shí)別位移、縮放及其他形式扭曲不變性的二維圖形由捎。由于CNN的特征檢測(cè)層通過訓(xùn)練數(shù)據(jù)進(jìn)行學(xué)習(xí)兔综,所以在使用CNN時(shí),避免了顯示的特征抽取狞玛,而隱式地從訓(xùn)練數(shù)據(jù)中進(jìn)行學(xué)習(xí)软驰;再者由于同一特征映射面上的神經(jīng)元權(quán)值相同,所以網(wǎng)絡(luò)可以并行學(xué)習(xí)心肪,這也是卷積網(wǎng)絡(luò)相對(duì)于神經(jīng)元彼此相連網(wǎng)絡(luò)的一大優(yōu)勢(shì)锭亏。卷積神經(jīng)網(wǎng)絡(luò)以其局部權(quán)值共享的特殊結(jié)構(gòu)在語音識(shí)別和圖像處理方面有著獨(dú)特的優(yōu)越性,其布局更接近于實(shí)際的生物神經(jīng)網(wǎng)絡(luò)硬鞍,權(quán)值共享降低了網(wǎng)絡(luò)的復(fù)雜性慧瘤,特別是多維輸入向量的圖像可以直接輸入網(wǎng)絡(luò)這一特點(diǎn)避免了特征提取和分類過程中數(shù)據(jù)重建的復(fù)雜度)
四戴已、DBN與CNN兩者異同:
異:DBN:全連接,有pre-train過程锅减;CNN:局部連接糖儡,沒有預(yù)訓(xùn)練過程,但加了卷積上煤。?
同:無論是DBN還是CNN休玩,這種多隱層堆疊,每層對(duì)上一層的輸出進(jìn)行處理的機(jī)制劫狠,可看作是在對(duì)輸入信號(hào)進(jìn)行逐層加工拴疤,從而把初始的、與輸出目標(biāo)之間聯(lián)系不大的輸入表示独泞,轉(zhuǎn)化成與輸出目標(biāo)聯(lián)系密切的表示呐矾。即:通過多層處理,逐漸將初始的低層特征表示轉(zhuǎn)化成高層的特征表示后懦砂,用“簡(jiǎn)單模型”就可以完成復(fù)雜的分類等學(xué)習(xí)任務(wù)蜒犯。
五、RNN:
(1)提出:DNN存在一個(gè)缺陷:無法對(duì)時(shí)間序列上的變化進(jìn)行建模荞膘,然而罚随,樣本出現(xiàn)的時(shí)間順序?qū)τ谧匀徽Z言處理、語音識(shí)別等應(yīng)用很重要羽资;RNN解決了樣本的處理在各個(gè)時(shí)刻獨(dú)立的問題淘菩,可以對(duì)時(shí)間序列上的變化進(jìn)行建模,深度是時(shí)間上的長(zhǎng)度屠升。神經(jīng)元的輸出可以在下一個(gè)時(shí)間戳直接作用到自身潮改。即,某一層某一時(shí)刻神經(jīng)元的輸入腹暖,除了上一層神經(jīng)元在該時(shí)刻的輸出外汇在,還有本身在上一時(shí)刻的輸出。?
(2)缺點(diǎn):時(shí)間軸上的“梯度消失”脏答,為解決這個(gè)問題——>長(zhǎng)短時(shí)記憶單元LSTM:通過門的開關(guān)實(shí)現(xiàn)時(shí)間上記憶功能糕殉,防止梯度消失。
六以蕴、LSTM:
核心:模仿一種細(xì)胞狀態(tài)糙麦,類似傳送帶思想,直接在整個(gè)鏈上運(yùn)行丛肮,只有一些少量的線性交互,信息在上面保持不變魄缚。利用一種“門”的結(jié)構(gòu)來去除或增加信息到細(xì)胞狀態(tài)的能力宝与,有三個(gè)門焚廊。門:讓信息選擇通過的方法,包括sigmoid神經(jīng)網(wǎng)絡(luò)層和一個(gè)點(diǎn)乘操作习劫。
第一步:忘記門層:決定從細(xì)胞狀態(tài)中丟棄什么信息咆瘟。讀取本層的輸入和上一層的輸出,輸出一個(gè)0到1之間的數(shù)值給每個(gè)細(xì)胞狀態(tài)诽里。
第二步:確定什么樣的信息被存放在細(xì)胞狀態(tài)中袒餐,包含兩個(gè)部分:1)sigmoid“輸入門層”,決定什么值將要更新谤狡。2)tanh層灸眼,創(chuàng)建一個(gè)新的候選值向量。會(huì)被加到狀態(tài)中墓懂。
第三步:更新細(xì)胞狀態(tài)焰宣。基于細(xì)胞狀態(tài)確定輸出什么值
七捕仔、面試篇:
1匕积、深度學(xué)習(xí)整體解釋:
1)自下而上的非監(jiān)督學(xué)習(xí)
2)自頂向下的監(jiān)督學(xué)習(xí)
2、理解它們各自的參數(shù)代表什么榜跌,比較好的初始參數(shù)闪唆,BP的計(jì)算,以及常見超參數(shù)的調(diào)整策略钓葫。
3悄蕾、如何優(yōu)化模型 : 加速收斂, 避免overfit, 提升精度 ..
batch size effect瓤逼;- learning rate effect笼吟;- weight initialization effect;- batch normalization
drop-out霸旗;- model average贷帮;- fine-tuning;- data augmentation
4诱告、CNN最成功的應(yīng)用是在CV撵枢,那為什么NLP和Speech的很多問題也可以用CNN解出來??
5精居、為什么AlphaGo里也用了CNN锄禽??
6、這幾個(gè)不相關(guān)的問題的相似性在哪里靴姿??
7沃但、CNN通過什么手段抓住了這個(gè)共性?
答:幾個(gè)不相關(guān)的問題的相關(guān)性在于佛吓,都存在局部與整體的關(guān)系宵晚,由低層次的特征經(jīng)過組合垂攘,組成高層次的特征,并且得到不同特征之間的空間相關(guān)性淤刃。?
CNN通過:局部感知晒他、權(quán)值共享、池化操作逸贾、多層次結(jié)構(gòu)抓住了這個(gè)共性陨仅。局部感知使網(wǎng)絡(luò)可以提取數(shù)據(jù)的局部特征;權(quán)值共享大大降低了網(wǎng)絡(luò)的訓(xùn)練難度铝侵;池化操作和多層次結(jié)構(gòu)一起灼伤,實(shí)現(xiàn)了數(shù)據(jù)的降維,將低層次的特征組合成高層次的特征哟沫。
8饺蔑、什么時(shí)候用local-conv?什么時(shí)候用全卷積(每一個(gè)點(diǎn)用同一個(gè)filter)嗜诀??
答:當(dāng)數(shù)據(jù)集具有全局的局部特征分布時(shí)猾警,也就是說局部特征之間有較強(qiáng)的相關(guān)性,適合用全卷積隆敢。在不同的區(qū)域有不同的特征分布時(shí)发皿,適合用local-Conv。
9拂蝎、什么樣的資料不適合用深度學(xué)習(xí)穴墅??
答:?
(1)數(shù)據(jù)集太小,因?yàn)樯窠?jīng)網(wǎng)絡(luò)有效的關(guān)鍵就是大量的數(shù)據(jù)温自,有大量的參數(shù)需要訓(xùn)練玄货,少量的數(shù)據(jù)不能充分訓(xùn)練參數(shù)。
(2)數(shù)據(jù)集沒有局部相關(guān)性悼泌。目前深度學(xué)習(xí)應(yīng)用的領(lǐng)域主要是圖像松捉、語音、自然語言處理馆里,這些領(lǐng)域的共性就是局部相關(guān)性隘世。例如:圖像中的像素組成物體,語音中的音位組成單詞鸠踪,文本數(shù)據(jù)中的單詞組成句子丙者,而深度學(xué)習(xí)的本質(zhì)就是學(xué)習(xí)局部低層次的特征,然后組合低層次的特征成高層次的特征营密,得到不同特征之間的空間相關(guān)性械媒。
10、何為共線性, 跟過擬合有啥關(guān)聯(lián)??
答:共線性:多變量線性回歸中评汰,變量之間由于存在高度相關(guān)關(guān)系而使回歸估計(jì)不準(zhǔn)確滥沫。?
共線性會(huì)造成冗余侣集,導(dǎo)致過擬合键俱。?
解決方法:排除變量的相關(guān)性/加入權(quán)重正則兰绣。
11、為什么引入非線性激勵(lì)函數(shù)编振??
答:因?yàn)槿绻挥梅蔷€性激勵(lì)函數(shù)缀辩,每一層都是上一層的線性函數(shù),無論神經(jīng)網(wǎng)絡(luò)多少層踪央,輸出都是輸入的線性組合臀玄,與只有一個(gè)隱藏層效果一樣。相當(dāng)于多層感知機(jī)了畅蹂。所以引入非線性激勵(lì)函數(shù)健无,深層網(wǎng)絡(luò)就變得有意義了,可以逼近任意函數(shù)液斜。
12累贤、什么造成梯度消失?推導(dǎo)少漆??
答:許多激活函數(shù)將輸出值擠壓在很小的區(qū)間內(nèi)臼膏,在激活函數(shù)兩端較大范圍的定義域內(nèi)梯度為0,導(dǎo)致權(quán)重更新的緩慢訓(xùn)練難度增加示损,造成學(xué)習(xí)停止渗磅。(前面層上的梯度是來自后面的層上項(xiàng)的乘積,當(dāng)層數(shù)過多時(shí)检访,隨著乘積的累積始鱼,將越來越小。)
八脆贵、CNN常見的問題
1医清、梯度消失問題:過多的層數(shù)會(huì)導(dǎo)致梯度消失,解決手段:減少層數(shù)丹禀;增大學(xué)習(xí)率状勤;用Relu代替sigmoid。
2双泪、權(quán)重衰減:CNN的權(quán)重共享相當(dāng)于自帶某種正則項(xiàng)持搜,所以代價(jià)函數(shù)里可不加正則
3、隨機(jī)梯度下降的參數(shù)選擇:?
參考:http://blog.csdn.net/fuwenyan/article/details/53914371
4焙矛、batch的選擇決定了下降的方向:?
(1)如果數(shù)據(jù)集比較小葫盼,可以采用全數(shù)據(jù)集的形式?
好處:全數(shù)據(jù)集確定的方向能夠更好的代表樣本總體;不同權(quán)重的梯度值差別巨大村斟,因此選一個(gè)全局的學(xué)習(xí)率很困難贫导,使用全數(shù)據(jù)集可以只基于梯度符號(hào)并且針對(duì)性單獨(dú)更新各權(quán)值抛猫。
(2)如果數(shù)據(jù)集比較大,全數(shù)據(jù)集不可行孩灯,內(nèi)存限制闺金;由于各個(gè)batch采樣的差異性,各次梯度修正值相互抵消峰档,無法修正败匹。另一個(gè)極端每次只訓(xùn)練一個(gè)樣本,batch=1讥巡,每次修正方向以各自樣本的梯度方向修正掀亩,難以達(dá)到收斂。
(3)選擇適中的batch欢顷? 批梯度下降法
5槽棍、常用的激勵(lì)函數(shù):http://blog.csdn.net/u013146742/article/details/51986575
(1)sigmoid:將輸出實(shí)值壓縮到0-1之間。 缺點(diǎn):(輸入非常大或非常小的時(shí)候)容易梯度消失抬驴;sigmoid函數(shù)是非0均值的炼七,下一層的神經(jīng)元將從上一層神經(jīng)元得到的非0 均值的信號(hào)作為輸入,再結(jié)合w計(jì)算梯度怎爵,始終都是正的特石。(可根據(jù)batch調(diào)節(jié))
(2)Tanh:是0均值的。
(3)Relu(修正線性單元):好處:收斂快鳖链,求梯度簡(jiǎn)單姆蘸。具有稀疏特性。?
(相比于sigmoid:sigmoid反向傳播求誤差梯度時(shí)芙委,求導(dǎo)計(jì)算量很大逞敷,而relu求導(dǎo)簡(jiǎn)單;對(duì)于深層網(wǎng)絡(luò)灌侣,sigmoid反向傳播時(shí)推捐,在sigmoid接近飽和區(qū)時(shí),變換太緩慢侧啼,導(dǎo)數(shù)趨0牛柒,從而無法完成深層網(wǎng)絡(luò)的訓(xùn)練;Relu會(huì)使一部分神經(jīng)元的輸出為0痊乾,造成了網(wǎng)絡(luò)的稀疏性皮壁,并且減少了參數(shù)的相互依存關(guān)系,緩解了過擬合問題哪审。)
(4)缺點(diǎn):訓(xùn)練的時(shí)候很脆弱蛾魄,一個(gè)非常大的梯度流過一個(gè)Relu神經(jīng)元后,不會(huì)對(duì)其他數(shù)據(jù)有激活現(xiàn)象了,設(shè)置較小的學(xué)習(xí)率滴须,這種情況會(huì)不那么頻繁舌狗。
6、卷積計(jì)算層:?
(1)參數(shù)共享機(jī)制扔水、一組固定的權(quán)重和不同窗口內(nèi)數(shù)據(jù)做內(nèi)積:卷積
7痛侍、CNN優(yōu)缺點(diǎn):?
(1)優(yōu)點(diǎn):共享卷積核、減少了網(wǎng)絡(luò)自由參數(shù)的個(gè)數(shù)铭污,對(duì)高維數(shù)據(jù)處理無壓力恋日;無需手動(dòng)選取特征,訓(xùn)練好權(quán)重嘹狞,即得特征。降低神經(jīng)網(wǎng)絡(luò)的復(fù)雜性誓竿。這種網(wǎng)絡(luò)結(jié)構(gòu)在有監(jiān)督的方式下學(xué)習(xí)到了一些良好的性能:對(duì)平移磅网、比例縮放、傾斜或其他形式的變形具有高度不變性筷屡。
(2)缺點(diǎn):需要調(diào)參涧偷,需要大量樣本;
8毙死、神經(jīng)網(wǎng)絡(luò)優(yōu)勢(shì):?
(1)可以利用神經(jīng)網(wǎng)絡(luò)中某一層的輸出當(dāng)做是數(shù)據(jù)的另一種表達(dá)燎潮,從而可以將其認(rèn)為是經(jīng)過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到的特征,基于這一特征扼倘,可以進(jìn)行進(jìn)一步的相似度比較等操作确封。
(2)有效的關(guān)鍵是大規(guī)模的數(shù)據(jù),每個(gè)DL都有眾多的參數(shù)再菊,少量數(shù)據(jù)無法將參數(shù)訓(xùn)練充分爪喘。
9、發(fā)展缺陷:?
(1)隨著網(wǎng)絡(luò)層數(shù)的加深纠拔,優(yōu)化函數(shù)越來越容易陷入局部最優(yōu)解秉剑,并且這個(gè)“陷阱”越來越偏離真正的全局最優(yōu),利用有限數(shù)據(jù)訓(xùn)練的深層網(wǎng)絡(luò)稠诲,性能還不如淺層網(wǎng)絡(luò)侦鹏。
(2)隨著網(wǎng)絡(luò)層數(shù)增加,梯度消失現(xiàn)象越來越嚴(yán)重臀叙,(一般指sigmoid函數(shù)略水,反向傳播時(shí),每傳遞一層匹耕,梯度衰減為原來的1/4聚请。層數(shù)一多,梯度指數(shù)衰減后,底層基本接收不到有效的訓(xùn)練信號(hào)驶赏。)
![關(guān)注我的技術(shù)公眾號(hào)《漫談人工智能》炸卑,每天推送優(yōu)質(zhì)文章](https://upload-images.jianshu.io/upload_images/10019820-3f339ee96f43e84f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)