算法工程師<深度學習基礎>

<深度學習基礎>html

卷積神經網絡,循環神經網絡,LSTM與GRU,梯度消失與梯度爆炸,激活函數,防止過擬合的方法,dropout,batch normalization,各種經典的網絡結構,各種優化方法算法

一、卷積神經網絡工做原理的直觀解釋api

https://www.zhihu.com/question/39022858網絡

簡單來講,在必定意義上,訓練CNN就是在訓練每個卷積層的濾波器。讓這些濾波器組對特定的模式有高的激活能力,以達到CNN網絡的分類/檢測等目的。機器學習

二、卷積神經網絡的複雜度分析函數

https://zhuanlan.zhihu.com/p/31575074性能

三、CNN(卷積神經網絡)、RNN(循環神經網絡)、DNN(深度神經網絡)的內部網絡結構有什麼區別?學習

https://www.zhihu.com/question/34681168大數據

四、BP算法中爲何會產生梯度消失?優化

https://www.zhihu.com/question/49812013

五、梯度降低法是萬能的模型訓練算法嗎?

https://www.zhihu.com/question/38677354

六、LSTM如何來避免梯度消失和梯度爆炸?

https://www.zhihu.com/question/34878706

七、SGD有多種改進的形式(rmsprop、adadelta等),爲何大多數論文中仍然用SGD?

https://www.zhihu.com/question/42115548

八、你有哪些deep learning(rnn,cnn)調參的經驗?

https://www.zhihu.com/question/41631631

九、Adam那麼棒,爲何還對SGD念念不忘?

https://zhuanlan.zhihu.com/p/32230623

十、全鏈接層的做用是什麼?

https://www.zhihu.com/question/41037974

十一、深度學習中 Batch Normalization爲何效果好?

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

十二、爲何如今的CNN模型都是在GoogleNet、Vggnet或者Alexnet上調整的?

https://www.zhihu.com/question/43370067

1三、Krizhevsky等人是怎麼想到在CNN裏面用Dropout和ReLU的?

https://www.zhihu.com/question/28720729

1四、 什麼是凸集、凸函數、凸學習問題?

凸集:若對集合C中任意兩點u和v,鏈接他們的線段仍在集合C中,那麼集合C是凸集。

公式表示爲:αu+(1-α)v∈C α∈[0, 1]

凸函數:凸集上的函數是凸函數。凸函數的每個局部極小值也是全局極小值( f(x) = 0.5x^2 )。

公式表示爲:f(αu + (1-α)v) ≤ αf(u)+ (1-α)f(v)
1五、L0、L一、L2正則化?

L0範數:計算向量中非0元素的個數。

L1範數:計算向量中各元素絕對值之和。

L2範數:計算向量中各元素平方和的開方。

L0範數和L1範數目的是使參數稀疏化。L1範數比L0範數容易優化求解。

L2範數是防止過擬合,提升模型的泛化性能。

1六、無監督學習方法有哪些?

強化學習、K-means 聚類、自編碼、受限波爾茲曼機

1七、對空洞卷積(dilated convolution)的理解?

基於FCN的語義分割問題中,需保持輸入圖像與輸出特徵圖的size相同。

若使用池化層,則下降了特徵圖size,需在高層階段使用上採樣,因爲池化會損失信息,因此此方法會影響致使精度下降;

若使用較小的卷積核尺寸,雖能夠實現輸入輸出特徵圖的size相同,但輸出特徵圖的各個節點感覺野小;

若使用較大的卷積核尺寸,因爲需增長特徵圖通道數,此方法會致使計算量較大;

因此,引入空洞卷積(dilatedconvolution),在卷積後的特徵圖上進行0填充擴大特徵圖size,這樣既由於有卷積核增大感覺野,也由於0填充保持計算點不變。
1八、增大感覺野的方法?
空洞卷積、池化操做、較大卷積核尺寸的卷積操做

1九、卷積層中感覺野大小的計算?

卷積層的感覺野大小與其以前層的卷積核尺寸和步長有關,與padding無關。基於從深層向淺層遞歸計算的方式。計算公式爲:Fj-1 = Kj + (Fj - 1)*Sj(最後一層特徵圖的感覺野大小是其計算卷積核大小)

20、梯度降低法和牛頓法的優缺點?

優勢:

梯度降低法:可用於數據量較大的狀況;

牛頓法:收斂速度更快;

缺點:

梯度降低法:每一步可能不是向着最優解的方向;

牛頓法:每次迭代的時間長;須要計算一階和二階導數;

