(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024021917
(43)【公開日】2024-02-16
(54)【発明の名称】検証方法、検証装置及びプログラム
(51)【国際特許分類】
G06N 3/045 20230101AFI20240208BHJP
G06F 17/10 20060101ALI20240208BHJP
【FI】
G06N3/04 154
G06F17/10 Z
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022125118
(22)【出願日】2022-08-04
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】西野 正彬
(72)【発明者】
【氏名】山本 章博
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB91
(57)【要約】
【課題】グラフ畳み込みニューラルネットワークが入力の微小変化に対して頑健であるか否かを検証できる技術を提供すること。
【解決手段】本開示の一態様による検証方法は、グラフ畳み込みニューラルネットワークと順伝播型ニューラルネットワークとを組み合わせたモデルと、グラフと、前記グラフに含まれる各頂点に対応する特徴ベクトルの集合とを入力する入力手順と、前記モデルと、前記グラフと、前記特徴ベクトルの集合とを用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証するための問題を混合整数計画問題として定式化する定式化手順と、前記混合整数計画問題の解を求める求解手順と、前記解を求めた結果を用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証する検証手順と、をコンピュータが実行する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
グラフ畳み込みニューラルネットワークと順伝播型ニューラルネットワークとを組み合わせたモデルと、グラフと、前記グラフに含まれる各頂点に対応する特徴ベクトルの集合とを入力する入力手順と、
前記モデルと、前記グラフと、前記特徴ベクトルの集合とを用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証するための問題を混合整数計画問題として定式化する定式化手順と、
前記混合整数計画問題の解を求める求解手順と、
前記解を求めた結果を用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証する検証手順と、
をコンピュータが実行する検証方法。
【請求項2】
前記グラフに含まれる頂点数をn、前記グラフ畳み込みニューラルネットワークの最終層に対応する状態ベクトルの次元数をKとしたとき、前記グラフ畳み込みニューラルネットワークは、前記グラフと前記特徴ベクトルの集合を入力として、n×K次元のベクトルを出力し、
前記順伝播型ニューラルネットワークは、n×K次元のベクトルを入力として、予め決められた範囲の離散値を取るラベルを出力する、請求項1に記載の検証方法。
【請求項3】
前記グラフ畳み込みニューラルネットワークの各層の活性化関数はReLU関数である、請求項2に記載の検証方法。
【請求項4】
前記求解手順は、
数理計画問題ソルバにより、前記混合整数計画問題の解を求める、請求項1乃至3の何れか一項に記載の検証方法。
【請求項5】
グラフ畳み込みニューラルネットワークと順伝播型ニューラルネットワークとを組み合わせたモデルと、グラフと、前記グラフに含まれる各頂点に対応する特徴ベクトルの集合とを入力するように構成されている入力部と、
前記モデルと、前記グラフと、前記特徴ベクトルの集合とを用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証するための問題を混合整数計画問題として定式化するように構成されている定式化部と、
前記混合整数計画問題の解を求めるように構成されている求解部と、
前記解を求めた結果を用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証するように構成されている検証部と、
を有する検証装置。
【請求項6】
グラフ畳み込みニューラルネットワークと順伝播型ニューラルネットワークとを組み合わせたモデルと、グラフと、前記グラフに含まれる各頂点に対応する特徴ベクトルの集合とを入力する入力手順と、
前記モデルと、前記グラフと、前記特徴ベクトルの集合とを用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証するための問題を混合整数計画問題として定式化する定式化手順と、
前記混合整数計画問題の解を求める求解手順と、
前記解を求めた結果を用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証する検証手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検証方法、検証装置及びプログラムに関する。
【背景技術】
【0002】
ニューラルネットワークは様々な機械学習の推論タスクで高い性能を発揮できることが知られている一方で、入力に対して微小な変動を付与すると推論結果が大きく変化する場合があることが知られている。微小な変化に対して推論結果が変化する可能性が高い機械学習モデルは、期待と異なる挙動を示すことになるため安定性がなく、また入力に対して微小な変動を付与することで推論結果が制御されてしまうためセキュリティリスクが存在するという課題がある。このため、ニューラルネットワークが入力の微小変化に対して頑健(ロバスト)であるか否かを検証する手法が提案されている(非特許文献1)。
【0003】
ところで、グラフに関する推論を行うためのニューラルネットワークとして、グラフ畳み込みニューラルネットワーク(GCN:Graph Convolutional Networks)が知られている(非特許文献2)。GCNは、グラフを入力として受け取り、そのグラフの性質に関する推論を行うために用いられる。このため、グラフを扱う問題においても入力の微小変化に対するGCNの頑健さ(ロバスト性)は重要であると考えられる。なお、グラフは頂点の集合Vと2頂点を結ぶ辺の集合Eとの対によってG=(V,E)と定義され、化合物の分子構造やソーシャルネットワーク、道路網等といったものを表現することができる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Vincent Tjeng, Kai Xiao, Russ Tedrake, "Evaluating Robustness of Neural Networks with Mixed Integer Programming", arXiv preprint arXiv:1711.07356 (2017).
【非特許文献2】Thomas N. Kipf, Max Welling, "Semi-Supervised Classification with Graph Convolutional Networks", arXiv preprint arXiv:1609.02907 (2016).
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来、GCNが入力の微小変化に対して頑健であるか否かを検証するための手法は存在しなかった。
【0006】
本開示は、上記の点に鑑みてなされたもので、グラフ畳み込みニューラルネットワークが入力の微小変化に対して頑健であるか否かを検証できる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様による検証方法は、グラフ畳み込みニューラルネットワークと順伝播型ニューラルネットワークとを組み合わせたモデルと、グラフと、前記グラフに含まれる各頂点に対応する特徴ベクトルの集合とを入力する入力手順と、前記モデルと、前記グラフと、前記特徴ベクトルの集合とを用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証するための問題を混合整数計画問題として定式化する定式化手順と、前記混合整数計画問題の解を求める求解手順と、前記解を求めた結果を用いて、前記モデルが入力の微小変化に対して頑健であるか否かを検証する検証手順と、をコンピュータが実行する。
【発明の効果】
【0008】
グラフ畳み込みニューラルネットワークが入力の微小変化に対して頑健であるか否かを検証できる技術が提供される。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係る検証装置のハードウェア構成の一例を示す図である。
【
図2】本実施形態に係る検証装置の機能構成の一例を示す図である。
【
図3】本実施形態に係る検証処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について説明する。以下の実施形態では、グラフ畳み込みニューラルネットワーク(以下、GCNとも略記する。)が入力の微小変化に対して頑健であるか否かを検証することができる検証装置10について説明する。
【0011】
<定義>
まず、本実施形態で用いる用語等を定義する。
【0012】
グラフをG=(V,E)とし、Vを頂点の集合、Eを向きのない無向辺の集合であるものとする。また、グラフGの頂点数を|V|=nとする。v∈Vと隣接する頂点及びv自身を含む集合をNvとする。
【0013】
GCNは、グラフG=(V,E)と、その各頂点v∈Vに対応する特徴ベクトルxv∈RNとを入力として受け取り、各頂点に対応する状態ベクトルhv∈RKを出力する関数である。このため、例えば、ベクトルを横ベクトルで表現するものとすれば、特徴ベクトルxvの集合{xv|v∈V}が与えられたときのGCNの出力は、n個の頂点の各々に対応する状態ベクトルhv∈RKを横に順に並べたn×K次元のベクトルで表すことができる。ただし、ベクトルは縦ベクトルで表現されていてもよい。なお、Rは実数全体の集合、Nは特徴ベクトルxvの次元数、Kは状態ベクトルhvの次元数である。
【0014】
特徴ベクトルxvの集合{xv|v∈V}が与えられたときのGCNの出力はn×K次元のベクトルで表すことができるため、GCNと、このGCNから出力されるn×K次元のベクトルを入力として受け取り、{1,・・・,M}のいずれかの値を出力する順伝播型ニューラルネットワーク(FFN:Feed forward Neural Network)とを結合したモデルを考えることができる。ここで、Mは順伝播型ニューラルネットワークで対象とする識別問題のラベル数を表す。
【0015】
すると、上記のモデルは、グラフGとその各頂点v∈Vに対応する特徴ベクトルxv∈RNの集合{xv|v∈V}とを入力として受け取り、{1,・・・,M}のラベルを出力するニューラルネットワークモデルとなる。以下、GCNとFFNとを結合したモデル(GCNとFFNとを組み合わせたモデルと言ってもよい。)を「結合モデル」と呼ぶことにする。
【0016】
GCNのレイヤ数(層数)をLとする。各頂点v∈Vとl=1,2,・・・,L層目に対応する状態ベクトルを
【0017】
【数1】
とする。なお、lは小文字のLであり、各層のインデックスを表す。ここで、r
lはl層目の状態ベクトルの次元数を表し、r
L=Kである。
【0018】
hv
0=xv、hv
L=hvとする。l=1,2,・・・,L層目に対応するパラメータをrl-1行rl列の行列Wlで表す。このとき、各頂点v∈Vに対応する特徴ベクトルxv∈RNとパラメータW1,W2,・・・,WLとが与えられたとき、GCNは各状態ベクトルhv
lを以下により計算する。
【0019】
【数2】
ここで、c
v,uは頂点v,uを結ぶ辺に対応する正則化パラメータであり、それぞれの頂点の次数に応じて定まる。σは活性化関数であり、
【0020】
【0021】
次に、GCNとFFNとを結合した結合モデルが入力の微小変化に対して頑健であるか否かを検証するための問題を定式化する。結合モデルは、グラフGとその各頂点v∈Vに対応する特徴ベクトルxv∈RNの集合{xv|v∈V}とを入力として受け取り、1からMのいずれかの値をラベルとして出力する。各頂点v∈Vに対応する特徴ベクトルxvの集合をXG={xv|v∈V}とすると、結合モデルは関数g(G,XG)として表現できる。以下、結合モデルも「g(G,XG)」又は単に「g」とも表す。
【0022】
特徴ベクトルの集合XGに対して微小な変化を加えて構成される特徴ベクトルの集合を
【0023】
【数4】
とする。なお、以下、本明細書のテキスト中では、この特徴ベクトルの集合を「Θ
X_G」と表記する。
【0024】
このとき、結合モデルが入力G及びXGに対して頑健であるとは、
【0025】
【数5】
を満たすことである。すなわち、特徴ベクトルに微小な変動があったとしても結合モデルの出力が不変である場合に頑健であるという。なお、Θ
X_Gに属する任意の特徴ベクトル集合X'に対して、その各特徴ベクトルx
v∈X'は、以下を満たすものとする。
【0026】
【数6】
ここで、εは或る小さい正の値を取るパラメータである。
【0027】
<検証装置10のハードウェア構成例>
本実施形態に係る検証装置10のハードウェア構成例を
図1に示す。
図1に示すように、本実施形態に係る検証装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続されている。
【0028】
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、検証装置10は、例えば、入力装置101及び表示装置102の少なくとも一方を有していなくてもよい。
【0029】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。検証装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。記録媒体103aとしては、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0030】
通信I/F104は、検証装置10を通信ネットワークに接続するためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等のストレージ装置(記憶装置)である。プロセッサ108は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の演算装置である。
【0031】
本実施形態に係る検証装置10は、
図1に示すハードウェア構成を有することにより、後述する検証処理を実現することができる。なお、
図1に示すハードウェア構成は一例であって、検証装置10のハードウェア構成はこれに限られるものではない。例えば、検証装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の様々なハードウェアを有していてもよい。
【0032】
<検証装置10の機能構成例>
本実施形態に係る検証装置10の機能構成例を
図2に示す。
図2に示すように、本実施形態に係る検証装置10は、入力部201と、最適化問題構築部202と、求解部203と、出力部204とを有する。これら各部は、例えば、検証装置10にインストールされた1以上のプログラムが、プロセッサ108に実行させる処理により実現される。
【0033】
入力部201は、GCNとFFNとを結合した結合モデルg、グラフG、及び頑健性を検証する基準となる特徴ベクトルxvの集合XG={xv|v∈V}等といった情報を入力する。なお、これらの情報は、検証装置10と通信ネットワークを介して接続される端末やシステム等から与えられてもよいし、検証装置10が有する補助記憶装置107等から入力されてもよい。
【0034】
最適化問題構築部202は、入力部201によって入力された情報を用いて、結合モデルgの頑健性を検証するための検証問題を混合整数計画問題(Mixed Integer Programming Problem)の形で定式化する。
【0035】
ここで、ニューラルネットワークは複数の線形・非線形関数を再帰的に組み合わせることによって構成され、全体として非線形な関数を表している。ニューラルネットワークが線形な関数とReLU関数によって構成されている場合、ニューラルネットワークの出力の頑健性を検証するための問題は混合整数計画問題として定式化できることが知られている。例えば、非特許文献1に記載されている手法(具体的には、非特許文献1の4章の4.1節までに記載されている手法)により、混合整数計画問題として定式化すればよい。
【0036】
求解部203は、最適化問題構築部202によって定式化された混合整数計画問題の解を求める。求解部203は、例えば、既存の数理計画問題ソルバ(MIPソルバ)により混合整数計画問題の解を求めればよい。数理計画問題ソルバを用いることで、特徴ベクトル集合XGに含まれる各特徴ベクトルxvの様々な微小変化に対する頑健性を評価することが可能となる。ただし、求解部203は、例えば、専用のアルゴリズムにより混合整数計画問題の解を求めてもよい。
【0037】
出力部204は、求解部203による求解結果を用いて、結合モデルgが頑健であるか否かを検証し、その検証結果を所定の出力先に出力する。出力部204は、例えば、非特許文献1に記載されている手法と同様に、最適化問題構築部202によって定式化された混合整数計画問題の制約条件を満たす解が得られた場合には「結合モデルgは頑健でない」、制約条件を満たす解が得られなかった場合には「結合モデルgは頑健である」と検証すればよい。また、所定の出力先は予め決められた任意の出力先とすればよく、例えば、表示装置102、補助記憶装置107、検証装置10と通信ネットワークを介して接続される他の端末又は機器等といったものを出力先とすればよい。
【0038】
<検証処理>
以下、本実施形態に係る検証処理について、
図3を参照しながら説明する。
【0039】
まず、入力部201は、結合モデルg、グラフG、及び特徴ベクトル集合XG等といった情報を入力する(ステップS101)。
【0040】
次に、最適化問題構築部202は、上記のステップS101で入力された情報を用いて、結合モデルgの頑健性を検証するための検証問題を混合整数計画問題の形で定式化する(ステップS102)。
【0041】
次に、求解部203は、上記のステップS102で定式化された混合整数計画問題の解を求める(ステップS103)。
【0042】
そして、出力部204は、上記のステップS103で混合整数計画問題の制約条件を満たす解が得られた場合には「結合モデルgは頑健でない」ことを示す検証結果を所定の出力先に出力し、制約条件を満たす解が得られなかった場合には「結合モデルgは頑健である」ことを示す検証結果を所定の出力先に出力する(ステップS104)。
【0043】
<まとめ>
以上のように、本実施形態に係る検証装置10は、GCNと、このGCNの出力を入力として受け取って識別タスクを実行するFFNとを組み合わせたモデルを導入し、このモデルの頑健性を検証するための問題を混合整数計画問題として定式化する。そして、本実施形態に係る検証装置10は、この混合整数計画問題の求解結果から当該モデルの頑健性を検証する。これにより、グラフを扱うための機械学習モデルであるGCNの頑健性も検証及び評価することが可能となり、グラフを扱うための機械学習モデルに関して、例えば、より安定的な挙動を示し、かつ、よりセキュリティリスクの少ないモデルを実現することが可能となる。
【0044】
このため、本実施形態に係る検証装置10を用いることで、グラフを扱うための機械学習モデルで実現される様々なタスクの安定性の向上、セキュリティリスクの向上を図ることが可能となる。
【0045】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0046】
10 検証装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 入力部
202 最適化問題構築部
203 求解部
204 出力部