グラフ・アテンション・ネットワーク (GAT)

これは論文の「グラフ・アテンション・ネットワーク」の PyTorch 実装です。

GAT はグラフデータを処理します。グラフは、ノードとノードを接続するエッジで構成されます。たとえば、Coraデータセットでは、ノードは研究論文で、端は論文をつなぐ引用です

GATは、トランスフォーマーに似た、マスクされたセルフアテンションを使います。GATは、グラフアテンションレイヤーが互いに重なり合って構成されています。各グラフアテンションレイヤーは、入力としてノード埋め込みを取得し、変換された埋め込みを出力します。ノード埋め込みは、接続されている他のノードの埋め込みに注目します。グラフアテンションレイヤーの詳細は、実装とともに含まれています。

Cora データセットで 2 層 GAT をトレーニングするためのトレーニングコードを次に示します