2一、解決訓練樣本類別不平衡問題?

現象:訓練樣本中,正負樣本數量的比例較大。

1. 過採樣。增長正例樣本數量,使得正負樣本數量接近,而後再進行學習。

2. 欠採樣。去除反例樣本數量,使得正負樣本數量接近,而後再進行學習。

3. 設置閾值。基於原始數據集學習,當使用已訓練好的分類器進行預測時,將正負樣本數量的比例做爲閾值嵌入到決策過程當中。
2二、各個激活函數的優缺點?

Sigmoid激活函數 缺點:

1. 不是關於原點對稱;

2. 須要計算exp

Tanh 激活函數 優勢:

1. 關於原點對稱

2. 比sigmoid梯度更新更快

ReLU激活函數 優勢:

1. 神經元輸出爲正時,沒有飽和區

2. 計算複雜度低,效率高

3. 在實際應用中,比sigmoid、tanh更新更快

4. 相比於sigmoid更加符合生物特性

Leaky ReLU激活函數 優勢:

1. 解決了ReLU激活函數Dead ReLU問題;

Maxout激活函數max(w1*x+b1,w2*x+b2)  缺點:

2. 參數較多;

2三、神經網絡的正則化方法?/過擬合的解決方法?

數據加強(鏡像對稱、隨機裁剪、旋轉圖像、剪切圖像、局部彎曲圖像、色彩轉換)

early stopping(比較訓練損失和驗證損失曲線,驗證損失最小即爲最優迭代次數)

L2正則化(權重參數的平方和)

L1正則化(權重參數的絕對值之和)

dropout 正則化(設置keep_pro參數隨機讓當前層神經元失活)
2四、目標檢測領域的常見算法?

兩階段檢測器:R-CNN、Fast R-CNN、Faster R-CNN

單階段檢測器:YOLO、YOLO9000、SSD、DSSD、RetinaNet

2五、Batch Normalization如何實現?做用?

實現過程

計算訓練階段mini_batch數量激活函數前結果的均值和方差,而後對其進行歸一化,最後對其進行縮放和平移。

做用

1. 限制參數對隱層數據分佈的影響,使其始終保持均值爲0,方差爲1的分佈;

2. 削弱了前層參數和後層參數之間的聯繫,使得當前層稍稍獨立於其餘層,加快收斂速度;

3. 有輕微的正則化效果。
2六、Momentum優化算法原理?做用?

原理:在梯度降低算法中引入指數加權平均數,在更新梯度方向的過程當中,在必定程度上保留了以前梯度更新的方向,同時利用當前mini_batch的梯度方向微調最終的更新方向。

做用:在必定程度上增長梯度更新方向的穩定性,從而使得收斂速度更快。

2七、羣卷積?

假設上一層的特徵圖通道數爲N,羣卷積數目爲M,則每一個羣卷積層上的特徵圖通道數爲N/M,而後將其分配在不一樣的GPU上,待卷積完成後將輸出疊加在一塊兒。

2八、反捲積?

卷積的逆過程,GANs基於反捲積操做生成圖片。

2九、梯度消失和梯度爆炸?

緣由:激活函數的選擇。

梯度消失:令bias=0,則神經網絡的輸出結果等於各層權重參數的積再與輸入數據集相乘,若參數值較小時,則權重參數呈指數級減少。

梯度爆炸:令bias=0,則神經網絡的輸出結果等於各層權重參數的積再與輸入數據集相乘,若參數值較大時,則權重參數呈指數級增加。
30、質數與互質數

質數是能被1和其自己整除的數;好比2,3,5,7是質數;

互質數是兩個數的公因數只有一個1的數;好比8和九、27和32是互質數;

3一、生成模型和判別模型

生成方法是首先基於數據學習聯合機率分佈P(X,Y),而後得到條件機率分佈P(Y|X)做爲預測模型。

 

經常使用模型:隱馬爾可夫模型(HMM)、樸素貝葉斯

判別方法是直接基於數據學習到決策函數F或條件機率分佈P(Y|X)做爲預測模型。

經常使用模型:支持向量機、K近鄰算法、決策樹、邏輯迴歸、感知機、最大熵等
3二、從貝葉斯的角度來看,正則化等價於對模型參數引入先驗分佈,談談你對正則化的理解,而且闡述引入L2和L1分別對應什麼分佈。

正則化的理解:正則化是在損失函數中加入對模型參數的懲罰項,以平衡因子lamda控制懲罰力度,其經過在訓練過程當中下降參數的數量級,從而下降模型的過擬合現象。

