理解ONN(Operation-aware Neural Networks for user response)

1 背景

ONN(Operation-aware Neural Networks for user response)是2018年騰訊廣告算法比賽最優(yōu)的推薦算法。主要任務(wù)是預(yù)測(cè)用戶點(diǎn)擊推薦廣告的概率(click-through rate, CTR)或者進(jìn)行其它期望的行為(conversion rate, CVR)。

2 創(chuàng)新點(diǎn)

2.1 針對(duì)的問題

目前的大多數(shù)的模型對(duì)于一個(gè)feature上的embedding vector進(jìn)行不同的operation都是使用相同的表示。但是對(duì)于不同的操作,一個(gè)feature的最好表示不總是相同的(Juan et al., 2016; Rendle & Schmidt-Thieme, 2010)

2.2 解決思路

在基本的通用的Base model上,將PNN與FFM結(jié)合起來,實(shí)現(xiàn)了在embedding層的每一個(gè)feature對(duì)于不同operation(內(nèi)積或者外積)有不同的表示,之后進(jìn)入MLP,得到更好的預(yù)測(cè)結(jié)果

3. 相關(guān)的模型

3.1 FFM

The architecture of the FFM model.

3.2 Base Model

深度學(xué)習(xí)引入推薦系統(tǒng)之后,深度學(xué)習(xí)的優(yōu)勢(shì)在于可以獲取到特征的高維信息,一般的過程可以概括成以下三步:

  1. 一個(gè)embedding layer,負(fù)責(zé)將離散的feature映射到更低維的表示形式。
    • 對(duì)于一個(gè)樣本的特征表示為f=[x_0, x_1, \ldots x_m]
    • embedding矩陣表示為M = [V^0, V^1, \ldots V^m]
    • 兩者作積得到的這一步的輸出概括為:
      e = [V^0x_0, V^1x_1, \ldots V^mx_m]
      其中的V^i是中對(duì)應(yīng)ith feature的那一列,x_iith feature的one hot表示。
  2. 對(duì)于上一步得到的結(jié)果進(jìn)行operation,這一步可以表示為f = [o_1(e), o_2(e), \ldots o_l(e)],o_i是表示ith operation,這個(gè)operation可以是兩個(gè)向量?jī)?nèi)積或者外積,在多數(shù)的結(jié)構(gòu)中,這個(gè)操作只是一個(gè)copy操作,暨不進(jìn)行任何的操作。這種在embedding向量上進(jìn)行的操作可以看成是一種初期的特種工程。
  3. 第二步得到的結(jié)果輸入MLP(multi-layer perceptron),最終輸出\hat{y} = \sigma(\Phi(f))\sigma是sigmoid函數(shù),\Phi是MLP的非線性轉(zhuǎn)換

3.3 PNN

The architecture of the PNN model.

4 ONN結(jié)構(gòu)

The architecture of the ONN model.

可以看到最大的特點(diǎn)在于對(duì)于 i th feature的one-hot表示轉(zhuǎn)換為embedding后擁有多個(gè)表示,在進(jìn)行不同的operation時(shí),采取了不同的表示形式。

4.1 Operation-aware embedding

下面說一下對(duì)于 i th feature的具體轉(zhuǎn)換過程。

The structures of the normal embedding layer and the operation-aware embedding layer.

在上圖的左邊部分中, 是feature的轉(zhuǎn)換后的embedding, 代表對(duì)應(yīng) th feature的embedding matrix,這樣得到的 就只會(huì)有一種表示。
而在ONN改進(jìn)后的右邊部分中,設(shè)置了 ,其中的 表示對(duì)于 th feature的 項(xiàng)操作。這里要注意的是同一種操作比如求內(nèi)積, 和 求內(nèi)積與 和 求內(nèi)積是不一樣的操作。
最終的到的 就是一個(gè)矩陣,,在進(jìn)行 項(xiàng)操作時(shí),取出 表示進(jìn)行操作。
為了表示在 th feature上進(jìn)行操作 時(shí)要使用的 表示定義為:

4.2 Incipient feature extraction layer

