[知識] GCN レイヤーが多いほど、マルチホップ近隣アグリゲーションをより適切にカバーできるようになり、より広範囲の情報が得られる理由を簡単に理解してください。

転載する場合は出典を明記してください: Senior Xiaofeng’s Big Bang Theory [xfxuezhang.cn]

背景情報

        ほとんどのブログでは GCN レイヤーの数を紹介する際に、次の点について言及します (要約)。

  • 最初のレベルでは、ノードはすぐ隣のノードから情報を集約します。
  • 第 2 層では、各ノードに直接の隣接ノードに関する情報が含まれるため、直接の隣接ノードの機能を集約すると、2 ホップの隣接ノードの情報も間接的に集約されます。
  • このプロセスは継続することができ、層が追加されるたびに、情報集約の範囲が 1 ホップずつ拡張されます。

        しかし、コードを見ると、実際には GCNCov の操作が同じであることがわかります。では、複数のレイヤーを重ね合わせて、どのようにしてマルチホップの近隣ノードを集約するのでしょうか?

理解する方法

        実際、理解する必要があるのは 1 つだけです。それは「間接的な」集計であるということです。

        例えば:

        GCNCov の最初の層では、各ノードはその 1 ホップ隣接ノードの情報を取得し、すべての隣接ノードの情報に基づいて自身の情報を更新できます。これで問題ありません、わかりやすいです。

        次に、更新されたノードには実際にすべての近隣ノードに関する情報が含まれていることを認識する必要があります。同様に、現在のノードの隣接ノードにも、独自の隣接ノード情報が含まれます。

        次に、第 2 層の GCNCov を実行すると、隣接ノードには隣接ノードの隣接ノードが含まれるため、現在のノードには間接的に第 2 ホップの隣接ノード情報が含まれます。

        したがって、これら 2 つの GCNCov を実行すると、その 1 ホップの近隣情報が複数回使用され、冗長性が生じたことが実際にわかります。また、層数が増えると「間接性」も増すため、現在のノードへの先のノードの情報の寄与が弱まると考えられます。

        さらに、層が多すぎると、過剰な平滑化の問題が発生する可能性があります。つまり、異なるノードの特徴がますます類似し、区別が失われます。

        したがって、層が増えるほど効果は悪化します。これは次のように説明されているようです。

        最後に、理解するために絵を描いてみましょう。

おすすめ

転載: blog.csdn.net/sxf1061700625/article/details/134700724