深度學習崗位面試問題一覽
本文作者許韓,本文首發於作者的知乎專欄《許韓VS許韓》, AI研習社獲其授權發布。
本筆記主要問題來自以下兩個問題,以及我自己面試過程中遇到的問題。
深度學習相關的職位面試時一般會問什麼?會問一些傳統的機器學習演算法嗎?(http://t.cn/RMrVwoU)
如果你是面試官,你怎麼去判斷一個面試者的深度學習水平?(http://t.cn/RIQnMZv)
以下問題來自@Naiyan Wang(http://t.cn/RjVwbgQ)
1.CNN最成功的應用是在CV,那為什麼NLP和Speech的很多問題也可以用CNN解出來?為什麼AlphaGo里也用了CNN?這幾個不相關的問題的相似性在哪裡?CNN通過什麼手段抓住了這個共性?
Deep Learning -Yann LeCun, Yoshua Bengio & Geoffrey Hinton(http://t.cn/RjV2Zuc)
Learn TensorFlow and deep learning, without a PhD(http://t.cn/R00mUws)
The Unreasonable Effectiveness of Deep Learning -LeCun 16 NIPS Keynote(http://t.cn/RZ02yaK)
以上幾個不相關問題的相關性在於,都存在局部與整體的關係,由低層次的特徵經過組合,組成高層次的特徵,並且得到不同特徵之間的空間相關性。如下圖:低層次的直線/曲線等特徵,組合成為不同的形狀,最後得到汽車的表示。
CNN抓住此共性的手段主要有四個:局部連接/權值共享/池化操作/多層次結構。
局部連接使網路可以提取數據的局部特徵;權值共享大大降低了網路的訓練難度,一個Filter只提取一個特徵,在整個圖片(或者語音/文本) 中進行卷積;池化操作與多層次結構一起,實現了數據的降維,將低層次的局部特徵組合成為較高層次的特徵,從而對整個圖片進行表示。如下圖:
上圖中,如果每一個點的處理使用相同的Filter,則為全卷積,如果使用不同的Filter,則為Local-Conv。
2.為什麼很多做人臉的Paper會最後加入一個Local Connected Conv?
DeepFace: Closing the Gap to Human-Level Performance in Face Verification(http://t.cn/RjVqsrg)
以FaceBook DeepFace 為例:
DeepFace 先進行了兩次全卷積+一次池化,提取了低層次的邊緣/紋理等特徵。
後接了3個Local-Conv層,這裡是用Local-Conv的原因是,人臉在不同的區域存在不同的特徵(眼睛/鼻子/嘴的分布位置相對固定),當不存在全局的局部特徵分布時,Local-Conv更適合特徵的提取。
以下問題來自@抽象猴(http://t.cn/RjV5W4J)
1、什麽樣的資料集不適合用深度學習?
數據集太小,數據樣本不足時,深度學習相對其它機器學習演算法,沒有明顯優勢。
數據集沒有局部相關特性,目前深度學習表現比較好的領域主要是圖像/語音/自然語言處理等領域,這些領域的一個共性是局部相關性。圖像中像素組成物體,語音信號中音位組合成單詞,文本數據中單片語合成句子,這些特徵元素的組合一旦被打亂,表示的含義同時也被改變。對於沒有這樣的局部相關性的數據集,不適於使用深度學習演算法進行處理。舉個例子:預測一個人的健康狀況,相關的參數會有年齡、職業、收入、家庭狀況等各種元素,將這些元素打亂,並不會影響相關的結果。
2.對所有優化問題來說, 有沒有可能找到比現在已知演算法更好的演算法?
機器學習-周志華(http://t.cn/RjVfkB3)
沒有免費的午餐定理:
對於訓練樣本(黑點),不同的演算法A/B在不同的測試樣本(白點)中有不同的表現,這表示:對於一個學習演算法A,若它在某些問題上比學習演算法 B更好,則必然存在一些問題,在那裡B比A好。
也就是說:對於所有問題,無論學習演算法A多聰明,學習演算法 B多笨拙,它們的期望性能相同。
但是:沒有免費午餐定力假設所有問題出現幾率相同,實際應用中,不同的場景,會有不同的問題分布,所以,在優化演算法時,針對具體問題進行分析,是演算法優化的核心所在。
3.用貝葉斯機率說明Dropout的原理
Dropout as a Bayesian Approximation: Insights and Applications(http://t.cn/R28v5W6)
4.何為共線性, 跟過擬合有啥關聯?
Multicollinearity-Wikipedia(http://t.cn/RjVMJBf)
共線性:多變數線性回歸中,變數之間由於存在高度相關關係而使回歸估計不準確。
共線性會造成冗餘,導致過擬合。
解決方法:排除變數的相關性/加入權重正則。
5.廣義線性模型是怎被應用在深度學習中?
A Statistical View of Deep Learning (I): Recursive GLMs(http://t.cn/R2VQ5wJ)
深度學習從統計學角度,可以看做遞歸的廣義線性模型。
廣義線性模型相對於經典的線性模型(y=wx+b),核心在於引入了連接函數g(.),形式變為:y=g?1(wx+b)。
深度學習時遞歸的廣義線性模型,神經元的激活函數,即為廣義線性模型的鏈接函數。邏輯回歸(廣義線性模型的一種)的Logistic函數即為神經元激活函數中的Sigmoid函數,很多類似的方法在統計學和神經網路中的名稱不一樣,容易引起初學者(這裡主要指我)的困惑。下圖是一個對照表:
6.什麽造成梯度消失問題? 推導一下
Yes you should understand backdrop-Andrej Karpathy(http://t.cn/RI6Qe7t)
How does the ReLu solve the vanishing gradient problem?(http://t.cn/RjVxrGG)
神經網路的訓練中,通過改變神經元的權重,使網路的輸出值儘可能逼近標籤以降低誤差值,訓練普遍使用BP演算法,核心思想是,計算出輸出與標籤間的損失函數值,然後計算其相對於每個神經元的梯度,進行權值的迭代。
梯度消失會造成權值更新緩慢,模型訓練難度增加。造成梯度消失的一個原因是,許多激活函數將輸出值擠壓在很小的區間內,在激活函數兩端較大範圍的定義域內梯度為0。造成學習停止
以下問題來自匿名用戶
1.Weights Initialization. 不同的方式,造成的後果。為什麼會造成這樣的結果。
幾種主要的權值初始化方法: lecun_uniform / glorot_normal / he_normal / batch_normal
lecun_uniform:Efficient BackProp(http://t.cn/RjVX2bi)
glorot_normal:Understanding the difficulty of training deep feedforward neural networks (http://t.cn/RjVXVIr)
he_normal:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification(http://t.cn/RjVS5yE)
batch_normal:Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift(http://t.cn/RXgFY02)
2.為什麼網路夠深(Neurons 足夠多)的時候,總是可以避開較差Local Optima?
The Loss Surfaces of Multilayer Networks(http://t.cn/RjVCV7A)
3.Loss. 有哪些定義方式(基於什麼?), 有哪些優化方式,怎麼優化,各自的好處,以及解釋。
Cross-Entropy / MSE / K-L散度
4.Dropout。 怎麼做,有什麼用處,解釋。
How does the dropout method work in deep learning?(http://t.cn/RjVoBTT)
Improving neural networks by preventing co-adaptation of feature detectors(http://t.cn/RjVWnC0)
An empirical analysis of dropout in piecewise linear networks(http://t.cn/RjVWsxB)
5.Activation Function. 選用什麼,有什麼好處,為什麼會有這樣的好處。
幾種主要的激活函數:Sigmond / ReLU /PReLU
Deep Sparse Rectifier Neural Networks(http://t.cn/RjVlVbG)
Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification(http://t.cn/RjVl6Z5)
不要等到演算法出現accuracy不好、
loss很高、模型overfitting時,
才後悔沒有好好掌握基礎數學理論。
走穩機器學習第一步,夯實數學基礎!
「線性代數及矩陣論、概率論與統計、凸優化」
3大數學基礎課程,火熱團購中!
掃碼參團
深度學習面試你必須知道這些答案
※從LeNet-5到DenseNet
※遷移學習的發展和現狀
※從事人臉識別研究必讀的N篇文章
※從傳統演算法走向神經網路
TAG:AI研習社 |