<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          自注意力機(jī)制和全連接的圖卷積網(wǎng)絡(luò)(GCN)有什么區(qū)別聯(lián)系?

          共 3782字,需瀏覽 8分鐘

           ·

          2022-07-05 10:36

          點(diǎn)擊上方小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂

          重磅干貨,第一時(shí)間送達(dá)

          本文整理自知乎問答,僅用于學(xué)術(shù)分享,著作權(quán)歸作者所有。如有侵權(quán),請(qǐng)聯(lián)系后臺(tái)作刪文處理。

          觀點(diǎn)一

          作者|Guohao Li

          https://www.zhihu.com/question/366088445/answer/1023290162

          來說一下自己的理解。
          首先結(jié)論是大部分GCN和Self-attention都屬于Message Passing(消息傳遞)。GCN中的Message從節(jié)點(diǎn)的鄰居節(jié)點(diǎn)傳播來,Self-attention的Message從Query的Key-Value傳播來。

          Message Passing[4]
          先看看什么是Message Passing。我們知道在實(shí)現(xiàn)和設(shè)計(jì)GCN的時(shí)候很多時(shí)候都是采用Message Passing的框架[3],其思想是把每個(gè)節(jié)點(diǎn)的領(lǐng)域的特征信息傳遞到節(jié)點(diǎn)上。在這里舉例描述一個(gè)節(jié)點(diǎn)i在第k層GCN卷積的過程:
          1)把節(jié)點(diǎn)i的每一個(gè)鄰居j與該節(jié)點(diǎn)的特征經(jīng)過函數(shù)變換后形成一條Message(對(duì)應(yīng)公示里函數(shù)\phi里面的操作);
          2)經(jīng)過一個(gè)Permutation Invariant(置換不變性)函數(shù)把該節(jié)點(diǎn)領(lǐng)域的所有Message聚合在一起(對(duì)應(yīng)函數(shù)\square);
          3)再經(jīng)過函數(shù)\gamma把聚合的領(lǐng)域信息和節(jié)點(diǎn)特征做一次函數(shù)變化,得到該節(jié)點(diǎn)在第k層圖卷積后的特征X_i。
          那么Self-attention是否也落在Message Passing的框架內(nèi)呢?我們先回顧一下Self-attention一般是怎么計(jì)算的[2],這里舉例一個(gè)Query i的經(jīng)過attention的計(jì)算過程:
          1】Query i的特征x_i會(huì)和每一個(gè)Key j的特征計(jì)算一個(gè)相似度e_ij;
          2】得到Query i與所有Key的相似度后經(jīng)過SoftMax得到Attention coefficient(注意力系數(shù))\alpha_ij;
          3】通過Attention coefficient加權(quán)Value j計(jì)算出Query i最后的輸出z_j。
          好了,那么我們來看看它們之間的對(duì)應(yīng)關(guān)系。首先結(jié)論是Self-attention計(jì)算中的1】2】3】是對(duì)應(yīng)Message Passing里的1)2)的。
          如果用Message Passing來實(shí)現(xiàn)Self-attention,那么我們可以這么一一對(duì)應(yīng):
          -1 每個(gè)Key-Value j可以看作是Query i的鄰居;
          -2 相似度和注意力系數(shù)的計(jì)算和最后3】中Value j與注意力系數(shù)相乘的操作可以對(duì)應(yīng)為Message Passing中第一步構(gòu)成Message的過程;
          -3 最后Self-attention的求和運(yùn)算對(duì)應(yīng)Message Passing中第二步的Permutation Invariant函數(shù),也就是說這里聚合領(lǐng)域信息的過程是通過Query對(duì)Key-Value聚合而來。
          那么也就是說,Attention的過程是把每一個(gè)Query和所有Key相連得到一個(gè)Complete Bipartite Graph(左邊是Query右邊的Key-Value),然后在這圖上去對(duì)所有Query節(jié)點(diǎn)做Message Passing。當(dāng)然Query和Key-Value一樣的Self-attention就是在一般的Complete Graph上做Message Passing了。

          Complete Bipartite Graph
          看到這里大家可能疑問那么為什么Self attention里面沒有了Message Passing中第三步把聚合的信息和節(jié)點(diǎn)信息經(jīng)過\gamma函數(shù)做變換的過程呢。是的,如果沒有了這一步很可能學(xué)習(xí)過程中Query的原來特征會(huì)丟失,其實(shí)這一步在Attention is all your need[1]里還是有的,不信你看:

          在每一次經(jīng)過Self-Attention之后基本上都是有Skip connection+MLP的,這里某種程度上對(duì)應(yīng)了Message Passing里的\gamma函數(shù)不是嗎?
          那么說白了GCN和Self-attention都落在Message Passing(消息傳遞)框架里。GCN中的Message從節(jié)點(diǎn)的鄰居節(jié)點(diǎn)傳播來,Self-attention的Message從Query的Key-Value傳播來。如果稱所有的Message Passing函數(shù)都是GCN的話,那么Self-attention也就是GCN作用Query和Key-Value所構(gòu)成Complete Garph上的一種特例。也正如乃巖@Naiyan Wang的回答一樣。
          可以說NLP中GCN應(yīng)該大有可為,畢竟Self-attention可以看出是GCN一種,那么肯定存在比Self-attention表達(dá)能力更強(qiáng)和適用范圍更廣的GCN。
          感謝評(píng)論里 @葉子豪的補(bǔ)充,DGL團(tuán)隊(duì)寫了個(gè)很詳盡的用Message Passing實(shí)現(xiàn)Transformer的教程。對(duì)具體實(shí)現(xiàn)感興趣的同學(xué)可以去讀一下:DGL Transformer Tutorial。
          Reference:
          1. Attention is All You Need
          2. Self-Attention with Relative Position Representations
          3. Pytorch Geometric
          4. DeepGCNs for Representation Learning on Graphs

          觀點(diǎn)二

          作者|Houye

          https://www.zhihu.com/question/366088445/answer/1022692208

          來說一下自己的理解。
          GAT中的Attention就是self-attention,作者在論文中已經(jīng)說了



          下面說說個(gè)人理解:
          GNN,包括GCN,是一種聚合鄰居信息來更新節(jié)點(diǎn)表示的神經(jīng)網(wǎng)絡(luò)模型。下圖取自GraphSAGE,感覺比較好的說明了聚合過程。這里我們只關(guān)注圖2:紅色的點(diǎn)u是我們最終需要關(guān)注的點(diǎn),3個(gè)藍(lán)色的點(diǎn){v1,v2,v3}是紅色點(diǎn)的一階鄰居。每次更新在紅色節(jié)點(diǎn)表示的時(shí)候,GNN都會(huì)收集3個(gè)藍(lán)色點(diǎn)的信息并將其聚合,然后通過神經(jīng)網(wǎng)絡(luò)來更新紅色節(jié)點(diǎn)的表示。這里神經(jīng)網(wǎng)絡(luò)可以是一個(gè)mean-pooling,也是對(duì)鄰居進(jìn)行平均,這時(shí)候 v1,v2,v3的權(quán)重都是1/3。



          那這里就有問題了,3個(gè)藍(lán)色的點(diǎn)都是鄰居,直觀的想,不同鄰居對(duì)于紅色的點(diǎn)的重要性是不同的。那么,在GNN聚合鄰居的時(shí)候能不能考慮到鄰居的重要性來加權(quán)聚合呢(比如,0.8v1+0.19v2+0.01v3)?手動(dòng)加權(quán)肯定是不實(shí)際的。雖然加權(quán)感覺好一些,但是不加權(quán)也是可以做GNN的,在有些數(shù)據(jù)集上,不加權(quán)的效果甚至更好。
          個(gè)人感覺在深度學(xué)習(xí)領(lǐng)域,“加權(quán)=attention”。我們這里可以設(shè)計(jì)一種attention機(jī)制來實(shí)現(xiàn)對(duì)鄰居的加權(quán)。這里的權(quán)重可以理解為邊的權(quán)重,是針對(duì)于一對(duì)節(jié)點(diǎn)來說的(比如u和v1).
          那這里為啥是self-attention,因?yàn)镚NN在聚合的時(shí)候會(huì)把自身也當(dāng)做鄰居。也就是說,上圖中u的鄰居集合實(shí)際是{u,v1,v2,v3}。這是很自然的,鄰居的信息只能算是補(bǔ)充信息,節(jié)點(diǎn)自身的信息才是最重要的。
          現(xiàn)在問題轉(zhuǎn)化成了:給定{u,v1,v2,v3}作為輸入,如何將u更好的表示出來?這個(gè)就很像NLP里面的self-attention了,見下圖(引自川陀學(xué)者:Attention機(jī)制詳解(二)——Self-Attention與Transformer)



          最后總結(jié)一下:GCN和self-attention甚至attention都沒有必然聯(lián)系。對(duì)鄰居加權(quán)來學(xué)習(xí)更好的節(jié)點(diǎn)表示是一個(gè)可選項(xiàng)。

          好消息!

          小白學(xué)視覺知識(shí)星球

          開始面向外開放啦??????




          下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
          在「小白學(xué)視覺」公眾號(hào)后臺(tái)回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。

          下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目即可下載包括圖像分割、口罩檢測(cè)、車道線檢測(cè)、車輛計(jì)數(shù)、添加眼線、車牌識(shí)別、字符識(shí)別、情緒檢測(cè)、文本內(nèi)容提取、面部識(shí)別等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。

          下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
          小白學(xué)視覺公眾號(hào)后臺(tái)回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。

          交流群


          歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請(qǐng)按照格式備注,否則不予通過。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~


          瀏覽 32
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  夜夜躁狠狠躁日日躁视频 | 亚洲无码不卡在线 | 粉嫩久久久久久久极品 | 福利视频三区 | 草比网址 |