Graph Contrastive Learning with Generative Adversarial Network基于生成對抗網絡的圖對比學習

1. 什么是圖?(Graph)

想象一下社交網絡,每個人是一個“點”(節點),他們之間的朋友關系是“線”(邊)。這樣的點和線組成的結構就是“圖”。在計算機科學中,圖被用來表示各種復雜關系,比如論文引用網絡(論文是節點,引用關系是邊)、電商商品推薦(用戶和商品是節點,購買記錄是邊)等等。

2. 圖神經網絡(GNN)是做什么的?

圖神經網絡(GNNs)是一種特別的神經網絡,它能理解圖里的這些點和線,并從中學到每個“點”的特征表示(也叫“嵌入”或“表征”)。有了這些特征表示,我們就可以做很多有用的事情,比如:

  • 節點分類:判斷一個點屬于哪一類(比如在論文網絡中,判斷一篇論文屬于哪個研究領域)。

  • 鏈接預測:預測兩個點之間未來是否會產生新的連接(比如預測社交網絡中兩個人是否會成為朋友,或者電商中用戶是否會購買某個商品)。

通常,訓練GNN需要大量的“標簽數據”(也就是我們已經知道正確答案的數據)。但問題是,在現實世界中,這些標簽數據往往非常稀缺。

3. 圖對比學習(GCL)如何解決“標簽稀缺”問題?

為了解決標簽數據少的問題,研究人員提出了“圖對比學習”(Graph Contrastive Learning,GCL)。它的核心思想是:

  • 數據增強:我們先對原始圖做一些小的改動,生成多個“視圖”(augmented views)。比如,可以隨機刪除一些邊、增加一些邊、或者遮蓋一些節點的特征。

  • 學習相似性:GCL的目標是讓同一個節點在不同“視圖”下的特征表示盡可能相似,而與不同節點的特征表示盡可能不相似。通過這種方式,GCL可以在沒有大量標簽的情況下,讓GNN學習到有用的節點特征。

打個比方: 就像你有一張照片,你可以對它進行“數據增強”,比如調亮一點、調暗一點、加個濾鏡。對比學習就是讓你認出這些不同版本的照片都是“同一張照片”,而與其他照片不一樣。通過這種訓練,模型就能學會照片的關鍵特征。

4. 現有GCL方法的不足

現有的GCL方法在生成這些“視圖”時,通常是隨機地進行,或者根據一些預設規則進行。它們沒有充分考慮圖本身是如何“演變”的,也沒有學習圖的內在“分布”。

舉個例子: 一個圖的演變可能遵循某種規律,比如“優先連接”原則(越熱門的節點越容易獲得新連接)。如果我們在生成新視圖時不考慮這些潛在的規律,就可能會錯過圖中可能存在但尚未被觀察到的重要連接(“未見邊”)。論文中通過實驗發現,如果能適當補充這些“未見邊”,可以提升GCL的性能。但要手動選擇添加多少新邊才能達到最佳效果,卻是個“試錯”的過程,因為這取決于不同的圖數據分布。

5. GACN:論文提出的新方法

為了解決上述問題,這篇論文提出了一個名為

GACN 的新模型,全稱是“圖生成對抗對比學習網絡”(Generative Adversarial Contrastive learning Network for graph representation learning)。

GACN的核心思想是引入生成對抗網絡(GANs)來智能地生成高質量的圖增強視圖,而不是隨機生成。

GACN 的組成部分(像一個團隊)

GACN 主要由三個核心模塊組成,它們協同工作,共同提升圖表示學習的效果:

  1. 視圖生成器(View Generator):

    • 作用:它的任務是生成新的、增強的圖視圖,特別是要能自動捕獲圖的特征,并生成可能存在的“未見邊”。

    • 工作方式:它會學習邊的分布,通過“邊采樣”來生成增強視圖。為了讓生成的視圖更合理,它設計了兩種“損失”(可以理解為懲罰機制):

      • 邊數量損失(Edge Count Loss):確保生成的視圖中的邊數量在一個合理的范圍內,避免過多或過少。

      • 新邊損失(New Edge Loss):懲罰那些與原始圖“過于不同”的視圖,確保生成的新邊不是完全隨機的,而是有意義的。

  2. 視圖判別器(View Discriminator):

    • 作用:它的任務是判斷一個圖視圖是“真實的”(由預定義的數據增強策略生成,比如簡單的邊丟棄)還是“虛假的”(由視圖生成器生成)。

    • 工作方式:判別器和生成器進行“對抗”訓練(這就是“對抗網絡”的精髓):

      • 生成器努力生成能“騙過”判別器的視圖。

      • 判別器努力提高自己分辨“真假”視圖的能力。

      • 通過這種“貓捉老鼠”的游戲,生成器會變得越來越好,能生成非常逼真的、高質量的增強視圖。

  3. 圖編碼器(Graph Encoder):

    • 作用:這是GACN中實際用來學習節點特征的核心部分。它使用生成器和判別器共同產生的視圖來訓練,從而學習到更強大、更魯棒的節點表示。

    • 工作方式:它使用兩種自我監督學習損失來優化:

      • 圖對比損失(Graph Contrastive Loss):讓同一個節點在不同視圖下的表示更相似,不同節點的表示更不相似。

      • 貝葉斯個性化排序損失(Bayesian Personalized Ranking (BPR) Loss):這對于鏈接預測任務特別有用,它會嘗試最大化已連接節點之間的相似度,同時最小化未連接節點之間的相似度。