從貝葉斯的角度來看,正則化等價於對模型參數引入先驗分佈:對參數引入高斯先驗分佈等價於L2正則化,對參數引入拉普拉斯分佈等價於L1正則化。
3三、從變換矩陣和變換效果等方面闡述類似變換、仿射變換、投影變換的區別。

等距變換:圖像旋轉+平移

類似變換:圖像旋轉+平移+縮放(放大或縮小原圖)

仿射變換:圖像旋轉+平移+縮放+切變(雖改變圖像的形狀,但未改變圖像中的平行線)

投影變換:圖像旋轉+平移+縮放+切變+射影(不只改變了圖像的形狀,並且改變了圖像中的平行線)

3四、 HOG特徵的計算流程

直方圖:橫軸:間隔,縱軸爲各間隔統計值的個數。特色1:顯示此數據的的分佈狀況;特色2:顯示各組統計數據的差別;

HOG(histogram of oriented gradient)經過得到局部區域像素的梯度直方圖來構成特徵。

1. 轉化爲灰度圖;

2. 圖像的歸一化;

3. 計算各個像素的梯度;

4. 將圖像劃分爲cell(6*6個像素是一個cell)

5. 計算cell區域的梯度直方圖(統計各個梯度的數量),構成cell的discripter

6. 將cell劃分爲block(3*3個cell是一個block),串聯block內的cell discripter便可獲得此區域的HOG特徵discripter

7. 將一幅圖像中的Hog discripter串聯就是用於分類的特徵向量;
3五、簡述迴歸,分類,聚類方法的區別和聯繫並分別舉出一個例子,簡要介紹算法思路

迴歸:對連續隨機變量建模預測的監督學習算法;經典案例:房價預測;算法舉例:線性迴歸,創建數據的擬合曲線做爲預測模型(y = wx + b);

分類:對離散隨機變量建模預測的監督學習算法;經典案例:垃圾郵件分類;算法舉例:支持向量機,尋找二類支持向量的最大切分超平面;

聚類:基於數據的內部規律,尋找其屬於不一樣族羣的無監督學習算法;算法舉例:k-means;
3六、列舉至少三種損失函數,寫出數學表達式並簡述各自優勢

https://blog.csdn.net/heyongluoyao8/article/details/52462400 

0-1損失 感知機損失 絕對值損失

平方偏差損失(線性迴歸)

對數損失(邏輯迴歸)

指數損失(Adaboost)

鉸鏈損失(SVM)

3七、分類問題的評價標準

準確率 = (TP+TN)/總樣本數

精確率 = TP/(TP+FP) = 全部預測爲正類樣本中正類的機率

召回率 = TP/(TP+FN) = 全部真正類樣本中正類的機率

2/調和平均值 = 1/精確率+1/召回率

P-R曲線:縱軸爲精確率,橫軸爲召回率,基於平衡點(P=R)度量各個基分類器的優劣;

ROC曲線:縱軸爲TPR,橫軸爲FPR

TPR = TP/(TP+FN)  FPR = FP/(FP+TN)

AUC:ROC曲線下的面積

mAP = 全部類別的AP之和/類別數量

P = (一張圖片類別C識別正確數量)/(一張圖片類別C的總數量)

AP = 每張圖片的P之和/圖片數量
3八、迴歸問題的評價指標

平均絕對值偏差(MAE)

均方差(MSE)

3九、邏輯迴歸和SVM的區別和聯繫

1.損失函數不一樣,LR損失函數是對數損失;SVM損失函數是hinge損失;參考https://www.cnblogs.com/daguankele/p/6652597.html

2.LR考慮了全部點的損失,但經過非線性操做大大減少離超平面較遠點的權重;SVM僅考慮支持向量的損失

3.LR受類別平衡的影響;SVM則不受類別平衡的影響;

4.LR適合較大數據集;SVM適合較小數據集

40、深度學習爲何在計算機視覺領域這麼好

以目標檢測爲例,傳統的計算機視覺方法需首先基於經驗手動設計特徵,而後使用分類器分類,這兩個過程都是分開的。而深度學習裏的卷積網絡可實現對局部區域信息的提取,得到更高級的特徵,當神經網絡層數越多時,提取的特徵會更抽象,將更有助於分類,同時神經網路將提取特徵和分類融合在一個結構中。

4一、 Bagging和Boosting之間的區別?

1.從樣本選擇角度:

Bagging採用隨機有放回的採樣方式(Boostraping);Boosting使用全部樣本,但每一個樣本的權重不一樣;

2.從決策方式角度:

