日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

[深度学习] 面试常见问题+解析汇总

發(fā)布時(shí)間:2023/12/15 pytorch 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [深度学习] 面试常见问题+解析汇总 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是深度學(xué)習(xí),與傳統(tǒng)機(jī)器學(xué)習(xí)算法的區(qū)別?

(1)傳統(tǒng)機(jī)器學(xué)習(xí)算法,在一開始,性能(識(shí)別率)會(huì)隨著數(shù)據(jù)的增加而增加,但一段時(shí)間后,它的性能會(huì)進(jìn)入平臺(tái)期。這些模型無法處理海量數(shù)據(jù)。
(2)最近20年來,人類建立了數(shù)字王國,使得我們?cè)陔娔X、網(wǎng)站、手機(jī)上的活動(dòng),都制造大量數(shù)據(jù)。便宜的相機(jī)、傳感器,也產(chǎn)生大量數(shù)據(jù)。
(3)不同規(guī)模的網(wǎng)絡(luò),取得的性能也會(huì)有不同(具體如下)。

深度學(xué)習(xí)是一種特殊的機(jī)器學(xué)習(xí),它將現(xiàn)實(shí)世界表示為嵌套的層次概念體系(由較簡單概念間的聯(lián)系定義復(fù)雜概念,從一般抽象概括到高級(jí)抽象表示),從而獲得強(qiáng)大的性能與靈活性。

Deep learning is a subset of machine learning that is concerned with neural networks: how to use backpropagation and certain principles from neuroscience to more accurately model large sets of unlabelled or semi-structured data.

In that sense, deep learning represents an unsupervised learning algorithm that learns representations of data through the use of neural nets.

?

?

為什么深層神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練?

1、梯度消失。梯度消失是指通過隱藏層從后向前看,梯度會(huì)變得越來越小,說明前面層的學(xué)習(xí)會(huì)顯著慢于后面層的學(xué)習(xí),所以學(xué)習(xí)會(huì)卡主,除非梯度變大。

梯度消失的原因:學(xué)習(xí)率的大小,網(wǎng)絡(luò)參數(shù)的初始化,激活函數(shù)的邊緣效應(yīng)等。在深層神經(jīng)網(wǎng)絡(luò)中,每一個(gè)神經(jīng)元計(jì)算得到的梯度都會(huì)傳遞給前一層,較淺層的神經(jīng)元接收到的梯度受到之前所有層梯度的影響。如果計(jì)算得到的梯度值非常小,隨著層數(shù)增多,求出的梯度更新信息將會(huì)以指數(shù)形式衰減,就會(huì)發(fā)生梯度消失。

2、梯度爆炸。在深度網(wǎng)絡(luò)或循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network, RNN)等網(wǎng)絡(luò)結(jié)構(gòu)中,梯度可在網(wǎng)絡(luò)更新的過程中不斷累積,變成非常大的梯度,導(dǎo)致網(wǎng)絡(luò)權(quán)重值的大幅更新,使得網(wǎng)絡(luò)不穩(wěn)定;在極端情況下,權(quán)重值甚至?xí)绯?#xff0c;變?yōu)镹an值,再也無法更新。

3、權(quán)重矩陣的退化導(dǎo)致模型的有效自由度減少。

參數(shù)空間中學(xué)習(xí)的退化速度減慢,導(dǎo)致減少了模型的有效維數(shù),網(wǎng)絡(luò)的可用自由度對(duì)學(xué)習(xí)中梯度范數(shù)的貢獻(xiàn)不均衡,隨著相乘矩陣的數(shù)量(即網(wǎng)絡(luò)深度)的增加,矩陣的乘積變得越來越退化。在有硬飽和邊界的非線性網(wǎng)絡(luò)中(例如 ReLU 網(wǎng)絡(luò)),隨著深度增加,退化過程會(huì)變得越來越快。

神經(jīng)網(wǎng)絡(luò)模型優(yōu)化的常用方案

1、增加(減少)隱藏層的復(fù)雜度,如增加隱藏層數(shù),調(diào)整隱藏層的神經(jīng)元個(gè)數(shù),或者在隱藏層使用更加復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),如CNN、RNN、LSTM、GRU或者增加Attention層等等;

2、添加Dropout層,使用Dropout的原理優(yōu)化網(wǎng)絡(luò)參數(shù),防止過擬合;

3、嘗試不同的優(yōu)化器,常用的優(yōu)化器包括SGD、Adam、RMSprop(動(dòng)量相關(guān));

