ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

賽題背景分析

本次比賽為(wei) 大規模電商圖上的風險商品檢測,挑戰者需要利用來源於(yu) 真實場景中的大規模的、異構的、存在噪聲和缺失的圖數據,以及極不均衡的樣本,進行風險商品檢測。主要挑戰為(wei) :

  • 圖規模巨大且異構(13M個節點,157M條邊,7種節點類型,7種邊類型)
  • 模型Inductive推理能力以及遷移泛化能力(複賽圖數據與初賽完全不同)
  • 黑白樣本嚴重不均衡(訓練集正負樣本比例接近1:10)
  • 數據噪聲(節點特征、邊關係可能存在噪聲)

我們(men) 在比賽過程中,針對上述挑戰,提出了 HeteroGNN 解決(jue) 方案,在初賽和複賽分別取得了第8和第3的成績。

代碼地址:EdisonLeeeee/ICDM2022_competition_3rd_place_solution: 3rd place solution of ICDM 2022 Risk Commodities Detection on Large-Scale E-Commence Graphs (github.com)

解決方案: HeteroGNN

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

圖 1. HeteroGNN 整體(ti) 框架圖。本方案采用mini-batch訓練方式,針對輸入的異構圖數據以及訓練節點,首先采樣節點的兩(liang) 跳鄰居,然後經過DropMetapath的操作隨機丟(diu) 棄預先設定好的Metapath,將原本的圖劃分成為(wei) Masked Graph和Remaining Graph。接著,將Remaining Graph輸入模型,分別對每種邊類型采用一層GraphConv進行建模學習(xi) 節點表征,再將同類型節點表征Group聚合。最後,將得到的item embedding利用Jumping Knowledge進行Node decoding得到預測的類別,同時利用Edge decoding重構Masked Graph的Metapath作為(wei) 輔助損失進行優(you) 化。

本方案基於(yu) RGCN[1]與(yu) HAN[2],將異構圖看成由多種不同類型邊的同構圖構成的multi-view Graph。因此,我們(men) 針對每種graph view(edge type)采用不同的圖卷積層學習(xi) 節點表征,最後再將同種類型節點的表征進行合並。如圖1所示,對每種邊類型采用的圖卷積層為(wei) 統一的GraphConv3層。GraphConv是SAGEConv4的一個(ge) 變種,它們(men) 的主要區別在於(yu) :經典的SAGEConv采用的是mean聚合方式,而GraphConv在聚合鄰居信息的時候采用的是sum聚合方式。具體(ti) 來說,對於(yu) 每個(ge) 節點ii,GraphConv的聚合公式如下所示:

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

其中, 為(wei) 源節點到目標節點的邊權(一般為(wei) 1)。相比於(yu) mean,采用sum的聚合方式能夠更好的區分不同圖結構信息。如圖2所示,假設圖中所有的邊權重都為(wei) 1,在聚合過程中,對於(yu) 圖(a)與(yu) 圖(b)mean的聚合方式會(hui) 都會(hui) 得到 1,而sum的聚合方式則分別會(hui) 得到2和4。因此,sum對不同的子圖結構區分能力較強,基於(yu) sum聚合方式構造的模型具有更強的表達能力。

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

基於(yu) 不同邊類型利用GraphConv構造的模型是我們(men) 方法的基本框架,下麵我們(men) 將詳細介紹比賽過程中解決(jue) 上述挑戰的各部分方法和思路分析:主要包括鄰居采樣、重采樣、Batch Normalization、隨機均勻噪聲、Jumping Knowledge、Drop Metapath、Masked Label Propagation以及Masked Autoencoding。

鄰居采樣

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

