【論文閱讀】HCCF:Hypergraph Contrastive Collaborative Filtering

論文出處:SIGIR 2022?CCF-A

論文地址:Hypergraph Contrastive Collaborative Filtering

論文代碼:akaxlh/HCCF: HCCF, SIGIR 2022

目錄

摘要

介紹

研究背景與核心問題

現有方法局限性

HCCF的創新解決方案

技術優勢

定義與相關工作?

協同過濾的技術演進

1. 傳統協同過濾方法

2. 圖神經網絡革命

3. 當前技術瓶頸

超圖學習的創新應用

1. 超圖基礎理論

2. 推薦系統中的實踐

3. HCCF的突破

對比學習的新范式

1. 自監督學習浪潮

2. 推薦系統中的應用

3. HCCF的獨特視角

方法?

數據表示與圖構建

1.1 基礎數據表示

1.2 嵌入初始化

局部圖卷積通道

2.1 輕量圖卷積層

2.2 多階表示融合

超圖全局編碼通道

3.1 動態超圖構建

3.2 分層消息傳遞

對比學習模塊

4.1 視圖生成

4.2 對比損失計算

聯合優化策略

5.1 推薦主任務

5.2 正則化項

5.3 聯合訓練

復雜度優化技巧

6.1 稀疏矩陣計算

6.2 內存效率優化

6.3 分布式訓練

理論保證

7.1 梯度分析

7.2 泛化邊界

實驗


摘要

協同過濾(CF)已經成為將用戶和項目參數化到潛在表示空間的基本范式,并從交互數據中獲取它們的相關模式。在各種CF技術中,基于gnn的推薦系統(如PinSage和LightGCN)的開發提供了最先進的性能。然而,在現有的解決方案中,有兩個關鍵的挑戰沒有得到很好的探討:i)基于更深層次的基于圖的CF架構的過度平滑效應,可能導致用戶表示無法區分和推薦結果的退化。ii)監督信號(即用戶-物品交互)在現實中通常是稀缺的,分布是傾斜的,這限制了CF范式的表示能力。為了解決這些挑戰,我們提出了一個新的自監督推薦框架超圖對比協同過濾(Hypergraph contrast Collaborative Filtering, HCCF),通過超圖增強的跨視圖對比學習架構來共同捕獲局部和全局協作關系。特別地,設計的超圖結構學習增強了基于gnn的CF范式的判別能力,從而全面捕獲用戶之間復雜的高階依賴關系。此外,我們的HCCF模型有效地將超圖結構編碼與自監督學習結合起來,基于超圖增強的自我區分來增強推薦系統的表示質量。在三個基準數據集上的大量實驗表明,我們的模型優于各種最先進的推薦方法,并且對稀疏的用戶交互數據具有魯棒性。我們的模型實現代碼可在https://github.com/akaxlh/HCCF上獲得。

介紹

研究背景與核心問題

這篇論文聚焦于推薦系統領域的基礎范式——協同過濾(CF)技術。當前基于圖神經網絡(GNN)的推薦模型(如PinSage、LightGCN等)雖然取得了state-of-the-art的性能,但仍存在兩個關鍵挑戰未被很好解決:

  1. 過平滑效應:隨著GNN層數加深,用戶表示會變得難以區分,導致推薦質量下降。論文圖1通過熱力圖直觀展示了現有模型(如LightGCN、PinSage等)存在的這一問題。

  2. 數據稀疏性:實際場景中用戶-物品交互數據通常非常稀疏且分布不均,這嚴重限制了CF模型的表示能力。例如在Yelp數據集中,交互矩陣密度僅為0.0021。

現有方法局限性

論文分析了三類主流推薦方法的不足:

  1. 傳統CF方法:如矩陣分解等,無法捕捉高階協作信號

  2. GNN-based方法:如NGCF、LightGCN等,存在過平滑問題

  3. 自監督方法:如SGL等,隨機掩碼可能丟失重要交互信息