Bagging分類預測採用大多數投票選舉法,迴歸預測採用各基分類器預測結果的平均值;Boosting採用各基分類器在不一樣權重做用下預測結果的累加和;

3.從方差、誤差角度:

Bagging以減少方差爲目的;Boosting以減小誤差爲目的;

模型過擬合,則方差大,Bagging以隨機採樣樣本的方式減小異常樣本的選擇比例,從而能夠下降過擬合,隨之也就減少了方差;

Boosting的損失函數就是以減小誤差爲目的來訓練下一個基分類器;

4.從權重角度:

Bagging各個樣本的權重相同,各個基分類器權重相同;Boosting各個樣本的權重不一樣,正確預測的樣本權重減少,錯誤預測的樣本權重增大;各個基分類器的權重不一樣,預測準確率高的權重大,預測準確率低的權重小;
4二、經常使用的池化操做有哪些?

1.Max pooling:選取滑動窗口的最大值

2.Average pooling:平均滑動串口的全部值

3.Global average pooling:平均每頁特徵圖的全部值

優勢:

1.解決全鏈接層所形成的過擬合問題

CNN網絡須要將特徵圖reshape成全鏈接層,而後再鏈接輸出層,而global average pooling不須要此操做,直接將特徵圖pooling成輸出層

2.沒有權重參數
4三、樸素貝葉斯的樸素是什麼意思?

樸素指的是各個特徵之間相互獨立。

4四、1*1卷積核的做用?

1.跨通道信息的融合;

2.經過對通道數的降維和升維,減小計算量;

4五、 隨機森林的隨機性指的是?

1.決策樹訓練樣本是有放回隨機採樣的;

2.決策樹節點分裂特徵集是有放回隨機採樣的;

4六、 隨機森林和GBDT算法的區別?

1.並行和串行

隨機森林是並行算法,GBDT算法是串行算法

2.決策方式

隨機森林分類問題採用大多數投票選舉法,迴歸問題採用各基分類器結果的平均值;GBDT算法採用各基分類器預測結果的累加和;

3.樣本選擇

隨機森林各基分類器採用有放回隨機採樣的方式;GBDT則使用全部的樣本;

4.誤差、方差

隨機森林經過下降方差提升性能;GBDT經過下降誤差提升性能;

5.異常值

隨機森林對異常值不敏感;GBDT對異常值敏感;
4七、爲何ReLU經常使用於神經網絡的激活函數?

1.在前向傳播和反向傳播過程當中,ReLU相比於Sigmoid等激活函數計算量小;

2.在反向傳播過程當中,Sigmoid函數存在飽和區,若激活值進入飽和區,則其梯度更新值很是小,致使出現梯度消失的現象。而ReLU沒有飽和區,可避免此問題;

3.ReLU可令部分神經元輸出爲0,形成網絡的稀疏性,減小先後層參數對當前層參數的影響,提高了模型的泛化性能;
4八、卷積層和全鏈接層的區別?

1.卷積層是局部鏈接,因此提取的是局部信息;全鏈接層是全局鏈接,因此提取的是全局信息;

2.當卷積層的局部鏈接是全局鏈接時,全鏈接層是卷積層的特例;

4九、誤差和方差的區別?

誤差是真實值和預測值之間的偏離程度;方差是預測值得分散程度,即越分散,方差越大;

50、機器學習和深度學習的區別?

機器學習在訓練模型以前,須要手動設置特徵,即須要作特徵工程;深度學習可自動提取特徵;因此深度學習自動提取的特徵比機器學習手動設置的特徵魯棒性更好;

5一、神經網絡的優缺點?

優勢:

1.擬合複雜的函數

隨着神經網絡層數的加深,網絡的非線性程度愈來愈高,從而可擬合更加複雜的函數;

2.結構靈活

神經網絡的結構可根據具體的任務進行相應的調整,選擇適合的網絡結構;

3.神經網絡可自動提取特徵,比人工設置的特徵魯棒性更好;

缺點:

1.因爲神經網絡強大的假設空間,使得神經網絡極易陷入局部最優,使得模型的泛化能力較差;

2.當網絡層數深時,神經網絡在訓練過程當中容易產生梯度消失和梯度降低的問題;

3.隨着網絡層數的加深,神經網絡收斂速度愈來愈慢;

4.神經網絡訓練參數多,佔用內存大;
5二、 解決過擬合的方法

1.數據加強

2.Ealy stopping

3.Dropout

4.交叉驗證

5.L一、L2正則化

相關文章
相關標籤/搜索