鄰居采樣方法來源於(yu) GraphSAGE論文[4],能夠緩解圖神經網絡模型無法在大規模圖數據上進行學習(xi) 的問題。給定一批訓練節點作為(wei) Batch根節點,該方法采樣基於(yu) 根節點的子圖輸入模型進行訓練和推理。鄰居采樣通過預先設定每一層鄰居的采樣數目,限製了輸入的子圖大小,從(cong) 而避免在規模龐大的全圖進行計算操作,減少了內(nei) 存和計算消耗,在實際工業(ye) 場景中具有廣泛的應用。此外,鄰居采樣能夠使得模型具有Inductive推理的能力,十分適合應用於(yu) 節點和邊結構變化的場景。在本次比賽中,我們(men) 也采用了鄰居采樣的方法來解決(jue) 圖數據規模龐大難以訓練以及對新場景圖數據泛化能力的問題。考慮到兩(liang) 層圖神經網絡即具有較好的表現,因此我們(men) 采樣的子圖深度固定為(wei) 2。

重采樣

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

我們(men) 通過對訓練數據觀察發現,正負樣本比例嚴(yan) 重不均衡,正樣本數量遠遠低於(yu) 負樣本數量。樣本不均嚴(yan) 重影響了模型的訓練效果,甚至會(hui) 影響到我們(men) 對模型好壞的判斷,因為(wei) 模型對占比比較高的類目準確率非常高,對占比很低的類目預估的偏差特別大,但是由於(yu) 占比較高的類目對loss/metric影響較大,我們(men) 會(hui) 認為(wei) 得到了一個(ge) 較優(you) 的模型。本次比賽我們(men) 采用的解決(jue) 方案是重采樣,通過隨機對正樣本過采樣或者對負樣本降采樣,使得在每個(ge) Batch中各個(ge) 正負樣本的數量大致相同,加快模型訓練收斂。

Batch Normalization

Batch Normalization (BN)的作用是通過控製各層輸入分布的均值和方差,穩定各層輸入的分布。根據論文[5]中的結論,BN可以防止梯度爆炸或彌散、提高訓練時模型對於(yu) 不同超參(學習(xi) 率、初始化)的魯棒性、可以讓大部分的激活函數能夠遠離其飽和區域。此外,使用了BN方法的神經網絡模型損失和梯度能夠減少抖動,使得優(you) 化損失的解空間更平滑,從(cong) 而不容易受到噪聲的幹擾。在後續消融實驗中也發現,使用了BN的模型收斂更快,魯棒性、泛化性更好。

隨機均勻噪聲

由於(yu) 原本的圖數據中存在較多的噪聲,直接進行訓練容易導致模型過擬合噪聲數據,陷入次優(you) 解空間。因此,我們(men) 在訓練過程中,人為(wei) 添加噪聲作為(wei) 數據增強以提高模型對噪聲數據的魯棒性。在訓練過程中添加噪聲/擾動是一種有效的對抗訓練方式。在對抗訓練的過程中,輸入數據會(hui) 被混合一些微小的擾動/噪聲,然後使模型適應這種改變,從(cong) 而對對抗樣本和噪聲具有魯棒性。對抗訓練的關(guan) 鍵在於(yu) 如何生成擾動,目前學術界最實用的方法是Goodfellow等人提出的FGSM[6]方法,其通過梯度上升的方式來生成最大化模型損失的擾動。然而,FGSM需要額外進行一次前向及一次反向傳(chuan) 播計算梯度,計算複雜度較高。考慮到模型的可擴展性,我們(men) 采用簡單的隨機方式生成噪聲。 具體(ti) 而言,我們(men) 對每種類型的輸入的節點特征xx添加了如下噪聲:

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

其中,U(-0.5,0.5)U(−0.5,0.5)為(wei) [-0.5,0.5]的連續均勻分布。這一方法雖然簡單,但在比賽過程中卻取得了較好的效果。

Jumping Knowledge

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

