人工知能におけるGNNとは何ですか?

人工知能におけるGNNとは何ですか?

グラフディープラーニング(GDL)は有望な研究分野であり、グラフデータに基づいた学習や分析は非常に有用です。この記事では、シンプルなグラフ ニューラル ネットワーク (GNN) の基本と、その内部の仕組みの背後にある直感を紹介します。しかし、心配しないでください。何が起こったのかをより直感的に理解できるように、著者は記事の中で多くのカラー写真を使用してグラフィカルな情報を提供しています。

グラフとは何ですか?

グラフは、接続されたノード (頂点) とエッジで構成されるデータ構造であり、明確な開始点や終了点がない情報を表すために使用できます。すべてのノードは空間内の任意の位置を占めることができ、グラフの構造が 2 次元以上で描画される場合、通常、類似した特性を持つノードが一緒にクラスター化されます。

これは、エンティティを表す相互接続されたノードのグループで構成されるグラフです。

エッジの上の黒い先端は、ノード間の関係のタイプを示し、関係が双方向か一方向かを示します。グラフには、有向グラフと無向グラフという 2 つの主な種類があります。有向グラフでは、ノード間の接続に方向がありますが、無向グラフでは接続の順序は重要ではありません。有向グラフは単方向または双方向のいずれかになります。

グラフは、ソーシャル ネットワーク、分子など、さまざまなものを表現できます。ノードはユーザー/製品/アトムを表し、エッジはそれらの間の接続(接続された製品/キーでフォロー/一般的に購入されるなど)を表します。ソーシャル ネットワーク グラフは次のようになります。ノードはユーザー、エッジは接続です。

ノードはユーザーを表し、エッジは 2 つのエンティティ間の接続/関係を表します。実際のソーシャル ネットワーク グラフは、多くの場合、はるかに大きく複雑です。

次に、著者は、再帰ユニット、埋め込みベクトル表現、フィードフォワードニューラルネットワークなどの概念をいくつか紹介します。グラフ理論(つまり、グラフとは何か、グラフはどのように見えるか)について知っておくことも重要です。

いくつかの用語はあなたにとって馴染みのないものであるかもしれません。心配しないで!紛らわしい用語については、関連する概念の基本的な意味を理解できるように、著者は見つけられる最も信頼できる説明へのリンクを貼るよう最善を尽くしました。これに基づいて、これらの概念とグラフ ニューラル ネットワークにおけるその役割をさらに理解できます。

グラフニューラルネットワークを理解する

各ノードには、それを定義する一連の特性があります。ソーシャル ネットワーク グラフの場合、これらの特徴としては、年齢、性別、居住国、政治的所属などが挙げられます。各エッジは、類似の特性を持つ可能性のあるノードを接続します。これは、これらのノード間の何らかの相関関係または関係を反映しています。

次の頂点と辺を持つグラフ G があるとします。

この写真は上の写真と同じです。

簡単にするために、特徴ベクトルは現在のノードのインデックスのワンホットエンコーディングであると仮定します。同様に、ラベル (またはカテゴリ) をノードの色 (緑、赤、黄色) として設定できます。するとグラフは次のようになります。

ノードの順序は実際には重要ではありません。

注意: 実際のアプリケーションでは、ノードの順序が非常に混乱する可能性があるため、ワンホット エンコーディングを使用しないようにしてください。代わりに、ソーシャル ネットワークの場合は年齢、性別、政治的志向など、分子研究の場合は定量化可能な化学的特性など、ノードを明確に区別する特徴を使用する必要があります。

ノードのワンホットエンコーディング(または埋め込み)ができたので、ニューラルネットワークを導入してグラフを変更することができます。すべてのノードは、リカレント ユニット (またはその他のニューラル ネットワーク アーキテクチャ。ここではリカレント ユニットを使用) に変換できます。すべてのエッジは、単純なフィードフォワード ニューラル ネットワークで構成されます。すると次のようになります:

エンベロープ シンボルは、各ノードのワンホット エンコードされたベクトル (埋め込み) です。

メッセージング

ノードとエッジの変換が完了すると、グラフはノード間でメッセージの受け渡しを実行できるようになります。このプロセスは、特定のノードの周囲の有向エッジを介して周囲のノードからメッセージ(つまり埋め込み)をプッシュすることを伴うため、「近傍集約」とも呼ばれます。

注: 場合によっては、単方向エッジに 1 つのニューラル ネットワークを使用し、双方向エッジに別のニューラル ネットワークを使用するなど、異なるタイプのエッジに異なるニューラル ネットワークを使用する必要があることがあります。この方法では、ノード間の空間関係をキャプチャできます。

GNN の場合、単一の参照ノードに対して、隣接ノードはエッジ ニューラル ネットワークを介して参照ノード上の再帰ユニットにメッセージ (埋め込み) を渡します。参照再帰ユニットの新しい埋め込み更新は、再帰埋め込みと隣接ノード埋め込みのエッジ ニューラル ネットワーク出力の合計に対する再帰関数を使用することに基づいています。上の赤​​いノードを拡大して、このプロセスを視覚化してみましょう。

紫色の四角は、隣接ノードからの埋め込み (白い封筒) に適用された単純なフィードフォワード ニューラル ネットワークです。赤い三角形は、現在の埋め込み (白い封筒) とエッジ ニューラル ネットワークの出力 (黒い封筒) の合計に適用され、新しい埋め込み (上部の白い封筒) を取得する再帰関数です。

このプロセスは、レイヤー L+1 の埋め込みがレイヤー L の埋め込みに依存するため、ネットワーク内のすべてのノードで並列に実行されます。したがって、実際には、メッセージの受け渡しを実行するために、あるノードから別のノードに「移動」する必要はありません。