特別指出,現有方法大多只關注局部用戶-物品交互,而忽視了全局的用戶間依賴關系。

HCCF的創新解決方案

論文提出超圖對比協同過濾框架(HCCF),核心創新包括:

  1. 雙通道建模

    • 局部視圖:用戶-物品交互圖

    • 全局視圖:超圖結構捕獲高階依賴

  2. 自監督對比學習

    • 將局部和全局表示作為對比視圖

    • 設計基于InfoNCE的對比損失函數

  3. 參數化超圖學習

    • 低秩參數化降低計算復雜度

    • 分層超圖映射增強表示能力

技術優勢

HCCF相比現有方法具有三大優勢:

  1. 緩解過平滑:通過超圖引入全局依賴,避免局部鄰居過度平滑

  2. 增強魯棒性:對比學習提供自監督信號,緩解數據稀疏問題

  3. 可解釋性:學習到的超圖結構反映用戶間潛在關聯模式

定義與相關工作?

協同過濾的技術演進

1. 傳統協同過濾方法
  • 矩陣分解:如BiasMF通過低維潛在空間建模用戶-物品交互

  • 神經網絡擴展:NCF用MLP替代內積,增強非線性建模能力

  • 自編碼器應用:AutoRec通過重建損失學習表示

2. 圖神經網絡革命
  • 早期探索:GC-MC首次將圖卷積應用于推薦

  • 高階連接建模:NGCF通過多層傳播捕獲多跳關系

  • 架構簡化:LightGCN去除非線性變換,驗證了"less is more"的哲學

3. 當前技術瓶頸
  • 過平滑效應:隨層數增加節點表示趨于相似

  • 數據稀疏性:長尾物品和冷啟動用戶表現不佳

  • 全局依賴缺失:現有方法難以捕獲非直接相連的用戶關系

超圖學習的創新應用

1. 超圖基礎理論
  • 與傳統圖的區別:超邊可連接任意數量節點

  • 核心優勢:自然建模高階關系,適合群體行為分析

2. 推薦系統中的實踐
  • HyRec:將用戶作為超邊連接其交互物品

  • DHCF:雙通道跳轉超圖卷積

  • 現有局限:依賴預定義超圖結構,缺乏自適應學習

3. HCCF的突破

對比學習的新范式

1. 自監督學習浪潮
  • 計算機視覺:SimCLR證明對比學習的強大表征能力

  • 自然語言處理:InfoNCE損失在句子嵌入中的應用

  • 圖數據:GraphCL探索圖級別的對比

2. 推薦系統中的應用
  • SGL:通過節點/邊dropout生成對比視圖

  • MHCN:最大化節點與圖級別的互信息

  • 關鍵挑戰:如何定義適合推薦任務的語義保持增強

3. HCCF的獨特視角
  • 視圖構建:局部交互圖vs全局超圖

  • 信號增強:利用學到的超圖結構作為自然增強

  • 理論保證:通過梯度分析證明對困難負樣本的關注

方法?

數據表示與圖構建

1.1 基礎數據表示

設推薦系統中有$|\mathcal{U}|$個用戶和$|\mathcal{V}|$個物品,用戶-物品交互數據表示為稀疏矩陣:

其中元素$a_{ij}=1$表示觀測到正反饋(如點擊、購買)。為處理數據稀疏性,采用基于度的歸一化:

這里度矩陣$\mathbf{D}_u = \text{diag}(\mathbf{A}\mathbf{1})$$\mathbf{D}_v = \text{diag}(\mathbf{A}^\top\mathbf{1})$分別對應用戶和物品的交互次數。

1.2 嵌入初始化

初始化可訓練的參數矩陣:

其中$d$為嵌入維度(默認64),采用Xavier均勻初始化:

局部圖卷積通道

2.1 輕量圖卷積層

與傳統GCN不同,HCCF移除了非線性變換和特征變換矩陣,每層僅保留鄰域聚合:

其中殘差連接防止層數加深時的梯度消失。以2層傳播為例:

2.2 多階表示融合

