批量歸一化和殘差網(wǎng)絡(luò)
nn.BatchNorm2d()表示卷積層的BN,參數(shù)為通道數(shù)。nn.BatchNorm1d()表示全連接層的BN,參數(shù)為輸出神經(jīng)元個(gè)數(shù)
BN層:
卷積層的BN位于卷積計(jì)算之后,激活函數(shù)之前。
拉伸參數(shù)和偏移參數(shù)為可學(xué)習(xí)參數(shù)。
預(yù)測(cè)時(shí)用移動(dòng)平均估算整個(gè)訓(xùn)練數(shù)據(jù)集的樣本均值和方差。
BN層能使整個(gè)神經(jīng)網(wǎng)絡(luò)在各層的中間輸出的數(shù)值更穩(wěn)定。
深度學(xué)習(xí)的問(wèn)題:深度CNN網(wǎng)絡(luò)達(dá)到一定深度后再一味地增加層數(shù)并不能帶來(lái)進(jìn)一步地分類性能提高,反而會(huì)招致網(wǎng)絡(luò)收斂變得更慢,準(zhǔn)確率也變得更差。
ResNet:
殘差網(wǎng)絡(luò)由多個(gè)殘差塊組成。
在殘差塊中,輸?可通過(guò)跨層的數(shù)據(jù)線路更快地向前傳播。
網(wǎng)絡(luò)達(dá)到一定深度后再一味地增加層數(shù)反而會(huì)招致網(wǎng)絡(luò)收斂變得更慢,準(zhǔn)確率也變得更差。
較普通網(wǎng)絡(luò)而言,殘差網(wǎng)絡(luò)在網(wǎng)絡(luò)較深時(shí)能更好的收斂。
稠密連接網(wǎng)絡(luò)過(guò)渡層中,1*1卷積層的主要作用是:減小通道數(shù)
輸出通道數(shù)=輸入通道數(shù)+卷積層個(gè)數(shù)*卷積輸出通道數(shù)
凸優(yōu)化
優(yōu)化方法的目標(biāo)是最小化訓(xùn)練集損失函數(shù)值,深度學(xué)習(xí)的目標(biāo)是最小化測(cè)試集損失函數(shù)值。
優(yōu)化在深度學(xué)習(xí)中的挑戰(zhàn):局部最小值、鞍點(diǎn)、梯度消失。
鞍點(diǎn)是對(duì)所有自變量一階偏導(dǎo)數(shù)都為0,且Hessian矩陣特征值有正有負(fù)的點(diǎn)。
假設(shè)A和B都是凸集合,那A和B的交集是凸集合。
有限制條件的優(yōu)化問(wèn)題可以用什么方法解決:拉格朗日乘子法、添加懲罰項(xiàng)、投影法。
梯度下降
梯度下降:梯度下降是沿著梯度的反方向移動(dòng)自變量從而減小函數(shù)值的;局部極小值是梯度下降算法面臨的一個(gè)挑戰(zhàn);學(xué)習(xí)率如果過(guò)小,會(huì)導(dǎo)致梯度下降每次迭代時(shí)的函數(shù)值下降的幅度很小,收斂速度很慢,需要多次迭代;如果過(guò)大,會(huì)導(dǎo)致梯度增加,反而出現(xiàn)了發(fā)散的情況。
牛頓法:
牛頓法相比梯度下降的一個(gè)優(yōu)勢(shì)在于:梯度下降“步幅”的確定比較困難,而牛頓法相當(dāng)于可以通過(guò)Hessian矩陣來(lái)調(diào)整“步幅”。
牛頓法需要計(jì)算Hessian矩陣的逆,計(jì)算量比較大。
在牛頓法中,局部極小值也可以通過(guò)調(diào)整學(xué)習(xí)率來(lái)解決。
隨機(jī)梯度下降的時(shí)間復(fù)雜度是:O(1)
動(dòng)態(tài)學(xué)習(xí)率:在最開(kāi)始學(xué)習(xí)率設(shè)計(jì)比較大,加速收斂;學(xué)習(xí)率可以設(shè)計(jì)為指數(shù)衰減或多項(xiàng)式衰減;在優(yōu)化進(jìn)行一段時(shí)間后可以適當(dāng)減小學(xué)習(xí)率來(lái)避免振蕩;動(dòng)態(tài)學(xué)習(xí)率可以隨著迭代次數(shù)增加而減小學(xué)習(xí)率。
優(yōu)化算法進(jìn)階
word2vec
詞嵌入進(jìn)階
文本分類
數(shù)據(jù)增強(qiáng)
圖像增廣:緩解過(guò)擬合、增加模型泛化能力、通過(guò)旋轉(zhuǎn)/翻轉(zhuǎn)等方式可以降低對(duì)某些屬性的依賴。
圖像增廣的方法:翻轉(zhuǎn)圖片、加入噪點(diǎn)、調(diào)整亮度
orchvision.transforms.RandomHorizontalFlip()函數(shù)的作用是:左右翻轉(zhuǎn)圖片
模型微調(diào)
假設(shè)我們將源模型的輸出層改成輸出大小為目標(biāo)數(shù)據(jù)集類別個(gè)數(shù)的輸出層,則對(duì)于這個(gè)新的輸出層如何初始化:隨機(jī)初始化參數(shù)
假設(shè)我們將源模型的輸出層改成輸出大小為目標(biāo)數(shù)據(jù)集類別個(gè)數(shù)的輸出層,在訓(xùn)練過(guò)程中對(duì)輸出層使用較大的學(xué)習(xí)率,對(duì)其他層使用較小的學(xué)習(xí)率。