Jumping Knowledge (JK)這一方法出自論文[7]。文章指出:雖然圖神經網絡的消息聚合方式能夠適應不同結構的圖,但是其固定的層級結構以及聚合鄰居節點的信息傳(chuan) 播方式會(hui) 給不同鄰域結構的節點表達帶來比較大的偏差,而這種偏差對於(yu) 不同節點來說是災難性的。例如,有的節點自身特征信息豐(feng) 富,不需要鄰域特征即可達到較好的分類效果,而有的節點則需要依賴高階鄰域信息才能夠取得較好的表現,簡單采用較淺或者較深的網絡會(hui) 對不同類型的節點性能帶來嚴(yan) 重影響。考慮到本次比賽的數據中存在一定程度的噪聲幹擾——即節點鄰域內(nei) 的某些鄰居可能會(hui) 對下遊分類任務產(chan) 生幹擾,因此,我們(men) 在對目標節點進行最終預測時,采用了JK+MLP結構,同時考慮了原始輸入特征以及每一層聚合之後的特征,在增加節點特征信息量的同時,對噪聲也有一定的魯棒性。具體(ti) 實現方式如下:

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

其中,代表第層的節點特征且為(wei) 初試輸入特征;為(wei) 拚接操作。MLP為(wei) 多層感知機網絡,作為(wei) 節點級別的Node decoder來提取最終節點特征。在初賽中,MLP設計為(wei) 簡單的單層前向網絡,即MLP(x)=Linear(x);在複賽階段,我們(men) 提高了MLP的複雜度,使得學得的模型具有更強的泛化能力:

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

其中,text{Linear}(x)=Wx+bLinear(x)=Wx+b為(wei) 單層線性網絡。通過JK+MLP的方案,可以使得節點最後的表達能夠融合進不同層的信息,減少噪聲幹擾,提高模型對不同鄰居結構節點的適應性。

DropMetapath

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

受到論文DropEdge[8]與(yu) MaskGAE[9]的啟發,我們(men) 提出了DropMetapath,一種麵向異構圖數據的結構化Dropout技巧。Drop Metapath 具有類似於(yu) DropEdge和Dropout的作用,通過在訓練過程中隨機丟(diu) 棄一定數量的Metapath,從(cong) 而減少模型過擬合風險,提高模型泛化能力。在訓練階段,Drop Metapath能夠產(chan) 生輸入圖數據的不同隨機變形,這可以被認為(wei) 是一種針對於(yu) 圖的數據增強方法。同時,我們(men) 使用隨機的鄰居子集進行聚合而不是使用所有的鄰居,能夠避免模型對於(yu) 過度依賴某些特定的Metapath而忽視了其它圖結構信息。

DropMetapath方法的重點在於(yu) 如何選取有效的Metapath在訓練階段進行丟(diu) 棄。根據對異構圖中不同類型節點之間的邊關(guan) 係分析發現,最終分類的商品item主要與(yu) 類型為(wei) ff的節點連接,而類型為(wei) ff的節點則位於(yu) 所有關(guan) 係圖的中心——存在多種類型的節點與(yu) 其相連並且是重要“樞紐”節點,這充分說明了類型為(wei) ff的節點在消息傳(chuan) 遞過程中的重要性。

在訓練過程中,我們(men) 首先采樣Metapath中一定數量的起始類型節點(如50%),利用這些節點作為(wei) 起點進行步長為(wei) 1的Random Walk采樣下一跳的節點。接著,基於(yu) 采樣的節點進行下一種類型節點的Random Walk采樣,直至完成整條Metapath。最後,將采樣過程中所有的Metapath從(cong) 圖中刪除,利用剩餘(yu) 的圖結構信息進行學習(xi) 。

Masked Label Propagation (初賽使用)

受到UniMP[10]方法的的啟發,我們(men) 在比賽中引入Masked Label Propagation。首先,基於(yu) Label Propagation,對於(yu) 有標簽的類型節點item,我們(men) 在訓練過程中將節點標簽經過Embedding層融入消息傳(chuan) 播中:

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

 