聚合各層表示得到最終局部編碼:

這種加權平均策略被證明比直接使用最后一層表示更穩定。

超圖全局編碼通道

3.1 動態超圖構建

傳統超圖需要預定義超邊,HCCF創新性地通過可學習矩陣自動構建:

其中$H$為超邊數量(默認128)。超圖鄰接矩陣通過$\mathcal{H}\mathcal{H}^\top$計算,其元素$(\mathcal{H}\mathcal{H}^\top)_{ij}$反映用戶$i$$j$的全局相關性。

3.2 分層消息傳遞

設計3層超圖卷積網絡:

其中$\mathbf{\nabla}_*$為可學習的超邊交互矩陣,$\sigma$為LeakyReLU(負斜率0.2)。

對比學習模塊

4.1 視圖生成

對每個用戶$u_i$生成兩個視圖:

  • 局部視圖$\mathbf{z}i = \text{L2-Norm}(\mathbf{E}{\text{local}}[i,:])$

  • 全局視圖$\gamma_i = \text{L2-Norm}(\mathbf{\Gamma}[i,:])$

4.2 對比損失計算

采用InfoNCE損失函數:

其中:

  • $s_{ij} = \mathbf{z}_i^\top \gamma_j$為余弦相似度

  • $\tau=0.5$為溫度系數

  • $B$為批次大小(默認1024)

該損失最大化正樣本對$(z_i,\gamma_i)$的相似度,同時推遠負樣本對$(z_i,\gamma_j)_{j\neq i}$。

聯合優化策略

5.1 推薦主任務

采用BPR損失優化推薦性能:

其中$(j^+,j^-)$分別表示正負樣本物品。

5.2 正則化項

控制模型復雜度:

5.3 聯合訓練

最終目標函數:

采用Adam優化器,初始學習率$10^{-3}$,每10個epoch衰減0.96。

復雜度優化技巧

6.1 稀疏矩陣計算

鄰接矩陣乘法采用CSR格式存儲和計算:

def sparse_dense_matmul(sparse, dense):return torch.sparse.mm(sparse, dense)  # 使用CUDA加速
6.2 內存效率優化
  • 梯度檢查點:在超圖卷積層中緩存中間結果

  • 混合精度訓練:對$\mathcal{H}$矩陣使用FP16存儲

6.3 分布式訓練

采用數據并行策略:

torchrun --nproc_per_node=4 train.py \--batch_size=4096 \--embed_dim=64

理論保證

7.1 梯度分析

對比損失對負樣本的梯度為:

$s_{ij}$較大(困難負樣本)時,梯度幅值顯著增強。

7.2 泛化邊界

根據[2],對比學習的泛化誤差上界為:

說明增大批次大小$B$和超邊數$H$可以提升泛化能力。

實驗

實驗部分在Yelp、MovieLens和Amazon-book三個基準數據集上進行了全面驗證,首先將每個數據集按7:1:2劃分訓練/驗證/測試集,采用全排序評估策略避免采樣偏差,以Recall@N和NDCG@N為核心指標對比了15種基線方法(包括傳統矩陣分解、GNN方法和最新自監督模型)。消融實驗通過構建四個變體(-HHM移除分層超圖映射、-LowR取消低秩分解、-Hyper僅用局部圖、-CCL禁用對比學習)驗證各模塊必要性,特別針對數據稀疏場景按用戶交互次數分組測試,結果顯示在交互少于20次的極端稀疏用戶上HCCF相比LightGCN提升31.6%,同時通過測量嵌入平滑度(MAD指標)證實模型能將過平滑程度降低7.3%,所有實驗均使用Tesla V100 GPU重復5次取平均,統計檢驗p值<0.01確認結果顯著性。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/914645.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/914645.shtml
英文地址,請注明出處:http://en.pswp.cn/news/914645.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Retrofit+RxJava:打造聲明式REST客戶端的藝術 —— 像點咖啡一樣調用API

