皆様、Google先生のご準備はよろしいでしょうか?
お困りの際は「〇〇とは」検索を駆使してどんどん読み進めましょう!
自然言語処理のタスクでグラフニューラルネットワーク(Graph Neural Networks, 以下GNNと称する)を用いる研究が盛んに行われています。抽象的な対象から、ものとものの関係性を抽出する特性をもっているので、会話要約や感情解析などに取り込まれ、注目が集まっています。
この記事は、GNNについて紹介いたします。
1.GNNの概要
GNNとは、グラフデータに深層学習の仕組みを取り入れたニューラルネットワークです。
ここでいうグラフは、通常の棒グラフや折れ線グラフのようなチャートではなく、ノード(節点)とエッジ(線)から構成されるデータ形式です。
この構造は、何かしらの関連性を表しているので、ニューラルネットワークとして用いられたら、処理対象から抽出する特徴量に、そのグラフデータが表した関係性を加味することができるようになります。
2.GNN手法の分類
GNNは大きく3つの種類に分けることができます。[1]
(1)Graph Recurrent Networks (再帰型ネットワーク)
初期に提案されたモデルで、情報の伝播は同じ関数を用いて再帰的に行います。
計算効率が高くないという問題があると言われます。[2]
(2)Graph Convolutional Networks (畳み込み型ネットワーク、以下GCNと称する)
CNNの仕組みを参考して提案されたモデルで、並列計算が可能ですので、計算効率が改善されています。
そして、畳み込みの定義から、Spectral MethodとSpatial Methodの2種類に分けることができます。
前者は、グラフを信号処理と扱っています。後者は、グラフ自身の関係性に基づいて定義し、前者に比べてより直感的ですので、前者より人気だそうです。[2]
(3)Graph Attention Networks (アテンションベースのネットワーク)
Attentionの仕組みをGNNに適用したモデルです。
(2)のGCNモデルでは、ノードの関係性を同じ重要度と扱っていますが、Attentionを導入することにより、関係性に重要度のスコアを付けることができ、より柔軟な判定ができるようになるのです。[1]
<参考>
[1] 『Introduction to Graph Neural Networks』,Zhiyuan Lui, Jie Zhou
[2] https://speakerdeck.com/shimacos/graph-neural-networkswowan-quan-nili-jie-sitai
3.GNNの活用方向
GNNは、ノードとエッジから構成するデータを取り扱いますので、この形式で表せる処理対象に最も向いていると言えます。
例えば、社交ネットワークの予測、交通・物流予測、リコメンドシステム、化合物・生物分子解析などの分野で幅広く応用されています。そして、文書テキストのようなグラフ形式で直接表せないデータに対しても、別領域のグラフ(例:知識グラフ)を組み込んだり、関係性を仮定して適用したりすることで、GNNを使うことが可能です。
今年開催されたNAACL国際会議には、GNNを用いた研究が多く挙げられます。例えば、会話の抽象的要約に発話関係グラフとアクショングラフを適用することで、会話の構造に気付けるようなモデル[3]、感情解析にGCNを適用し、分析文書の各側面に気付けるようなモデル[4]が提案されました。
<参考>
[3] https://arxiv.org/pdf/2104.08400.pdf
[4] https://aclanthology.org/2021.naacl-main.231.pdf