業務思考
兩篇**貢獻點:
din:
引入attention
dice啟用函式
自適應正則化
dien:
引入gru
設計augru融合attention
本文不考慮啟用函式和自適應正則化的分析,著重於模型結構。
din:
dien:
attention中的**形式將embedding後的結果從sum_pooling改為了attention計算加權求和,主要分為下面3個部分:
tf中的dynamic_rnn提供了lstm/gru等基礎rnn模組,augru在原來rnn實現上進行修改,設計乙個新的vecattgrucell結構,相比於grucell,修改的地方如下:
上圖中左側是gru的原始碼,右側是vecattgrucell的**,主要修改了call函式中的**,在gru中,hidden state的計算為:
new_h = u * state +(1
- u)
* c
augru中,hidden state的計算為:
u =
(1.0
- att_score)
* unew_h = u * state +(1
- u)
* c
1)**中和github demo中使用的特徵,只用使用者序列特徵來評估的效果的提公升。然後在實際生產中,我們除了使用序列特徵外,還有user/item的其他統計類特徵,削弱了序列特徵的作用。
2)din中attention的計算,是序列中不同特徵可以平行計算。但dien中用到的gru是序列順序的,計算時間會長很多,工程系統很難支撐。
3) din中對序列的順序不敏感,可以看到交換user行為順序對輸出不會有變化,但dien中對前後順序敏感,當線上生產日誌有丟失時會對結果影響很大。
深度興趣網路DIN DIEN DSIN
看看阿里如何在 做推薦,實現 一人千物千面 的使用者多樣化興趣推薦,首先總結下din dien dsin 傳統深度學習在推薦就是稀疏到embedding編碼,變成稠密向量,餵給nn din引入attention機制,捕獲候選商品和使用者瀏覽過的商品之間的關係 興趣 dien在din基礎上引入序列概念...
深度網路pre train對於深度網路的意義
1 pre train 帶來更好的優化還是更好的泛化?pre train是乙個尋網路權值初值的過程,將pre train的結果作為bp演算法的權值的初值,能夠解決深度網路在非凸目標函式上陷入區域性最優的問題。從這個角度理解更象是帶來更好的優化能力。在帶有pre train的深度網路的泛化表現上不僅僅...
深度學習 深度神經網路
神經網路是由乙個個神經元相互連線並按層次排列構成的,深度神經網路是有任意層的神經網路,這裡的深度是指層次的多,而不是神經元數量的多。有任意層,那麼就要有乙個迴圈來負責遍歷每一層進行計算。所以深度神經網路的計算形式,就必須要適應這個迴圈結構。我們先來說說神經元吧 對於多神經元神經網路,其實也是一樣的。...