其中為(wei) 輸入商品節點的特征。上述方式可以看作是圖神經網絡在消息傳(chuan) 播過程中同時傳(chuan) 遞節點特征信息與(yu) 標簽信息。然而,直接將標簽的Embedding添加到子圖中的所有節點容易造成標簽信息泄露,從(cong) 而使得模型過擬合標簽信息。因此,我們(men) 對在一個(ge) Batch子圖中,對根節點的標簽進行了Mask操作。如圖所示,在傳(chuan) 播過程中隻對鄰居節點的標簽進行傳(chuan) 播,從(cong) 而避免了訓練節點標簽泄露的問題。

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

在測試階段,我們(men) 不對節點進行Mask操作,將所有訓練集節點標簽融入消息傳(chuan) 播中

Masked Autoencoding (複賽使用)

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

在上述使用的DropMetapath方法中,我們(men) 通過隨機丟(diu) 棄Metapath可以得到由所有丟(diu) 棄的Metapath構成的一個(ge) 掩模子圖(Masked Graph)以及一個(ge) 剩餘(yu) 子圖(Remaining Graph) ,且。在訓練過程中我們(men) 僅(jin) 僅(jin) 利用進行學習(xi) ,並沒有利用到的信息。基於(yu) 近期的工作MaskGAE[9]啟發,我們(men) 提出麵向異構圖的Masked Autoencoding 自監督學習(xi) 方法,通過利用學得的節點表征去重構來輔助模型訓練。

具體(ti) 而言,重構的過程可以建模為(wei) 鏈路預測任務,相比於(yu) 傳(chuan) 統Autoencoding(如GAE[11])直接利用全圖GG作為(wei) 輸入並重構,我們(men) 提出的Masked Autoencoding,即利用進行重構 ,具有如下優(you) 勢:

  • 由於和為的子集,因此有效減少了訓練過程中的複雜度(包括基於的前向傳播和的重構損失計算)
  • 基於MaskGAE9的結論:GAE的Autoencoding本質上是一種對比學習範式,對輸入進行Mask然後重建能夠減少子圖之間的重疊,從而促進對比學習訓練。 如圖所示,Masked Autoencoding的學習範式能夠顯著促進GAE的對比學習能力。

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

(a)GAE本質上是對一條邊兩(liang) 端節點構成的子圖進行對比學習(xi) 訓練,但子圖之間往往存在著較大的重疊,導致對比學習(xi) 效果不佳;(b)通過對輸入進行Mask然後預測,可以顯著減少子圖之間的重疊度,構造差異性樣本促進對比學習(xi) 訓練。

模型消融研究

初賽階段

注:+為(wei) 增加模塊/方法

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

從(cong) 上述消融實驗,可以得到如下結論:

  • 添加隨機均勻噪聲和Masked Label Propagation在驗證集上效果提升最為明顯。但在線上測試集上,提升效果最多的是Masked Label Propagation和重采樣。
  • 增加重采樣在驗證集效果降低了,但是在測試集上提升較多,說明基於類別均衡數據訓練得到的模型具有較好的泛化性。
  • 增加Jumping Knowledge 和 Drop Metapath雖然相較於模型4驗證集效果降低,但是在測試集上穩定提升。推測可能是測試集上的噪聲相較於驗證集更為嚴重,而增加上述兩個方法能夠提高模型在噪聲數據下的魯棒性。
  • Masked Label Propagation 能夠顯著提升訓練集和測試集的性能,這是由於我們將標簽傳播融入消息傳播中,確保具有Ground-truth的節點不會受到噪聲幹擾的同時,輔助鄰域節點的預測。

複賽階段

注:-為(wei) 去掉模塊/方法

ICDM 2022 : 大規模電商圖上的風險商品檢測方案代碼分享-Top3

