JP2020087127A - グラフ構造を有するデータのエンコードに関するプログラム、情報処理方法及び情報処理システム - Google Patents

グラフ構造を有するデータのエンコードに関するプログラム、情報処理方法及び情報処理システム Download PDF

Info

Publication number
JP2020087127A
JP2020087127A JP2018222606A JP2018222606A JP2020087127A JP 2020087127 A JP2020087127 A JP 2020087127A JP 2018222606 A JP2018222606 A JP 2018222606A JP 2018222606 A JP2018222606 A JP 2018222606A JP 2020087127 A JP2020087127 A JP 2020087127A
Authority
JP
Japan
Prior art keywords
data
graph
data set
attention
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018222606A
Other languages
English (en)
Inventor
チェンイ ジュアン
Chenyi Zhuang
チェンイ ジュアン
アイエルザ ナウン アルバレス
Ayerza Nahum Alvarez
アイエルザ ナウン アルバレス
五十樹 野田
Itsuki Noda
五十樹 野田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2018222606A priority Critical patent/JP2020087127A/ja
Publication of JP2020087127A publication Critical patent/JP2020087127A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

【課題】グラフについてより適切な情報を抽出できるようにする。【解決手段】各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダとグラフに関する所定の目的のためのデコーダとを有するシステムにおける上記エンコーダは、上記グラフについて、辺に対する重み付けに基づく1からK(Kは2以上の整数)ホップまでの各ホップについての畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、第1のデータセットから、第1のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、アテンションのデータと第1のデータセットとに基づき、デコーダに対する入力データを生成するステップとを実行する。【選択図】図1

Description

