> For the complete documentation index, see [llms.txt](https://dizzzzy.gitbook.io/notebook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dizzzzy.gitbook.io/notebook/course/readme/gnn-blog-reading.md).

# GNN Blog Reading

A Gentle Introduction to Graph Neural Networks

源博客连接：

{% embed url="<https://distill.pub/2021/gnn-intro/>" %}

## 图结构

实体+关系

三个属性：顶点、边、整个图

<figure><img src="https://3730186196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrCG00nTO3O6DVWijfDnr%2Fuploads%2Fay213uOoU5wNamulfoJE%2Fimage.png?alt=media&amp;token=3a173caf-367d-48e5-9d53-bdf08663ac04" alt=""><figcaption></figcaption></figure>

图结构信息的表示：

<figure><img src="https://3730186196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrCG00nTO3O6DVWijfDnr%2Fuploads%2FFe1NSdpUwwL8ENMiFZfS%2Fimage.png?alt=media&amp;token=855fe27a-eb26-41d7-9ecd-06057f2841de" alt=""><figcaption></figcaption></figure>

图结构数据的问题类型：

* node-level task
  \*

  ```
  <figure><img src="/files/5rdLy7QyE52SaP56OFLh" alt=""><figcaption></figcaption></figure>
  ```
* edge-level
  \*

  ```
  <figure><img src="/files/FKcNhSgS48Dogdlq2sgk" alt=""><figcaption></figcaption></figure>
  ```
* graph-level
  \*

  ```
  <figure><img src="/files/J6UFqFgXYlOimAtsXIw1" alt=""><figcaption></figcaption></figure>
  ```

机器学习中使用图的挑战

如何表示节点、边、图上下文和连接性，当图节点数巨大时矩阵如何存储、如何让网络学习邻接矩阵排序的同质性：

<figure><img src="https://3730186196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrCG00nTO3O6DVWijfDnr%2Fuploads%2Fp10A6LypkLstrBnsWY7H%2Fimage.png?alt=media&amp;token=8f7dfd28-22b8-4bec-8f3f-e99abbc36c20" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3730186196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrCG00nTO3O6DVWijfDnr%2Fuploads%2FERoL8jdOT72n2iCKz7Fe%2Fimage.png?alt=media&amp;token=bc65dd09-7303-4e4b-b548-c90adc38292a" alt=""><figcaption><p>所有邻接矩阵表示的图都是同质图，仅仅交换了节点顺序</p></figcaption></figure>

## Graph Neural Network（GNN）

GNN输入是graph，输出也是graph，并且网络不会改变节点之间的连接性

pooling：

* 有边特征向量但是没有节点特征向量，需要对节点进行预测分类时，使用pooling function将边特征向量聚合为节点向量然后做出预测
* **没有整个图的全局向量，但是有顶点特征向量，将所有顶点的向量进行聚合，经过全局输出层得到全局向量**

<figure><img src="https://3730186196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrCG00nTO3O6DVWijfDnr%2Fuploads%2FLijSie7RK4mfcxyRj7IM%2Fimage.png?alt=media&amp;token=8bc26ced-e367-4921-81cf-d8e8408e41e3" alt=""><figcaption></figcaption></figure>

### 图部分之间的信息传递 “Passing message”

<figure><img src="https://3730186196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrCG00nTO3O6DVWijfDnr%2Fuploads%2FkXIxzx5qPvJyPivyzncx%2Fimage.png?alt=media&amp;token=ca65b0b6-6142-48cb-9a1e-dc243039700a" alt=""><figcaption></figcaption></figure>

如何表示全局信息：一种解决方式是使用master node（连接网络中的所有节点和边）来表示整个网络的全局信息 $$U\_n$$

<figure><img src="https://3730186196-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrCG00nTO3O6DVWijfDnr%2Fuploads%2F1FNcyAb8GjQalNLYa3Fo%2Fimage.png?alt=media&amp;token=8b9d2550-3def-407e-b9c9-4ffe193c20cc" alt=""><figcaption></figcaption></figure>
