深度興趣網路 din dien

2021-10-02 20:56:13 字數 1228 閱讀 6758

業務思考

兩篇**貢獻點:

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的深度網路的泛化表現上不僅僅...

深度學習 深度神經網路

神經網路是由乙個個神經元相互連線並按層次排列構成的,深度神經網路是有任意層的神經網路,這裡的深度是指層次的多,而不是神經元數量的多。有任意層,那麼就要有乙個迴圈來負責遍歷每一層進行計算。所以深度神經網路的計算形式,就必須要適應這個迴圈結構。我們先來說說神經元吧 對於多神經元神經網路,其實也是一樣的。...