關注我們,一起學習~
title:Masked Transformer for Neighhourhood-aware Click-Through Rate Prediction
link:https://arxiv.org/pdf/2201.13311.pdf
from:SIGIR 2022
1. 導讀
本文針對點選率CTR預估提出新方法GMT,推薦系統的性能通常受到不活躍行為和系統曝光的影響,導緻提取的特征沒有包含足夠的資訊。本文提出基于鄰域互動的CTR預測方法,通過異構資訊網絡HIN挖掘目标使用者-商品對的局部鄰域來預測他們的連結。并且,考慮節點之間的四種拓撲互動來增強局部鄰域表征。
2. 基礎
2.1 異構圖建構
本文的異構資訊網絡可以建構為
\mathcal{G=(N,E,T_V,T_E)}
,其中分别表示節點集合,邊集合,節點類型集合,邊類型集合。
\mathcal{N=\{U,I,S_1,...,S_{|T_V|-2}\}}
,U為使用者集合,I為item集合,
S_i
表示第i種類型實體集,這裡|Tv|-2是因為去掉了U和I。
以微信視訊推薦為例,有四種節點類型:使用者,視訊,文章和官網賬号;五種連結類型:使用者-點選-視訊,使用者-點選-文章,使用者訂閱官方賬号,官方賬号-釋出-視訊和官方賬号-釋出-文章。
2.2 問題定義
給定使用者集合
\mathcal{U=\{u_1,...,u_M\}}
,item集合
\mathcal{I=\{v_1,...,v_N\}}
,使用者-商品互動矩陣
\mathcal{Y \in R^{M \times N}}
,
y_{uv}=1
表示使用者u點選了商品v。給定任務相關的異構資訊網絡HIN
\mathcal{G=(N,E)}
,對于每個目标使用者u和商品v采樣一個batch的鄰居節點
\mathcal{N_{uv}\in N}
,每個節點存在對應的特征向量,是以鄰居節點集合的特征向量的集合表示為
\mathcal{F_{uv}}
,上下文特征為C,是以一個執行個體可以表示為
\{\mathcal{F_{uv}},C\}
,目标就是基于這兩個資訊預測使用者點選商品的機率。
3. 方法
image.png
3.1 HIN鄰居采樣
對于每個節點r, 圖中存在一些相關節點,可以豐富其表征。考慮到HIN采樣場景在大規模服務中,每個節點都可以關聯到豐富的特征。是以,采樣的節點需要滿足以下要求:
- 1) 盡可能多地對最近的節點進行采樣,因為接近的節點(例如,一階鄰居)通常包含最相關的資訊,
- 2)對每種類型的節點采樣一定大小的節點集合,
- 3)對與其他節點互動(邊)最多的節點進行采樣。
本文提出貪婪異構鄰域采樣 方法(GHNSampling)。具體如僞代碼所示
3.2 建構局部互動圖
在目标使用者u和候選商品v的鄰居采樣之後,整合他們的鄰居以獲得u-v對的鄰居,表示為
N_{uv}
(
u,v \in N_{uv}
)。将
N_{uv}
中的每個節點i與其原始特征向量
f_i
相關聯。表示節點序列的直接解決方案是應用使用一些常用模型如 Transformer,它将鄰域中的節點視為一個完整的圖,并基于節點特征學習表征。但是,為了使表征更加有各自的特性,作者分類為四種類型的互動圖,如圖 3 所示。
- Induced subgraph
\mathcal{G}_I
:HIN 中的邊資訊提供了節點之間的重要關系資訊。是以,從 HIN 中檢索所有邊以生成誘導子圖
\mathcal{G}_I
。
- Similarity Subgraph
\mathcal{G}_S
:在誘導子圖
\mathcal{G}_I
中,僅使用描述不同節點之間的行為關系或自然關系的分類特征組的子集來建構圖。然而,描述節點之間豐富的潛在語義連接配接的其他特征組,例如商品标簽,被忽略了。是以,根據節點的原始特征,通過鄰域内的節點特征相似度來定義相似度圖
\mathcal{G}_S
。計算所有成對相似度分數如下,其中t(i)是節點i的節點類型,f是節點的原始特征向量,不同類型的節點可能共享相同的特征組,例如,不同類别的商品(例如,視訊、文章、産品)可能共享相同的标簽方案。給定兩種節點類型,𝑔()表示兩種類型中的共享特征組的索引。
\operatorname{sim}(i, j)=\frac{\mathbf{f}_{i}[g(t(i), t(j))] \cdot \mathbf{f}_{j}[g(t(j), t(i))]}{\left\|\mathbf{f}_{i}[g(t(i), t(j))]\right\| \cdot\left\|\mathbf{f}_{j}[g(t(j), t(i))]\right\|}
基于相似度分數,有兩種構造圖的方案:
- 權重的相似度圖:建構改圖的鄰接矩陣為相似度分數
M_S[i,j]=sim(i,j)
- k-NN相似度圖:盡管S包含相似性權重,但由于資料中可能會産生噪聲。是以,應用𝑘-NN 算法以僅保留強信号。即,如果第j個節點是第i個節點的k近鄰,則
M_S[i,j]=1
- Cross Neighbourhood Subgraph
\mathcal{G}_C
:雖然上面兩類圖能捕獲鄰域中節點的自然關系和相似關系。但是,還應該考慮更多的隐含關系。令
\mathcal{N}_u
,
\mathcal{N}_v
分别表示u和v的鄰居,
N_{uv}=N_u \cup N_v
,
N_v \cap N_u=\phi
。捕獲兩個子集之間的交叉關系,交叉鄰居圖為
\mathcal{G}_C=\{(s,t)|s\in N_u,t\in N_v\}
- Complete Graph
\mathcal{G}_P
:不加任何結構先驗,并為模型提供最大的自由度來學習節點之間的任何隐式相關性。該圖的鄰接矩陣為
M_P=\mathbf{1}_{|N_{uv}|\times |N_{uv}|}
image.png
3.3 圖掩碼Transformer
建構局部互動圖後,一個執行個體可以包含
\{\mathcal{F_{uv},G_I,G_S,G_C,G_P}\}
這些資訊,接下來根據這些資訊建構圖掩碼Transformer。
3.3.1 異構節點特征轉換層
對于鄰域
N_{uv}
中的節點i,其稠密特征向量表示為
x_i
。由于不同類型的節點具有不同的特征組和特征空間,使用類型感覺的特征轉換層将它們映射到一個統一的空間中嗎,表示如下,其中t(i)表示第i個節點的節點類型,
h_i=Linear^{t(i)}(x_i)
3.3.2 圖掩碼多頭自注意力
GMT 和原始 Transformer 架構之間的主要差別在于多頭自注意 (MSA) 層。給定輸入序列
H=\{h_1,...,h_n\}
,基本Self-attention的過程可以定義如下,
n=|N_{uv}|
為鄰居節點數量
\begin{gathered}
e_{i j}=\frac{\left(\mathbf{Q h}_{i}\right)^{\top}\left(\mathbf{K h}_{i}\right)}{\sqrt{d}} \\
\alpha_{i j}=\frac{\exp \left(e_{i j}\right)}{\sum_{k=1}^{n} \exp \left(e_{i k}\right)} \\
\mathbf{z}_{i}=\sum_{j=1}^{n} \alpha_{i j}\left(\mathbf{V h}_{i}\right)
\end{gathered}
在多頭自注意力層中,有H個注意力頭來隐式地關注來自不同節點的不同表征子空間的資訊。本節使用圖掩碼機制來強制頭部顯式關注具有圖先驗的不同子空間。表示如下,其中M為鄰接矩陣,
e_{i j}=f_{m}\left(\frac{\left(\mathbf{Q h}_{i}\right)^{\top}\left(\mathbf{K h}_{i}\right)}{\sqrt{d}}, \mathbf{M}_{i j}\right),
f_{m}(x, \lambda)= \begin{cases}\lambda x & \lambda \neq 0 \\ -\infty & \lambda=0\end{cases}
上述方式使注意力計算能夠意識到結構先驗。基于上面描述的四種類型的互動圖,将頭部分為四組,并使用相應的鄰接矩陣應用圖掩碼。第i個節點的輸出表征
h_i'
的計算如下,FFN為兩層前饋神經網絡,包含LN和殘差連接配接(和基本的Transformer一緻),
h_i'=FFN(W^OConcat(z_i^1,...,z_i^H))
通過多頭圖掩碼機制,将各種圖先驗合并到 Transformer 架構中,進而顯着擴充模型的表達能力。在堆疊多個圖掩碼多頭自注意力層後,鄰域中的節點的最終表征為:
Z=\{z_1,...,z_{|N_{uv}|}\}
3.3.3 讀出層
為了得到固定大小的表征,在讀出層進行平均池化,
g_{uv}=Readout(Z)=\frac{1}{|N_{uv}|}\sum_{v_i \in N_{uv}}{z_i}
3.4 分類和優化
通過上述方式得到鄰居節點表征後,與目标使用者,商品和上下文特征拼接後經過MLP進行分數預測,表示如下,
z^o=Concat(g_{uv},x_u,x_v,C)
\hat{y}_{uv}=\sigma(f_{mlp}(z^o,\theta))
在不同的訓練輪次,從同一個u-v對中采樣的鄰居可以不同,這意味着鄰域embedding
g_{uv}
和最終 CTR
\hat{y}_{uv}
會不同。假設我們對每個u-v對采樣最多S次,資料集D上的交叉熵損失函數建構為下式,
\mathcal{L}_{\mathrm{BCE}}=\frac{1}{S} \sum_{\left\langle u, v\right \rangle \in \mathcal{D}} \sum_{s=1}^{S}\left(y_{u v} \log \hat{y}_{u v}^{s}+\left(1-y_{u v}\right) \log \hat{y}_{u v}^{s}\right)
為了提高模型對抽樣随機性的魯棒性,設計了一種一緻性正則化的變體,限制由相同u-v 對采樣的鄰域具有相似embedding。它可以表述為下式,其中
\bar{g}_{uv}^s=\frac{1}{S}\sum_{s=1}^S{\hat{g}_{uv}^s}
,dg為次元,
\mathcal{L}_{\mathrm{CR}}=\frac{1}{S} \sum_{\left \langle u, v \right \rangle \in \mathcal{D}} \sum_{s=1}^{S} \frac{1}{d_{g}}\left\|\hat{\mathrm{g}}_{u v}^{s}-\overline{\mathrm{g}}_{u v}^{s}\right\|
總體損失函數如下,
L=L_{BCE}+\lambda L_{CR}
4. 實驗