2019年8月19日

以前遇到的面試題

1. LSTM的網絡結構,以及和GRU的區別面試

答案: LSTM的三個門:輸入門、輸出門、遺忘門。 GRU的兩個門:更新門和重置門。網絡

2. 若是訓練集和測試集的正確率都很高,可是實際應用的使用模型正確率很低?異步

答案:發生了數據泄露。這種多是在數據集劃分的時候,也多是模型的問題,好比transformer decoder沒有作mask。(答過擬合是不對的,答訓練集和測試集和實際分佈有差別是能夠的)函數

3. 爲何BERT須要mask,以前的模型不須要?學習

答案:BERT是雙向的Encoder,因此須要mask。GPT是單向的transformer,ElMo是兩個單向的LSTM編碼的拼接。測試

4. Transformer的Muti Head的作法的緣由?優化

答案:相似CNN的多個卷積核,目的是分紅多個獨立的子空間,能夠學習到更豐富的語義特徵,從而增大模型的容量。編碼

Multi-head attention allows the model to jointly attend to information from different representation subspaces at different positions.spa

5. 最大後驗估計和最大似然的區別3d

答案:最大後驗估計 = 似然函數 × 先驗機率

6. 邏輯迴歸和樸素貝葉斯的區別

答案

  • Logistic Regression屬於判別式模型,Naive Bayes屬於生成模型。
  • Naive Bayes是創建在條件獨立假設基礎之上的,Logistic Regression的限制則要寬鬆不少。
  • Naive Bayes不須要優化參數,Logistic Regression須要創建損失函數,而後利用梯度降低進行優化。(參數模型和非參模型)

7. HMM、MEMM、CRF的區別

答案

  • HMM是生成式模型,MEMM和CRF是判別式模型。
  • HMM模型中存在兩個假設:一是輸出觀察值之間嚴格獨立,二是狀態的轉移過程當中當前狀態只與前一狀態有關(一階馬爾可夫模型)。
  • MEMM模型克服了觀察值之間嚴格獨立產生的問題,可是因爲狀態之間的假設理論,使得該模型存在標註偏置問題。
  • CRF模型解決了標註偏置問題,去除了HMM中兩個不合理的假設,模型相應得也變複雜了。

8. BN的訓練和測試

答案

  • 訓練時每次會傳入一批數據,計算每一個batch的均值和方差,並計算移動平均做爲訓練集的均值和方差
  • 當測試或預測時,每次可能只會傳入單個數據,這個時候直接使用訓練集的均值和方差

9. 分類樣本不平衡如何解決

答案

  • 數據層面:數據上採樣或者下采樣
  • 評價指標:選用F1或者AUC等對數據不平衡不敏感的指標
  • 損失函數:使用Focal Loss等損失函數
  1. word2vec的損失函數

答案: CBOW是根據context預測中間詞,所以是:

Skip-gram是根據context預測中間詞,所以是:

  1. ELMo的損失函數

答案:兩個雙向的語言模型的log損失函數之和

  1. TF實現多GPU並行?

答案

同步模式:

tf中的並行主要分爲兩種:

  • 模型並行: 將模型中不一樣計算節點放在不一樣硬件資源上運算
  • 數據並行: 同時使用多個硬件資源來計算不一樣batch的數據的梯度,幾乎適用於全部深度學習模型

數據並行

  • 同步數據並行: 等待全部GPU都計算完一個batch數據的梯度後,再統一將多個梯度合在一塊兒,並共享更新後的模型參數,這相似於用了一個較大的batch
  • 異步數據並行: 不等待全部GPU都完成計算,而是哪一個GPU完成了運算就當即將梯度更新到共享的模型參數中
相關文章
相關標籤/搜索