注: エッジ ニューラル ネットワーク出力 (黒いエンベロープ) の合計は、出力の順序とは無関係です。

最終的なベクトル表現の用途は何ですか?

近傍集約/メッセージ パッシング プロセスを複数回実行した後、各ノードの再帰ユニットは新しい埋め込みセットを取得します。さらに、複数のタイムステップ/ラウンドのメッセージ パッシングの後、ノードは自分自身と近隣ノードの情報 (特徴) をより深く理解できるようになります。これにより、グラフ全体のより正確な表現が作成されます。

パイプラインをさらに進めるか、単にグラフを表現するために、すべての埋め込みを加算して、グラフ全体を表すベクトル H を取得できます。

隣接行列を使用するよりも H を使用する方が適しています。隣接行列は、グラフをどのように変形してもグラフの特性や固有のプロパティを表すことはなく、ノード間のエッジ接続のみを表すためです (場合によってはそれほど重要ではありません)。

要約すると、すべてのノード再帰ユニットの最終的なベクトル表現を合計し (もちろん順序とは無関係)、結果のベクトルを他の作業への入力として使用したり、単にグラフを表現したりします。このステップは次の図のようになります。

これは、メッセージの受け渡しを n 回繰り返した後に、埋め込みベクトルが完全に更新された最終グラフです。すべてのノードのテーブルを作成できます。これらを足すとHになります。

グラフニューラルネットワークを実装するための4つのステップ

GNN の使い方は非常に簡単です。実際、それらを実装するには次の 4 つのステップが必要です。


  1. グラフが与えられたら、まずノードを再帰ユニットに変換し、エッジをフィードフォワードニューラルネットワークに変換します。
  2. 次に、すべてのノードに対して n 個の隣接ノード集約(つまり、メッセージの受け渡し)を実行します。
  3. 次に、すべてのノードの埋め込みベクトルを合計してグラフ表現 H を取得します。
  4. 最後に、H を完全にスキップしてより高いレベルに直接移動することも、H を使用してグラフの固有のプロパティを特徴付けることもできます。

まとめ

これで、グラフ ニューラル ネットワークがどのように動作するかが明確に理解できました。 GNN はグラフ ノード間の依存関係をモデル化する上で強力なパフォーマンスを発揮するため、ソーシャル ネットワーク、ナレッジ グラフ、推奨システムで広く使用されています。ソーシャル ネットワーク グラフを例にとると、GNN はコンテンツの推奨において優れたパフォーマンスを発揮します。たとえば、ユーザーが同様の政治的傾向を持つ別のユーザーをフォローしている場合、GNN をノード分類に使用して、Web サイト上の特定のコンテンツを上記のユーザーのニュース フィードに送信できるかどうかを予測できます。GNN を「推奨フォロー」に使用すると、システムはユーザーが属する業界を考慮して、潜在的な接続を提供できます (エッジ分類)。

グラフディープラーニングは実は非常に興味深いです。この記事のハイライトは、いくつかの視覚的なグラフを使用してグラフニューラルネットワークの基本的な概念を紹介することですが、GNN を徹底的に理解したい場合は、自分でコードを書いて試してみるのが最適です。

<<:  2022年にロボット工学の急成長を支える5つの要因

>>:  Kevin P. Murphy の「確率的機械学習: 上級」が PDF でダウンロードできるようになりました。

ブログ    
ブログ    
ブログ    
ブログ    
ブログ    

推薦する

...

年末には自動運転が実りある成果を上げ、その後の開発はワンストップサービスとなるでしょう!

2021年末までに、自動運転車の商業化は再び目覚ましい成果を達成しました。当社の統計によると、12...

仕事でアルゴリズムが使われることはほとんどないので、なぜアルゴリズムを学ぶ必要があるのでしょうか?

共通のデータ構造とアルゴリズム最も基本的なデータ構造とアルゴリズムは次のとおりです。ソートアルゴリズ...

...

アンドリュー・ン:AIはビッグデータから「スモールデータ」に移行する時が来た

AI界の巨匠アンドリュー・ン氏が最近、新型コロナウイルスの検査で陽性反応を示し、多くのネットユーザー...

...

...

人工知能の開発における主な成果は何ですか?また、どのような課題に直面していますか?

現代の人工知能は、現代の科学技術の中で最も驚くべき強力な技術の 1 つとなり、破壊的な技術でもありま...

...

機械学習を使用して暗号プロジェクトのリスクを特定するにはどうすればよいでしょうか?

暗号通貨と規制の必要性暗号通貨は、デジタル世界に存在する交換手段(別の支払い形式)であり、取引を安全...

...

スタンフォード大学:大きなモデルは間違った方向に「転がっている」のか?コンテキスト ウィンドウが長くなるほど、モデルは愚かになります。

言語モデルでは、コンテキスト ウィンドウは、特定のコンテキストに関連するテキストを理解して生成するた...

AIとスマート信号機が通勤を変えるかもしれない

世界的なパンデミックの影響で、世界各地でロックダウンが実施されたことにより、街の交通量は減少し、地域...

生成的ビデオ圧縮を有効にする: Google は GAN を使用して HEVC に匹敵するパフォーマンスを実現

[[416911]]一般的に、ビデオ圧縮の目的は、時間的および空間的な冗長性を活用して視覚コンテンツ...

顔認識は簡単すぎる、AIは指の動きも認識できる、これは非常に恐ろしい

現代のコンピューター ビジョン テクノロジーは、これまで映画でしか見たことのないようなテクノロジーの...