1.為什么必須在神經(jīng)網(wǎng)絡(luò)中引入非線性?
答:否則,我們將獲得一個(gè)由多個(gè)線性函數(shù)組成的線性函數(shù),那么就成了線性模型。線性模型的參數(shù)數(shù)量非常少,因此建模的復(fù)雜性也會(huì)非常有限。
2.說(shuō)明解決神經(jīng)網(wǎng)絡(luò)中梯度消失問(wèn)題的兩種方法。
答:
使用ReLU激活函數(shù)代替S激活函數(shù)。
使用Xavier初始化。
3.在圖像分類任務(wù)中,相較于使用密集神經(jīng)網(wǎng)絡(luò)(Dense Neural Network,DNN),使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)有哪些優(yōu)勢(shì)?
答:雖然兩種模型都可以捕獲彼此靠近的像素之間的關(guān)系,但CNN具有以下屬性:
它是平移不變的:對(duì)于過(guò)濾器而言,像素的確切位置是無(wú)關(guān)的。
更不容易發(fā)生過(guò)度擬合:一般而言CNN中的參數(shù)比DNN要少很多。
方便我們更好地理解模型:我們可以查看過(guò)濾器的權(quán)重,并可視化神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)成果。
分層性質(zhì):通過(guò)使用較簡(jiǎn)單的模式描述復(fù)雜的模式來(lái)學(xué)習(xí)模式。
4. 說(shuō)明在圖像分類任務(wù)中可視化CNN特征的兩種方法。
答:
輸入遮擋:遮擋輸入圖像的一部分,看看哪部分對(duì)分類的影響最大。 例如,針對(duì)某個(gè)訓(xùn)練好的圖像分類模型,將下列圖像作為輸入。如果我們看到第三幅圖像被分類為狗狗的概率為98%,而第二幅圖像的準(zhǔn)確率僅為65%,則說(shuō)明眼睛對(duì)于對(duì)分類的影響更大。
激活最大化:創(chuàng)建一個(gè)人造的輸入圖像,以最大化目標(biāo)響應(yīng)(梯度上升)。
5. 在優(yōu)化學(xué)習(xí)速率時(shí),分別嘗試學(xué)習(xí)速率:0.1、0.2,…,0.5是好辦法嗎?
答:這種方法并不好,建議使用對(duì)數(shù)比例來(lái)優(yōu)化學(xué)習(xí)速率。
6. 假設(shè)一個(gè)神經(jīng)網(wǎng)絡(luò)擁有3層的結(jié)構(gòu)和ReLU激活函數(shù)。如果我們用同一個(gè)值初始化所有權(quán)重,結(jié)果會(huì)怎樣?如果我們只有1層(即線性/邏輯回歸)會(huì)怎樣?
答:如果所有權(quán)重的初始值都相同,則無(wú)法破壞對(duì)稱性。也就是說(shuō),所有梯度都會(huì)更新成同一個(gè)值,而且神經(jīng)網(wǎng)絡(luò)將無(wú)法學(xué)習(xí)。但是,如果神經(jīng)網(wǎng)絡(luò)只有1層的話,成本函數(shù)是凸形的(線性/ S型),因此權(quán)重始終會(huì)收斂到最佳點(diǎn),無(wú)論初始值是什么(收斂可能會(huì)較慢)。
7.解釋Adam優(yōu)化器的概念。
答:Adam結(jié)合了兩個(gè)想法來(lái)改善收斂性:每個(gè)參數(shù)更新可加快收斂速度;動(dòng)量可避免卡在鞍點(diǎn)上。
8.比較批處理,小批處理和隨機(jī)梯度下降。
答:批處理是指在估計(jì)數(shù)據(jù)時(shí)獲取整個(gè)數(shù)據(jù);小批處理是通過(guò)對(duì)幾個(gè)數(shù)據(jù)點(diǎn)進(jìn)行采樣來(lái)進(jìn)行小批量處理;而隨機(jī)梯度下降是指在每個(gè)時(shí)期更新一個(gè)數(shù)據(jù)點(diǎn)的梯度。我們需要權(quán)衡梯度計(jì)算的準(zhǔn)確度與保存在內(nèi)存中的批量大小。此外,通過(guò)在每個(gè)epoch添加隨機(jī)噪聲,我們可以通過(guò)小批處理(而非整個(gè)批處理)實(shí)現(xiàn)正規(guī)化效果。
9.什么是數(shù)據(jù)擴(kuò)充?舉個(gè)例子。
答:數(shù)據(jù)擴(kuò)充是一種技術(shù),通過(guò)操作原始數(shù)據(jù)來(lái)增加輸入數(shù)據(jù)。例如,對(duì)于圖像,我們可以執(zhí)行以下操作:旋轉(zhuǎn)圖像、翻轉(zhuǎn)圖像、添加高斯模糊等。
10. 解釋GAN的概念。
答:GAN(Generative Adversarial Network)即生成對(duì)抗網(wǎng)絡(luò),通常由兩個(gè)神經(jīng)網(wǎng)絡(luò)D和G組成,其中D指的是判別器(Discriminator),而G指生成網(wǎng)絡(luò)(Generative Network)。這種模型的目標(biāo)是創(chuàng)建數(shù)據(jù),例如創(chuàng)建與真實(shí)圖像并無(wú)二樣的圖像。假設(shè)我們想要?jiǎng)?chuàng)建一只貓的對(duì)抗示例。神經(jīng)網(wǎng)絡(luò)G負(fù)責(zé)生成圖像,而神經(jīng)網(wǎng)絡(luò)D則負(fù)責(zé)判斷圖像是否是貓。G的目標(biāo)是“愚弄”D——將G的輸出始終分類為貓。
11.使用Batchnorm有什么優(yōu)勢(shì)?
答:Batchnorm能夠加快訓(xùn)練過(guò)程,而且(一些噪音的副產(chǎn)品)還具有調(diào)節(jié)作用。
12.什么是多任務(wù)學(xué)習(xí)?應(yīng)該在什么時(shí)候使用?
答:當(dāng)我們使用少量數(shù)據(jù)處理多個(gè)任務(wù)時(shí),多任務(wù)處理將很有用,而且我們還可以使用在其他任務(wù)的大型數(shù)據(jù)集上訓(xùn)練好的模型。通過(guò)“硬”方式(即相同的參數(shù))或“軟”方式(即對(duì)成本函數(shù)進(jìn)行正則化/懲罰)共享模型的參數(shù)。
13.什么是端到端學(xué)習(xí)?列舉一些優(yōu)點(diǎn)。
答:端到端學(xué)習(xí)通常是一個(gè)模型,該模型能夠獲取原始數(shù)據(jù)并直接輸出所需的結(jié)果,而無(wú)需任何中間任務(wù)或功能工程。其優(yōu)點(diǎn)包括:無(wú)需手工構(gòu)建功能,而且通?梢越档推睢
14.如果在最后一層中,我們先使用ReLU激活函數(shù),然后再使用Sigmoid函數(shù),會(huì)怎樣?
答:由于ReLU始終會(huì)輸出非負(fù)結(jié)果,因此該神經(jīng)網(wǎng)絡(luò)會(huì)將所有輸入預(yù)測(cè)成同一個(gè)類別!
15.如何解決梯度爆炸的問(wèn)題?
答:解決梯度爆炸問(wèn)題的一個(gè)最簡(jiǎn)單的方法就是梯度修剪,即當(dāng)梯度的絕對(duì)值大于M(M是一個(gè)很大的數(shù)字)時(shí),設(shè)梯度為±M。
16.使用批量梯度下降法時(shí),是否有必要打亂訓(xùn)練數(shù)據(jù)?
答:沒(méi)有必要。因?yàn)槊總(gè)epoch的梯度計(jì)算都會(huì)使用整個(gè)訓(xùn)練數(shù)據(jù),所以打亂順序也沒(méi)有任何影響。
17.當(dāng)使用小批量梯度下降時(shí),為什么打亂數(shù)據(jù)很重要?
答:如果不打亂數(shù)據(jù)的順序,那么假設(shè)我們訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)分類器,且有兩個(gè)類別:A和B,那么各個(gè)epoch中的所有小批量都會(huì)完全相同,這會(huì)導(dǎo)致收斂速度變慢,甚至導(dǎo)致神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)的順序產(chǎn)生傾向性。
18.列舉遷移學(xué)習(xí)的超參數(shù)。
答:保留多少層、添加多少層、凍結(jié)多少層。
19. 測(cè)試集上是否需要使用dropout?
答:不可以使用!dropout只能用于訓(xùn)練集。dropout是訓(xùn)練過(guò)程中應(yīng)用的一種正則化技術(shù)。
20.說(shuō)明為什么神經(jīng)網(wǎng)絡(luò)中的dropout可以作為正則化。
答:關(guān)于dropout的工作原理有幾種解釋。我們可以將其視為模型平均的一種形式:我們可以在每一步中“去掉”模型的一部分并取平均值。另外,它還會(huì)增加噪音,自然會(huì)產(chǎn)生調(diào)節(jié)的效果。最后,它還可以稀釋權(quán)重,從根本上阻止神經(jīng)網(wǎng)絡(luò)中神經(jīng)元的共適應(yīng)。
21. 舉個(gè)適合多對(duì)一RNN架構(gòu)的例子。
答:例如:情緒分析,語(yǔ)音中的性別識(shí)別等。
22.我們什么時(shí)候不能使用BiLSTM?說(shuō)明在使用BiLSTM我們必須做的假設(shè)。
答:在所有雙向模型中,我們都可以假設(shè)在給定的“時(shí)間”內(nèi)訪問(wèn)序列的下一個(gè)元素。文本數(shù)據(jù)(例如情感分析、翻譯等)就是這種情況,而時(shí)間序列數(shù)據(jù)則不屬于這種情況。
23. 判斷對(duì)錯(cuò):將L2正則化添加到RNN有助于解決梯度消失的問(wèn)題。
答:錯(cuò)誤!添加L2正則化會(huì)將權(quán)重縮小為零,在某些情況下這實(shí)際上會(huì)讓梯度消失的問(wèn)題更嚴(yán)重。
24. 假設(shè)訓(xùn)練錯(cuò)誤/成本很高,而且驗(yàn)證成本/錯(cuò)誤幾乎與之相等。這是什么意思?我們應(yīng)該做些什么?
答:這表明欠擬合。我們可以添加更多參數(shù),增加模型的復(fù)雜性或減少正則化。
25. 說(shuō)明為何L2正則化可以解釋為一種權(quán)重衰減。
答:假設(shè)我們的成本函數(shù)為C(w),我們?cè)偌由弦粋(gè)c|w|2。使用梯度下降時(shí),迭代如下:
w = w -grad(C)(w) — 2cw = (1–2c)w — grad(C)(w)
在該等式中,權(quán)重乘以因子<1