グラフニューラルネットワークとは何ですか? 説明とアプリケーション[図付き]
公開: 2021-01-08目次
序章
最近、ニューラルネットワークは、パターン認識とデータマイニングの分野でのそのアプリケーションと使いやすさのために非常に人気があります。 CNN、RNN、オートエンコーダなどの手法を使用したオブジェクト検出や音声認識などのタスクへのディープラーニングの適用は、ニューラルネットワークの研究と開発に多大な労力をもたらしました。
画像、テキスト、ビデオなどのデータへのディープラーニングの適用は、ユークリッドデータに基づいているため簡単に実行できます。 データがオブジェクト間の非常に複雑な関係を持つグラフ(非ユークリッド)として表されるアプリケーションはどうですか?
ここで、グラフニューラルネットワーク(GNN)の概念を取り入れます。 この記事では、グラフとGNNの定義と基本を確認し、グラフニューラルネットワークの最新のアプリケーションのいくつかを見ていきます。
グラフとは何ですか?
タイトル– Graph Neural Networksから、GNNの最も基本的な部分はグラフであることがわかります。
コンピュータサイエンスでは、グラフは2つのコンポーネントを持つデータ構造として定義されます。 頂点とエッジ。 グラフGは、 G=VEとして定義できます。 ここで、Vは頂点のセットであり、Eはそれらの間のエッジです。 頂点とノードという用語は、しばしば同じ意味で使用されます。 方向依存性と呼ばれるエッジに矢印マークがある場合、それは有向グラフです。 そうでない場合、それらは無向グラフです。
ソース

グラフは、ソーシャルメディアネットワーク、都市ネットワーク、分子など、いくつかのものを表すことができます。都市のネットワークを表す次のグラフについて考えてみます。 都市はノードとして表され、それらを接続する道路はエッジです。
ソース
上記のグラフネットワークを使用すると、接続が良好な都市の検索や2つの都市間の最短距離の検索など、これらの都市に関連するいくつかの問題を解決できます。
グラフニューラルネットワークとは何ですか?
グラフは非常に強い表現力を持っているため、機械学習の分野で広く注目されています。 すべてのノードには、それに関連付けられた埋め込みがあります。 その埋め込みにより、データスペース内のノードが定義されます。 グラフニューラルネットワークは、グラフ上で動作するニューラルネットワークアーキテクチャを指します。
GNNアーキテクチャの主な目的は、その近隣に関する情報を含む埋め込みを学習することです。 この埋め込みを使用して、ノードのラベル付け、ノードとエッジの予測など、いくつかの問題を解決できます。
言い換えると、グラフニューラルネットワークは、グラフによって与えられたデータの推論を実行するように設計されたディープラーニングメソッドの追加クラスです。 これらはグラフに適用され、ノードレベル、エッジレベル、およびグラフレベルの予測タスクを簡単に実行できます。
なぜCNNではないのですか?
GNNの主な利点は、畳み込みニューラルネットワーク(CNN)が実行できなかったタスクを実行できることです。 CNNは、オブジェクトの検出、画像の分類、認識などのタスクを実行するために使用されます。 CNNは、隠れた畳み込み層とプーリング層を使用してこれを実現します。
グラフデータは非常に恣意的で複雑なトポロジであるため、計算上困難です。つまり、空間的な局所性がありません。 また、CNNの適用をより困難にする、固定されていないノードの順序があります。
グラフニューラルネットワーク
したがって、いわゆるGNNは、グラフに直接適用されるニューラルネットワークであり、エッジレベル、ノードレベル、およびグラフレベルの予測タスクに便利な方法を提供することが理解されます。 グラフニューラルネットワークには主に3つのタイプがあります。
- リカレントグラフニューラルネットワーク
- 空間畳み込みネットワーク
- スペクトル畳み込みネットワーク
GNNの直感の1つは、ノードがそのネイバーと接続によって定義されることです。 ノードのすべての隣接ノードが削除されると、ノードはすべての情報を失うことを想像することで、それを視覚化できます。 したがって、ノードのネイバーとネイバーへの接続の概念がノードを定義します。
これを念頭に置いて、すべてのノードにその概念を表す状態(x)を与えましょう。 ノード状態(x)を使用して、概念に関する決定である出力(o)を生成できます。 ノードの最終状態(x_n)は、「ノード埋め込み」と呼ばれます。 すべてのグラフニューラルネットワークの主なタスクは、隣接するノードの情報を調べて、各ノードの「ノードの埋め込み」を決定することです。
GNN、Recurrent Graph Neural Network、またはRecGNNの最も強力なバージョンから始めましょう
リカレントグラフニューラルネットワーク
元の論文で述べたように、RecGNNは、バナッハの不動点定理を前提として構築されています。これは、(X、d)を完全な距離空間とし、(T:X→X)を収縮写像とします。 次に、Tは一意の不動点(x ∗)を持ち、任意のx∈Xに対して、n→∞のシーケンスT_n(x)は(x ∗)に収束します。 つまり、マッピングTをxにk回適用すると、x ^kはx^(k-1)にほぼ等しくなります。

