グラフ ニューラル ネットワーク GNN 学習ログ - GNN の概要

1. グラフニューラルネットワークGNNの紹介

グラフはデータ構造であり、グラフ ニューラル ネットワーク (GNN) はグラフ構造に関する深層学習の分野です。一般的なグラフ構造はノードとエッジで構成され、ノードにはエンティティ情報が含まれ、エッジにはエンティティ間の関係情報が含まれます。現在、物理システムのモデリング (物理システム)、分子指紋の学習 (分子指紋)、タンパク質界面の予測 (タンパク質界面)、疾患分類 (疾患の分類) など、多くの学習タスクでグラフ構造データを扱う必要があります。グラフ構造の入力から関連知識を学習できるようになります。関連するグラフ構造の例を次のように説明します。
ここに画像の説明を挿入
上の図は、グラフ構造を使用して物理システムをモデル化し、各ノードは物理システム内のオブジェクトを表し、各エッジは異なるオブジェクト間の関係を表します

ここに画像の説明を挿入
上の図は分子構造を示しており、各ノードは原子を表し、エッジは原子間の化学結合を表しています。

グラフ ニューラル ネットワークは、構造化データ (出力データはグラフ構造データ) を学習するだけでなく、テキストや画像などの非構造化データも学習し、文章の依存関係ツリーやグラフ構造の推論を行うことができます。画像のシーン グラフには、グラフ推論モデルが必要です。

GNN は、ネットワーク内のノード間のメッセージの受け渡しを通じてグラフ内のグラフの依存関係を取得する接続モデルです。GNN は、ノードから任意の深さの近傍を介してノードの状態を更新します。この状態は状態情報を表すことができます

2. GNNの起源

GNN は 2 つの動機から生まれました。1 つの動機は畳み込みニューラル ネットワーク (CNN) に由来し、もう 1 つはグラフの埋め込みに由来します。

1 つ目は CNN からのもので、マルチスケールのローカル空間特徴を抽出し、それらを組み合わせてより高度な表現表現を構築できます。CNN の特性とグラフ構造を詳しく調べると、CNN の核となる機能は、ローカル接続、共有重み、多層重ね合わせであることがわかります。グラフ構造は最も典型的なローカル接続構造であるため、これらはグラフ問題にも非常に役立ちます .次に、重みを共有することで計算量を削減できます. さらに、多層構造は階層パターンを扱うための鍵となります. しかし、CNNが処理できるのは2次元画像や1次元テキストデータなどのユークリッドデータのみであり、これらのデータはグラフ構造の特殊なケースに過ぎず、畳み込みフィルタやプーリング演算子の移行が難しいことがわかります。 CNN でグラフ操作を行う。

もう 1 つの動機は、グラフの埋め込みから来ています。いわゆる埋め込みとは、グラフのノード、エッジ、またはサブグラフの低次元ベクトル表現を学習することです。従来の機械学習手法は通常、人工特徴量エンジニアリングに基づいています。特徴を構築するためですが、これはこの手法は、柔軟性の不足、表現力の不足、エンジニアリング作業負荷の過大などの問題によって制限されます。単語埋め込みの一般的なモデルには Skip-gram、CBOW などが含まれ、グラフ埋め込みのモデルには DeepWalk、Node2Vec などが含まれることがよくあります。これらの方法には 2 つの重大な欠点があります。1つ目は、ノード エンコーディングの重みが共有されないため、ノードの数が増加するにつれて重みの数が直線的に増加することです。もう 1 つは、直接埋め込みであるため、この方法には一般化能力がありません。これは、動的グラフを処理できず、新しいグラフに一般化できないことを意味します。

3. GNN と従来の NN の違い

まず第一に、CNN や RNN などの標準的なニューラル ネットワークは、ノードの特徴が特定の順序で配置される必要があるため、グラフ構造の入力を適切に処理できません。しかし、グラフ構造については、順序という点で自然な順序はありません。順序を使用してグラフを完全に表現する場合は、グラフを可能なすべてのシーケンスに分解し、その後シーケンスをモデル化する必要があります。明らかに、この方法は非常に冗長で計算集約的です。対照的に、GNN は各ノードで伝播することによって学習しますしたがって、ノードの順序は無視されます。つまり、GNN の出力は入力が異なると変化します。

さらに、グラフ構造のエッジはノード間の依存関係を表します。しかし、従来のニューラル ネットワークでは、依存関係はノードの特徴によって表現されます。つまり、従来のニューラル ネットワークでは明示的に表現されません。この種の依存関係は、間接的に表現されます。異なるノード特性によるノード間の関係。一般に、GNN は隣接ノードの加重合計を通じてノードの隠れ状態を更新します

最後に、推論は高度な人工知能にとって非常に重要な研究テーマであり、人間の脳の推論プロセスは基本的にグラフに基づいており、経験から学んでいます。GNN は、シーン画像やストーリーテキストなどの非構造化データから構造化グラフを生成し、これらのグラフを使用してより高度な AI システムを生成することを試みます。

4、GNN分類

この論文では、GNN モデルを次のように分類しています。

  • グラフ畳み込みネットワークとグラフ アテンション ネットワーク (伝播ステップが含まれるため)。
  • グラフの時空間ネットワーク。このモデルは動的グラフでよく使用されます。
  • グラフ自動エンコーダー。モデルは通常、教師なし学習 (教師なし) を使用するため。
  • グラフ生成ネットワーク (生成ネットワーク)、生成ネットワークなので。

5. 学習参考リンク

学習ビデオのリンク:

入門から習熟までのグラフ ニューラル ネットワーク

学習ブログのリンク:

グラフ ニューラル ネットワーク ツールキット PyG アプリケーションの例:
PyG アプリケーション: チュートリアル (1) 概要 PyG
アプリケーション: チュートリアル (2) PyTorch PyG ネットワークの紹介
(3) グラフ アテンション ニューラル ネットワーク GAT
PyG アプリケーション: チュートリアル (4) 畳み込み層 - スペクトル法
PyG実践: 動的グラフの進化予測 - トラフィック予測
PyG アプリケーション: チュートリアル (5) 集計関数
PyG アプリケーション: チュートリアル (6) グラフ オートエンコーダと変分グラフ オートエンコーダ

グラフ セルフ エンコーダーのリンク予測タスク:
疾患と遺伝子の相互作用 GCN の一般的な理解(グラフの畳み込みが隣接する特徴間の関係を見つけることである理由を説明)

おすすめ

転載: blog.csdn.net/Joker00007/article/details/127481771
GNN