4、增加迭代次數(shù),一般為了快速檢驗(yàn)?zāi)P托Ч?xùn)練次數(shù)比較少,優(yōu)化過程中可以增加訓(xùn)練次數(shù);

5、調(diào)整優(yōu)化器的學(xué)習(xí)率,學(xué)習(xí)率太小會(huì)造成模型收斂速度下降,還有可能求出的是局部最優(yōu)解,訓(xùn)練模型時(shí)的損失函數(shù)下降慢;學(xué)習(xí)率過大會(huì)引起模型無法到達(dá)最優(yōu)解,在最優(yōu)解附近來回跳轉(zhuǎn),但是一般情況下學(xué)習(xí)率并不是一成不變的,而是隨著模型的訓(xùn)練在優(yōu)化;

6、增加批處理的大小,采用批處理的方式訓(xùn)練數(shù)據(jù)時(shí)每個(gè)batch的數(shù)據(jù)進(jìn)行一次反向傳播,更新參數(shù),所以每個(gè)batch的數(shù)據(jù)分布對(duì)模型訓(xùn)練有著一定的影響,調(diào)整batch_size的大小,對(duì)模型優(yōu)化有一定的作用;

7、正則化,可以優(yōu)化模型太過復(fù)雜而引起運(yùn)行時(shí)間過長的問題,也可以在一定程度上防止模型過擬合。(過擬合也就是模型把訓(xùn)練數(shù)據(jù)的內(nèi)部關(guān)系都記下來了,在訓(xùn)練集損失函數(shù)很小,但是在測試集上損失函數(shù)開始增大,也就是在測試集上的效果開始下降)

?

激活函數(shù)