GACN 的訓練過程

這三個模塊是聯合訓練的。這意味著它們不是獨立訓練后再組合起來,而是同時進行優化,相互促進。生成器、判別器和編碼器會順序且迭代地進行優化。

6. GACN 的主要貢獻和優勢

  • 首次結合GANs與GCL:GACN是第一個將圖生成對抗網絡引入圖對比學習中,用于學習和生成高質量視圖的方法。

  • 自動生成高質量視圖:它能夠自動捕捉圖的特征并生成高質量的增強視圖,有效解決了現有GCL方法中視圖生成依賴手動選擇或領域知識的問題。

  • 性能優越:在多個真實世界數據集上的大量實驗表明,GACN在節點分類和鏈接預測任務上的表現優于其他12種最新的基線方法。

  • 意外發現:GACN在數據增強中生成的視圖竟然符合網絡中著名的**“優先連接”規則**(Preferential Attachment Rule)。這個規則簡單來說就是:在網絡中,連接越多的節點越容易獲得新的連接。這表明GACN學習到了圖數據生成的一些深層規律。

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

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

相關文章

PyTorch中的torch.argmax()和torch.max()區別

在PyTorch中,torch.argmax()和torch.max()都是針對張量操作的函數,但它們的核心區別在于返回值的類型和用途:1. torch.argmax() 作用:僅返回張量中最大值所在的索引位置(下標)。返回值:一個整數…

WebSocket主從服務器架構完整教程

目錄 1. 前言:為什么要學習WebSocket主從架構 第一章:基礎知識準備 2.1 什么是WebSocket 生活中的例子 技術特點 2.2 WebSocket vs HTTP 什么時候用WebSocket? 2.3 什么是主從架構 生活中的例子 技術架構圖 2.4 環境準備 需要的軟件 項目結構 第二章:WebSock…

Java的extends通配符

在Java泛型中,extends通配符用于限定泛型類型的上界,即指定泛型可以是某個類型或其子類型。它有兩種常見用法:類型參數限定和通配符限定,下面詳細介紹: 1. 類型參數限定(在類/方法定義中) 在定義…

vue自定義提示框組件

不想要elementui的消息提示&#xff0c;自定義一個組件系統統一使用 一、寫頁面 vue &#xff08;我放的目錄是src/plugins/message.vue&#xff09;&#xff08;這里面使用elementui 里面icon 需要單獨引入&#xff09; <template><Transition name"down"&…

自動駕駛數據集綜述:統計特征、標注質量與未來展望

自動駕駛數據集綜述&#xff1a;統計特征、標注質量與未來展望 A Survey on Autonomous Driving Datasets: Statistics, Annotation Quality, and a Future Outlook 得益于硬件和深度學習技術的快速進步&#xff0c;自動駕駛近年來迅速發展并展現出良好的性能。高質量的數據集…

redis數據結構和數據類型

1.動態字符串SIMPLE DYNAMIC STRING(SDS)觀察上圖中的SDS結構&#xff0c;頭部包含字符串長度和分配的空間&#xff0c;可以以O&#xff08;1&#xff09;的時間復雜度計算出字符串長度&#xff0c;并且有了字符串長度后可以無視c語言的字符串缺陷&#xff08;\0作為結尾標識&a…

深度學習--神經網絡

一、深度學習的簡單概念深度學習是一種模仿人類大腦的運行方式&#xff0c;從大量數據中學習特征的學習模式。深度學習是機器學習的子集&#xff0c;它與機器學習的關系如下&#xff1a;二、感知神經網絡2.1簡單定義神經網絡&#xff08;Neural Networks&#xff09;是一種模擬…

.NET 程序的強名稱簽名與安全防護技術干貨

在 .NET 開發領域&#xff0c;保障程序的安全性和完整性至關重要。強名稱簽名和有效的安全防護措施是實現這一目標的關鍵手段。下面將詳細介紹 .NET 程序的強名稱簽名以及相關的安全防護方法。一、什么是強名稱簽名強名稱簽名是 .NET 框架提供的一種安全機制&#xff0c;其主要…

DNS(Domain Name System,域名系統)

目錄 **一、DNS的核心功能****二、DNS的工作原理****1. 解析流程(以車載導航請求為例)****2. 關鍵機制****三、車載以太網中DNS的特殊性**1. **高可靠性要求**2. **低延遲優化**3. **安全挑戰與防護****四、DNS相關協議與技術****五、車載DNS配置示例****六、DNS故障排查工具…

