iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
AI & Data

初探 Network Science系列 第 23

Day-23-pyG 的 `nn.Module` 中的 aggregation 意思

  • 分享至 

  • xImage
  •  

torch_geometric.nn 中有很多 Module 可以使用,希望可以稍微了解一下這些 Module 的使用情境。

https://ithelp.ithome.com.tw/upload/images/20231008/20132837gHFSJftY3q.png

Aggregation Operators

今天先 focus 在 aggregation operators 這個部分,根據官網的說明,aggregation operators 在 message passing 中扮演很重要的角色。

github issue 中作者有解釋到為何會有這個 aggregation operators。主要是因為 aggregation 這個概念在 message passing 跟 global readouts 中都有用到,但是在使用上是分開的,所以作者希望可以把這兩個部分統一起來,更方便重複使用。

裡面有介紹幾種不同的 aggregation operators 它們的特色。像是比較基本的 mean aggregation 可以抓到 neighborhood 的 distribution;max aggregation 可以找到最具代表性的 element;sum aggregation 可以學到 structural graph properties,像是 degree 之類的資訊。

其中比較有趣的是裡面有提供 learnable aggregation operators,以 SoftmaxAggregation 為例,它的原始 paper 裡面說到,這個 aggregation operator 是希望可以 generalize mean-max aggregation。

在 pyG 的公式如下所示

  • https://chart.googleapis.com/chart?cht=tx&chl=%24%5Cmathrm%7Bsoftmax%7D(%5Cmathcal%7BX%7D%7Ct)%20%3D%20%5Csum_%7B%5Cmathbf%7Bx%7D_i%5Cin%5Cmathcal%7BX%7D%7D%20%5Cfrac%7B%5Cexp(t%5Ccdot%5Cmathbf%7Bx%7D_i)%7D%7B%5Csum_%7B%5Cmathbf%7Bx%7D_j%5Cin%5Cmathcal%7BX%7D%7D%20%5Cexp(t%5Ccdot%5Cmathbf%7Bx%7D_j)%7D%5Ccdot%5Cmathbf%7Bx%7D_%7Bi%7D%24
  • https://chart.googleapis.com/chart?cht=tx&chl=%24t%24 的意思是一種連續 variable,稱作 inverse temperature
  • 在公式中,當 https://chart.googleapis.com/chart?cht=tx&chl=%24t%24 接近 0 時,就會變成 mean aggregation;當 https://chart.googleapis.com/chart?cht=tx&chl=%24t%24 接近無限大時,就會變成 max aggregation


圖片來源:A Principled Approach to Aggregations


圖片來源:A Principled Approach to Aggregations

這張圖片是用來解釋在不同 graph 結構(異構圖)底下使用不同 aggregation 後能不能區分出兩個 graph 是不同的。

橘色代表使用 aggregation operator 後會無法區分兩個 graph 的差別。

Reference


上一篇
Day-22-pyG 匯入資料集
下一篇
Day-24-pyG 的 `nn.Module` 中的 Pooling Layers 用處
系列文
初探 Network Science30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言