在上一個(gè)的基礎(chǔ)上,來看一下對(duì)于一個(gè)樣例 f的最終輸出形式是什么。
f = [e_f, i_f]
其中第一項(xiàng)e_ff的所有特征的embedding vector,表示為:
e_f=[e_1^{\Gamma(o(c, 1), 1)}, e_2^{\Gamma(o(c, 2), 2)}, \dots, e_m^{\Gamma(o(c, m), m)}]
公式中的o(c, i)是指對(duì)ith feature進(jìn)行copy操作
第二項(xiàng)i_f是表示feature interactions,具體的說是兩個(gè)feature embedding vector的內(nèi)積。只求兩個(gè)向量間的內(nèi)積是再多的就過于復(fù)雜,求內(nèi)積是在之前的實(shí)驗(yàn)中證明了內(nèi)積效果比外積要好(Qu et al., 2016)。公式為:
i_f=[p_{1, 2}, p_{1, 3}, \dots, p_{m-1, m}]
p_{i, j}是指在ith feature和jth feature之間求內(nèi)積,p_{i, j}=\big \langle e_i^{\Gamma(o(p, i, j), i)}, e_j^{\Gamma(o(p, i, j), j)} \big \rangle

4.3 MLP

兩個(gè)hidden layer,最后一個(gè)sigmoid輸出
兩個(gè)hidden layer的輸出表示為:
l_1=BN(relu(W_1\hat{f}+b_1))
loss函數(shù)是交叉熵

5 與其它模型(PNN, FFM)的關(guān)系

  • 回顧一下PNN模型的結(jié)構(gòu),和ONN的主要區(qū)別在于embedding layer,ONN實(shí)現(xiàn)了operation aware,即一個(gè)feature有了多種embedding vector,這樣對(duì)于不同操作可以選擇不同的feature表示。這樣在訓(xùn)練時(shí)就得到了更好的特征表示。
  • 和FFM模型最大的區(qū)別在于ONN加入了MLP,加入了深層網(wǎng)絡(luò)后,深度網(wǎng)絡(luò)能夠更好的挖掘特征深層次的依賴,能夠?qū)W習(xí)到復(fù)雜的特征依賴關(guān)系

6 實(shí)驗(yàn)

6.1 數(shù)據(jù)集

  1. Criteo: 包含45million條用戶點(diǎn)擊廣告的記錄,使用了最后5million作為測(cè)試集(8:1),數(shù)據(jù)集中包括13個(gè)連續(xù)特征和26個(gè)分類特征。通過discrete(x)=\lfloor 2 \times log(x) \rfloor將連續(xù)量離散化
  2. 騰訊廣告數(shù)據(jù)集: 包含了14天內(nèi)app推薦廣告的記錄,用戶信息,廣告信息以及安裝的app的記錄。論文使用了39個(gè)分類特征,去掉了最后2天噪聲過大的數(shù)據(jù),使用前11天數(shù)據(jù)作為訓(xùn)練,第12天的數(shù)據(jù)作為數(shù)據(jù)。最終22million訓(xùn)練集,2million測(cè)試集(11:1)

6.2 對(duì)比的方面

分別從AUC,cross entropy,pearson‘s R以及root mean squared error在線下,線上以及采用不同的operation來進(jìn)行試驗(yàn)

6.2.1 Offline-training performance comparison


從上面這兩張表格可以看出來的有:

  • PNN這些加入了深度網(wǎng)絡(luò)的模型效果要優(yōu)于FM, FFM,說明了深層的模型效果是要優(yōu)于淺層的網(wǎng)絡(luò)
  • FFM優(yōu)于FM,ONN優(yōu)于PNN,說明采用了operation aware embedding是優(yōu)于一般的embedding層的
  • PNN,DeepFM,ONN優(yōu)于了DNN,說明了進(jìn)行求積的操作是有效的。

6.2.2 Online-training performance comparison


在線上的測(cè)試中,每一個(gè)測(cè)試樣例只能夠被訓(xùn)練一次,對(duì)于FM, PNN這些只有一種表示形式的模型來說,一次epoch就學(xué)到比較好的表示是比較難的。ONN依舊取得了最好的效果。


Model convergence curves on the Criteo dataset.

從上面的收斂趨勢(shì)可以看到FFM,ONN這樣使用了aware的模型,logloss收斂速度是由于其它模型的。

6.2.3 Analysis of different operations

默認(rèn)情況下ONN是使用內(nèi)積作為operation,論文中就inner-product, outer-product, sub-network, inner+outer-product四種operation進(jìn)行了比較。



可以看到inner+outer-product獲得了最好的結(jié)果,但是優(yōu)勢(shì)并不明顯,考慮到時(shí)間和空間復(fù)雜性,它并不是一個(gè)很好的選擇。所以依舊是使用了inner product。
但需要注意的是,sub-network取得的效果也是非常有競(jìng)爭(zhēng)性的。而且它在Criteo數(shù)據(jù)集上的AUC指標(biāo)上取得了很好的效果,這個(gè)可以考慮為下一步的研究方向。

7 總結(jié)

  • 線上測(cè)試的結(jié)果表明ONN比較適合于線上的環(huán)境。
  • operation aware這種想法可以考慮應(yīng)用在其它地方
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容