IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特開2024-135088毒エッジ除去装置、毒エッジ除去方法及び毒エッジ除去プログラム
<>
  • 特開-毒エッジ除去装置、毒エッジ除去方法及び毒エッジ除去プログラム 図1
  • 特開-毒エッジ除去装置、毒エッジ除去方法及び毒エッジ除去プログラム 図2
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024135088
(43)【公開日】2024-10-04
(54)【発明の名称】毒エッジ除去装置、毒エッジ除去方法及び毒エッジ除去プログラム
(51)【国際特許分類】
   G06N 3/04 20230101AFI20240927BHJP
【FI】
G06N3/04 100
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023045603
(22)【出願日】2023-03-22
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】加藤 広野
(72)【発明者】
【氏名】披田野 清良
(57)【要約】
【課題】教師なしグラフ対照学習に対するポイゾニング攻撃を、ラベル付きデータを用いることなく防ぐことができる毒エッジ除去装置を提供すること。
【解決手段】毒エッジ除去装置1は、グラフを教師なしグラフ対照学習モデルにより学習し、エンコード関数を最適化するグラフ学習部11と、データ拡張演算により複数の拡張グラフを生成し、エンコード関数を用いて拡張グラフのノードそれぞれの埋め込み表現を獲得する表現獲得部12と、複数の拡張グラフそれぞれで算出される埋め込み表現の重心からの距離に関する目的関数について、隣接行列に関する勾配を合計する勾配計算部13と、勾配の絶対値が大きい隣接行列の要素を優先して一つ選択し、目的関数を最大化するように値を反転させる隣接行列変換部14と、グラフ学習部11、表現獲得部12、勾配計算部13及び隣接行列変換部14の処理を繰り返し、変換後のグラフを出力する出力部15と、を備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
エッジを示す隣接行列及びノードの特徴量からなるグラフを、教師なしグラフ対照学習モデルにより学習し、ノードの埋め込み表現を獲得するためのエンコード関数を最適化するグラフ学習部と、
前記グラフに対するデータ拡張演算により、複数の拡張グラフを生成し、前記エンコード関数を用いて、前記拡張グラフのノードそれぞれの埋め込み表現を獲得する表現獲得部と、
前記複数の拡張グラフそれぞれで算出される前記埋め込み表現の重心からの距離に関する目的関数について、前記隣接行列に関する勾配を合計する勾配計算部と、
前記勾配の絶対値が大きい前記隣接行列の要素を優先して一つ選択し、前記目的関数を最大化するように値を反転させる隣接行列変換部と、
前記グラフ学習部、前記表現獲得部、前記勾配計算部及び前記隣接行列変換部の処理を所定回数繰り返し、変換後のグラフを出力する出力部と、を備える毒エッジ除去装置。
【請求項2】
前記表現獲得部は、前記グラフに対するデータ拡張演算により、2種類のグラフ集合を生成し、
前記勾配計算部は、前記2種類のグラフ集合それぞれの勾配を合計する請求項1に記載の毒エッジ除去装置。
【請求項3】
エッジを示す隣接行列及びノードの特徴量からなるグラフを、教師なしグラフ対照学習モデルにより学習し、ノードの埋め込み表現を獲得するためのエンコード関数を最適化するグラフ学習ステップと、
前記グラフに対するデータ拡張演算により、複数の拡張グラフを生成し、前記エンコード関数を用いて、前記拡張グラフのノードそれぞれの埋め込み表現を獲得する表現獲得ステップと、
前記複数の拡張グラフそれぞれで算出される前記埋め込み表現の重心からの距離に関する目的関数について、前記隣接行列に関する勾配を合計する勾配計算ステップと、
前記勾配の絶対値が大きい前記隣接行列の要素を優先して一つ選択し、前記目的関数を最大化するように値を反転させる隣接行列変換ステップと、
前記グラフ学習ステップ、前記表現獲得ステップ、前記勾配計算ステップ及び前記隣接行列変換ステップの処理を所定回数繰り返し、変換後のグラフを出力する出力ステップと、をコンピュータが実行する毒エッジ除去方法。
【請求項4】
請求項1又は請求項2に記載の毒エッジ除去装置としてコンピュータを機能させるための毒エッジ除去プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、グラフニューラルネットワーク(GNN)に対するポイゾニング攻撃への対策手法に関する。
【背景技術】
【0002】
従来、グラフデータに対する分類タスクを扱うことが可能なグラフニューラルネットワーク(GNN)が注目を集めており、ソーシャルネットワークにおけるコミュニティ分析や、創薬における分子的特徴の予測等に応用が可能である。しかし、グラフ学習の分野では、特定の分類タスクのためのラベル付きデータの作成における人的負担が大きいため、ラベル付きデータセットが不足していると言われており、過学習等が起こりやすい状況にあるという問題が存在する。
そこで、膨大なラベルなしデータをそのまま学習できる対照学習技術をグラフデータに適用することで、この問題を解決する教師なしグラフ対照学習(例えば、非特許文献1参照)が期待されているが、教師なしグラフ対照学習に対するポイゾニング攻撃も示されており(例えば、非特許文献2参照)、その対策が必要である。
【0003】
グラフデータに対するポイゾニング攻撃への既存の対策手法として、グラフデータに内在する特性を利用して毒グラフをクリーンなグラフに変換する手法が提案されている(例えば、非特許文献3参照)。
クリーンなグラフは、類似した特徴を持つ限られたノード同士で接続するため、隣接行列のランクが低く、スパース性を持つ傾向がある。一方で、毒データ作成時には、下流の分類タスクの精度を低下させるために、異なる特徴を持ったノードをつなげる傾向があるため、クリーンなグラフに内在する、隣接ノードの特徴の類似性や、隣接行列が持つ低ランク性及びスパース性が損なわれる。既存の対策手法では、このことを利用し、毒エッジを除去することで、クリーンな隣接行列が生成される。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Zhu, Yanqiao, et al. "Graph contrastive learning with adaptive augmentation." Proceedings of the Web Conference 2021. 2021.
【非特許文献2】Zhang, Sixiao, et al. "Unsupervised graph poisoning attack via contrastive loss back-propagation." WWW '22: Proceedings of the ACM Web Conference 2022. 2022.
【非特許文献3】JIN, Wei, et al. "Graph structure learning for robust graph neural networks." Proceedings of the 26th ACM SIGKDD international conference on knowledge discovery & data mining. pp. 66-74. 2020.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、既存の対策手法は、教師ありGNNを想定しており、毒データの影響を除去するために正解ラベルが必要だった。このため、ラベルなしのデータを前提とする教師なしグラフ対照学習においては、既存の対策手法を直接適用することは難しかった。
したがって、データのラベルを利用せずに、教師なしグラフ対照学習に対するポイゾニング攻撃を防ぐための方法が望まれている。
【0006】
本発明は、教師なしグラフ対照学習に対するポイゾニング攻撃を、ラベル付きデータを用いることなく防ぐことができる毒エッジ除去装置、毒エッジ除去方法及び毒エッジ除去プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る毒エッジ除去装置は、エッジを示す隣接行列及びノードの特徴量からなるグラフを、教師なしグラフ対照学習モデルにより学習し、ノードの埋め込み表現を獲得するためのエンコード関数を最適化するグラフ学習部と、前記グラフに対するデータ拡張演算により、複数の拡張グラフを生成し、前記エンコード関数を用いて、前記拡張グラフのノードそれぞれの埋め込み表現を獲得する表現獲得部と、前記複数の拡張グラフそれぞれで算出される前記埋め込み表現の重心からの距離に関する目的関数について、前記隣接行列に関する勾配を合計する勾配計算部と、前記勾配の絶対値が大きい前記隣接行列の要素を優先して一つ選択し、前記目的関数を最大化するように値を反転させる隣接行列変換部と、前記グラフ学習部、前記表現獲得部、前記勾配計算部及び前記隣接行列変換部の処理を所定回数繰り返し、変換後のグラフを出力する出力部と、を備える。
【0008】
前記表現獲得部は、前記グラフに対するデータ拡張演算により、2種類のグラフ集合を生成し、前記勾配計算部は、前記2種類のグラフ集合それぞれの勾配を合計してもよい。
【0009】
本発明に係る毒エッジ除去方法は、エッジを示す隣接行列及びノードの特徴量からなるグラフを、教師なしグラフ対照学習モデルにより学習し、ノードの埋め込み表現を獲得するためのエンコード関数を最適化するグラフ学習ステップと、前記グラフに対するデータ拡張演算により、複数の拡張グラフを生成し、前記エンコード関数を用いて、前記拡張グラフのノードそれぞれの埋め込み表現を獲得する表現獲得ステップと、前記複数の拡張グラフそれぞれで算出される前記埋め込み表現の重心からの距離に関する目的関数について、前記隣接行列に関する勾配を合計する勾配計算ステップと、前記勾配の絶対値が大きい前記隣接行列の要素を優先して一つ選択し、前記目的関数を最大化するように値を反転させる隣接行列変換ステップと、前記グラフ学習ステップ、前記表現獲得ステップ、前記勾配計算ステップ及び前記隣接行列変換ステップの処理を所定回数繰り返し、変換後のグラフを出力する出力ステップと、をコンピュータが実行する。
【0010】
本発明に係る毒エッジ除去プログラムは、前記毒エッジ除去装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0011】
本発明によれば、教師なしグラフ対照学習に対するポイゾニング攻撃を、ラベル付きデータを用いることなく防ぐことができる。
【図面の簡単な説明】
【0012】
図1】実施形態における毒エッジ除去装置の機能構成を示す図である。
図2】実施形態における毒エッジ除去方法の手順を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態の一例について説明する。
教師なしグラフ対照学習に対するポイゾニング攻撃では、実際には関係の薄いノード間に毒エッジが付加される。このため、本来は、教師なしグラフ対照学習により埋め込み表現が分散するところ、毒エッジの影響を受けたノードの埋め込み表現が重心付近に分布した結果、分類タスク等の精度が低下する。
本実施形態の毒エッジ除去装置は、この特徴に着目し、ノード毎の埋め込み表現とその重心との距離を最大化する様に入力グラフの隣接行列を修正することで毒エッジの影響を除去し、クリーンなグラフを出力する。
【0014】
[教師なしグラフ対照学習]
本実施形態が対象とする教師なしグラフ対照学習とは、グラフデータG={A,X}(A∈{0,1}N×Nは隣接行列、X∈RN×Fはノードの特徴量を表す)におけるノードのラベルを用いずに、注目するノードに対して、類似のノード及び相違するノードとの比較を行い、注目するノードの埋め込み表現を獲得するためのエンコード関数を最適化(学習)するアルゴリズムである。
学習されたエンコード関数による埋め込み表現は、ノード分類又はリンク予測等のタスクで利用することができる。
【0015】
ノード分類及びリンク予測を想定したグラフデータに対する、既存の教師なし対照学習の方式では、まず、Gに対して、2つのデータ拡張演算を行い、2つの拡張グラフが生成される。ここで示すデータ拡張演算とは、エッジの接続の改変又はノードの特徴へのマスク処理等を指す。
【0016】
次に、エンコード関数f(・)、及び対照学習のために用いるプロジェクション関数g(・)により、埋め込み表現e=g{f(A,X)}が得られるとすると、データ拡張演算から得られた2つの拡張グラフにおける埋め込み表現e={e |1≦i≦N}及びe={e |1≦i≦N}が得られる。
【0017】
その後、目的関数Lの勾配を用いて、Lを最小化する方向で対照学習モデルのパラメータの最適化を行うことで、学習が行われる。
【数1】
ここで、
【数2】
と定義され、β(e ,e )は、e とe のコサイン類似度である。τは、温度パラメータと呼ばれる、相違するノードに対する勾配の大きさを制御するためのものである。
【0018】
[攻撃モデル]
攻撃者は、毒グラフを教師なしグラフ対照学習に学習させることで、エンコード関数の埋め込み表現の精度を低下させ、その結果、エンコード関数を利用した下流の分類タスクの精度を低下させることを目的としている。下流の分類タスクは、グラフ内のノードのクラスを分類するノード分類、及び各ノード間にリンクが存在するかを予測するリンク予測が想定される。
【0019】
毒グラフは、クリーンなグラフに対して、エンコード関数の埋め込み表現の精度を低下させるために有効なエッジを選択し、少量ずつ改変することで作成される。具体的には、攻撃者は、例えば、次の手順で毒グラフを生成する。
【0020】
1.攻撃対象とする教師なしグラフ対照学習手法の代理モデルSを立てる。
2.グラフデータGを代理モデルSで学習し、パラメータが最適化されたエンコード関数f(・)及び対照学習のために用いるプロジェクション関数g(・)を用いて、K回のデータ拡張演算を行い、代理モデルSの損失関数Lを計算する。
3.隣接行列に関するLの勾配を計算し、勾配の絶対値が最大となる隣接行列の値を選択し、Lを最大化する様に隣接行列の値を一つ反転させ、毒エッジを含む毒グラフPG={A’,X}を得る。
4.PGに対して2、3の処理を決められた回数繰り返すことで最終的なPG={A’,X}を得る。
【0021】
[毒エッジ除去方法]
本実施形態の毒エッジ除去装置1は、このようにして作成された毒エッジを含んだ毒グラフPGから毒エッジを除去し、クリーンなグラフGcleanを出力する。
【0022】
図1は、本実施形態における毒エッジ除去装置1の機能構成を示す図である。
毒エッジ除去装置1は、制御部10及び記憶部20の他、各種の入出力インタフェース等を備えたサーバ又はパーソナルコンピュータ等の情報処理装置(コンピュータ)である。
【0023】
制御部10は、毒エッジ除去装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
【0024】
記憶部20は、ハードウェア群を毒エッジ除去装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(毒エッジ除去プログラム)の他、対象とする教師なし対照学習モデルのパラメータ、グラフデータ等を記憶する。
【0025】
制御部10は、グラフ学習部11と、表現獲得部12と、勾配計算部13と、隣接行列変換部14と、出力部15とを備える。
毒エッジ除去装置1は、これらの機能部を動作させることにより、処理対象のグラフから毒エッジを除去したクリーンなグラフを出力する。
【0026】
グラフ学習部11は、エッジを示す隣接行列及びノードの特徴量からなるグラフを、教師なしグラフ対照学習モデルにより学習し、ノードの埋め込み表現を獲得するためのエンコード関数を最適化する。
【0027】
表現獲得部12は、グラフに対するデータ拡張演算により、複数の拡張グラフを生成し、グラフ学習部11により最適化されたエンコード関数を用いて、拡張グラフのノードそれぞれの埋め込み表現を獲得する。
このとき、表現獲得部12は、対照学習の通常の手順に倣い、グラフに対するデータ拡張演算により、2種類のグラフ集合を生成してもよい。
【0028】
勾配計算部13は、複数の拡張グラフそれぞれで算出される埋め込み表現の重心からの距離に関する目的関数について、隣接行列に関する勾配を合計する。
なお、表現獲得部12において2種類のグラフ集合が生成されている場合には、勾配計算部13は、2種類のグラフ集合それぞれの勾配を合計する。
【0029】
隣接行列変換部14は、勾配計算部13により算出された勾配の絶対値が大きい(最大の)隣接行列の要素を優先して一つ選択し、目的関数を最大化するように値を反転させる。
【0030】
出力部15は、グラフ学習部11、表現獲得部12、勾配計算部13及び隣接行列変換部14の処理を所定回数繰り返し、変換後のグラフを出力する。
【0031】
図2は、本実施形態における毒エッジ除去方法の手順を示すフローチャートである。
ステップS1において、グラフ学習部11は、毒エッジを含んだ毒グラフPG={A’,X}を入力として、教師なしグラフ対照学習モデルで学習させ、パラメータを最適化したエンコード関数f(・)を得る。ここで、A∈{0,1}N×N、X∈RN×Fであり、N及びFは、それぞれグラフ内のノードの数及び各ノードの特徴量の次元数である。
【0032】
ステップS2において、表現獲得部12は、2種類のデータ拡張演算をそれぞれM回行い、2種類のグラフ集合PG =(A ,X )及びPG =(A ,X )を作成する。ここで、1≦k≦Mである。
【0033】
ステップS3において、表現獲得部12は、エンコード関数f(・)及びプロジェクション関数g(・)を用いて、PG 及びPG におけるノードの埋め込み表現e =g{f(A ,X )}及びe =g{f(A ,X )}をそれぞれ得る。
【0034】
ステップS4において、勾配計算部13は、e ={e1,i |1≦i≦N}及びe ={e2,i |1≦i≦N}における、重心g 及びg をそれぞれ算出する。
【0035】
ステップS5において、勾配計算部13は、目的関数として、
【数3】
を算出する。
【0036】
ステップS6において、勾配計算部13は、PG 及びPG における隣接行列A 及びA に関するL’の勾配Δ 、Δ を、それぞれ次のように算出する。
【数4】
【0037】
ステップS7において、隣接行列変換部14は、全体の勾配Δ=Σk=1 (Δ +Δ )を算出し、勾配の絶対値が大きい(最大の)エッジに対応するA’の要素を優先して一つ選択し、L’を最大化するように値(0又は1)を反転させて新たな隣接行列A’を生成し、新たなグラフPG’={A’,X}を得る。
【0038】
ステップS8において、制御部10は、ステップS1からS7の処理をσ回繰り返す。すなわち、σ回に満たない場合、処理はステップS1に戻る。
【0039】
ステップS9において、出力部15は、毒エッジの除去処理後のグラフGcleanを出力する。
【0040】
なお、本アルゴリズムは、次の最適化問題として立式できる。
【数5】
ここで、θは、教師なしグラフ対照学習における学習パラメータ、t(・)及びt(・)は、2種類のデータ拡張演算を表す。
【0041】
本実施形態によれば、毒エッジ除去装置1は、教師なしグラフ対照学習に対するポイゾニング攻撃に使われる毒グラフから、ポイゾニング攻撃に寄与しているエッジを取り除き、毒グラフの影響を除去する。攻撃者は、毒グラフ作成時に隣接行列を少量ずつ改変し、毒エッジの影響を受けたノードの埋め込み表現が、全体の埋め込み表現の重心付近に分布する傾向に着目し、毒エッジ除去装置1は、ノードの埋め込み表現が重心から離れるように隣接行列の修正を少量ずつ行う。
したがって、毒エッジ除去装置1は、毒グラフにおけるノードの埋め込み表現の分布に関する特性を利用した隣接行列の修正処理を行うため、教師なしグラフ対照学習に対するポイゾニング攻撃を、ラベル付きデータを用いることなく、防ぐことが可能となる。
【0042】
たとえ、攻撃に耐性のある学習手法が提案されたとしても、このような学習手法は、毒データが含まれていることを想定して目的関数を新しく提案するものである。したがって、攻撃者は、対策された学習手法を利用して新たな攻撃が可能となる。
これに対して、毒エッジ除去装置1は、学習の前処理として、学習に利用するグラフから毒データを除去するので、学習手法を利用した攻撃に対して耐性を持つ。
【0043】
さらに、毒エッジ除去装置1は、対照学習で用いるデータ拡張の処理を用いて2種類のグラフ集合を生成することにより、既存の手順を流用して容易にクリーングラフを生成することができる。
【0044】
また、教師なしグラフ対照学習によるノードの埋め込み表現は、全ての対照学習手法においても共通の要素であるため、攻撃者が毒データ作成時にどの対照学習手法を利用するかに依存せず、ポイゾニング攻撃の影響を防ぐ効果が期待できる。
【0045】
なお、本実施形態により、例えば、教師なしグラフ対照学習に対するポイゾニング攻撃を、ラベル付きデータを用いることなく防ぐことができるので、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0046】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0047】
毒エッジ除去装置1による毒エッジ除去方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0048】
1 毒エッジ除去装置
10 制御部
11 グラフ学習部
12 表現獲得部
13 勾配計算部
14 隣接行列変換部
15 出力部
20 記憶部
図1
図2