目錄一、告別Callback地獄&#xff1a;聲明式編程的魅力1.1 傳統網絡請求的痛點1.2 Retrofit的聲明式革命二、Retrofit核心配置工廠2.1 構建Retrofit實例2.2 常用注解速查表三、RxJava響應式魔法3.1 鏈式調用優雅變身3.2 超能力操作符盤點四、實戰演練&#xff1a;構建天氣查詢…

【離線數倉項目】——任務調度與數據可視化實戰

摘要 本文主要圍繞離線數倉項目中的任務調度與數據可視化實戰展開&#xff0c;介紹了業務流程虛擬節點、離線數倉任務調度、數據可視化等方面的內容&#xff0c;涉及DataWorks和QuickBI等工具的使用&#xff0c;并提供了相關的博文參考和項目實戰域信息。 1. 任務調度管理實戰…

【視頻格式轉換】.264格式轉為mp4格式

背景 視頻格式轉換是多媒體處理中的常見需求&#xff0c;尤其在視頻編輯、存儲或跨平臺播放時。H.264&#xff08;即AVC&#xff09;是一種廣泛使用的視頻編碼標準&#xff0c;以其高壓縮率和良好兼容性著稱&#xff0c;但通常以容器格式&#xff08;如.264裸流文件&#xff0…

JAVA學習筆記 使用notepad++開發JAVA-003

目錄 1 前言 2 部署notepad的java開發環境 2.1 下載并安裝notepad 2.2 設置新建文件的語言 2.3 安裝NppExec插件 2.4 編寫JAVA腳本 2.5 設置腳本執行快捷鍵 2.6 效果測試 3 小結 1 前言 JAVA可以使用記事本來編寫代碼&#xff0c;但是這種方式效率十分低下。我們可以使…

Vue Router 完全指南:從入門到實戰,高效管理前端路由

前言在現代化的前端開發中&#xff0c;路由管理是構建單頁應用&#xff08;SPA&#xff09;的核心功能之一。Vue.js 作為主流的前端框架之一&#xff0c;提供了強大的官方路由庫Vue Router&#xff0c;幫助開發者高效管理頁面跳轉、動態加載、權限控制等關鍵需求。無論是構建企…

Sentinel熱點參數限流完整示例實現

Sentinel熱點參數限流完整示例實現 1. 添加Maven依賴 (pom.xml) <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId><version>2.2.7.RELEASE</version> </depend…

正則表達式深度解析:從LeetCode 3136題說起

正則表達式深度解析&#xff1a;從LeetCode 3136題說起 引言 正則表達式&#xff08;Regular Expression&#xff0c;簡稱RegEx&#xff09;是一種強大的字符串匹配工具&#xff0c;在字符串處理、數據驗證、文本搜索等場景中有著廣泛的應用。本文將以LeetCode 3136題"有效…

映美打印機-URL頁面打印

