阿里、騰訊、滴滴等社招面試問題整理

已入職阿里,騰訊總監面聊得不開心,掛,也拿到滴滴offer

 

1、爲何會梯度消失和爆炸:

      消失:BPTT時,多個激活函數導數的相乘導致

      解決:LSTM、BN、RELU

      爆炸:權重函數初始化過大,

       解決:梯度截斷

2、word2vec、fasttext的區別:

      word2vec訓練方式有兩種,Cbow和Skip-gram,加速方法有兩種層次softmax和負採樣

      cbow是上下文預測當前詞;skip-gram是當前詞預測上下文;權重矩陣過大,導致計算量大

     層次softmax是huffman樹,高頻詞路徑短,低頻次路徑長,每個節點是一個二分類,但低頻次深度大,計算量大

     負採樣是構造一個正樣本多個負樣本的集合,使輸出概率最大,

     都是極大似然估計

     word2vec是無監督學習過程,輸入是上下文,預測是中間詞

     fasttext是分類算法,有監督,詞向量是中間結果,輸入是整個句子,輸出是分類結果

3、損失函數有哪些:平方差損失,交叉熵損失、0-1損失

       一般使用交叉熵損失,是因爲在更新權值求導過程中,交叉熵的值中沒有激活函數的導數,而平方差損失中有,這就會導致         權值矩陣更新較慢

4、激活函數有哪些:tanh、sigmoid、relu

5、LSTM爲何能防止梯度消失:

      記憶單元中起的作用,在求導的過程中,權值的更新不是激活函數的導數,而是激活函數的實際值

6、爲什麼會過擬合和欠擬合:

      過擬合:模型過於複雜+數據存在偏差

      解決:L1和L2範數,一個會導致特徵少,一個會保留更多的特徵;dropout每次只更新部分權重,相當於訓練多個模型;提          前截斷模型

      欠擬合:模型過於簡單+數據量少

      解決:增大數據量

7、講一下transformer:

     1、輸入是詞向量+位置向量+segment向量

     2、經過WQ、WK和WV矩陣得到QKV矩陣

     3、Z=softmax(QKT/8)V

     4、送入前向網絡,relu函數和線性激活函數

     雖然加入了位置信息,但還不是足夠的,在計算QKV的過程中,加上兩個詞之間的距離是1

8、bert和gpt的區別:

     1、bert使用雙向信息(類似於完型填空),gpt使用單向信息

     2、gpt更適合做生成

     3、bert使用了transformer的encoder層,而gpt使用了encoder和decoder層

     4、maked解決了在預訓練時多層自己看見自己的問題

9、BM25和tf-idf算法對比:

      1、bm25增加了幾個可調節參數,使得在應用上更加靈活和強大

      2、詞頻對得分的影響控制在一定範圍內

10、CRF講一下:

      條件隨機場,在給定輸入X的情況下,隨機變量Y的條件概率輸出構成條件隨機場

      在實體識別中的作用是 通過轉移概率矩陣限制結果中錯誤情況的發生

       計算過程是維特比算法:每步保存到達這一步是BMES的最大概率

       CRF層的損失計算:最大化(真實路徑得分/所有路徑得分),可通過-log最小值

11、textrank的原理:

       計算兩兩句子的相似度,並通過迭代函數收斂得到每個句子的權重

12、HMM分詞:觀察句子4*10000(10000是詞彙量),轉移矩陣4*4,初始矩陣IS(開頭是BMES的概率)

13、樣本不平衡問題:

       1、重採樣

       2、懲罰函數對小樣本懲罰更大

       3、few shot learning:C-way K-shot(計算的是每個way的特徵向量,預測的時候得到的向量與特徵向量計算相似度)

15、大模型耗時問題:知識蒸餾,利用訓練好的大模型去指導小模型訓練,hard target和soft target

16、attention的計算方法:

        1、點乘

        2、加入參數,有三種方式大概

17、filed-gate network:

         1、計算標籤層的attention

         2、計算類目層的attention

        3、兩者的相對位置相乘再softmax

        4、與標籤層的隱含層向量加權疊加得到預測結果

18、pointer-network:

        attention層softmax的結果直接當做概率預測向量

19、pointer-generator network:

        1、attention層的結果與上一層輸出得到預測向量P

        2、attention層的結果與上一層的輸出和輸入計算得到概率p

        3、預測向量=p*P+(1-p)*(attention層未softmax的結果),p=0表明從原句中抽取,p=1表明從詞彙表中抽取

20、蓄水池抽樣:n個元素中等概率抽取m個元素

        i < m  res[i] = data[i]

       for i = m; i< data.length;i++

            d = next.Int(0,i+1)  # 從0到i中隨機抽取一個數字

            if d < m:

                  res[d] = data[i]

       這樣的結果就是res中每個元素的都是等概率m/n從n中獲取的

21、意圖識別模型的評價指標:

        1、意圖和答案的準召

        2、線上有PV、UV、各個意圖的回覆率

22、標題生成的評估指標:

       1、rouge得分:一般指召回率,40%左右

       2、點擊率和投遞率

23、RNN不能使用RELU的原因:因爲如果W初始化不是單位矩陣的話,BPTT時就是W的n次方,容易梯度爆炸,而textCNN可         以使用是因爲每層權重不一樣

24、快排+循環鏈表

25、分詞算法:HMM+正向最大匹配+反向最大匹配

26、分詞工具:ltp(哈工大分詞)、jieba

27、訓練的時候詞向量是一起訓練的,並沒有預訓練詞向量

28、LR(邏輯斯蒂迴歸):通過極大似然函數求參數

29、決策樹的離散特徵和連續特徵:

        連續特徵離散化再做處理

        ID3樹:信息增益:H(D)-H(D|A)

       C4.5樹:信息增益比

30、隨機森林:

          從總體樣本中隨機取一部分樣本進行訓練,通過多次這樣的結果,進行投票獲取平均值作爲結果輸出

31、GBDT:梯度提升決策樹

          Boosting思想:各個基分類器有依賴,將基分類器層層疊加,每一層訓練的時候,對前一層分錯的樣本加上更高的權重

          XGBoost:提升GBDT的計算效率

      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章