データ分析基礎知識

“分析力をコアとするデータソリューションカンパニー”
株式会社ALBERTが、データ分析にまつわる基礎知識をわかりやすく解説します。

GCNs(Graph Convolutional Networks)とは

GCNs(Graph Convolutional Networks)

GCNs(Graph Convolutional Networks)は、ディープラーニングをグラフデータに適用する手法です。グラフとは、ノード(頂点)同士が隣接関係を表すエッジ(枝)によって結びつけられたデータ構造のことを指します(図1)。例えば、人間関係やWebページのリンク、道路網、化学分野における化合物など、様々なものをグラフで表現することができます。

図1: グラフ構造

グラフで表現できるデータは非常に多く、GCNsは、Webデータの分析や量子化学の研究、交通・物流の分析といった幅広い分野で応用されています。また応用先のデータに合わせて、大規模なグラフデータを利用するための効率化やエッジの向き・種類への対応といった改善がされてきています。

GCNsとは、グラフデータに対して畳み込み (Convolution)を行う手法です。グラフデータには、ノード自体の性質を表すノード特徴量と、エッジによるノード同士の隣接関係を示すデータが含まれているとします。グラフデータにおける畳み込みは、グラフ内の1ノード(以下ターゲットノード)が持っている特徴量に、隣接関係にあるノードの特徴量に重みをかけたものを加えていく作業です。この作業によって、ターゲットノードの特徴量にはターゲットノード自体の特徴量だけでなく、どのような隣接関係を持ち、周囲ノードにはどのような特徴量を持つものがあるのかといった情報が含まれることになります。

実際にグラフの畳み込み手順を考えてみましょう。まず、畳み込みの中心となるターゲットノードを定めます(図2の黄緑のノード)。1回目の畳み込みでは、どのターゲットノードに関しても、任意の隣接関係にあるノードの情報を畳み込むだけです。しかし2回目の畳み込みでは、あるノードに対する隣接ノード自体も、前の層ではターゲットノードとしてその隣接ノードを畳み込んでいますので、より広範囲の情報が畳み込まれることになります(図2右側のグレー矢印)。GCNsの層を増やすことで、最終的にはグラフ全体の情報を考慮したノード特徴量を得ることができるようになります。

図2: 畳み込み 回数ごとのイメージ

GCNsの応用

・レコメンデーションシステム

ECサイトにおけるレコメンデーションでGCNsを利用する場合を考えてみましょう。レコメンデーションは、利用者の購買履歴や閲覧履歴、商品の類似度に合わせておすすめの商品を提示する機能です。レコメンデーションにおいてよく使われる手法としては顧客間の購買・閲覧履歴の相関係数を利用する協調フィルタリングがありますが、ここでは、GCNsを利用することで商品自体の類似度やカテゴリーも考慮したレコメンデーションについて考えます。
例えば、写真や商品解説等の具体的な商品情報と、ユーザーの過去の購入履歴、連続閲覧履歴があるとします。この例におけるグラフデータは、商品のデータが購入したユーザーを介して接続関係を持っていると考えられます(図3左側)。
商品情報から生成した特徴量をノード特徴量の初期値とし、商品→ユーザー→商品→ユーザー→商品といった流れでグラフを畳み込んでいくことで、画像や説明などからわかる商品自体の特徴と、ユーザーの購入履歴とを考慮した商品の特徴量を獲得することができます。このようにして得られた特徴量が、連続して閲覧されることの多い商品同士は特徴量空間上で近づくように、そうでない商品同士は離れるように畳み込みの重みを学習することで、ある商品ページにおいてどの別商品をレコメンドすべきか判断する指標を獲得することが出来ます(図3右側)。

図3: レコメンドに使う指標の学習
・化合物の物性推定

GCNsは、化学分野でも非常に注目を集めています。化合物は、原子をノード、結合をエッジと考えれば、グラフであると見なせます。GCNsを用いることで、化合物のグラフから「毒性」や「水溶性」といった物性を予測することができます。

手順としては、次のようなものが考えられます。まず化合物をグラフとして表現し、各ノードの特徴量の初期値としてそれぞれの原子の性質から得られる特徴量を与えます。次にグラフ畳み込みを繰り返し、グラフ構造を考慮した新たなノード特徴量を生成します。この際、単結合や二重結合といった結合方法によって重みを変える、エッジ自体の特徴量も考慮するなどといった工夫を行うことで、結合の違いも考慮に入れることが出来ます。最後に、全ノードの特徴量を足し合わせたものを、その化合物(グラフ全体)の特徴量とします。こうして得られた特徴量を、さらにクラス分類モデルや回帰モデルに入力することで、化合物の物性を推定することが出来ます。

このように、GCNsを用いることで化合物データから特徴量抽出を行うことができ、他のデータと同じように扱えるようになります。画像処理分野などで発展してきたディープラーニング技術が化学にも応用されることで、新たな成果が生み出されることが期待されています。

・半教師あり学習

ディープラーニングなど機械学習では、学習用データセットの作成がとても重要です。特に、データにラベル付けをする「アノテーション」作業には大きなコストがかかります。そこで、大量のラベルなしデータと少量のラベルありデータを用いた「半教師あり学習」が行われることがあります。

GCNsは半教師あり学習に用いることもできます。図4のように、一部のノードにだけラベルが付与されたグラフデータがあるとしましょう。まずグラフ畳み込みを行い、各ノードの特徴量を生成します。次にラベルの存在するノードについて、得られたノード特徴量を分類モデルや回帰モデルに入力して予測を行い、予測結果と正解ラベルとを比較してGCNおよび分類/回帰モデルを訓練します。訓練によってGCNは予測に有用な特徴量を(周囲のノードを考慮して)生成するようになります。従って、GCNによって得られた特徴量を用いることで、ラベルなしデータに対してもある程度の精度で予測を行えることが期待されるのです。

図4: 半教師あり学習
・交通、物流予測

交通網もグラフデータとみなすことが出来ます。GCNsを用いて物流状況を予測することを考えてみましょう。例えば、物流センターや工場をノードとみなし、それらを結ぶ経路をエッジと考えます。物流には方向性があるので、グラフはエッジが向きをもつ有向グラフとなります。ノードである物流センターや工場は、配送する物品の貯蔵量や生産量などの情報を持っているはずです。また各経路には所要時間や通行料等の情報を持っています。

具体的な手順を考えてみましょう。有向グラフの畳み込みでは、ターゲットノードから出ていくエッジと入ってくるエッジとで畳み込みの重みを変えます。また各経路の情報も特徴量として畳み込みに反映させます。こうして得られたノード特徴量全体を時系列モデルの入力とすることで(図5)、各センターや工場の交通上の関係を考慮して物流予測を行うことができるのです。

図5: GCNsと時系列データ予測の組み合わせ




GCNsを利用することで、ネットワーク構造を持つデータに対しディープラーニングを活用することが出来るようになりました。世の中には物の関係性を表すネットワーク構造を持つグラフがたくさんあります。今後、GCNs によって、ディープラーニング技術の活用範囲がさらに広がることが期待されます。

このページをシェアする
ALBERTは、日本屈指のデータサイエンスカンパニーとして、データサイエンティストの積極的な採用を行っております。また、ビッグデータアナリティクス領域において最適なソリューションをご提供します。

データサイエンティストの採用はこちら
データ分析・プロジェクトのご相談はこちら