1. 程式人生 > >機器學習深度學習 筆試面試題目整理(2)

機器學習深度學習 筆試面試題目整理(2)

1. CNN問題:

(1) 思想 
  改變全連線為區域性連線,這是由於圖片的特殊性造成的(影象的一部分的統計特性與其他部分是一樣的),通過區域性連線和引數共享大範圍的減少引數值。可以通過使用多個filter來提取圖片的不同特徵(多卷積核)。 
   
(2)filter尺寸的選擇 
  通常尺寸多為奇數(1,3,5,7) 

(3)輸出尺寸計算公式 
  輸出尺寸=(N - F +padding*2)/stride + 1 
  步長可以自由選擇通過補零的方式來實現連線。 
   
(4)pooling池化的作用 
  雖然通過.卷積的方式可以大範圍的減少輸出尺寸(特徵數),但是依然很難計算而且很容易過擬合,所以依然利用圖片的靜態特性通過池化的方式進一步減少尺寸。 

名稱 特點
LeNet5 –沒啥特點-不過是第一個CNN應該要知道
AlexNet 引入了ReLU和dropout,引入資料增強、池化相互之間有覆蓋,三個卷積一個最大池化+三個全連線層
VGGNet 採用1*1和3*3的卷積核以及2*2的最大池化使得層數變得更深。常用VGGNet-16和VGGNet19
Google Inception Net
我稱為盜夢空間網路
這個在控制了計算量和引數量的同時,獲得了比較好的分類效能,和上面相比有幾個大的改進:
  1、去除了最後的全連線層,而是用一個全域性的平均池化來取代它;
  2、引入Inception Module,這是一個4個分支結合的結構。所有的分支都用到了1*1的卷積,這是因為1*1價效比很高,可以用很少的引數達到非線性和特徵變換。
  3、Inception V2第二版將所有的5*5變成2個3*3,而且提出來著名的Batch Normalization;
  4、Inception V3第三版就更變態了,把較大的二維卷積拆成了兩個較小的一維卷積,加速運算、減少過擬合,同時還更改了Inception Module的結構。
微軟ResNet殘差神經網路(Residual Neural Network) 1、引入高速公路結構,可以讓神經網路變得非常深
2、ResNet第二個版本將ReLU啟用函式變成y=x的線性函式

2. RNN問題

1、RNN原理: 
  在普通的全連線網路或CNN中,每層神經元的訊號只能向上一層傳播,樣本的處理在各個時刻獨立,因此又被成為前向神經網路(Feed-forward+Neural+Networks)。而在RNN中,神經元的輸出可以在下一個時間戳直接作用到自身,即第i層神經元在m時刻的輸入,除了(i-1)層神經元在該時刻的輸出外,還包括其自身在(m-1)時刻的輸出。所以叫迴圈神經網路 
2、RNN、LSTM、GRU區別

  • RNN引入了迴圈的概念,但是在實際過程中卻出現了初始資訊隨時間消失的問題,即長期依賴(Long-Term Dependencies)問題,所以引入了LSTM。
  • LSTM:因為LSTM有進有出且當前的cell informaton是通過input gate控制之後疊加的,RNN是疊乘,因此LSTM可以防止梯度消失或者爆炸。推導forget gate,input gate,cell state, hidden information等因為LSTM有進有出且當前的cell informaton是通過input gate控制之後疊加的,RNN是疊乘,因此LSTM可以防止梯度消失或者爆炸的變化是關鍵,下圖非常明確適合記憶: 
  • GRU是LSTM的變體,將忘記門和輸入們合成了一個單一的更新門。 

3、LSTM防止梯度彌散和爆炸 
  LSTM用加和的方式取代了乘積,使得很難出現梯度彌散。但是相應的更大的機率會出現梯度爆炸,但是可以通過給梯度加門限解決這一問題。 
   
4、引出word2vec 
  這個也就是Word Embedding,是一種高效的從原始語料中學習字詞空間向量的預測模型。分為CBOW(Continous Bag of Words)和Skip-Gram兩種形式。其中CBOW是從原始語句推測目標詞彙,而Skip-Gram相反。CBOW可以用於小語料庫,Skip-Gram用於大語料庫。具體的就不是很會了。