空間畳み込みネットワーク
Spatial Convolutional Networkの直感は、CNNの直感に似ています。 CNNで知っているように、アイデアは、フィルターと学習可能な重みを使用して、中央のピクセルの周囲の隣接するピクセルを合計することによって畳み込みを実行することです。 空間畳み込みネットワークは、隣接ノードの機能を中央ノードに向かって集約することにより、同様のアイデアを採用しています。
ソース
スペクトル畳み込みネットワーク
他のグラフニューラルネットワークとは対照的に、このタイプのGNNは強力な数学の基盤を持っています。 これは、グラフ信号処理理論に基づいて開発されています。 簡略化のためにチェビシェフ多項式近似を使用します。
GNNは何ができますか?
GNNが解決できる問題は、大きく3つのカテゴリに分類されます–
- ノード分類
- リンク予測
- グラフの分類
ノード分類
グラフ内の各ノードのノード埋め込みを予測する必要があります。 このような場合、グラフの一部のみにラベルが付けられるため、これは半教師ありグラフと呼ばれます。 一部のアプリケーションは、YouTubeビデオ、Facebookの友達の推薦などです。
リンク予測
主なタスクは、グラフ内の2つのエンティティ間の関係を識別し、2つのエンティティ間に接続があるかどうかを予測することです。 たとえば、モデルにさまざまな製品のユーザーによる一連のレビューが与えられるレコメンダーシステムについて考えてみます。 タスクは、ユーザーの好みを予測し、ユーザーの興味に合った製品を宣伝するためにレコメンダーシステムを調整することです。
グラフの分類
グラフ全体をいくつかの異なるカテゴリに分類する必要があります。 これは画像分類タスクと非常に似ていますが、ここでのターゲットはグラフドメインにあります。 化学などのグラフ分類にはいくつかの例があり、モデルにはグラフの形で分子構造が与えられ、タスクはターゲットを特定のカテゴリに分類することです。
GNNのリアルタイムアプリケーション
2018年の導入以来、GNNは、以下に要約するかなりの数のリアルタイムアプリケーションを見つけました。
自然言語処理
GNNは、感情分類、テキスト分類、シーケンスラベリングなどのさまざまなNLPアプリケーションでそのアプリケーションを見つけます。 それらは、その適用の容易さのためにNLPで使用されます。 また、同様の投稿の予測や特定のコンテンツのユーザーへの推奨など、ソーシャルネットワーク分析でも使用されます。
コンピュータビジョン
コンピュータビジョンは、画像分類、オブジェクト検出などの分野でディープラーニングの助けを借りて急速に成長した広大な分野です。最も人気のあるアプリケーションは畳み込みニューラルネットワークです。 最近では、GNNもこのドメインに適用されています。 コンピュータビジョンでのGNNの適用は初期段階ですが、今後数年間で大きな可能性を示しています。

化学
GNNは、物理システム、副作用予測、疾病分類などの科学でも広く使用されています。 化学者はまた、化合物と分子のグラフ構造を研究するためにGNNを使用しています。
その他のドメイン
GNNの適用は、上記のタスクだけに限定されません。 レコメンダーシステム、ソーシャルネットワーク分析などのさまざまなドメインへのGNNの適用にはいくつかの試みがありました。
結論
GNNが導入されてから過去数年間で、グラフでモデル化できる問題を解決するための強力で信頼性の高いツールになりました。 これは、その柔軟性、表現力、および簡単な視覚化によるものです。 したがって、GNNは、さまざまな実世界のアプリケーションを使用した非構造化データに対する直感的なソリューションです。
GCNとその機能および利点について詳しく知りたい場合は、upGradEducationPvtに登録してください。 Ltd.とIIITBの機械学習と人工知能に関する大学院および卒業証書コース。 機械学習とAIに関するこのコースは、学生と働く専門家を対象としています。
このコースでは、ケーススタディと課題のコレクション、業界のメンターシップセッション、IIIT Bangaloreの卒業生のステータス、トップ企業との就職支援、そして最も重要なこととして、豊富な学習経験を提供します。
ニューラルネットワークとはどういう意味ですか?
ニューラルネットワークは、パターンの識別に役立つネットワークアルゴリズムであり、人間の脳に基づいて設計されています。 機械学習と人工知能を使用して、感覚入力を理解し、生データを分類またはグループ化します。 写真、音楽、テキスト、時系列など、すべての実際の統計は、ニューラルネットワークが認識する文字に変換する必要があります。文字は数値であり、ベクトルにエンコードされています。 これらは、データの分類とクラスタリングに役立ちます。 ラベル付きデータセットがある場合はデータを分類し、入力例間の類似性に基づいてラベルなしデータをグループ化するのに役立ちます。 これらは、強化学習、多様性、回帰のアルゴリズムを含む、より広範な機械学習アプリケーションの一部です。
畳み込みニューラルネットワークとは何ですか?
CNNまたはConvNetとも呼ばれる畳み込みニューラルネットワークは、入力画像を撮影し、画像内のさまざまな要素を優先し、それらを区別できる手法です。 CNNに必要な処理量は、他のアルゴリズムよりも大幅に少なくなります。 CNNは視覚野の助けを借りて設計されており、私たちの脳のニューロンと同様のパターンを持っています。 CNNでも、個々のニューロンは、受容野と呼ばれる視野の小さな領域のインパルスにしか反応できません。
ニューラルネットワークは機械学習とどう違うのですか?
機械学習は、データを分析し、そこから学習し、学習した内容を適用して興味深いパターンを見つける強力なアルゴリズムのセットです。 一方、ニューラルネットワークは、ニューロンのグラフを使用してデータをモデル化するために機械学習で使用される手法のクラスターです。 ニューラルネットワークは、それ自体で信頼できる判断を下せるようにアルゴリズムを配置しますが、機械学習モデルは、データから学習した内容に基づいて決定を下します。 その結果、機械学習モデルはデータから学習する可能性がありますが、初期段階では人間との対話が必要になる場合があります。 ニューラルネットワークは、その中の積み重ねられた層が異なる概念の階層を介して入力を伝達し、彼ら自身の過ちから学ぶことを可能にするので、人間の相互作用を必要としません。