1. 程式人生 > 實用技巧 >推薦系統遇上深度學習(九十六)-[第四正規化]考慮域內資訊和多模組非線性融合的NON模型...

推薦系統遇上深度學習(九十六)-[第四正規化]考慮域內資訊和多模組非線性融合的NON模型...

本文介紹的論文是SIGIR20上第四正規化發表的一篇文章,針對當前推薦系統模型沒有利用域內資訊,不同資料泛化性較差等問題,提出了Network On Network(簡稱NON),一起來學習一下。

1、背景

大多數推薦系統中所使用的資料都是表格型資料,如下圖所示,每一列可以稱為一個field:

目前大多數推薦系統使用的是深度學習模型如Wide & Deep,DeepFM、xDeepFM或AutoInt,這些模型均由DNN和其他的操作如FM、Linear、Self-attention、CIN等一項或幾項組成,在最後的輸出層,將這幾部分輸出進行線性加權,最後經過sigmoid後得到點選率預估值:

但上述的模型存在以下三方面的問題:

1)往往只考慮不同域特徵之間的交叉,域內資訊沒有充分考慮。這裡個人感覺意思大概是說廣告ID的embedding不僅能夠表示這個廣告,還應帶有廣告域的資訊。所有廣告ID對應的embedding應該具有一定的相似度。
2)不同的模型結構是確定的,在不同資料上的泛化效能不能保證,無法根據不同資料的特性選擇合適的結構。
3)最後的輸出層均採用的是線性加權的方式,忽略了不同模組輸出之間的非線性關係。

為了解決上述三方面的問題,論文提出了Network On Network(簡稱NON),我們將在下節進行介紹。

2、Network On Network

整個NON的模型結構如下圖所示:

整體模型可以拆分成三部分,分別是Field-wise network、Across field network和Operation fusion network。接下來對這三部分進行介紹。

2.1 Field-wise network

在Field-wise network,每一個域都有對應的DNN網路,因此稱為Field-wise。域對應的DNN網路用來提取域內資訊:

在網路的最後部分,會對原始的embedding和經過NN網路處理的embedding進行融合:

函式F可以是連線,對位相乘或者更加複雜的操作如門控機制。

2.2 Across field network

經過Field-wise network,每個域輸出對應的embedding,接下來就是我們比較熟悉的方式了。Across field network包含了多個計算模組,包括:線性模組、DNN、self-attention、Bi-Interaction。其中Bi-Interaction是FM的泛化形式,計算公式如下:

這裡各部分的具體內容不再做介紹,不太瞭解的同學可以查閱相關資料。

2.3 Operation fusion network

在最後的Operation fusion network,首先將Across field network各模組的輸出進行拼接,再經過DNN網路得到最終的輸出:

在這一部分,還使用輔助loss來幫助模型進行更好的學習,這裡參考的論文是《Going deeper with convolutions》。其結構如下:

具體的,對每一層網路的輸出,都通過一層LR來預測對應的點選率,並與真實值計算logloss,這樣每一層網路都能夠有不錯的區分性:

最終的loss形式為:

最後簡單總結一下,模型的三部分分別對應第一節中提出的三個問題:

1)使用Field-wise network來提取域內資訊
2)使用Across field network融合不同的計算模組,計算模組可任意組合
3)通過Operation fusion network,以非線性的方式融合各模組的輸出,並通過輔助loss來加速網路學習

3、實驗結果及分析

最後,咱們來看一下實驗結果。需要驗證的問題主要有以下四個。

首先,NON的結構設計是否合理?從下表來看,當包含所有的三個模組時,在所有的資料集上都達到了最好的結果:

其次,與baseline模型相比,NON能否取得更好的效果?從下表看,在不同的資料集上,NON都取得了比baseline模型更好的結果:

然後,對於不同的資料集來說,在Across field network使用的模組是否都是相同的?如果不同,不同的資料集使用的最優模組組合是什麼?可以看到,不同資料集在使用不同模組組合時,AUC都是不相同的,最優狀態下模組組合方式也不盡相同。不過可以總結出的一條經驗是:對於小資料集來說,選擇更少的模組能夠取得更好的效果,對於大資料來說,需要更多更復雜的操作來取得更好的效果。

最後,field-wise network能否有效提取域內資訊?這裡,隨機選擇不同資料集中兩個field的資料,將不經過field-wise network的embedding和經過field-wise network得到的embedding分別使用t-SNE進行降維並繪製散點圖。可以看到,經過field-wise network後的embedding,相同field的embedding更加接近,不同field間embedding的區分性更好。

好了,論文就介紹到這裡。論文中提出的網路結構,輔助loss這幾個思路都不錯,感興趣的同學可以閱讀原文或者在自己的業務上進行一定的嘗試。

推薦系統遇上深度學習(九十三)-[谷歌]提升谷歌網盤推薦質量的工業經驗

2020-10-02

推薦系統遇上深度學習(九十四)-[華為]一種實用的增量式深度CTR模型訓練方法

2020-10-04

推薦系統遇上深度學習(九十五)-[雅虎]點選率預估中的軟頻率控制

2020-10-05

推薦系統遇上深度學習(九十二)-[騰訊]RecSys2020最佳長論文-多工學習模型PLE

2020-10-01