1. 激活函數(shù)有哪些性質(zhì)

  • 非線性
  • 可微性:當(dāng)優(yōu)化方法是基于梯度的時(shí)候,就體現(xiàn)了該性質(zhì);
  • 單調(diào)性:當(dāng)激活函數(shù)是單調(diào)的時(shí)候,單層網(wǎng)絡(luò)能夠保證是凸函數(shù);
  • f(x)≈x:當(dāng)激活函數(shù)滿足這個(gè)性質(zhì)的時(shí)候,如果參數(shù)的初始化是隨機(jī)的較小值,那么神經(jīng)網(wǎng)絡(luò)的訓(xùn)練將會(huì)很高效;如果不滿足這個(gè)性質(zhì),那么就需要詳細(xì)地去設(shè)置初始值;
  • 輸出值的范圍:當(dāng)激活函數(shù)輸出值是有限的時(shí)候,基于梯度的優(yōu)化方法會(huì)更加穩(wěn)定,因?yàn)樘卣鞯谋硎臼苡邢迿?quán)值的影響更顯著;當(dāng)激活函數(shù)的輸出是無限的時(shí)候,模型的訓(xùn)練會(huì)更加高效,不過在這種情況小,一般需要更小的 Learning Rate。
  • 2. 為什么需要非線性激活函數(shù)

  • 激活函數(shù)可以把當(dāng)前特征空間通過一定的線性映射轉(zhuǎn)換到另一個(gè)空間,學(xué)習(xí)和模擬其他復(fù)雜類型的數(shù)據(jù),例如圖像、視頻、音頻、語音等。
  • 假若網(wǎng)絡(luò)中全部是線性部件,那么線性的組合還是線性,與單獨(dú)一個(gè)線性分類器無異。這樣就做不到用非線性來逼近任意函數(shù)。
  • 使用非線性激活函數(shù) ,以便使網(wǎng)絡(luò)更加強(qiáng)大,增加它的能力,使它可以學(xué)習(xí)復(fù)雜的事物,復(fù)雜的表單數(shù)據(jù),以及表示輸入輸出之間非線性的復(fù)雜的任意函數(shù)映射。使用非線性激活函數(shù),能夠從輸入輸出之間生成非線性映射。
  • 3. 如何選擇激活函數(shù)

  • 如果輸出是 0、1 值(二分類問題),則輸出層選擇 sigmoid 函數(shù),然后其它的所有單元都選擇 Relu 函數(shù)。
  • 如果在隱藏層上不確定使用哪個(gè)激活函數(shù),那么通常會(huì)使用 Relu 激活函數(shù)。有時(shí),也會(huì)使用 tanh 激活函數(shù),但 Relu 的一個(gè)優(yōu)點(diǎn)是:當(dāng)是負(fù)值的時(shí)候,導(dǎo)數(shù)等于 0。
  • sigmoid 激活函數(shù):除了輸出層是一個(gè)二分類問題基本不會(huì)用它。
  • tanh 激活函數(shù):tanh 是非常優(yōu)秀的,幾乎適合所有場合。
  • 如果遇到了一些死的神經(jīng)元,我們可以使用 Leaky ReLU 函數(shù)。
  • 3. ReLu激活函數(shù)的優(yōu)點(diǎn)

  • sigmoid 和 tanh 函數(shù)的導(dǎo)數(shù)在正負(fù)飽和區(qū)的梯度都會(huì)接近于 0,這會(huì)造成梯度彌散,而 Relu 和Leaky ReLu 函數(shù)大于 0 部分都為常數(shù),不會(huì)產(chǎn)生梯度彌散現(xiàn)象。
  • 在區(qū)間變動(dòng)很大的情況下,ReLu 激活函數(shù)的導(dǎo)數(shù)或者激活函數(shù)的斜率都會(huì)遠(yuǎn)大于 0,在程序?qū)崿F(xiàn)就是一個(gè) if-else 語句,而 sigmoid 函數(shù)需要進(jìn)行浮點(diǎn)四則運(yùn)算,在實(shí)踐中,使用 ReLu 激活函數(shù)神經(jīng)網(wǎng)絡(luò)通常會(huì)比使用 sigmoid 或者 tanh 激活函數(shù)學(xué)習(xí)的更快。
  • 需注意,Relu 進(jìn)入負(fù)半?yún)^(qū)的時(shí)候,梯度為 0,神經(jīng)元此時(shí)不會(huì)訓(xùn)練,產(chǎn)生所謂的稀疏性,而 Leaky ReLu 不會(huì)產(chǎn)生這個(gè)問題。
  • 稀疏激活性:從信號(hào)方面來看,即神經(jīng)元同時(shí)只對(duì)輸入信號(hào)的少部分選擇性響應(yīng),大量信號(hào)被刻意的屏蔽了,這樣可以提高學(xué)習(xí)的精度,更好更快地提取稀疏特征。當(dāng) ?x<0 ?時(shí),ReLU 硬飽和,而當(dāng) x>0 ?時(shí),則不存在飽和問題。ReLU 能夠在 ?x>0 ?時(shí)保持梯度不衰減,從而緩解梯度消失問題。

    4. 為什么Tanh收斂速度比Sigmoid快?

    由上面兩個(gè)公式可知tanh(x)梯度消失的問題比sigmoid輕,所以Tanh收斂速度比Sigmoid快。

    ?

    為什么在神經(jīng)網(wǎng)絡(luò)中,ReLU是比Sigmoid更好、更常用的激活函數(shù)?

    ??

    ?

    交叉熵?fù)p失函數(shù)及其求導(dǎo)推導(dǎo)

    定義:

    將交叉熵看做是代價(jià)函數(shù)有兩點(diǎn)原因。

    第?,它是?負(fù)的, C > 0。可以看出:式子中的求和中的所有獨(dú)?的項(xiàng)都是負(fù)數(shù)的,因?yàn)閷?duì)數(shù)函數(shù)的定義域是 (0,1),并且求和前?有?個(gè)負(fù)號(hào),所以結(jié)果是非負(fù)。

    第?,如果對(duì)于所有的訓(xùn)練輸? x,神經(jīng)元實(shí)際的輸出接近?標(biāo)值,那么交叉熵將接近 0。實(shí)際輸出和?標(biāo)輸出之間的差距越?,最終的交叉熵的值就越低了。(這里假設(shè)輸出結(jié)果不是0,就是1,實(shí)際分類也是這樣的)

    交叉熵代價(jià)函數(shù)有?個(gè)??次代價(jià)函數(shù)更好的特性就是它避免了學(xué)習(xí)速度下降的問題。

    交叉熵函數(shù)關(guān)于權(quán)重的偏導(dǎo)數(shù):

    化簡后得到:

    可以看到圈中學(xué)習(xí)的速度受到??,也就是輸出中的誤差的控制。更?的誤差,更快的學(xué)習(xí)速度,特別地,這個(gè)代價(jià)函數(shù)還避免了像在?次代價(jià)函數(shù)中類似?程中??導(dǎo)致的學(xué)習(xí)緩慢。當(dāng)我們使?交叉熵的時(shí)候,?

    ?被約掉了,所以我們不再需要關(guān)?它是不是變得很?。這種約除就是交叉熵帶來的特效。??

    Batch_Size

    1. 為什么需要 Batch_Size?

    Batch的選擇,首先決定的是下降的方向。

    如果數(shù)據(jù)集比較小,可采用全數(shù)據(jù)集的形式,好處是:

  • 由全數(shù)據(jù)集確定的方向能夠更好地代表樣本總體,從而更準(zhǔn)確地朝向極值所在的方向。

  • 由于不同權(quán)重的梯度值差別巨大,因此選取一個(gè)全局的學(xué)習(xí)率很困難。Full Batch Learning 可以使用 Rprop 只基于梯度符號(hào)并且針對(duì)性單獨(dú)更新各權(quán)值。

  • 對(duì)于更大的數(shù)據(jù)集,假如采用全數(shù)據(jù)集的形式,壞處是:

  • 隨著數(shù)據(jù)集的海量增長和內(nèi)存限制,一次性載入所有的數(shù)據(jù)進(jìn)來變得越來越不可行。

  • 以 Rprop 的方式迭代,會(huì)由于各個(gè) Batch 之間的采樣差異性,各次梯度修正值相互抵消,無法修正。這才有了后來 RMSProp 的妥協(xié)方案。

  • 2. Batch_Size 值的選擇

    假如每次只訓(xùn)練一個(gè)樣本,即 Batch_Size = 1。線性神經(jīng)元在均方誤差代價(jià)函數(shù)的錯(cuò)誤面是一個(gè)拋物面,橫截面是橢圓。對(duì)于多層神經(jīng)元、非線性網(wǎng)絡(luò),在局部依然近似是拋物面。此時(shí),每次修正方向以各自樣本的梯度方向修正,橫沖直撞各自為政,難以達(dá)到收斂。

    既然 Batch_Size 為全數(shù)據(jù)集或者Batch_Size = 1都有各自缺點(diǎn),可不可以選擇一個(gè)適中的Batch_Size值呢?

    此時(shí),可采用批梯度下降法(Mini-batches Learning)。因?yàn)槿绻麛?shù)據(jù)集足夠充分,那么用一半(甚至少得多)的數(shù)據(jù)訓(xùn)練算出來的梯度與用全部數(shù)據(jù)訓(xùn)練出來的梯度是幾乎一樣的。

    3. 在合理范圍內(nèi),增大Batch_Size有何好處?

  • 內(nèi)存利用率提高了,大矩陣乘法的并行化效率提高。

  • 跑完一次 epoch(全數(shù)據(jù)集)所需的迭代次數(shù)減少,對(duì)于相同數(shù)據(jù)量的處理速度進(jìn)一步加快。

  • 在一定范圍內(nèi),一般來說 Batch_Size 越大,其確定的下降方向越準(zhǔn),引起訓(xùn)練震蕩越小。

  • 4. 盲目增大 Batch_Size 有何壞處?

  • 內(nèi)存利用率提高了,但是內(nèi)存容量可能撐不住了。

  • 跑完一次 epoch(全數(shù)據(jù)集)所需的迭代次數(shù)減少,要想達(dá)到相同的精度,其所花費(fèi)的時(shí)間大大增加了,從而對(duì)參數(shù)的修正也就顯得更加緩慢。

  • Batch_Size 增大到一定程度,其確定的下降方向已經(jīng)基本不再變化。

  • 歸一化

    1. 為什么要?dú)w一化?

  • 避免神經(jīng)元飽和。就是當(dāng)神經(jīng)元的激活在接近 0 或者 1 時(shí)會(huì)飽和,在這些區(qū)域,梯度幾乎為 0,這樣,在反向傳播過程中,局部梯度就會(huì)接近 0,這會(huì)有效地“殺死”梯度。

  • 保證輸出數(shù)據(jù)中數(shù)值小的不被吞食。

  • 加快收斂。數(shù)據(jù)中常存在奇異樣本數(shù)據(jù),奇異樣本數(shù)據(jù)存在所引起的網(wǎng)絡(luò)訓(xùn)練時(shí)間增加,并可能引起網(wǎng)絡(luò)無法收斂,為了避免出現(xiàn)這種情況及后面數(shù)據(jù)處理的方便,加快網(wǎng)絡(luò)學(xué)習(xí)速度,可以對(duì)輸入信號(hào)進(jìn)行歸一化,使得所有樣本的輸入信號(hào)其均值接近于 0 或與其均方差相比很小。

  • 2. 為什么歸一化能提高求解最優(yōu)解速度

    ?

    上圖是代表數(shù)據(jù)是否歸一化的最優(yōu)解尋解過程(圓圈可以理解為等高線)。左圖表示未經(jīng)歸一化操作的尋解過程,右圖表示經(jīng)過歸一化后的尋解過程。

    當(dāng)使用梯度下降法尋求最優(yōu)解時(shí),很有可能走“之字型”路線(垂直等高線走),從而導(dǎo)致需要迭代很多次才能收斂;而右圖對(duì)兩個(gè)原始特征進(jìn)行了歸一化,其對(duì)應(yīng)的等高線顯得很圓,在梯度下降進(jìn)行求解時(shí)能較快的收斂。

    因此如果機(jī)器學(xué)習(xí)模型使用梯度下降法求最優(yōu)解時(shí),歸一化往往非常有必要,否則很難收斂甚至不能收斂。

    3. 歸一化有哪些類型?

    1、線性歸一化

    適用范圍:比較適用在數(shù)值比較集中的情況。

    缺點(diǎn):如果 max 和 min 不穩(wěn)定,很容易使得歸一化結(jié)果不穩(wěn)定,使得后續(xù)使用效果也不穩(wěn)定。

    2、標(biāo)準(zhǔn)差歸一化

    經(jīng)過處理的數(shù)據(jù)符合標(biāo)準(zhǔn)正態(tài)分布,即均值為 0,標(biāo)準(zhǔn)差為 1

    3、非線性歸一化

    適用范圍:經(jīng)常用在數(shù)據(jù)分化比較大的場景,有些數(shù)值很大,有些很小。通過一些數(shù)學(xué)函數(shù),將原始值進(jìn)行映射。該方法包括 log、指數(shù),正切等。

    4. 批歸一化(Batch Normalization)算法的優(yōu)點(diǎn)

    批歸一化(BN)就是在神經(jīng)網(wǎng)絡(luò)中間層也進(jìn)行歸一化處理。

    優(yōu)點(diǎn):

  • 減少了人為選擇參數(shù)。在某些情況下可以取消 dropout 和 L2 正則項(xiàng)參數(shù),或者采取更小的 L2 正則項(xiàng)約束參數(shù);

  • 減少了對(duì)學(xué)習(xí)率的要求。現(xiàn)在我們可以使用初始很大的學(xué)習(xí)率或者選擇了較小的學(xué)習(xí)率,算法也能夠快速訓(xùn)練收斂;

  • 可以不再使用局部響應(yīng)歸一化。BN 本身就是歸一化網(wǎng)絡(luò)(局部響應(yīng)歸一化在 AlexNet 網(wǎng)絡(luò)中存在)

  • 破壞原來的數(shù)據(jù)分布,一定程度上緩解過擬合(防止每批訓(xùn)練中某一個(gè)樣本經(jīng)常被挑選到,文獻(xiàn)說這個(gè)可以提高 1% 的精度)。

  • 減少梯度消失,加快收斂速度,提高訓(xùn)練精度。

  • ?

    訓(xùn)練深層神經(jīng)網(wǎng)絡(luò)很復(fù)雜,因?yàn)樵谟?xùn)練過程中,隨著前幾層輸入的參數(shù)不斷變化,每層輸入的分布也隨之變化。一種方法是將每層輸入規(guī)范化,輸出函數(shù)均值為0,標(biāo)準(zhǔn)差為1。對(duì)每一層的每個(gè)小批量輸入都采用上述方式進(jìn)行規(guī)范化(計(jì)算每個(gè)小批量輸入的均值和方差,然后標(biāo)準(zhǔn)化)。這和神經(jīng)網(wǎng)絡(luò)的輸入的規(guī)范化類似。

    批量標(biāo)準(zhǔn)化的好處

    對(duì)輸入進(jìn)行規(guī)范化有助于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。但神經(jīng)網(wǎng)絡(luò)不過是一系列的層,每層的輸出又成為下一層的輸入。也就是說,我們可以將其中每一層視作子網(wǎng)絡(luò)的第一層。把神經(jīng)網(wǎng)絡(luò)想象成一系列互相傳遞信息的網(wǎng)絡(luò)結(jié)構(gòu),因此在激活函數(shù)作用于輸出之前,先將每一層輸出規(guī)范化,再將其傳遞到下一層(子網(wǎng)絡(luò))。

    ?

    5. Batch Normalization和Group Normalization的比較

    Batch Normalization:可以讓各種網(wǎng)絡(luò)并行訓(xùn)練。但是維度進(jìn)行歸一化會(huì)帶來一些問題-----批量統(tǒng)計(jì)估算不準(zhǔn)確導(dǎo)致批量變小時(shí),BN 的誤差會(huì)迅速增加。在訓(xùn)練大型網(wǎng)絡(luò)和將特征轉(zhuǎn)移到計(jì)算機(jī)視覺任務(wù)中(包括檢測、分割和視頻),內(nèi)存消耗限制了只能使用小批量的 BN。

    Group Normalization:GN將通道分組,并且每組內(nèi)計(jì)算歸一化的均值和方差。GN的計(jì)算與批量大小無關(guān),并且其準(zhǔn)確度在各種批量大小下都很穩(wěn)定。

    6. Weight Normalization和Batch Normalization比較

    兩者都屬于參數(shù)重寫的方式,只是采用的方式不同。

    Weight Normalization 是對(duì)網(wǎng)絡(luò)權(quán)值 W 進(jìn)行 normalization;Batch Normalization 是對(duì)網(wǎng)絡(luò)某一層輸入數(shù)據(jù)進(jìn)行 normalization。

    Weight Normalization相比Batch Normalization有以下三點(diǎn)優(yōu)勢:

  • Weight Normalization 通過重寫深度學(xué)習(xí)網(wǎng)絡(luò)的權(quán)重W的方式來加速深度學(xué)習(xí)網(wǎng)絡(luò)參數(shù)收斂,沒有引入 minbatch 的依賴,適用于 RNN(LSTM)網(wǎng)絡(luò)(Batch Normalization 不能直接用于RNN,進(jìn)行 normalization 操作,原因在于:1) RNN 處理的 Sequence 是變長的;2) RNN 是基于 time step 計(jì)算,如果直接使用 Batch Normalization 處理,需要保存每個(gè) time step 下,mini btach 的均值和方差,效率低且占內(nèi)存)。

  • Batch Normalization 基于一個(gè) mini batch 的數(shù)據(jù)計(jì)算均值和方差,而不是基于整個(gè) Training set 來做,相當(dāng)于進(jìn)行梯度計(jì)算式引入噪聲。因此,Batch Normalization 不適用于對(duì)噪聲敏感的強(qiáng)化學(xué)習(xí)、生成模型(Generative model:GAN,VAE)使用。相反,Weight Normalization 對(duì)通過標(biāo)量 g 和向量 v ?對(duì)權(quán)重 ?W ?進(jìn)行重寫,重寫向量 v 是固定的,因此,基于 Weight Normalization 的 Normalization 可以看做比 Batch Normalization 引入更少的噪聲。

  • 不需要額外的存儲(chǔ)空間來保存 mini batch 的均值和方差,同時(shí)實(shí)現(xiàn) Weight Normalization 時(shí),對(duì)深度學(xué)習(xí)網(wǎng)絡(luò)進(jìn)行正向信號(hào)傳播和反向梯度計(jì)算帶來的額外計(jì)算開銷也很小。因此,要比采用 Batch Normalization 進(jìn)行 normalization 操作時(shí),速度快。但是 Weight Normalization 不具備 Batch Normalization 把網(wǎng)絡(luò)每一層的輸出 Y 固定在一個(gè)變化范圍的作用。因此,采用 Weight Normalization 進(jìn)行 Normalization 時(shí)需要特別注意參數(shù)初始值的選擇。

  • 7.? Batch Normalization在什么時(shí)候用比較合適?

    在CNN中,BN應(yīng)作用在非線性映射前。在神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)遇到收斂速度很慢,或梯度爆炸等無法訓(xùn)練的狀況時(shí)可以嘗試BN來解決。另外,在一般使用情況下也可以加入BN來加快訓(xùn)練速度,提高模型精度。

    BN比較適用的場景是:每個(gè)mini-batch比較大,數(shù)據(jù)分布比較接近。在進(jìn)行訓(xùn)練之前,要做好充分的shuffle,否則效果會(huì)差很多。另外,由于BN需要在運(yùn)行過程中統(tǒng)計(jì)每個(gè)mini-batch的一階統(tǒng)計(jì)量和二階統(tǒng)計(jì)量,因此不適用于動(dòng)態(tài)的網(wǎng)絡(luò)結(jié)構(gòu)和RNN網(wǎng)絡(luò)。

    ???

    學(xué)習(xí)率衰減常用參數(shù)有哪些

    ?

    十 正則化

    1. 為什么要正則化

    深度學(xué)習(xí)可能存在過擬合問題-----高方差,有兩個(gè)解決方法,一個(gè)是正則化,另一個(gè)是準(zhǔn)備更多的數(shù)據(jù),這是非常可靠的方法,但你可能無法時(shí)時(shí)刻刻準(zhǔn)備足夠多的訓(xùn)練數(shù)據(jù)或者獲取更多數(shù)據(jù)的成本很高,但正則化通常有助于避免過擬合或減少你的網(wǎng)絡(luò)誤差。

    ?

    左圖是高偏差,右圖是高方差,中間是Just Right。

    2. 理解dropout正則化

    不要依賴于任何一個(gè)特征,因?yàn)樵搯卧妮斎肟赡茈S時(shí)被清除,因此該單元通過這種方式傳播下去,并為單元的四個(gè)輸入增加一點(diǎn)權(quán)重,通過傳播所有權(quán)重,dropout將產(chǎn)生收縮權(quán)重的平方范數(shù)的效果,和之前講的L2正則化類似;實(shí)施dropout的結(jié)果實(shí)它會(huì)壓縮權(quán)重,并完成一些預(yù)防過擬合的外層正則化;L2對(duì)不同權(quán)重的衰減是不同的,它取決于激活函數(shù)倍增的大小。

    3. dropout率的選擇

    1、經(jīng)過交叉驗(yàn)證,隱含節(jié)點(diǎn)dropout率等于0.5的時(shí)候效果最好,原因是0.5的時(shí)候dropout隨機(jī)生成的網(wǎng)絡(luò)結(jié)構(gòu)最多。

    2、dropout也可以被用作一種添加噪聲的方法,直接對(duì)input進(jìn)行操作、輸入層設(shè)為更更接近 1 的數(shù)。使得輸入變化不會(huì)太大(0.8)

    3、對(duì)參數(shù)w的訓(xùn)練進(jìn)行球形限制(max-normalization),對(duì) dropout 的訓(xùn)練非常有用。

    4、使用pretrain方法也可以幫助dropout訓(xùn)練參數(shù),在使用dropout時(shí),要將所有參數(shù)都乘以1/p

    4. dropout有什么缺點(diǎn)

    dropout一大缺點(diǎn)就是代價(jià)函數(shù)J不再被明確定義,每次迭代,都會(huì)隨機(jī)移除一些節(jié)點(diǎn),如果再三檢查梯度下降的性能,實(shí)際上是很難進(jìn)行復(fù)查的。定義明確的代價(jià)函數(shù)J每次迭代后都會(huì)下降,因?yàn)槲覀兯鶅?yōu)化的代價(jià)函數(shù)J實(shí)際上并沒有明確定義,或者說在某種程度上很難計(jì)算,所以我們失去了調(diào)試工具來繪制這樣的圖片。我通常會(huì)關(guān)閉dropout函數(shù),將keep-prob的值設(shè)為1,運(yùn)行代碼,確保J函數(shù)單調(diào)遞減。然后打開dropout函數(shù),希望在dropout過程中,代碼并未引入bug。我覺得你也可以嘗試其它方法,雖然我們并沒有關(guān)于這些方法性能的數(shù)據(jù)統(tǒng)計(jì),但你可以把它們與dropout方法一起使用。

    十一 如何理解 Internal Covariate Shift?

    深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練為什么會(huì)很困難?其中一個(gè)重要的原因是,深度神經(jīng)網(wǎng)絡(luò)涉及到很多層的疊加,而每一層的參數(shù)更新會(huì)導(dǎo)致上層的輸入數(shù)據(jù)分布發(fā)生變化,通過層層疊加,高層的輸入分布變化會(huì)非常劇烈,這就使得高層需要不斷去重新適應(yīng)底層的參數(shù)更新。為了訓(xùn)好模型,我們需要非常謹(jǐn)慎地去設(shè)定學(xué)習(xí)率、初始化權(quán)重、以及盡可能細(xì)致的參數(shù)更新策略。

    oogle 將這一現(xiàn)象總結(jié)為 Internal Covariate Shift,簡稱 ICS。什么是 ICS 呢?

    大家都知道在統(tǒng)計(jì)機(jī)器學(xué)習(xí)中的一個(gè)經(jīng)典假設(shè)是“源空間(source domain)和目標(biāo)空間(target domain)的數(shù)據(jù)分布(distribution)是一致的”。如果不一致,那么就出現(xiàn)了新的機(jī)器學(xué)習(xí)問題,如 transfer learning / domain adaptation 等。而 covariate shift 就是分布不一致假設(shè)之下的一個(gè)分支問題,它是指源空間和目標(biāo)空間的條件概率是一致的,但是其邊緣概率不同。

    大家細(xì)想便會(huì)發(fā)現(xiàn),的確,對(duì)于神經(jīng)網(wǎng)絡(luò)的各層輸出,由于它們經(jīng)過了層內(nèi)操作作用,其分布顯然與各層對(duì)應(yīng)的輸入信號(hào)分布不同,而且差異會(huì)隨著網(wǎng)絡(luò)深度增大而增大,可是它們所能“指示”的樣本標(biāo)記(label)仍然是不變的,這便符合了covariate shift的定義。由于是對(duì)層間信號(hào)的分析,也即是“internal”的來由。

    那么ICS會(huì)導(dǎo)致什么問題?

    簡而言之,每個(gè)神經(jīng)元的輸入數(shù)據(jù)不再是“獨(dú)立同分布”。

    其一,上層參數(shù)需要不斷適應(yīng)新的輸入數(shù)據(jù)分布,降低學(xué)習(xí)速度。

    其二,下層輸入的變化可能趨向于變大或者變小,導(dǎo)致上層落入飽和區(qū),使得學(xué)習(xí)過早停止。

    其三,每層的更新都會(huì)影響到其它層,因此每層的參數(shù)更新策略需要盡可能的謹(jǐn)慎。

    ?

    ?

    ?

    ?

    ?

    參考: 算法崗面試:Deep Learning 27類常見問題+解析匯總

    總結(jié)

    以上是生活随笔為你收集整理的[深度学习] 面试常见问题+解析汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 久久99国产精品久久99果冻传媒 | 波多野结衣一区二区三区在线 | 国产精品18久久久久久vr下载 | 日韩激情第一页 | 亚洲美女久久久 | 亚洲一区观看 | 91成人在线免费 | 清纯唯美第一页 | 天天射夜夜撸 | 国产在线国偷精品免费看 | 成年人视频免费在线观看 | 国产精品黑丝 | 亚洲美女综合网 | 一区二区精品视频 | 国产一区二区内射 | 欧洲中文字幕日韩精品成人 | 国产精品毛片久久久久久久 | 少妇被躁爽到高潮无码人狍大战 | 欧洲性生活片 | 久久丫精品忘忧草西安产品 | 91传媒理伦片在线观看 | 谁有免费的黄色网址 | 亚洲精品一二三四区 | av成人在线免费观看 | 毛片毛片毛片毛片毛片毛片毛片毛片毛片毛片 | 亚洲图片综合区 | 激情内射人妻1区2区3区 | 精品国产一区在线 | 一区二区久久精品66国产精品 | 国产精品一区二区无线 | 久久性生活| 深夜福利网 | 欧美视频你懂的 | 69人妻一区二区三区 | 亚洲美女av在线 | 奇米成人| 中文自拍 | 欧美中文字幕在线 | 男女啪啪资源 | 爱色成人网 | 国产麻豆一精品一av一免费 | 97人妻精品一区二区三区免费 | 日本三级不卡 | 激情av在线| 亚洲精品a区 | 老熟妇仑乱视频一区二区 | 波多野结衣一区二区三区免费视频 | 在线观看国产一级片 | 一区二区少妇 | 超碰97人| 欧美特黄一区二区三区 | 欧美一级色图 | 中文字幕日日 | 国产青青| 综合久久伊人 | 国产一级片一区 | 久久精品人人做人人爽 | 性中国xxx极品hd | 国产主播一区二区三区 | 国产午夜在线观看 | 精品国产污污免费网站入口 | 欧美v日韩| 久久一久久 | 熟妇人妻精品一区二区三区视频 | ts人妖在线 | www视频在线免费观看 | 亚洲成人免费在线视频 | 全黄一级播放 | 爱情岛论坛亚洲自拍 | 91精品国产色综合久久不8 | 尤物在线 | 国产精品久久毛片 | 日韩在线一区二区三区四区 | 午夜视频久久久 | 色就色欧美| 久久人人爽天天玩人人妻精品 | 伊人网影院 | 亚洲视频在线播放 | 草草视频在线播放 | 婷婷色图 | 成人一区二 | 亚洲女优在线观看 | 日韩在线视频在线 | 奇米影视首页 | 国产成人无码一区二区在线观看 | 伊人久久av | 久久久综合| 蜜桃精品成人影片 | 亚洲性综合网 | 三级视频网站在线观看 | 亚洲国产成人综合 | 日韩一区二区三区三四区视频在线观看 | 成人一区视频 | 杨贵妃颤抖双乳呻吟求欢小说 | 伊人久久久久噜噜噜亚洲熟女综合 | 裸体一区二区 | 俺也去在线视频 | 国产精品久久久久久久久 | 草草屁屁影院 |