已入職阿里,騰訊總監面聊得不開心,掛,也拿到滴滴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的計算效率