<?php /** 打印 - 映美云 https://open.jolimark.com/doc/ */ namespace Home\Controller; use Admin\Logic\OrderLogic;class PrintController extends BaseController {private $appid "";private $appkey "";//打印機編號private $deviceIds &qu…

機器學習算法 ——XGBoost 的介紹和使用

前言&#xff1a; 最近在工作中遇到一個結構化數據回歸預測的問題&#xff0c;用到了很多回歸算法&#xff08;如多元線性回歸等&#xff09;都沒有很好的效果&#xff0c;于是使用了XGBoost&#xff0c;自己也沖三個特征參數人為的增加來幾個&#xff0c;訓練出來的效果還是很…

Linux操作系統之信號:保存與處理信號

目錄 前言&#xff1a; 前文回顧與補充&#xff1a; 信號的保存 PCB里的信號保存 sigset_t 信號集操作函數 信號的處理 信號捕捉的流程&#xff1a;?編輯 操作系統的運行原理 硬件中斷 時鐘中斷 死循環 軟中斷 總結&#xff1a; 前言&#xff1a; 在上一篇文…

Spring Boot 設置滾動日志logback

Spring Boot 的 logback 框架 Spring Boot 默認內置了 Logback 作為日志實現框架&#xff0c;只需要在resources文件夾下添加一個logback-spring.xml&#xff0c;springboot會按照你的設置自動開啟logback日志功能。 配置 logback-spring.xml 實現每天產生一個日志文件&#xf…

如何定義一個只能在堆上或棧上生成對象的類

在C中&#xff0c;可以通過特定的技術手段來控制對象只能在堆(heap)或棧(stack)上創建。只能在堆上創建對象的類要實現這一點&#xff0c;我們需要阻止用戶直接實例化對象&#xff0c;而只能通過new操作符創建。class HeapOnly { public:static HeapOnly* create() {return new…

1.1 前端-vue3項目的創建

構建工具先搭好vue3框架 vue2的vue-cli腳手架基于webpack構建工具創建vue的框架. 而在vue3&#xff0c;可以通過vite構建工具創建vue3項目&#xff0c;性能更優。 兩者創建方式的區別&#xff1a;cmd命令基于的構建工具vue2/vue3vue create 項目名稱&#xff08;或 vue ui圖形化…

PHP password_get_info() 函數

password_get_info() 函數用于返回指定散列&#xff08;hash&#xff09;的相關信息。 PHP 版本要求: PHP 5 > 5.5.0, PHP 7 語法 array password_get_info ( string $hash ) 參數說明&#xff1a; $hash: 一個由 password_hash() 創建的散列值。 返回值 返回三個元素…

mac上的app如何自動分類

使用文件夾進行手動分類在Finder中創建文件夾&#xff0c;將同類應用拖入同一文件夾。右鍵點擊Dock上的應用圖標&#xff0c;選擇「選項」→「在Finder中顯示」&#xff0c;可快速定位應用安裝位置。利用Launchpad自動分組打開Launchpad&#xff08;觸控板四指捏合或按F4鍵&…

LLM面試題目 3

LLM面試題目 3 什么是自注意力機制(Self-Attention)?為什么它在LLM中很重要?如何評估LLM的性能?LLM面臨的挑戰有哪些?Transformer和RNN的區別是什么?LLM如何處理多輪對話? 題目講解 什么是自注意力機制(Self-Attention)?為什么它在LLM中很重要? 自注意力機制是一種…

linux上的軟掛載操作方法

針對linux上的軟掛載 可以查看linux已經掛載和存儲的磁盤分區 df -hfdisk 命令是檢索相同信息的另一種方法&#xff0c;可以看到所有的磁盤分區 sudo fdisk -l 要將磁盤分區 /dev/sda1 掛載到 /home/visionx/EXD1 目錄 步驟 1&#xff1a;準備工作 1.創建掛載目錄&#xff08;如…

SecretFlow 隱語 (2) --- 隱語架構概覽

在前邊兩篇文章中&#xff0c;介紹了數據要素和可信流通相關的內容&#xff0c;以及基于p2p模式的安裝方法 SecretFlow 隱語 (1) --- 快速入門 關于在Linux上部署 SecretFlow --- P2P部署模式 由于安裝過程中出現意外報錯&#xff0c;現已提交issue等待官方技術人員查閱&#x…

PHP語言基礎知識(超詳細)第二節

二十七. 數組的遍歷 1)通過函數進行遍歷:(例:demo07) (此方式不能完全遍歷數組,需要借助其他功能輔助)(不推薦,了解即可) key():返回數組中當前指針所在位置的鍵。 current():返回數組中當前指針所在位置的值。 例如:demo07: <?php/*key():返回數組中…

網絡--OSPF實驗

目錄 OSPF實驗報告 一、實驗拓撲 二、實驗要求 三、實驗思路 1.IP地址劃分 2. OSPF 部署 3. 其它配置 4. 驗證測試 四、實驗步驟 1.IP 地址配置 2.OSPF 部署 3.其它配置 4.驗證測試 OSPF實驗報告 一、實驗拓撲 二、實驗要求 1、R1-R3為區域0&#xff0c;R3-R4為…