從(cong) 上述消融實驗,可以得到如下結論:

  • 初賽最優模型,即使用了Masked Label Propagation 的方法在複賽數據集效果較差。這是由於複賽數據集中並沒有節點標簽信息,無法利用標簽傳播引導模型預測,甚至還會由於缺少了標簽傳播部分導致模型性能降低。在去掉Masked Label Propagation 之後 (序號1),模型在測試集上的性能反而提升了。
  • 複賽階段考查的是模型對於新場景/領域數據的泛化能力。在複賽階段,我們嚐試提高了隱藏層大小以及Node decoder的層數,可以發現盡管本地驗證集效果並未得到明顯提升,但是線上測試集效果卻得到了顯著提升。說明在一定範圍內,複雜的模型(如隱藏層大小較大,深度較深)比簡單的模型泛化能力較強。
  • 除了提高模型複雜度,對於性能增益最大的是采用的Masked Autoencoding自監督損失,說明將節點分類任務與鏈路預測任務結合對於模型泛化能力的提升有幫助。同時,Masked Autoencoding還能夠促進模型學習圖的潛在重要結構(underlying structure),這對於存在噪聲的場景中尤為有效。

其它嚐試:基於中值聚合函數的魯棒圖神經網絡

在本次比賽中我們(men) 的HeteroGNN模型采用的是sum的聚合方式。在前麵的分析中,sum的聚合方式具有比mean的方式更強的區分圖結構能力,在比賽中也取得了較好的結果。然而,在存在噪聲數據的情況下,sum與(yu) mean的聚合方式都容易受到影響而輸出錯誤的結果。在論文[11]中,作者提出使用魯棒統計學領域的崩潰點(breakdown point)理論進行分析圖神經網絡聚合函數的魯棒性。崩潰點(breakdown point)理論就是衡量一個(ge) 函數在受到數據擾動情況下魯棒性情況。崩潰點(breakdown point)可以直觀地理解為(wei) :數據中最少需要存在數量多少的數據點,能夠使得函數的輸出變化為(wei) 無窮大(崩潰)。

基於(yu) 崩潰點理論,可以知道sum和mean聚合函數的崩潰點都為(wei) 1——在最壞情況下,隻需要往數據中加入一個(ge) 值為(wei) 無窮的點,即可使得模型的輸出變化為(wei) 無窮大。 為(wei) 提高模型魯棒性,論文11提出使用中值聚合函數median替代sum和mean作為(wei) 圖神經網絡的聚合函數。在本次比賽中,我們(men) 也實現了基於(yu) median的聚合方式,但由於(yu) 計算中位數的複雜度較高,不適用於(yu) 大規模圖數據。我們(men) 在比賽中尚未有一個(ge) 較好的解決(jue) 方案,因此最終並未采用,但後續可以嚐試對median的計算方式進行改進以提高效率。

參考文獻

  1. ESWC 18, Modeling Relational Data with Graph Convolutional Networks ↩︎
  2. WWW 19, Heterogeneous Graph Attention Network ↩︎
  3. AAAI 19, Weisfeiler and Leman Go Neural: Higher-order Graph Neural Networks ↩︎
  4. NeurIPS 17, Inductive Representation Learning on Large Graphs ↩︎ ↩︎
  5. NeurIPS 18, How Does Batch Normalization Help Optimization? ↩︎
  6. ICLR 15, Explaining and Harnessing Adversarial Examples ↩︎
  7. ICML 18, Representation Learning on Graphs with Jumping Knowledge Networks ↩︎
  8. ICLR 20, DropEdge: Towards Deep Graph Convolutional Networks on Node Classification ↩︎
  9. arXiv 22, MaskGAE: Masked Graph Modeling Meets Graph Autoencoders ↩︎ ↩︎ ↩︎
  10. NeurIPS 16, Variational Graph Auto-Encoders ↩︎
  11. IJCAI 21, Understanding Structural Vulnerability in Graph Convolutional Networks ↩︎ ↩︎

【競賽報名/項目谘詢+微信:mollywei007】

上一篇

2023歐幾裏得數學競賽考試難點究竟在哪裏?

下一篇

英國大學申請取消提交個人陳述PS詳細說明

你也可能喜歡

  • 暫無相關文章!

評論已經被關(guan) 閉。

插入圖片
返回頂部