深度學習面試100題(第21-25題)

七月線上實驗室發表於2018-07-12

1.廣義線性模型是怎被應用在深度學習中?

解析:

A Statistical View of Deep Learning (I): Recursive GLMs

深度學習從統計學角度,可以看做遞迴的廣義線性模型。


廣義線性模型相對於經典的線性模型(y=wx+b),核心在於引入了連線函式g(.),形式變為:y=g−1(wx+b)。


深度學習時遞迴的廣義線性模型,神經元的啟用函式,即為廣義線性模型的連結函式。邏輯迴歸(廣義線性模型的一種)的Logistic函式即為神經元啟用函式中的Sigmoid函式,很多類似的方法在統計學和神經網路中的名稱不一樣,容易引起初學者(這裡主要指我)的困惑。


下圖是一個對照表:

640?wx_fmt=png

2.如何解決梯度消失和梯度膨脹?

解析:

(1)梯度消失:

根據鏈式法則,如果每一層神經元對上一層的輸出的偏導乘上權重結果都小於1的話,那麼即使這個結果是0.99,在經過足夠多層傳播之後,誤差對輸入層的偏導會趨於0

可以採用ReLU啟用函式有效的解決梯度消失的情況,也可以用Batch Normalization解決這個問題。關於深度學習中 Batch Normalization為什麼效果好?


(2)梯度膨脹

根據鏈式法則,如果每一層神經元對上一層的輸出的偏導乘上權重結果都大於1的話,在經過足夠多層傳播之後,誤差對輸入層的偏導會趨於無窮大

可以通過啟用函式來解決,或用Batch Normalization解決這個問題。


3.簡述神經網路的發展歷史。

解析:

1949年Hebb提出了神經心理學學習正規化——Hebbian學習理論

1952年,IBM的Arthur Samuel寫出了西洋棋程式

1957年,Rosenblatt的感知器演算法是第二個有著神經系統科學背景的機器學習模型.


3年之後,Widrow因發明Delta學習規則而載入ML史冊,該規則馬上就很好的應用到了感知器的訓練中

感知器的熱度在1969被Minskey一盆冷水潑滅了。他提出了著名的XOR問題,論證了感知器在類似XOR問題的線性不可分資料的無力。


儘管BP的思想在70年代就被Linnainmaa以“自動微分的翻轉模式”被提出來,但直到1981年才被Werbos應用到多層感知器(MLP)中,NN新的大繁榮。


1991年的Hochreiter和2001年的Hochreiter的工作,都表明在使用BP演算法時,NN單元飽和之後會發生梯度損失。又發生停滯。


時間終於走到了當下,隨著計算資源的增長和資料量的增長。一個新的NN領域——深度學習出現了。


簡言之,MP模型+sgn—->單層感知機(只能線性)+sgn— Minsky 低谷 —>多層感知機+BP+sigmoid—- (低谷) —>深度學習+pre-training+ReLU/sigmoid


4.深度學習常用方法。

解析:

全連線DNN(相鄰層相互連線、層內無連線): 

AutoEncoder(儘可能還原輸入)、Sparse Coding(在AE上加入L1規範)、RBM(解決概率問題)—–>特徵探測器——>棧式疊加 貪心訓練 

RBM—->DBN 

解決全連線DNN的全連線問題—–>CNN 

解決全連線DNN的無法對時間序列上變化進行建模的問題—–>RNN—解決時間軸上的梯度消失問題——->LSTM


DNN是傳統的全連線網路,可以用於廣告點選率預估,推薦等。其使用embedding的方式將很多離散的特徵編碼到神經網路中,可以很大的提升結果。


CNN主要用於計算機視覺(Computer Vision)領域,CNN的出現主要解決了DNN在影象領域中引數過多的問題。同時,CNN特有的卷積、池化、batch normalization、Inception、ResNet、DeepNet等一系列的發展也使得在分類、物體檢測、人臉識別、影象分割等眾多領域有了長足的進步。同時,CNN不僅在影象上應用很多,在自然語言處理上也頗有進展,現在已經有基於CNN的語言模型能夠達到比LSTM更好的效果。在最新的AlphaZero中,CNN中的ResNet也是兩種基本演算法之一。


GAN是一種應用在生成模型的訓練方法,現在有很多在CV方面的應用,例如影象翻譯,影象超清化、影象修復等等。


RNN主要用於自然語言處理(Natural Language Processing)領域,用於處理序列到序列的問題。普通RNN會遇到梯度爆炸和梯度消失的問題。所以現在在NLP領域,一般會使用LSTM模型。在最近的機器翻譯領域,Attention作為一種新的手段,也被引入進來。


除了DNN、RNN和CNN外, 自動編碼器(AutoEncoder)、稀疏編碼(Sparse Coding)、深度信念網路(DBM)、限制玻爾茲曼機(RBM)也都有相應的研究。


5.請簡述神經網路的發展史。

解析:

sigmoid會飽和,造成梯度消失。於是有了ReLU。

ReLU負半軸是死區,造成梯度變0。於是有了LeakyReLU,PReLU。

強調梯度和權值分佈的穩定性,由此有了ELU,以及較新的SELU。

太深了,梯度傳不下去,於是有了highway。

乾脆連highway的引數都不要,直接變殘差,於是有了ResNet。


強行穩定引數的均值和方差,於是有了BatchNorm。

在梯度流中增加噪聲,於是有了 Dropout。

RNN梯度不穩定,於是加幾個通路和門控,於是有了LSTM。

LSTM簡化一下,有了GRU。

GAN的JS散度有問題,會導致梯度消失或無效,於是有了WGAN。

WGAN對梯度的clip有問題,於是有了WGAN-GP。


參考資料:

1.許韓,https://www.zhihu.com/question/41233373/answer/145404190;

2.https://www.zhihu.com/question/38102762;

3.SmallisBig,http://blog.csdn.net/u010496169/article/details/73550487;

4.張雨石,現在在應用領域應用的做多的是DNN,CNN和RNN;

5.SIY.Z,https://zhuanlan.zhihu.com/p/29435406。


題目來源:

七月線上官網(https://www.julyedu.com/)——面試題庫——面試大題——深度學習 第16-20題。

640?wx_fmt=gif

為了幫助大家更好的學習和理解深度學習,我們特意推出了“深度學習第四期”課程,7月31日開課,每週二週四晚上8~10點直播上課,每次課至少2小時,共10次課;本課程提供以下服務:直播答疑、課後回放、佈置作業且解答、畢業考試且批改、面試輔導。課程詳情可點選文末“閱讀原文”進行檢視,或者加微信客服:julyedukefu_02進行諮詢。

640?wx_fmt=jpeg

相關文章