優化 ECharts 多條折線:折線數據不完整導致的X軸日期錯亂問題

目錄 一、簡單介紹 1.1 常見類型 二、時間軸錯亂問題 2.1 示例 2.2 示例完整代碼 2.3 問題分析 2.4 修復方法 第一步 第二步 2.5 優化后完整代碼 一、簡單介紹 ECharts 是一款基于 JavaScript 的數據可視化圖表庫&#xff0c;動態圖表是 ECharts 的一個重要應用場景…

網絡安全之注入攻擊:原理、危害與防御之道

網絡安全之注入攻擊&#xff1a;原理、危害與防御之道 引言 在OWASP Top 10安全風險榜單中&#xff0c;注入攻擊常年占據首位。2023年Verizon數據泄露調查報告顯示&#xff0c;67%的Web應用漏洞與注入類攻擊直接相關。本文從技術視角系統解析注入攻擊的核心原理、典型場景及防御…

Python爬蟲動態IP代理報錯全解析:從問題定位到實戰優化

目錄 一、代理IP失效&#xff1a;爬蟲的"隱形殺手" 1.1 失效場景復現 1.2 解決方案 二、403封禁&#xff1a;反爬機制的"精準打擊" 2.1 封禁原理剖析 2.2 破解方案 三、速度瓶頸&#xff1a;代理性能的"致命短板" 3.1 性能對比測試 3.2…

機器學習基礎知識【 激活函數、損失函數、優化器、 正則化、調度器、指標函數】

目錄標題機器學習基礎知識概覽激活函數 (Activation Functions)損失函數 (Loss Functions / Cost Functions)優化器 (Optimizers)正則化 (Regularization)調度器 (Schedulers / Learning Rate Schedulers)指標函數 (Metric Functions)其他重要概念訓練流程機器學習基礎知識概覽…

【達夢數據庫|JPA】后端數據庫國產化遷移記錄

項目背景 經典的springbootjpa&#xff0c;java1.8數據庫MySQL需要遷移到國產化數據庫達夢上 開發環境安裝 最簡單的方式&#xff1a; 官方網站下載安裝時選擇“典型安裝”即可 Linux安裝 國產化一律上docer不要猶豫 下載三方提供的docker鏡像按頁面文檔啟動即可同上下載官…

ubuntu22默認安裝firefox使用snap安裝還老打不開解決辦法

終極解決方案&#xff08;100% 避免 Snap 版 Firefox&#xff09; 步驟 1&#xff1a;徹底移除 Snap 版 Firefox bash sudo snap remove --purge firefox 步驟 2&#xff1a;添加 Mozilla 官方 PPA&#xff08;提供 .deb 版 Firefox&#xff09; bash sudo add-apt-repository …

MyBatis02-mybatis-config.xml配置文件講解

mybatis-config.xml 是 MyBatis 的核心配置文件&#xff0c;用于配置整個 MyBatis 框架的全局行為&#xff0c;比如環境&#xff08;數據源&#xff09;、事務、類型別名、插件、Mapper 映射等。示例&#xff1a;<?xml version"1.0" encoding"UTF-8" ?…

合上電腦不關機

在Debian 系統上&#xff0c;如何實現合上電腦不關機的效果&#xff1f; 可以修改配置文件&#xff1a; sudo vim /etc/systemd/logind.conf1.找到 HandleLidSwitch &#xff0c;將其值改為 ignore &#xff08;處理蓋子開關為忽略&#xff09; 2.將 LidSwitchIgnoreInhibited …

服務器深夜告警?可能是攻擊前兆!

凌晨三點&#xff0c;刺耳的告警鈴聲把你從夢中驚醒&#xff1a;服務器CPU 100%&#xff0c;內存耗盡&#xff01;你手忙腳亂地登錄服務器&#xff0c;發現某個進程瘋狂占用資源。是程序Bug&#xff1f;還是業務突增&#xff1f;排查半天&#xff0c;最后在角落的日志里發現蛛絲…

重學前端003 --- CSS 顏色

文章目錄文檔聲明head顏色模型div根據在這里 Freecodecamp 實踐&#xff0c;記錄筆記總結。 文檔聲明 在文檔頂部添加 DOCTYPE html 聲明 <!DOCTYPE html>head title 元素為搜索引擎提供了有關頁面的額外信息。 它還通過以下兩種方式顯示 title 元素的內容&#xff1a…

學弟讓我幫忙寫一個學生管理系統的后端,我直接上科技

&#x1f4dd;個人主頁&#xff1a;哈__ 期待您的關注 目錄 一、飛算AI簡介 二、系統開發 2.1 需求提出 2.2 系統模塊的設計 2.3 數據庫表格設計 2.4 接口規范設計 2.5 源碼生成 三、總結 學弟這兩天有一個小組合作的任務&#xff0c;應該是培訓吧要寫一個學生管理…