本発明は、グラフ構造を有するデータのエンコードに関する。
グラフ構造を有するデータ(以下、単にグラフと呼ぶ)は、複数のノードとノード間を繋ぐ辺とからなり、各ノードは特徴データを有しており、辺には重みが付与されている場合もある。このようなグラフは、Web、ソーシャルネットワーク、化合物の分子構造、電力供給網など、不規則なグリッド、より一般的には非ユークリッドドメインにある様々なものを表すことができる。
そのため、近年、このようなグラフに対する学習などのためのGCNN(Graph Convolutional Neural Network:グラフ畳み込みニューラルネットワーク)に注目が集まっている。
GCNNには、スペクトル領域に着目したものと、頂点領域に着目したものとがあるが、いずれにおいても、レセプティブフィールド(receptive field)が問題となる場合がある。レセプティブフィールドとは、特定のノードから、特定のホップ数Kで辿れる範囲を表す。図1に示すようなグラフにおいて、xiというノードに着目すると、K=1では図1(a)に示すように直接辺でxiと接続されているノード(黒丸)がレセプティブフィールドに含まれる。また、K=2では図1(b)に示すように、直接辺でxiと接続されているノード(黒丸)と当該ノードに接続されているノード(黒丸)までがレセプティブフィールドに含まれる。
GCNNについてのこれまでの従来技術のほとんどにおいて、レセプティブフィールドは固定されている。また、グラフの構造についても、所与のものとして処理する場合が多い。このような条件の下では、例えば、グラフノードの分類などのアプリケーションにおいて精度があまり高まらないという問題がある。
Xu, K.; Li, C.; Tian, Y.; Sonobe, T.; Kawarabayashi, K.; and Jegelka, S. 2018. Representation learning on graphs with jumping knowledge networks. In Proceedings of the 35th International Conference on Machine Learning, 1-10. Monti, F.; Boscaini, D.; Masci, J.; Rodola, E.; Svoboda, J.; and Bronstein, M. M. 2017. Geometric deep learning on graphs and manifolds using mixture model cnns. In Proc. CVPR, volume 1. Velickovic, P.; Cucurull, G.; Casanova, A.; Romero, A.; Lio,P.; and Bengio, Y. 2018. Graph attention networks. In Proceedings of the 6th International Conference on Learning Representations, 1-12.
従って、本発明の目的は、一側面として、グラフについてより適切な情報を抽出できるようにするための技術を提供することである。
本発明の第1の側面に係る情報処理方法は、各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダとグラフに関する所定の目的のためのデコーダとを有するシステムにおける上記エンコーダが実行するものである。そして、本方法は、(A)上記グラフについて、辺に対する重み付けに基づく1からK(Kは2以上の整数)ホップまでの各ホップについての畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、(B)第1のデータセットから、第1のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、(C)アテンションのデータと第1のデータセットとに基づき、デコーダに対する入力データを生成するステップとを含む。
本発明の第2の側面に係る情報処理方法は、上記エンコーダが実行するものであり、(A)上記グラフについて、辺に対する重み付けに基づく第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、(B)上記グラフについて、辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく第2の畳み込み演算を実行し、第2のデータセットを生成するステップと、(C)第1のデータセット及び第2のデータセットから、デコーダに対する入力データを生成するステップとを含む。
本発明の第3の側面に係る情報処理方法は、上記エンコーダが実行するものであり、(A)上記グラフについて、辺に対する重み付けに基づく1からK1(K1は2以上の整数)ホップまでの各ホップについての第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、(B)上記グラフについて、辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく1からK2(K2は2以上の整数)ホップまでの各ホップについての第2の畳み込み演算を実行し、第2のデータセットを生成するステップと、(C)第1のデータセット及び第2のデータセットから、第1のデータセット及び第2のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、(D)アテンションのデータと第1のデータセット及び第2のデータセットとに基づき、デコーダに対する入力データを生成するステップとを含む。
一側面によれば、グラフについてより適切な情報を抽出できるようになる。
図1(a)及び(b)は、レセプティブフィールドを説明するための図である。 図2は、Deeper GCNNを説明するための図である。 図3は、Deeper GCNNを説明するための図である。 図4Aは、Deeper GCNN(ニューラルネットワークを使用した場合)のイントラアテンションの一例を示す図である。 図4Bは、Deeper GCNN(LSTM(Long Short-Term Memory)を使用した場合)のイントラアテンションの一例を示す図である。 図5は、Wider GCNNを説明するための図である。 図6Aは、レギュラライザ適用前のイントラアテンションの一例を示す図である。 図6Bは、レギュラライザ適用前のイントラアテンションの一例を示す図である。 図6Cは、レギュラライザ適用前のイントラアテンションの一例を示す図である。 図6Dは、レギュラライザ適用前のイントラアテンションの一例を示す図である。 図7Aは、ハードレギュラライザ適用後のイントラアテンションの一例を示す図である。 図7Bは、ハードレギュラライザ適用後のイントラアテンションの一例を示す図である。 図7Cは、ハードレギュラライザ適用後のイントラアテンションの一例を示す図である。 図7Dは、ハードレギュラライザ適用後のイントラアテンションの一例を示す図である。 図8Aは、ソフトレギュラライザ適用後のイントラアテンションの一例を示す図である。 図8Bは、ソフトレギュラライザ適用後のイントラアテンションの一例を示す図である。 図8Cは、ソフトレギュラライザ適用後のイントラアテンションの一例を示す図である。 図8Dは、ソフトレギュラライザ適用後のイントラアテンションの一例を示す図である。 図9は、第1の実施の形態に係る情報処理装置の機能ブロック構成例を示す図である。 図10は、第1の実施の形態に係る畳み込み処理部の機能構成例を示す図である。 図11は、第1の実施の形態に係る畳み込み処理部の機能構成例を示す図である。 図12は、第1の実施の形態に係るアテンション生成部の機能構成例を示す図である。 図13は、第1の実施の形態に係る処理のフローを示す図である。 図14は、第2の実施の形態に係る情報処理装置の機能ブロック構成例を示す図である。 図15Aは、第2の実施の形態に係る畳み込み処理部の機能構成例を示す図である。 図15Bは、第2の実施の形態に係る畳み込み処理部の機能構成例を示す図である。 図16は、第2の実施の形態に係る処理のフローを示す図である。 図17は、第3の実施の形態に係る情報処理装置の機能ブロック構成例を示す図である。 図18は、第3の実施の形態に係る畳み込み処理部の機能構成例を示す図である。 図19は、第3の実施の形態に係るアテンション生成部の機能構成例を示す図である。 図20は、第3の実施の形態に係る処理のフローを示す図である。 図21は、コンピュータ装置のブロック構成図である。
[本発明の実施の形態における基本的な考え方]
本発明の実施の形態は、特定のタスク(例えばグラフノードの分類タスク)のためのエンコーダ−デコーダシステムのうちエンコーダに関するものである。特定のタスクについては様々なものが可能であり、グラフノードの分類タスクは一例に過ぎない。
本実施の形態に係るエンコーダは、3種類のGCNN(Graph Convolutional Neural Network)を活用して、グラフのデータをエンコードする。
(A)深層化GCNN(Deeper Graph Convolution Neural Network)を用いる場合
入力となるグラフに属するn個のノードを、χ={x1,x2,..,xn}とし、そのグラフの隣接行列(辺の重み付けを表す行列)はW∈Rn×nであるものとする。そして、各ノードがd次元の特徴データを有するものとすると、ノードのセットχは、行列X∈Rn×dと表される。
従来では、レセプティブフィールドのホップ数Kは固定であって、Kに小さな値を採用すれば、グラフ内において互いに遠くにあるノード間の依存性をエンコードすることができないという問題があり、Kに大きな値を採用すれば、冗長な集約により近隣の依存性を捉えられなくなる恐れがあるという問題がある。図2は、あるグラフの特定のノードxiについてK=1ホップ離れたノードxjのデータを畳み込むことを模式的に示したものであり、これではより離れたノードのデータを考慮できない。Kを大きくしても固定化している限りにおいて、上で述べた問題が生ずる。
そのため、本実施の形態では、より好ましいK、すなわち、より好ましいレセプティブフィールドの範囲を採用できるようにする。図3は、あるグラフの特定のノードxiについて、K=0(自己ループの分)からK=3までの各レセプティブフィールドを点線で示しているが、本実施の形態では、図3のように、各レセプティブフィールドを個別に考慮して複数の畳み込み演算を行う。
具体的には、本実施の形態では、自己ループを含む隣接行列Wc=W+I、隣接行列Wの次数行列D、自己ループを含む隣接行列Wcの次数行列Dc=diag(Σj≠ici,j)とすると、以下のような畳み込み演算を行う。
(1)=Dc -1/2cc -1/2XA(1) (1)
c -1/2cc -1/2は、Wcの自己ループ付きの正規化隣接行列を表している。A(1)∈Rd×eは、1ホップ先のノードの情報を、ターゲットとなるノードに集約させる全結合ニューラルネットワーク層の演算を表す。すなわち、A(1)は学習(training)の対象である。
このような畳み込み演算を、再帰的にスタッキングすることで、Kホップ先まで畳み込み演算を行うことになる。より具体的には、以下のような演算を行う。なお、1≦i≦K−1である。
(i+1)=Dc -1/2cc -1/2(i)(i+1) (2)
なお、Z(0)=XAであり、畳み込みは行われない。
そうすると、Z(0)、Z(1)、...、Z(K)が得られる。Z(i)において各ノードjのxj (i)についてのzj (i)がe次元であるとすると、Z(i)∈Re×nとなる。A∈Rd×e及びA(i+1)∈Re×eは、学習対象である。
また、各ノードxjについてのシーケンスνjは、以下のように表される。
νj=[zj (0),zj (1),...,zj (K)
このシーケンスνjは、アテンションにおけるKey-ValueペアにおけるValueに相当し、行列Vj∈R(1+K)×eで表される。
そして、シーケンスνjを、周知のLSTM(Long Short-term memory)における隠れ状態(hidden state)のシーケンスκjに変換する。LSTMにおけるパラメータ(すなわち、入力ゲート、忘却ゲート、セルゲート及び出力ゲートにおける各パラメータ)も学習の対象である。
κj=LSTM(νj)=[hj (0),hj (1),...,hj (K)] (3)
なお、LSTMに代わって全結合のニューラルネットワークを用いてもよい。この場合、∀zj (*)∈νj、hj (*)=zj (*)n+bとなる。このニューラルネットワークのパラメータも学習の対象である。
各隠れ状態がu次元であれば、シーケンスκjは、key-valueペアにおけるKeyであり、行列Kj∈R(1+K)×uで表される。
そうすると、各ノードxjに対するイントラアテンション(intra-attention)aj1×(1+K)は、以下の演算にて計算される。
j=softmax(W2σ(W1j T+b1)+b2) (4)
ここで、softmaxは、周知の関数であり、行列Fの各行fiについて以下のような演算である。
softmax(fi)=exp(fi)/Σexp(fj)
σは任意の活性化関数である。また、W1∈Ru'×u、W2∈R1×u'、b1∈Ru'×(K+1)、b2∈R1×(K+1)は、2層のニューラルネットワークのパラメータである。これらも学習の対象である。但し、2層のニューラルネットワークのパラメータは、全ノードについて共用される。
このようにして得られたajは、特定のタスク(例えばグラフノードの分類タスク)におけるノードxjに対するzj (*)の重要度を表すものである。
ノードxjについてのエンコーダの出力zjは、以下のような演算にて得られる。
j=ajj (5)
以上では、わかりやすくするために、各ノードxjについて記した部分があるが、グラフ全体の畳み込み演算の結果Z(*)、シーケンスκ(*)、その行列K(*)、イントラアテンションの行列Att(*)と表しても同様の演算を行えば得られる。
なお、学習対象となるパラメータは、特定のタスク(グラフノードの分類タスクなど)について、バックプロパゲーションを用いた周知の技術で学習されて、設定される。
図4Aに、LSTMの代わりにニューラルネットワークを用いた場合に得られるアテンションの例を示す。これは、あるデータセットで学習した後、20のノード(x_0からx_19)を有するグラフについてアテンション(K=0からK=7)を算出したものを表している。色が濃いほど値が大きい。この例では、ノードx_2及びx_15についてはK=0が重要だが、それ以外のノードについてはおおむねK=3が重要であることが分かる。
一方、図4Bに、LSTMの場合に得られるアテンションの例を示す。この場合、ノードx_2及びx_15についてK=0が重要であることは同じであるが、その他のノードについては、K=3より大きいKの範囲に幅広く重要度が分散しているように見える。これは、LSTMの方が遠いノード間の依存性についてエンコードできるためと考えられる。
このように、所定のホップ数までの各ホップ、すなわち各レセプティブフィールドについて重要度が算出されて、その重要度が反映された出力が、デコーダに入力されるようになる。これによって、特定のタスク(例えばグラフノードの分類タスク)の精度が向上する。
(B)拡張化GCNN(Wider GCNN)を用いる場合
深層化GCNNでは、レセプティブフィールドの範囲に着目していたが、拡張化GCNNでは、固定的な隣接行列Wcではなく、学習可能なパラメータとして以下のような行列Wpcを導入することで、各ノードの情報に、1ホップ先の隣接ノードの情報を動的な重みにより畳み込むようにする。
図5に模式的に示すように、あるグラフにおける特定のノードxiから1ホップ以内の隣接ノードから、このノードxiに対して、ここでは3種類の動的な重みの各々に基づいてデータを畳み込んでいる。このように動的な重みを複数の種類用意した上で、より適切な重みを採用して、最終的なタスクの精度を向上させるものである。
pc=(XMXT)◎Wc (0,1) (6)
M∈Rd×dは、学習可能なパラメータ行列である。◎はHadamard積(要素毎の積)を表すものとする。Wc (0,1)は、マスク行列であり、Wci,j>0であればWc (0,1)i,j=1であり、それ以外の場合にはWc (0,1)i,j=0である。
pcは、自己ループ付きの隣接行列Wcと同様の形を有しており、ノード間の関係を表す行列である。そして、このWpcに対して行毎にsoftmax関数を適用すれば、Wpcは行毎に正規化されるので、ノード間の重要度を表すアテンション(Inter-Attention)とも言える。なお、Softmax関数を適用しなくても、Wpcの各行における各要素値の相対的な大小関係は変わらないので、Wpcそれ自身であっても、ノード間の相対的な重要度を表す行列である。
なお、Mはl通り用意する。そのため、Wpcもl通り得られる。l番目のWpcをWpc lと表すものとする。
拡張化GCNNでは、深層化GCNNにおいて示したZ(0)=XAと、(1)式から得られるZ(1)をも用いる。
そして、深層化GCNNのWcの代わりに、l個のWpcを用いて以下のような畳み込み演算を行う。
(1) l=Dpc -1/2pc lpc -1/2XA* (7)
pcは、Wpc lの次数行列である。A*は、学習対象であるが、全lについて共用される。
これによって、Z(1) 1,Z(1) 2,...,Z(1) lが得られるようになる。Z(0)も、Z(1)も、Z(1) 1,Z(1) 2,...,Z(1) lもn×e次元の行列である。
拡張化GCNNでは、Z(0)、Z(1)、及びZ(1) 1,Z(1) 2,...,Z(1) lを連結することで、エンコーダの出力∈Rn×(l+2)eが得られる。
このような拡張化GCNNを用いる場合には、隣接行列Wpcが各ノードの特徴データ及び自己ループを含む隣接行列を反映させた形で学習可能となっており、柔軟な形で隣接するノードの特徴データを反映させた形で、グラフをエンコードできるようになる。
(C)深層化及び拡張化GCNN(Deeper and Wider GCNN)を用いる場合
これは、深層化GCNN及び拡張化GCNNを組み合わせたものである。単純な組み合わせではなく、拡張化GCNNにおいても深層化を図る。
具体的には、Z(0)=XAと、(1)式及び(2)式で得られるZ(1)、...、Z(K)とを計算する。
また、(6)式の演算を行うことで、Z(1) 1,Z(1) 2,...,Z(1) lを計算する。
さらに、(6)式の演算を再帰的にスタッキングすることで、Kホップ先(Deeper GCNNおけるKとは異なる場合もある)まで畳み込み演算を行うことになる。より具体的には、以下のような演算を行う。なお、1≦i≦K−1である。
(i+1) l=Dpc -1/2pclpc -1/2(i) l(i+1) (8)
(8)式においてlは、1から指定された値lまで変化する。
よって、Z(2) 1,Z(2) 2,...,Z(2) l、...、Z(K) 1,Z(K) 2,...,Z(K) lが、得られるようになり、これらはZ∈Rn×(1+k+lk)×eという3次元テンソルとして表される。
そうすると、ノードxjについてのシーケンスνjは、以下のように拡張される。
νj=[zj (0),zj (1),...,zj (K),Z(1) j,1,Z(2) j,1,...,Z(K) j,1,Z(1) j,2,Z(2) j,2,...,Z(K) j,2,...,Z(1) j,l,Z(2) j,l,...,Z(K) j,l
よって、シーケンスνjの行列Viは、アテンションのkey-valueペアのvalueに相当し、(1+K+Kl)×e次元の行列に拡張される。
そうすると、拡張されたシーケンスνjを、上で述べたのと同様にLSTMで隠れ状態のシーケンスκjに変換する。
κj=LSTM(νj)=[hj (0),hj (1),...,hj (K),hj,1 (0),hj,1 (1),...,hj,1 (K),hj,2 (0),hj,2 (1),...,hj,2 (K),...,hj,l (0),hj,l (1),...,hj,l (K)] (9)
シーケンスκjは、アテンションにおけるkey-valueペアのKeyであり、その行列Kjは、(1+K+Kl)×u次元の行列である。
ここでも全結合のニューラルネットワークを用いてもよい。
さらに、ノードxjのアテンション行列Attj∈Rt×(1+k+lk)は、以下のように表される。
Attj=softmax(W2σ(W1j T+b1)+b2) (10)
ここで、W1∈Ru'×u、W2∈Rt×u'、b1∈Ru'×(1+K+Kl)、b2∈Rt×(1+K+Kl)は、2層のニューラルネットワークのパラメータである。
このように、アテンション行列Attjは、シーケンスνjの各要素についてt種類のアテンションを含むものである。
そして、各ノードxjについてのアテンション行列Attjとシーケンスνjの行列Viとから、各ノードxjについてのエンコーダの出力zj∈Rte×1が算出される。
j=Attjj (11)
このようにすれば、各ノードのシーケンスνjに含まれるデータの種類数が増加するが、それらについてはアテンションが設定されるので、アテンションによる重要度を反映させた形で、デコーダに出力がなされるようになる。
D)レギュラライザ
なお、Attj∈Rt×(1+k+lk)は、上でも述べたようにt種類のアテンションを含むが、学習方法によっては、ほとんど変わらないt種類のアテンションを含むようになってしまう場合がある。
t種類のアテンションの差を強調するため、以下のような2つの方法のいずれかが用いられる場合がある。
d1)ハードアテンションレギュラライザ
ここでは、AttjをAttと簡略化し、Attのi列をAttiと表し、j列をAttjと表すものとする。
そして以下で定義されるLregを最小化する(具体的にはゼロにする)ことで、Attを直行行列化する。
reg=||AttAttT−I||2
ここでI∈Rt×tは単位行列を表し、||*||2は、Forbeniusノルムを表す。
すなわち、i≠jならばAttiAttj Tは0になり、i=jならばAttiAttj Tは1になる。各列の全要素の和は1になるので、Attiは1要素だけが1になるベクトルとなる。
d2)ソフトアテンションレギュラライザ
regについて、以下のように定義することも可能である。
reg=||AttAttT◎(J−I)||2
ここでJ∈Rt×tは、全ての要素が1である行列であり、◎はHadamard積を表す。
regを最小化しても、Attiの大きさについては無理に1にしないので、1要素だけが1になるベクトルとはならない。
例えば、t=4であって4種類のアテンションが得られた場合を想定する。ここでは、K=4でl=1であることを想定する。よって、各ノードxjについて、
[zj (0),zj (1),zj (2),zj (3),zj (4),Z(1) j,1,Z(2) j,1,Z(3) j,1,Z(4) j,1
の各々について重要度が算出される。
レギュラライザを用いない場合、例えば、図6A乃至図6Dの4種類のアテンションが得られたものとする。なお、チルダ付きのKは、l=1の場合を表している。このように、4種類のアテンションがあまり変わらないものになってしまう場合がある。
これに対してハードアテンションレギュラライザを適用すると、図7A乃至図7Dが得られるようになる。ハードアテンションレギュラライザを適用すると、あるK(又はチルダ付きK)に重要度が集約される傾向になる。
一方、ソフトアテンションレギュラライザを適用すると、図8A乃至図8Dが得られるようになる。図8Aのみではあるが、段階的な重要度の設定がなされている。
これらの例では、ソフトアテンションレギュラライザを適用する場合が最もグラフノード分類タスクの精度が高かったが、レギュラライザの適用可否、ソフトとハードの選択は、タスクごとに行う。
[本発明の実施の形態1]
深層化GCNNを用いる場合における情報処理装置の構成例を図9に示す。
本実施の形態の情報処理装置1000は、グラフデータ格納部1100と、エンコーダ1200と、デコーダ1300と、学習部1400とを有する。
グラフデータ格納部1100は、処理の対象となるグラフのデータ(X及びWcなど)を格納する。エンコーダ1200は、グラフデータ格納部1100に格納されたデータに対して所定のエンコード処理を実行する。これに対して、デコーダ1300は、エンコーダ1200の出力に基づき、所定の目的(例えばグラフノードの分類)のための処理を実行する。デコーダ1300の構成は、目的に応じて変わり、本実施の形態の主要部ではないので、説明を省略する。学習部1400は、上で述べた学習対象となるパラメータを決定するための処理を実行する。本実施の形態では、畳み込み処理部1210、アテンション生成部1230及びデコーダ1300におけるパラメータを、予め解(例えばグラフノードの分類結果)が分かっているグラフのデータに基づき設定する。
エンコーダ1200は、畳み込み処理部1210と、第1データ格納部1220と、アテンション生成部1230と、第2データ格納部1240と、出力生成部1250と、出力データ格納部1260とを有する。
畳み込み処理部1210は、上で述べた(1)式及び(2)式等の演算を実行し、演算の結果を第1データ格納部1220に格納する。アテンション生成部1230は、上で述べた(3)式及び(4)式の演算を実行し、演算の結果であるアテンションのデータを第2データ格納部1240に格納する。出力生成部1250は、(5)式の演算を実行し、演算結果を出力データ格納部1260に格納する。出力データ格納部1260に格納されたデータは、デコーダ1300に出力される。
畳み込み処理部1210の機能構成例を、図10及び図11に示す。図10に示すように、畳み込み処理部1210は、Z(1),...,Z(K)を算出するために、(1)式に従ってXとWcとからZ(1)を演算する演算部1211と、(2)式に従ってz(1)とWcとからZ(2)を演算する演算部1212と、(2)式に従ってZ(2)とWcとからZ(3)を演算する演算部1212等を有する。図11に示すように、畳み込み演算部1210は、さらに、Z(0)=XAにより、XからZ(0)を算出する演算部1215を有する。
アテンション生成部1230の機能構成例を図12に示す。アテンション生成部1230は、キー生成部1231と、キー格納部1232と、変換部1233とを有する。キー生成部1231は、LSTMや全結合のニューラルネットワークを含み、第1データ格納部1220に格納されたデータをバリュー(Value)として入力し、(3)式(又は(3)式の下に示した式)のような演算を実行し、キー(Key)の値をキー格納部1232に格納する。変換部1233は、キー格納部1232に格納されているキーの値を例えば(4)式で変換して、アテンションのデータを生成し、第2データ格納部1240に格納する。
このような情報処理装置1000の機能は、1台のコンピュータではなくネットワークなどで接続された複数台のコンピュータにて実装される場合もある。
次に、本実施の形態に係る情報処理装置1000の処理内容を図13を用いて説明する。
まず、畳み込み処理部1210は、グラフデータ格納部1100に格納されているグラフのデータに基づき、当該グラフに対して、1からKホップまでの各々についての畳み込み演算を含む処理を実行して、処理結果を第1データ格納部1220に格納する(ステップS1)。畳み込み処理部1210の演算部1215は、畳み込み演算ではないZ(0)=XAに従って演算を行う。畳み込み処理部1210の演算部1211は、(1)式に従って演算を行い、演算部1212及び1213等は、(2)式に従って演算を行う。
また、アテンション生成部1230のキー生成部1231は、第1データ格納部1220に格納されている畳み込み演算結果等から、キーを生成し、キー格納部1232に格納する(ステップS3)。キーの生成は、LSTMを用いてもよいし、ニューラルネットワークを用いてもよい。なお、後に述べるが、さらに他の方法を採用することも可能である。
さらに、アテンション生成部1230の変換部1233は、キー格納部1232に格納されているキーを、例えば(4)式に従って、アテンションに変換し、第2データ格納部1240に格納する(ステップS5)。このようなアテンションの生成は、後にも述べるが他の方法を採用するようにしてもよい。
そして、出力生成部1250は、第1データ格納部1220に格納された畳み込み演算の結果等と第2データ格納部1240に格納されたアテンションのデータから、(5)式に従ってエンコーダの出力を生成して、出力データ格納部1260に格納する(ステップS7)。
以上のような処理を行うことで、各レセプティブフィールドについて重要度が算出されて、その重要度が反映された出力が、デコーダに入力されるようになる。
[実施の形態2]
拡張化GCNNを用いる場合における情報処理装置の構成例を図14に示す。
本実施の形態の情報処理装置1000bは、グラフデータ格納部1100と、エンコーダ1200bと、デコーダ1300bと、学習部1400bとを有する。グラフデータ格納部1100に格納されているグラフのデータについては第1の実施の形態と同じである。
本実施の形態に係るエンコーダ1200bも、グラフデータ格納部1100に格納されたデータに対して所定のエンコード処理を実行する。また、デコーダ1300bも、エンコーダ1200bの出力に基づき、所定の目的のための処理を実行する。学習部1400bは、上で述べた学習対象となるパラメータを決定するための処理を実行する。本実施の形態では、畳み込み処理部1210b及びデコーダ1300bにおけるパラメータを、予め解(例えばグラフノードの分類結果)が分かっているグラフのデータに基づき設定する。
エンコーダ1200bは、畳み込み処理部1210bと、第1データ格納部1220bと、出力生成部1250bと、出力データ格納部1260bとを有する。
畳み込み処理部1210bは、上で述べた(1)式及び(7)式等の演算を実行し、演算の結果を第1データ格納部1220bに格納する。出力生成部1250bは、第1データ格納部1220bに格納されている畳み込み演算の結果等を連結することで出力データを生成し、出力データ格納部1260bに格納する。出力データ格納部1260bに格納されたデータは、デコーダ1300bに出力される。
畳み込み処理部1210bの構成例を図15A及び図15Bに示す。図15Aに示すように、畳み込み処理部1210bは、第1の実施の形態でも示された演算部1211を有する。また、図15Bに示すように、畳み込み処理部1210bは、さらに、各々(6)式を用いて得られるWpc (1)乃至Wpc (l)のいずれかを用いて(7)式に従って演算を行うl個の演算部1216を有する。なお、畳み込み処理部1210bは、図11に示した演算部1215をも有する。
このような情報処理装置1000bの機能は、1台のコンピュータではなくネットワークなどで接続された複数台のコンピュータにて実装される場合もある。
次に、情報処理装置1000bの処理内容について、図16を用いて説明する。
まず、畳み込み処理部1210bは、グラフデータ格納部1100に格納されているグラフのデータに基づき、当該グラフに対して、自己ループ付きの隣接行列を用いた畳み込み演算を含む処理を実行して、処理結果を第1データ格納部1220bに格納する(ステップS11)。畳み込み処理部1210bの演算部1215は、畳み込み演算ではないZ(0)=XAに従って演算を行う。畳み込み処理部1210bの演算部1211は、(1)式に従って演算を行う。
さらに、畳み込み処理部1210bは、グラフデータ格納部1100に格納されているグラフのデータに基づき、当該グラフに対して、l通りの学習済み隣接行列Wpc (1)乃至Wpc (l)を用いた畳み込み演算を実行し、演算結果を第1データ格納部1220bに格納する(ステップS13)。畳み込み処理部1210bの演算部1216が、(7)式に従って演算を行う。
そして、出力生成部1250bは、第1データ格納部1220bに格納されている畳み込み演算の結果等を連結することで出力データを生成し、出力データ格納部1260bに格納する(ステップS15)。
このような処理を行えば、学習後の適切な重みで隣接するノードの情報を畳み込むことができるようになる。
[実施の形態3]
深層化及び拡張化GCNNを用いる場合における情報処理装置の構成例を図17に示す。
本実施の形態の情報処理装置1000cは、グラフデータ格納部1100と、エンコーダ1200cと、デコーダ1300cと、学習部1400cとを有する。グラフデータ格納部1100は、第1の実施の形態と同様である。
本実施の形態においてもエンコーダ1200cは、グラフデータ格納部1100に格納されたデータに対して所定のエンコード処理を実行する。また、デコーダ1300cは、エンコーダ1200cの出力に基づき、所定の目的(例えばグラフノードの分類)のための処理を実行する。学習部1400cは、上で述べた学習対象となるパラメータを決定するための処理を実行する。本実施の形態では、畳み込み処理部1210c、アテンション生成部1230c及びデコーダ1300cにおけるパラメータを、予め解(例えばグラフノードの分類結果)が分かっているグラフのデータに基づき設定する。
エンコーダ1200cは、畳み込み処理部1210cと、第1データ格納部1220cと、アテンション生成部1230cと、第2データ格納部1240cと、出力生成部1250cと、出力データ格納部1260cとを有する。
畳み込み処理部1210cは、上で述べた(1)式、(2)式、(7)式及び(8)式等の演算を実行し、演算の結果を第1データ格納部1220cに格納する。アテンション生成部1230cは、上で述べた(9)式及び(10)式の演算を実行し、演算の結果であるアテンションのデータを第2データ格納部1240cに格納する。なお、アテンション生成部1230cは、場合によってはレギュラライザの適用も行う。出力生成部1250cは、(11)式の演算を実行し、演算結果を出力データ格納部1260cに格納する。出力データ格納部1260cに格納されたデータは、デコーダ1300cに出力される。
畳み込み処理部1210cは、(1)式及び(2)式等の演算を実行するため、図10及び図11に示す構成を有する。さらに、畳み込み処理部1210cは、図18に示す構成を有する。図18に示すように、畳み込み処理部1210cは、Z(1) 1,Z(2) 1,...,Z(K) 1,Z(1) 2,Z(2) 2,...,Z(K) 2,...,Z(1) l,Z(2) l,...,Z(K) lを算出するために、(7)式に従ってXとWpc 1〜lとからZ(1)1〜lを演算する演算部1216(図15Bと同じ)と、(8)式に従ってZ(1)1〜lとWpc 1〜lとからZ(2)1〜lを演算する演算部1217と、(8)式に従ってZ(2)1〜lとWpc 1〜lとからZ(3)1〜lを演算する演算部1218等を有する。
また、アテンション生成部1230cの機能構成例を図19に示す。アテンション生成部1230cは、キー生成部1231cと、キー格納部1232cと、変換部1233cとを有する。キー生成部1231cは、LSTMや全結合のニューラルネットワークを含み、第1データ格納部1220cに格納されたデータをバリュー(Value)として入力し、(9)式のような演算(又は全結合のニューラルネットワークで行われる演算)を実行し、キー(Key)の値をキー格納部1232cに格納する。変換部1233cは、キー格納部1232cに格納されているキーの値を例えば(10)式で変換して、アテンションのデータを生成し、第2データ格納部1240cに格納する。なお、変換部1233cは、レギュラライザ1234を有している。レギュラライザ1234は、アテンションの種類が複数(すなわちtが1よりも大きい)であって、ユーザなどによって指示された場合には、ハードアテンションレギュラライザ又はソフトアテンションレギュラライザについて述べた所定のノルムを短縮化する処理を実行し、処理結果を第2データ格納部1240cに格納する。
このような情報処理装置1000cの機能は、1台のコンピュータではなくネットワークなどで接続された複数台のコンピュータにて実装される場合もある。
次に、本実施の形態に係る情報処理装置1000cの処理内容を図20を用いて説明する。
まず、畳み込み処理部1210cは、グラフデータ格納部1100に格納されているグラフのデータに基づき、当該グラフに対して、1からKホップまでの各々についての畳み込み演算を含む処理を実行して、処理結果を第1データ格納部1220に格納する(ステップS31)。畳み込み処理部1210cの演算部1215は、畳み込み演算ではないZ(0)=XAに従って演算を行う。畳み込み処理部1210cの演算部1211は、(1)式に従って演算を行い、演算部1212及び1213等は、(2)式に従って演算を行う。
また、畳み込み処理部1210cは、グラフデータ格納部1100に格納されているグラフのデータに基づき、当該グラフに対して、1からKホップまでの各々についてのl通りの学習済み隣接行列を用いた畳み込み演算を実行して、処理結果を第1データ格納部1220cに格納する(ステップS33)。畳み込み処理部1210cの演算部1216は、(7)式に従って演算を行い、演算部1217及び1218等は、(8)式に従って演算を行う。
また、アテンション生成部1230cのキー生成部1231cは、第1データ格納部1220cに格納されている畳み込み演算結果等から、(9)式などに従ってキーを生成し、キー格納部1232cに格納する(ステップS35)。キーの生成は、LSTMを用いてもよいし、ニューラルネットワークを用いてもよい。なお、後に述べるが、さらに他の方法を採用することも可能である。
さらに、アテンション生成部1230cの変換部1233cは、キー格納部1232cに格納されているキーを、例えば(10)式に従って、アテンションに変換し、第2データ格納部1240cに格納する(ステップS37)。このようなアテンションの生成は、後にも述べるが他の方法を採用するようにしてもよい。
ここで、アテンション生成部1230cの変換部1233cは、レギュラライザを適用すべきか否かを、例えば設定等から判断する(ステップS39)。レギュラライザを適用しない場合には、処理はステップS45に移行する。一方、レギュラライザを適用する場合には、レギュラライザ1224は、上で述べたハードアテンションレギュラライザ又はソフトアテンションレギュラライザを、ステップS37で得られたアテンションのデータに適用して、処理結果を第2データ格納部1240cに格納する。いずれのレギュラライザを適用するかについては、設定等に基づく。
そして、出力生成部1250cは、第1データ格納部1220cに格納された畳み込み演算の結果等と第2データ格納部1240cに格納されたアテンションのデータから、(11)式に従ってエンコーダの出力を生成して、出力データ格納部1260cに格納する(ステップS45)。
グラフにおける接続関係に基づく隣接行列を用いた畳み込み演算を各レセプティブフィールドについて行って、さらに複数の学習済みの隣接行列を用いた畳み込み演算を各レセプティブフィールドについて行っているので、出力の種類数が増加している。しかし、併せて適切なアテンションを生成することで、重要度を反映させた形でデコーダに出力しているので、精度よく目的となるタスクを行うことができるようになる。
以上、本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で述べた機能ブロック構成又はモジュール構成は一例であって、異なる構成を採用してもよい。具体的には、1つの機能ブロック又はモジュールを複数に分割したり、複数の機能ブロック又はモジュールを1つに統合したりしてもよい。
また、処理フローについても、処理結果が変わらない限り、処理の順番を入れ替えたり、複数ステップを並列実行するようにしてもよい。
例えば、イントラアテンションの生成方法は、上で述べた方法に限定されない。例えば、シーケンスνjからシーケンスκjを生成する際にLSTM又は全結合のニューラルネットワークを用いる例を示したが、例えばシーケンスνjとシーケンスκjとを同じにするようにしてもよいし、例えばシーケンスνjを双方向LSTM(例えば、以下の論文を参照こと。Graves, Alex, and Juergen Schmidhuber. "Framewise phoneme classification with bidirectional LSTM and other neural network architectures."Neural Networks 18.5-6 (2005): 602-610.)に入力してキーを生成するようにしてもよい。また、Softmax関数等は、compatibility functionの一例であって、直接のベクトルの乗算(例えば、以下の論文を参照こと。Vaswani, Ashish, et al. "Attention is all you need."Advances in Neural Information Processing Systems. 2017.)のような演算にしてもよい。その他、これまでアテンションにおいて採用されてきた様々な手法の適用が考えられる。
さらに、デコーダで行われるタスクについては、グラフノードの分類を例示していたが、グラフ自体の分類や、グラフにおける欠落リンクの予想等であってもよい。すなわち、グラフについての様々なタスクに適用できる。
なお、上で述べた情報処理装置1000、1000b及び1000cは、コンピュータ装置であって、図21に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。なお、HDDはソリッドステート・ドライブ(SSD:Solid State Drive)などの記憶装置でもよい。オペレーティング・システム(OS:Operating System)及び本発明の実施の形態における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
なお、上で述べたような処理を実行することで用いられるデータは、処理途中のものであるか、処理結果であるかを問わず、メモリ2501又はHDD2505等の記憶装置に格納される。
以上述べた実施の形態をまとめると以下のようになる。
本実施の形態の第1の態様に係る情報処理方法は、各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダとグラフに関する所定の目的のためのデコーダとを有するシステムにおける上記エンコーダが実行する方法である。そして、本方法は、(A)上記グラフについて、辺に対する重み付けに基づく1からK(Kは2以上の整数)ホップまでの各ホップについての畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、(B)第1のデータセットから、第1のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、(C)アテンションのデータと第1のデータセットとに基づき、デコーダに対する入力データを生成するステップとを含む。
このように、辺に対する重み付けに基づく1からKホップの各ホップについての畳み込み演算を実施した上で、それによって生成された各データ要素の重要度を表すアテンションのデータを生成するので、ノード毎にレセプティブフィールドのうち重要視すべき部分を採用してエンコーダの出力を生成できるようになる。デコーダと併せれば、所定のタスクの精度を高めることができるようになる。
なお、上で述べた畳み込み演算が、(a1)1ホップについて、上記グラフにおける自己ループ付きの正規化隣接行列と特徴データを表す行列と第1の学習済みニューラルネットワークのパラメータ行列との積である畳み込み演算と、(a2)i(iは2以上K以下の整数)ホップについて、上記グラフにおける自己ループ付きの正規化隣接行列と(i−1)ホップについて畳み込み演算の結果と第iの学習済みニューラルネットワークのパラメータ行列との積である畳み込み演算とを含むようにしてもよい。このようにすれば、1からKホップの各々について畳み込み演算を行うことができるようになる。
また、上で述べたアテンションのデータを生成するステップが、(c1)第1のデータセットに対して、学習済みのLSTM(Long Short-term memory)又は学習済みのニューラルネットワークによる演算を行って、当該演算の結果を所定関数で処理するステップを含むようにしてもよい。これによって、所定のタスクの精度を高めることができるようになる。
なお、上で述べた所定関数が、上記演算の結果に対する学習済みの2層のニューラルネットワークによる演算を含むようにしてもよい。
本実施の形態の第2の態様に係る情報処理方法は、上で述べたようなエンコーダにより実行される方法であり、(A)上記グラフについて、辺に対する重み付けに基づく第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、(B)上記グラフについて、辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく第2の畳み込み演算を実行し、第2のデータセットを生成するステップと、(C)第1のデータセット及び第2のデータセットから、デコーダに対する入力データを生成するステップとを含む。
第2の態様に係る情報処理方法では、元々のグラフの辺の重み付けとは異なる学習済みの重み付けにより1ホップ先の隣接ノードの情報を畳み込むものである。この学習済みの重み付けは、ノード間のアテンションを意味するものである。これによって、適切な重み付けにて、各ノードに隣接ノードの特徴データが畳み込まれるので、デコーダと併せれば、所定のタスクの精度を高めることができるようになる。
なお、上で述べた辺に対する重み付けとは異なるl通りの重み付けの各々が、(a1)特徴データを表す行列と、学習済みの行列と、上記グラフにおける自己ループ付き隣接行列に基づくマスク行列とから得られる第2の隣接行列でなされるようにしてもよい。元々のグラフのデータを適切な形で織り込みつつ、特定のタスクに適合した隣接行列が得られるようになる。
上で述べた入力データを生成するステップが、(c1)第1のデータセットと前記第2のデータセットを連結するステップを含むようにしてもよい。
本実施の形態の第3の態様に係る情報処理方法は、上で述べたようなエンコーダにより実行される方法であって、(A)上記グラフについて、辺に対する重み付けに基づく1からK1(K1は2以上の整数)ホップまでの各ホップについての第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、(B)上記グラフについて、辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく1からK2(K2は2以上の整数)ホップまでの各ホップについての第2の畳み込み演算を実行し、第2のデータセットを生成するステップと、(C)第1のデータセット及び第2のデータセットから、第1のデータセット及び第2のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、(D)アテンションのデータと第1のデータセット及び第2のデータセットとに基づき、デコーダに対する入力データを生成するステップとを含む。
このように第1の態様と第2の態様とを組み合わせて拡張することで、デコーダと併せれば、特定のタスクの精度を向上させることができるようになる。
なお、上で述べた第2の畳み込み演算は、l通りの学習済みの重み付けを表す行列の各々について、(b1)1ホップについて、特徴データを表す行列と当該学習済みの重み付けを表す行列と上記グラフにおける自己ループ付き隣接行列に基づくマスク行列とから得られる第2の隣接行列と、特徴データを表す行列と、第1の学習済みニューラルネットワークのパラメータ行列と、の積である畳み込み演算と、(b2)i(iは2以上K以下の整数ホップ)について、第2の隣接行列と(i−1)ホップについて畳み込み演算の結果と第iの学習済みニューラルネットワークのパラメータ行列との積である畳み込み演算と、を含むようにしてもよい。
このように第1の態様における畳み込み演算に従って、第2の畳み込み演算を定義することができる。また、第1の態様におけるアテンションのデータの生成と同様の処理を、第3の態様において行ってもよい。さらに、第3の態様における第1の畳み込み演算は、第1の態様における畳み込み演算と同様であってもよい。
さらに、上で述べたアテンションのデータを生成するステップが、(c1)第1のデータセット及び第2のデータセットに含まれる各データ要素の重要度を表す複数種類の行列を生成するステップと、(c2)複数種類の行列の各々について、当該種類の行列について定義した所定のノルムを短縮化する処理を実行することで、複数種類のアテンションのデータを生成するステップとを含むようにしてもよい。これによって、重要視すべきデータ要素を強調することができるようになる。
以上述べた情報処理方法をコンピュータに実行させるためのプログラムを作成することができて、そのプログラムは、様々な記憶媒体に記憶される。
また、上で述べたような情報処理方法を実行する情報処理装置は、1台のコンピュータで実現される場合もあれば、複数台のコンピュータで実現される場合もあり、それらを合わせて情報処理システム又は単にシステムと呼ぶものとする。
1000 情報処理装置
1100 グラフデータ格納部
1200 エンコーダ
1210 畳み込み処理部
1220 第1データ格納部
1230 アテンション生成部
1240 第2データ格納部
1250 出力生成部
1260 出力データ格納部
1300 エンコーダ
1400 学習部

Claims (16)

  1. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダと前記グラフに関する所定の目的のためのデコーダとを有するシステムにおける前記エンコーダに、
    前記グラフについて、前記辺に対する重み付けに基づく1からK(Kは2以上の整数)ホップまでの各ホップについての畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、
    前記第1のデータセットから、前記第1のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、
    前記アテンションのデータと前記第1のデータセットとに基づき、前記デコーダに対する入力データを生成するステップと、
    を実行させるためのプログラム。
  2. 前記畳み込み演算が、
    1ホップについて、前記グラフにおける自己ループ付きの正規化隣接行列と前記特徴データを表す行列と第1の学習済みニューラルネットワークのパラメータ行列との積である畳み込み演算と、
    i(iは2以上K以下の整数)ホップについて、前記グラフにおける自己ループ付きの正規化隣接行列と(i−1)ホップについて畳み込み演算の結果と第iの学習済みニューラルネットワークのパラメータ行列との積である畳み込み演算と
    を含む請求項1記載のプログラム。
  3. 前記アテンションのデータを生成するステップが、
    前記第1のデータセットに対して、学習済みのLSTM(Long Short-term memory)又は学習済みのニューラルネットワークによる演算を行って、当該演算の結果を所定関数で処理するステップ
    を含む請求項1記載のプログラム。
  4. 前記所定関数が、前記演算の結果に対する学習済みの2層のニューラルネットワークによる演算を含む
    請求項3記載のプログラム。
  5. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダと前記グラフに関する所定の目的のためのデコーダとを有するシステムにおける前記エンコーダに、
    前記グラフについて、前記辺に対する重み付けに基づく第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、
    前記グラフについて、前記辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく第2の畳み込み演算を実行し、第2のデータセットを生成するステップと、
    前記第1のデータセット及び前記第2のデータセットから、前記デコーダに対する入力データを生成するステップと、
    を実行させるためのプログラム。
  6. 前記辺に対する重み付けとは異なるl通りの重み付けの各々が、
    前記特徴データを表す行列と、学習済みの行列と、前記グラフにおける自己ループ付き隣接行列に基づくマスク行列とから得られる第2の隣接行列でなされる
    請求項5記載のプログラム。
  7. 前記入力データを生成するステップが、
    前記第1のデータセットと前記第2のデータセットを連結するステップ
    を含む請求項5記載のプログラム。
  8. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダと前記グラフに関する所定の目的のためのデコーダとを有するシステムにおける前記エンコーダに、
    前記グラフについて、前記辺に対する重み付けに基づく1からK1(K1は2以上の整数)ホップまでの各ホップについての第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、
    前記グラフについて、前記辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく1からK2(K2は2以上の整数)ホップまでの各ホップについての第2の畳み込み演算を実行し、第2のデータセットを生成するステップと、
    前記第1のデータセット及び第2のデータセットから、前記第1のデータセット及び前記第2のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、
    前記アテンションのデータと前記第1のデータセット及び前記第2のデータセットとに基づき、前記デコーダに対する入力データを生成するステップと、
    を実行させるためのプログラム。
  9. 前記第2の畳み込み演算は、l通りの学習済みの重み付けを表す行列の各々について、
    1ホップについて、前記特徴データを表す行列と当該学習済みの重み付けを表す行列と前記グラフにおける自己ループ付き隣接行列に基づくマスク行列とから得られる第2の隣接行列と、前記特徴データを表す行列と、第1の学習済みニューラルネットワークのパラメータ行列と、の積である畳み込み演算と、
    i(iは2以上K以下の整数ホップ)について、前記第2の隣接行列と(i−1)ホップについて畳み込み演算の結果と第iの学習済みニューラルネットワークのパラメータ行列との積である畳み込み演算と、
    を含む請求項8記載のプログラム。
  10. 前記アテンションのデータを生成するステップが、
    前記第1のデータセット及び前記第2のデータセットに含まれる各データ要素の重要度を表す複数種類の行列を生成するステップと、
    前記複数種類の行列の各々について、当該種類の行列について定義した所定のノルムを短縮化する処理を実行することで、複数種類のアテンションのデータを生成するステップと、
    を含む請求項8記載のプログラム。
  11. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダと前記グラフに関する所定の目的のためのデコーダとを有するシステムにおける前記エンコーダが、
    前記グラフについて、前記辺に対する重み付けに基づく1からK(Kは2以上の整数)ホップまでの各ホップについての畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、
    前記第1のデータセットから、前記第1のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、
    前記アテンションのデータと前記第1のデータセットとに基づき、前記デコーダに対する入力データを生成するステップと、
    を実行する情報処理方法。
  12. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダと前記グラフに関する所定の目的のためのデコーダとを有するシステムにおける前記エンコーダが、
    前記グラフについて、前記辺に対する重み付けに基づく第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、
    前記グラフについて、前記辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく第2の畳み込み演算を実行し、第2のデータセットを生成するステップと、
    前記第1のデータセット及び前記第2のデータセットから、前記デコーダに対する入力データを生成するステップと、
    を実行する情報処理方法。
  13. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフをエンコードするエンコーダと前記グラフに関する所定の目的のためのデコーダとを有するシステムにおける前記エンコーダが、
    前記グラフについて、前記辺に対する重み付けに基づく1からK1(K1は2以上の整数)ホップまでの各ホップについての第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成するステップと、
    前記グラフについて、前記辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく1からK2(K2は2以上の整数)ホップまでの各ホップについての第2の畳み込み演算を実行し、第2のデータセットを生成するステップと、
    前記第1のデータセット及び第2のデータセットから、前記第1のデータセット及び前記第2のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成するステップと、
    前記アテンションのデータと前記第1のデータセット及び前記第2のデータセットとに基づき、前記デコーダに対する入力データを生成するステップと、
    を実行する情報処理方法。
  14. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフに関する所定の目的のためのデコーダに対して、前記グラフをエンコードする処理を行うエンコーダの情報処理システムであって、
    前記グラフについて、前記辺に対する重み付けに基づく1からK(Kは2以上の整数)ホップまでの各ホップについての畳み込み演算を含む処理を実行し、第1のデータセットを生成する処理部と、
    前記第1のデータセットから、前記第1のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成する第1の生成部と、
    前記アテンションのデータと前記第1のデータセットとに基づき、前記デコーダに対する入力データを生成する第2の生成部と、
    を有する情報処理システム。
  15. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフに関する所定の目的のためのデコーダに対して、前記グラフをエンコードする処理を行うエンコーダの情報処理システムであって、
    前記グラフについて、前記辺に対する重み付けに基づく第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成する処理部と、
    前記グラフについて、前記辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく第2の畳み込み演算を実行し、第2のデータセットを生成する第1の生成部と、
    前記第1のデータセット及び前記第2のデータセットから、前記デコーダに対する入力データを生成する第2の生成部と、
    を有する情報処理システム。
  16. 各々特徴データを有する複数のノードとノード間の重み付けされた辺とを含むグラフに関する所定の目的のためのデコーダに対して、前記グラフをエンコードする処理を行うエンコーダの情報処理システムであって、
    前記グラフについて、前記辺に対する重み付けに基づく1からK1(K1は2以上の整数)ホップまでの各ホップについての第1の畳み込み演算を含む処理を実行し、第1のデータセットを生成し、前記グラフについて、前記辺に対する重み付けとは異なるl(lは1以上の整数)通りの学習済みの重み付けに基づく1からK2(K2は2以上の整数)ホップまでの各ホップについての第2の畳み込み演算を実行し、第2のデータセットを生成する処理部と、
    前記第1のデータセット及び第2のデータセットから、前記第1のデータセット及び前記第2のデータセットに含まれる各データ要素の重要度を表すアテンションのデータを生成する第1の生成部と、
    前記アテンションのデータと前記第1のデータセット及び前記第2のデータセットとに基づき、前記デコーダに対する入力データを生成する第2の生成部と、
    を有する情報処理システム。
JP2018222606A 2018-11-28 2018-11-28 グラフ構造を有するデータのエンコードに関するプログラム、情報処理方法及び情報処理システム Pending JP2020087127A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018222606A JP2020087127A (ja) 2018-11-28 2018-11-28 グラフ構造を有するデータのエンコードに関するプログラム、情報処理方法及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018222606A JP2020087127A (ja) 2018-11-28 2018-11-28 グラフ構造を有するデータのエンコードに関するプログラム、情報処理方法及び情報処理システム

Publications (1)

Publication Number Publication Date
JP2020087127A true JP2020087127A (ja) 2020-06-04

Family

ID=70908393

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018222606A Pending JP2020087127A (ja) 2018-11-28 2018-11-28 グラフ構造を有するデータのエンコードに関するプログラム、情報処理方法及び情報処理システム

Country Status (1)

Country Link
JP (1) JP2020087127A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022063151A1 (en) * 2020-09-23 2022-03-31 Beijing Wodong Tianjun Information Technology Co., Ltd. Method and system for relation learning by multi-hop attention graph neural network
KR102508131B1 (ko) * 2021-12-20 2023-03-09 (주)씨어스테크놀로지 지식그래프에 대한 그래프 연결강화 시스템 및 방법
KR20230065017A (ko) * 2021-11-04 2023-05-11 연세대학교 산학협력단 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법
JP7411126B2 (ja) 2022-06-15 2024-01-10 之江実験室 時空間的アテンションモデルに基づく多時相ct画像分類システム及び構築方法
JP7487965B2 (ja) 2022-01-17 2024-05-21 浙江大学 グラフ畳み込みに基づく心電図心拍数マルチタイプの予測方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022063151A1 (en) * 2020-09-23 2022-03-31 Beijing Wodong Tianjun Information Technology Co., Ltd. Method and system for relation learning by multi-hop attention graph neural network
KR20230065017A (ko) * 2021-11-04 2023-05-11 연세대학교 산학협력단 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법
KR102610431B1 (ko) 2021-11-04 2023-12-06 연세대학교 산학협력단 인공지능 분석 기반 프로그램 소스코드의 요약문 생성 장치 및 방법
KR102508131B1 (ko) * 2021-12-20 2023-03-09 (주)씨어스테크놀로지 지식그래프에 대한 그래프 연결강화 시스템 및 방법
JP7487965B2 (ja) 2022-01-17 2024-05-21 浙江大学 グラフ畳み込みに基づく心電図心拍数マルチタイプの予測方法
JP7411126B2 (ja) 2022-06-15 2024-01-10 之江実験室 時空間的アテンションモデルに基づく多時相ct画像分類システム及び構築方法

Similar Documents

Publication Publication Date Title
JP2020087127A (ja) グラフ構造を有するデータのエンコードに関するプログラム、情報処理方法及び情報処理システム
EP3564865A1 (en) Neural network circuit device, neural network, neural network processing method, and neural network execution program
JP6719537B2 (ja) 演算装置、演算実行設備及び演算実行方法
US9373144B1 (en) Diversity analysis with actionable feedback methodologies
KR101878579B1 (ko) 계층형 뉴럴 네트워크 장치, 판별기 학습 방법 및 판별 방법
US11403284B2 (en) System for data sharing platform based on distributed data sharing environment based on block chain, method of searching for data in the system, and method of providing search index in the system
US20190147318A1 (en) Highly Efficient Convolutional Neural Networks
CN112085186A (zh) 一种神经网络的量化参数确定方法及相关产品
CN113033811A (zh) 两量子比特逻辑门的处理方法及装置
WO2019207770A1 (ja) 学習済みモデル更新装置、学習済みモデル更新方法、プログラム
Patel et al. A hybrid CNN-LSTM model for predicting server load in cloud computing
TW202234236A (zh) 用以最佳化邊緣網路中的資源之方法、系統、製品及設備
US11386507B2 (en) Tensor-based predictions from analysis of time-varying graphs
JP7179850B2 (ja) 畳み込みニューラル・ネットワークの完全なカーネルを近似するためのスパース・カーネルの融合
CN111598246B (zh) 量子吉布斯态生成方法、装置及电子设备
KR102156439B1 (ko) 클라우드-엣지 시스템 및 이의 데이터 처리 방법
Goles et al. Deconstruction and dynamical robustness of regulatory networks: application to the yeast cell cycle networks
JP2019087072A (ja) 処理装置、推論装置、学習装置、処理システム、処理方法、及び処理プログラム
JP2012208924A (ja) 適応的重み付けを用いた様々な文書間類似度計算方法に基づいた文書比較方法および文書比較システム
KR20230130591A (ko) 정보 처리장치, 정보 처리방법, 비일시적인 컴퓨터 판독가능한 기억매체
CN110188825A (zh) 基于离散多视图聚类的图像聚类方法、系统、设备及介质
CN110337636A (zh) 数据转换方法和装置
CN113255747B (zh) 量子多通道卷积神经分类方法、系统、终端及存储介质
CN104035978A (zh) 社团发现方法及系统
WO2018135515A1 (ja) 情報処理装置、ニューラルネットワークの設計方法及び記録媒体