(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024154761
(43)【公開日】2024-10-31
(54)【発明の名称】敵対的攻撃対策支援システム、方法、およびプログラム
(51)【国際特許分類】
G06N 3/094 20230101AFI20241024BHJP
G06T 7/00 20170101ALI20241024BHJP
【FI】
G06N3/094
G06T7/00 350B
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023068791
(22)【出願日】2023-04-19
(71)【出願人】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】トウ シビ
(72)【発明者】
【氏名】秋良 直人
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096HA11
5L096KA04
(57)【要約】
【課題】推論モデルの多様な攻撃パターンの敵対的攻撃に対する対策を支援する。
【解決手段】敵対的攻撃対策支援システムは、元画像から攻撃エンベディングをエンコードする攻撃エンコーダと、前記攻撃エンコーダから出力された前記攻撃エンベディングにランダムノイズを加えるノイズ追加部と、前記ランダムノイズが加えられた攻撃エンべディングを用いて推論モデルを攻撃するための攻撃画像を生成するジェネレータと、前記推論モデルを用いて前記攻撃画像に対する推論を行い、推論結果を取得する推論部と、前記攻撃画像と前記元画像との識別を行い、識別結果を算出する識別部と、前記推論結果および前記識別結果に基づいて前記攻撃画像を訓練するための損失である訓練損失を算出する損失算出部と、前記訓練損失に基づいて前記攻撃エンコーダ、前記ジェネレータ、および識別部を更新するパラメータ更新部と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
元画像から攻撃エンベディングをエンコードする攻撃エンコーダと、
前記攻撃エンコーダから出力された前記攻撃エンベディングにランダムノイズを加えるノイズ追加部と、
前記ランダムノイズが加えられた攻撃エンべディングを用いて推論モデルを攻撃するための攻撃画像を生成するジェネレータと、
前記推論モデルを用いて前記攻撃画像に対する推論を行い、推論結果を取得する推論部と、
前記攻撃画像と前記元画像との識別を行い、識別結果を算出する識別部と、
前記推論結果および前記識別結果に基づいて前記攻撃画像を訓練するための損失である訓練損失を算出する損失算出部と、
前記訓練損失に基づいて前記攻撃エンコーダ、前記ジェネレータ、および識別部を更新するパラメータ更新部と、
を有する敵対的攻撃対策支援システム。
【請求項2】
前記損失算出部は、
前記元画像と前記攻撃画像の差分を所定範囲に制限しようとするための第1の損失を計算し、
前記識別部が前記元画像と前記攻撃画像を正しく識別しようとし前記ジェネレータが前記元画像と前記攻撃画像を誤って識別させようとして敵対する第2の損失を計算し、
前記推論モデルによる推論に対する攻撃が成功する可能性を高めようとするための第3の損失を計算し、
前記攻撃が成功する可能性の高い攻撃画像のランダムノイズが加えられていない攻撃エンベディングとランダムノイズが加えられた攻撃エンベディングとの距離を小さくしようとするための第4の損失を計算し、
前記第1の損失と前記第2の損失と前記第3の損失と前記第4の損失を所定の重みづけをして合計することにより前記訓練損失を計算する、
請求項1に記載の敵対的攻撃対策支援システム。
【請求項3】
前記損失算出部による前記訓練損失の算出と前記パラメータ更新部による前記攻撃エンコーダ、前記ジェネレータ、および識別部の更新を所定の終了条件が満たされるまで繰り返して得られた前記攻撃エンコーダおよび前記ジェネレータを用いて攻撃画像を生成する攻撃画像生成部を更に有する、
請求項2に記載の敵対的攻撃対策支援システム。
【請求項4】
前記攻撃画像生成部により生成された攻撃画像を前記推論モデルに入力して推論結果を取得し、前記攻撃画像と元画像との識別を行って識別結果を算出し、前記推論結果および前記識別結果に基づいて前記攻撃画像を微調整するための損失である微調整損失を算出し、前記推論結果にて攻撃が成功しなかった場合、前記微調整損失に基づいて前記ジェネレータを更新し、更新された前記ジェネレータを前記攻撃画像生成部に用いて生成した攻撃画像を前記推論モデルに入力して推論結果および識別結果を取得するという一連の更新処理を攻撃が成功するまで繰り返し、前記更新処理の反復回数を前記推論モデルの評価結果として出力するロバスト性評価部を更に有する、
請求項3に記載の敵対的攻撃対策支援システム。
【請求項5】
前記ロバスト性評価部は、前記第1の損失と前記第2の損失と前記第3の損失を所定の重みづけをして合計することにより前記微調整損失を計算する、
請求項4に記載の敵対的攻撃対策支援システム。
【請求項6】
コンピュータが、
攻撃エンコーダにより元画像から攻撃エンベディングをエンコードし、
前記攻撃エンコーダから出力された前記攻撃エンベディングにランダムノイズを加え、
ジェネレータにより、前記ランダムノイズが加えられた攻撃エンべディングを用いて推論モデルを攻撃するための攻撃画像を生成し、
前記推論モデルを用いて前記攻撃画像に対する推論を行い、推論結果を取得し、
識別部により、前記攻撃画像と前記元画像との識別を行い、識別結果を算出し、
前記推論結果および前記識別結果に基づいて前記攻撃画像を訓練するための損失である訓練損失を算出し、
前記訓練損失に基づいて前記攻撃エンコーダ、前記ジェネレータ、および識別部を更新する、
敵対的攻撃対策支援方法。
【請求項7】
攻撃エンコーダにより元画像から攻撃エンベディングをエンコードし、
前記攻撃エンコーダから出力された前記攻撃エンベディングにランダムノイズを加え、
ジェネレータにより、前記ランダムノイズが加えられた攻撃エンべディングを用いて推論モデルを攻撃するための攻撃画像を生成し、
前記推論モデルを用いて前記攻撃画像に対する推論を行い、推論結果を取得し、
識別部により、前記攻撃画像と前記元画像との識別を行い、識別結果を算出し、
前記推論結果および前記識別結果に基づいて前記攻撃画像を訓練するための損失である訓練損失を算出し、
前記訓練損失に基づいて前記攻撃エンコーダ、前記ジェネレータ、および識別部を更新することを、
コンピュータに実行させるための敵対的攻撃対策支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、敵対的攻撃への対策を支援する技術に関する。
【背景技術】
【0002】
近年、ディープニューラルネットワーク(DNN)が登場して以来、AI(Artificial Intelligence)を利用したアプリケーションは劇的に増加している。以下、AIを利用したアプリケーションをAIアプリケーションともいう。AIアプリケーションに用いられるAIモデルは通常のデータの入力に対して高いパフォーマンスを発揮するが、その一方で敵対的攻撃に対しては脆弱であり、分類の誤りや誤検出を起こす可能性がある。したがって、実際のアプリケーション、特に自動運転や監視システムなど高いセキュリティが要求される分野においてAIアプリケーションをリリースする前には敵対的攻撃に対するロバスト性を評価することが重要である。
【0003】
非特許文献1には、画像の分類あるいは検出を行うAIモデルのロバスト性を評価する手法が開示されている。非特許文献1に開示された手法は、画像にパラメータフリー戦略で人間が認識できないノイズを追加することにより敵対的サンプルを生成し、評価対象のAIモデルで敵対的サンプルに対して分類あるいは検出を実行し、その分類あるいは検出の精度によってAIモデルのロバスト性を評価するというものである。
【0004】
特許文献1には、敵対的生成ネットワーク(GAN:Generative Adversarial Network)を用いて敵対的サンプルを生成する手法が記載されている。特許文献1に記載された手法では視覚的な変化を伴う敵対的サンプルが生成される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開WO2020/165935号明細書
【非特許文献】
【0006】
【非特許文献1】Reliable Evaluation of Adversarial Robustness with an Ensemble of Diverse Parameter-free Attacks, Francesco Croce and Matthias Hein, ICML 2020
【発明の概要】
【発明が解決しようとする課題】
【0007】
AIモデルのロバスト性の評価においては、人間の目で認識できるかどうかとは関係なく、様々な種類の特徴を持った敵対的サンプルを用いて評価を行うことが好ましい。しかしながら、非特許文献1に開示された手法は、元の画像との視覚的特徴の差異が比較的小さい敵対的サンプルを生成し、AIモデルのロバスト性の評価に用いるものである。したがって、元の画像との視覚的特徴の差異が明らかであるにも関わらず人間にとって不自然でないというような類の画像による攻撃に対するAIモデルのロバスト性を適切に評価することができない。
【0008】
特許文献1には、元の画像とは異なる視覚的特徴を持った敵対的サンプルを生成する方法が記載されている。特許文献1に記載の方法によれば、上述したような非特許文献1に開示された手法におけるた攻撃パターンの欠如を克服する可能性がある。しかしながら、特許文献1の手法は、攻撃を成功させることができる最も簡単な攻撃パターンの敵対的サンプルを生成する傾向を持つものであり、多様な攻撃パターンの敵対的サンプルを生成するものではない。
【0009】
本開示に含まれるひとつの目的は、AIモデルの多様な攻撃パターンの敵対的攻撃に対する対策を支援する技術を提供することである。
【課題を解決するための手段】
【0010】
本開示に含まれるひとつの態様による敵対的攻撃対策支援システムは、元画像から攻撃エンベディングをエンコードする攻撃エンコーダと、前記攻撃エンコーダから出力された前記攻撃エンベディングにランダムノイズを加えるノイズ追加部と、前記ランダムノイズが加えられた攻撃エンべディングを用いて推論モデルを攻撃するための攻撃画像を生成するジェネレータと、前記推論モデルを用いて前記攻撃画像に対する推論を行い、推論結果を取得する推論部と、前記攻撃画像と前記元画像との識別を行い、識別結果を算出する識別部と、前記推論結果および前記識別結果に基づいて前記攻撃画像を訓練するための損失である訓練損失を算出する損失算出部と、前記訓練損失に基づいて前記攻撃エンコーダ、前記ジェネレータ、および識別部を更新するパラメータ更新部と、を有する。
【発明の効果】
【0011】
本開示に含まれるひとつの態様によれば、多様な攻撃パターンの攻撃画像に対するAIモデルのロバスト性の評価を支援することが可能になる。
【図面の簡単な説明】
【0012】
【
図1】本実施形態におけるコンピュータシステムのブロック図である。
【
図4】AIモデルロバスト性評価部のブロック図である。
【
図5】AIモデルロバスト性評価部の動作を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、図面を参照して、本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付し適宜説明を省略する。
【0014】
<ハードウエア構成>
本実施形態にて用いられる装置は、任意の適切なコンピュータシステムにソフトウェアプログラムを適用することによ実現されてもよい。
【0015】
図1は、本実施形態におけるコンピュータシステムのブロック図である。
【0016】
コンピュータシステム300は、主要コンポーネントとして、1つ以上のプロセッサ302、メモリ304、端末インターフェース312、ストレージインターフェース314、I/O(入出力)デバイスインターフェース316、およびネットワークインターフェース318を有している。これらのコンポーネントは、メモリバス306、I/Oバス308、バスインターフェース部309、およびI/Oバスインターフェース部310を介して相互的に接続される。
【0017】
プロセッサ302は、1つまたは複数の汎用プログラマブル中央処理装置(CPU)302Aおよび302Bを含んでもよい。例えば、コンピュータシステム300は複数のプロセッサを備えてもよい。他の例として、コンピュータシステム300は単一のCPUを備えていてもよい。プロセッサ302は、メモリ304に格納された命令を実行する装置であり、不図示のオンボードキャッシュを含んでもよい。
【0018】
メモリ304は、データおよびプログラムを記憶するためのランダムアクセス可能な半導体メモリ、記憶装置、揮発性の記憶媒体、または不揮発性の記憶媒体を含んでもよい。メモリ304は、以下に説明する各部の機能を実現するソフトウェアプログラム、ソフトウェアモジュール、およびデータ構造のすべてまたは一部を格納してもよい。例えば、メモリ304は、攻撃生成モデル学習部340、攻撃画像生成部350、およびAIモデルロバスト性評価部360の機能を実現するソフトウェアモジュールを格納していてもよい。各部とソフトウェアモジュールの構成単位は一致していなくてもよい。例えば、複数の部分を1つのソフトウェアモジュールにより実現してもよいし、1つの部分を複数のソフトウェアモジュールにより実現してもよい。
【0019】
ある態様として、攻撃生成モデル学習部340、攻撃画像生成部350、およびAIモデルロバスト性評価部360は、それらの機能を実現するソフトウェアプログラムをプロセッサにより実行するプロセッサベースのシステムの代わりに、またはプロセッサベースのシステムに加えて、半導体デバイス、チップ、論理ゲート、回路、回路カード、および/または他の物理ハードウェアデバイスにより一部または全部をハードウェアで実現されてもよい。また、ある態様として、攻撃生成モデル学習部340、攻撃画像生成部350とAIモデルロバスト性評価部360は、ソフトウェアプログラムの命令または記述以外のデータを含んでもよい。また、ある態様として、不図示のカメラ、センサ、または他のデータ入力デバイスが、バスインターフェース部309、プロセッサ302、またはコンピュータシステム300の他のハードウェアと直接通信するように提供されてもよい。攻撃生成モデル学習部340、攻撃画像生成部350、およびAIモデルロバスト性評価部360の詳細については
図2、3、4を参照しながら後述する。
【0020】
コンピュータシステム300は、バスインターフェース部309を含んでもよい。バスインターフェース部309は、プロセッサ302、メモリ304、表示システム324、およびI/Oバスインターフェース部310間の通信を行う。I/Oバスインターフェース部310はI/Oバス308と接続されていてもよい。I/Oバス308にはデータの転送が可能なように様々な入出力部が接続されている。I/Oバスインターフェース部310は、I/Oバス308を介して、一般にI/Oプロセッサ(IOP)あるいはI/Oアダプタ(IOA)として知られる複数のI/Oインターフェース部(312,314,316、および318)と通信してもよい。
【0021】
表示システム324は、表示装置326に画像を表示する処理を実行するシステムであり、不図示の表示コントローラと表示メモリの一方または両方を含んでもよい。表示コントローラは、ビデオとオーディオの両方のデータを表示装置326に提供することができる。表示システム324は、単独のディスプレイ画面、テレビ、タブレット、または携帯型デバイスなどの表示装置326に接続されてもよい。
【0022】
また、コンピュータシステム300は、データを収集し、プロセッサ302に当該データを提供するように構成された1つまたは複数のセンサ等の不図示のデバイスを含んでもよい。例えば、コンピュータシステム300は、心拍数データやストレスレベルデータ等を収集するバイオメトリックセンサ、湿度データ、温度データ、圧力データ等を収集する環境センサと、加速度データ、運動データ等を収集するモーションセンサとを含んでもよい。これ以外の種類のセンサも使用可能である。
【0023】
I/Oインターフェース部(312,314,316、および318)は、様々なストレージまたはI/Oデバイスと通信する機能を備える。例えば、端末インターフェース312は、ビデオ表示装置、スピーカテレビ等のユーザ出力デバイスや、キーボード、マウス、キーパッド、タッチパッド、トラックボール、ボタン、ライトペン、または他のポインティングデバイス等のユーザ入力デバイスのようなユーザI/Oデバイス320の取り付けが可能である。ユーザは、ユーザインターフェースを使用して、ユーザ入力デバイスを操作することで、ユーザI/Oデバイス320およびコンピュータシステム300に対して入力データや指示を入力し、コンピュータシステム300からの出力データを受け取ってもよい。ユーザインターフェースは例えば、ユーザI/Oデバイス320を介して、表示装置に表示されたり、スピーカによって再生されたり、プリンタを介して印刷されてもよい。
【0024】
ストレージインターフェース314は、1つまたは複数のディスクドライブや直接アクセスするストレージ装置322(通常は磁気ディスクドライブストレージ装置であるが、単一のディスクドライブとして見えるように構成されたディスクドライブのアレイまたは他のストレージ装置であってもよい)の取り付けが可能である。ひとつの態様として、ストレージ装置322は、任意の二次記憶装置として実装されてもよい。メモリ304の内容は、ストレージ装置322に記憶され、必要に応じてストレージ装置322から読み出されてもよい。I/Oデバイスインターフェース316は、プリンタ、ファックスマシン等の他のI/Oデバイスに対するインターフェースを提供してもよい。ネットワークインターフェース318は、コンピュータシステム300と他のデバイスが相互的に通信できるように、通信経路を提供してもよい。この通信経路は、例えば、ネットワーク330であってもよい。
【0025】
ひとつの態様として、コンピュータシステム300は、マルチユーザメインフレームコンピュータシステム、シングルユーザシステム、またはサーバコンピュータ等の、直接的ユーザインターフェースを有しない、他のコンピュータシステム(クライアント)からの要求を受信するデバイスであってもよい。他の実施形態では、コンピュータシステム300は、デスクトップコンピュータ、携帯型コンピュータ、ノートパソコン、タブレットコンピュータ、ポケットコンピュータ、電話、スマートフォン、または任意の他の適切な電子機器であってもよい。
【0026】
次に、
図2を参照して本実施形態に係る攻撃生成モデル学習部340について説明する。
【0027】
図2は、攻撃生成モデル学習部340のブロック図である。
【0028】
攻撃生成モデル学習部340は、攻撃エンコーダ103、ノイズ追加部105、ジェネレータ107、識別部110、損失算出部111、およびパラメータ更新部112を有している。
【0029】
元画像101とクラス条件c 102が攻撃エンコーダ103に入力される。元画像101は、攻撃対象とするAIモデルの生成に用いられた学習データセット内の元の画像である。AIモデルは、画像からの物体検出あるいは画像の分類を行う推論モデルである。元画像101には、攻撃エンコーダに入力される前に、画像の反転、トリミング、回転などいくつかの処理を施してデータ拡張を行ってもよい。クラス条件c 102は、攻撃の対象とするクラスを示す情報である。以下、攻撃の対象とするクラスを対象クラスと呼ぶ場合がある。対象クラスは、すなわち、攻撃によってAIモデルが誤検出するクラスまたは誤った分類を行うクラスである。対象クラスは、AIモデルが画像を分類できる任意のクラスであってよいし、分類されない背景を示すクラスであってもよい。攻撃エンコーダ103は、元画像101を、攻撃エンベディングe 104と呼ばれる特徴ベクトルへとマッピングするCNN(畳み込みニューラルネットワーク)であり、元画像101の画像表現とクラス条件c 102と元画像101に適した攻撃戦略とをベクトルにエンコードする。攻撃エンコーダ103は、特に限定されないが、例えば、入力された元画像101およびクラス条件c 102に最も適した攻撃パターンの攻撃エンベディングe 104を生成する。最も適した攻撃パターンとはすなわち攻撃に成功する可能性が最も高い攻撃パターンである。
【0030】
ノイズ追加部105は、攻撃エンコーダ103により生成された攻撃エンベディングe 104に複数のランダムノイズε 106をそれぞれ加える。ランダムノイズεは、一様分布またはガウス分布であってよいが、これらに限定されることはない。攻撃エンベディングe 104にそれぞれ異なるランダムノイズε 106が加えられた複数の攻撃エンベディングはジェネレータ107に入力される。
【0031】
ジェネレータ107は、クラス条件c 102と複数の攻撃エンベディングとを入力として複数の攻撃画像G(e,c,ε) 108を生成し、複数の攻撃画像108をを識別部110に出力する。ジェネレータ107は、攻撃エンベディングを攻撃画像108にデコードするCNNである。
【0032】
推論部109は、攻撃対象のAIモデルを備え、AIモデルを用いて画像からの物体検出あるいは画像の分類を行い、その検出あるいは分類の結果を取得する。以下、検出あるいは分類の結果を推論結果という場合がある。識別部110は、攻撃画像108と元画像101との識別を行い、識別の結果を取得する。識別は、人間の目で見た視覚的な区別を行うことである。以下、攻撃画像108と元画像101との識別の結果を識別結果という場合がある。
【0033】
損失算出部111は、推論部109による推論結果および識別部110による識別結果に基づいて、攻撃画像108を評価するための損失を算出する。パラメータ更新部112は、損失算出部111で算出された損失を最適化するように攻撃エンコーダ103、ジェネレータ107、および識別部110のパラメータを更新する。損失算出部111による損失の算出およびパラメータ更新部112によるパラメータの更新の詳細について以下に述する。
【0034】
攻撃画像108は、元画像101に多少の変更を加えたものとなるが、元画像101と全く異なる画像にすることは好ましくないため、元画像101と攻撃画像108の差分を適切な範囲に制限するために、式(1)のように損失Ldifを設計する。損失Ldif(第1の損失)は、元画像101と攻撃画像108の差分を適切な範囲Mに制限するための損失である。以下、損失Ldifを第1の損失という場合がある。
【0035】
【数1】
ここで、xは元画像である。E
εは、元画像xと、複数のランダムノイズεにより生成された複数の攻撃画像G(e,c,ε) 108との差分の平均値である。
【0036】
次に、ジェネレータ107と識別部110は、通常のGANのように、2プレーヤーによるミニマックス法のゲームで互いに競争することになる。識別部110は、元画像101と攻撃画像108を正しく識別しようとする。一方、ジェネレータ107は、よりリアルで高品質な攻撃画像108を生成して識別部110をだまそうとする。そのために、損失LGおよび損失LGANは、それぞれ以下の式(2)および式(3)に示すように設計される。以下、損失LGANを第2の損失という場合がある。
【0037】
【0038】
【数3】
ここで、D(x)は、識別部110による元画像xが正しく識別される確率を示す。また、D(G(e,c,ε))は、生成された攻撃画像G(e,c,ε)が誤って識別される確率を示す。識別部Dは、L
GANを最大化しようとする。ジェネレータ107は、L
Gを最小化しようとする。
【0039】
次に、推論部109における攻撃画像108に対する物体検出あるいは画像の分類の推論結果から攻撃が成功したか否かを判定することができる。例えばAIモデルが分類タスクのモデルである場合、AIモデルが攻撃画像108をクラス条件cに示されている対象クラスに誤って分類したら攻撃は成功したと判断できる。また、AIモデルが検出タスクのモデルである場合、AIモデルが攻撃画像108から対象クラスの物体を誤って検出したら攻撃は成功したと判断できる。したがって、損失LAIは式(4)に示すように設計される。以下、損失LAIを第3の損失という場合がある。
【0040】
【数4】
ここで、AI(G(e,c,ε),c)は、クラス条件cと、生成された攻撃画像108のAIモデルによる推論結果との差分を意味する。AIモデルが分類タスクのモデルである場合、差分を最小化しようとする。AIモデルが検出タスクのモデルである場合、差分を最大化しようとする。
【0041】
次に、複数の攻撃画像G(e,c,ε)に対するAIモデルによる推論の結果AI(G(e,c,ε),c)から、複数の攻撃画像G(e,c,ε)のなかで攻撃の成功に最も近い攻撃画像G(e,c,ε+)が選択される。例えば、推論結果の精度に基づいて攻撃の成功に最も近い攻撃画像G(e,c,ε+)を選択してもよい。そして、より良い攻撃エンベディングeをエンコードするために攻撃エンコーダ103を更新する損失Leは、式(5)に示すように設計される。以下、損失Leを第4の損失という場合がある。
【0042】
【数5】
ここで、円の中に点が打たれた記号は、攻撃エンベディングeを埋め込んだ攻撃とランダムノイズεとの組み合わせ計算を意味する演算子である。これは攻撃エンベディングe 104に対するランダムノイズεの追加を意味する。攻撃エンベディングe 104に対するランダムノイズεの追加は、攻撃エンベディングe 104に対してランダムノイズεを加算することであってもよいし、乗算することであってもよい。
【0043】
損失算出部111は、それぞれ異なる重みを表すハイパーパラメータω1、ω2、ω3を用いて、上述した第1、2、3、4の損失の損失関数から、式(6)に示す総合的な損失Lを算出する。以下、損失Lを訓練損失という場合がある。
【0044】
【数6】
そして、パラメータ更新部112は、訓練損失である損失Lに基づいて勾配を計算し、勾配を用いた最適化アルゴリズムによって、攻撃エンコーダ103、ジェネレータ107、および識別部110のCNNモデルのパラメータを更新する。
【0045】
訓練損失を算出しパラメータを更新するという学習を所定の終了条件が満たされるまで複数回繰り返すと、攻撃エンコーダ103は、適切な攻撃エンベディングe 104をエンコードし、攻撃を成功させるように訓練される。終了条件として、例えば、推論結果の精度に閾値を設けてよいし、反復回数に上限を設けてもよい。そして、ジェネレータ107は、高品質でリアルな攻撃画像108を生成するように訓練される。また、識別部110は、実際の画像と生成された攻撃画像108を区別するように訓練される。このようにして訓練された攻撃エンコーダ103と訓練されたジェネレータ107は、攻撃画像生成部350で使用される。また、訓練された攻撃エンコーダ103、訓練されたジェネレータ107、および訓練された識別部110は、AIモデルロバスト性評価部360で使用される。
【0046】
次に、
図3を参照して、攻撃画像生成部350について説明する。
【0047】
図3は、攻撃画像生成部350のブロック図である。
図3を参照すると、攻撃画像生成部350は、攻撃エンコーダ103とジェネレータ107を有している。
【0048】
攻撃エンコーダ103とジェネレータ107は、攻撃生成モデル学習部340にて訓練されたものである。元画像201は、攻撃画像204を生成する元の画像である。クラス条件c 202は、攻撃の対象クラスを示す情報である。クラス条件c 202の対象クラスは、攻撃生成モデル学習部340にて用いられたクラス条件c 102に示された対象クラスと同じであってもよい。攻撃エンコーダ103は、元画像201とクラス条件c 202に対して最適な攻撃エンベディングe 203をエンコードすることができる。ジェネレータ107は、その攻撃エンベディングe 203に基づいて高品質でリアルな攻撃画像204を生成することができる。
【0049】
次に、
図4を参照して、AIモデルロバスト性評価部360について説明する。
【0050】
AIモデルを評価するには、まず訓練済みの攻撃エンコーダと訓練済みのジェネレータによって攻撃画像を生成し、生成された攻撃画像を評価対象のAIモデルに入力し、AIモデルから推論結果を取得する。一般には、推論結果の適合率や再現率などの精度が評価基準としてそのまま使用される。ただし、この評価方法による評価は、ジェネレータの能力に大きく依存する。つまり、ジェネレータがどれだけ好適に訓練されているかが評価結果に大きな影響を与える。ジェネレータのネットワーク内の全てのパラメータは訓練によって得ることが可能であるが、その訓練の反復回数は経験に基づいて人間によって決定される。したがって、ジェネレータをどれだけ好適に訓練することができるかは人間の経験や能力に依存してしまう。
【0051】
これに対して本実施形態では、ジェネレータの微調整(訓練)の反復回数をAIモデルのロバスト性の評価基準としている。具体的には、事前に訓練済みのジェネレータ107を使用して攻撃画像404を生成し、その攻撃画像404で攻撃に失敗した場合、攻撃に成功する攻撃画像404を生成できるようになるまでジェネレータ107の微調整(訓練)を繰り返す。そして、攻撃に成功するまでの微調整の反復回数がAIモデルの評価結果406として記録される。微調整の反復回数が多いほどAIモデルは攻撃を受けにいと言えるため、微調整の反復回数は、AIモデルがどのていど堅牢であるかを表すロバスト性の評価基準となる。
【0052】
図4は、AIモデルロバスト性評価部360のブロック図である。
図4を参照すると、AIモデルロバスト性評価部360は、攻撃エンコーダ103、ジェネレータ107、評価部405、識別部110、損失算出部407、およびパラメータ更新部408を有している。なお、AIモデルロバスト性評価部360には、ランダムノイズε 106を加えるノイズ追加部105に相当する機能はない。
【0053】
元画像401は、評価に用いる攻撃画像404を生成する元の画像である。クラス条件c 402は、評価における攻撃の対象クラスを示す情報である。クラス条件c 402の対象クラスは、攻撃生成モデル学習部340にて用いられたクラス条件c 102に示された対象クラスと同じであってもよい。
【0054】
攻撃エンコーダ103および識別部110は、攻撃生成モデル学習部340にて訓練されたものである。ジェネレータ107は、初期の状態においては攻撃生成モデル学習部340にて訓練されたものである。
【0055】
損失算出部307は、重みを表すハイパーパラメータω1、ω2を用いて、上述した第1、2、3の損失の損失関数から、式(7)に示す微調整損失Lftを算出する。
【0056】
【数7】
パラメータ更新部408は、微調整損失L
ftに基づいて勾配を計算し、勾配を用いた最適化アルゴリズムによってジェネレータ107のパラメータを更新する。
【0057】
評価部405は、評価対象のAIモデルを備え、AIモデルを用いて攻撃画像404からの物体検出あるいは攻撃画像404の分類を行い、その推論結果において攻撃が失敗していたら、攻撃が成功するまで損失算出部407およびパラメータ更新部408によるジェネレータ107の訓練とAIモデルによる推論結果の取得とを繰り返す。評価部405は、全ての元画像401を基にした攻撃画像404の評価を行った後、推論結果の平均精度と反復回数を算出し、評価結果406として出力する。
【0058】
次に、
図5を参照して、AIモデルロバスト性評価部360の動作の流れについて説明する。
【0059】
図5は、AIモデルロバスト性評価部360の動作を示すフローチャートである。
【0060】
まず、AIモデルロバスト性評価部360に対して、評価用データセット内の元画像401とクラス条件402を含む必要な情報が入力される(ステップs11)。
【0061】
次に、AIモデルロバスト性評価部360内では、攻撃エンコーダ103およびジェネレータ107が、与えられた元画像401がクラス条件402に示された対象クラスに誤検出あるいは誤分類されるような攻撃エンベディング403および攻撃画像404を生成する(ステップs12)。
【0062】
次に、評価部405は、生成された攻撃画像404をAIモデルに入力し、AIモデルによる推論結果を取得する(ステップs13)。そして、評価部405は、推論結果とクラス条件402に示された対象クラスとを比較して、攻撃の成否を判定する(ステップs14)。
【0063】
攻撃が成功していれば、評価部405は、推論結果を評価結果406に反映させる(ステップs15)。攻撃が失敗していたら、損失算出部407が、式(7)に基づいて微調整損失Lftを算出し(ステップs16)、パラメータ更新部408が、微調整損失Lftに基づいてジェネレータ107のパラメータを更新し(ステップs17)、反復回数のカウントを+1してステップs12に戻る。AIモデルロバスト性評価部360は、ステップs16、s17、s12、s13を一例の更新処理とし、攻撃が成功するまで更新処理を繰り返し、最終的に攻撃が成功していれば、評価部405は、推論結果と反復回数を評価結果406に反映させる(ステップs15)。
【0064】
以上、本発明の実施形態について述べてきたが、本発明は、ここに示された実施形態だけに限定されるものではなく、本発明の技術思想の範囲内において、これらの実施形態を組み合わせて使用したり、一部の構成を変更したりしてもよい。また、上記実施形態の一部又は全部は以下の事項を含む。ただし、本発明が以下の事項に限定されるものではない。
【0065】
(事項1)
敵対的攻撃対策支援システムは、元画像から攻撃エンベディングをエンコードする攻撃エンコーダと、前記攻撃エンコーダから出力された前記攻撃エンベディングにランダムノイズを加えるノイズ追加部と、前記ランダムノイズが加えられた攻撃エンべディングを用いて推論モデルを攻撃するための攻撃画像を生成するジェネレータと、前記推論モデルを用いて前記攻撃画像に対する推論を行い、推論結果を取得する推論部と、前記攻撃画像と前記元画像との識別を行い、識別結果を算出する識別部と、前記推論結果および前記識別結果に基づいて前記攻撃画像を訓練するための損失である訓練損失を算出する損失算出部と、前記訓練損失に基づいて前記攻撃エンコーダ、前記ジェネレータ、および識別部を更新するパラメータ更新部と、を有する。
【0066】
これによれば、ランダムノイズを加えた攻撃エンベディングを用いた攻撃画像による攻撃の評価に基づいて攻撃エンコーダおよびジェネレータのパラメータを更新し、攻撃画像を改善するので、多様な攻撃パターンの攻撃画像に対するAIモデルのロバスト性の評価を支援することが可能になる。
【0067】
(事項2)
事項1に記載の敵対的攻撃対策支援システムにおいて、前記損失算出部は、前記元画像と前記攻撃画像の差分を所定範囲に制限しようとするための第1の損失を計算し、前記識別部が前記元画像と前記攻撃画像を正しく識別しようとし前記ジェネレータが前記元画像と前記攻撃画像を誤って識別させようとして敵対する第2の損失を計算し、前記推論モデルによる推論に対する攻撃が成功する可能性を高めようとするための第3の損失を計算し、前記攻撃が成功する可能性の高い攻撃画像のランダムノイズが加えられていない攻撃エンベディングとランダムノイズが加えられた攻撃エンベディングとの距離を小さくしようとするための第4の損失を計算し、前記第1の損失と前記第2の損失と前記第3の損失と前記第4の損失を所定の重みづけをして合計することにより前記訓練損失を計算する。
【0068】
これによれば、多様な攻撃パターンの攻撃画像に対するAIモデルのロバスト性の評価を支援することが可能になる。
【0069】
(事項3)
事項2に記載の敵対的攻撃対策支援システムにおいて、前記損失算出部による前記訓練損失の算出と前記パラメータ更新部による前記攻撃エンコーダ、前記ジェネレータ、および識別部の更新を所定の終了条件が満たされるまで繰り返して得られた前記攻撃エンコーダおよび前記ジェネレータを用いて攻撃画像を生成する攻撃画像生成部を更に有する。これによれば、推論モデルの攻撃に成功する可能性の高い攻撃画像を生成することができる。
【0070】
(事項4)
事項3に記載の敵対的攻撃対策支援システムにおいて、前記攻撃画像生成部により生成された攻撃画像を前記推論モデルに入力して推論結果を取得し、前記攻撃画像と元画像との識別を行って識別結果を算出し、前記推論結果および前記識別結果に基づいて前記攻撃画像を微調整するための損失である微調整損失を算出し、前記推論結果にて攻撃が成功しなかった場合、前記微調整損失に基づいて前記ジェネレータを更新し、更新された前記ジェネレータを前記攻撃画像生成部に用いて生成した攻撃画像を前記推論モデルに入力して推論結果および識別結果を取得するという一連の更新処理を攻撃が成功するまで繰り返し、前記更新処理の反復回数を前記推論モデルの評価結果として出力するロバスト性評価部を更に有する。
【0071】
これによれば、攻撃が成功するまでジェネレータの更新を繰り返しその反復回数を評価結果とするので、ジェネレータの能力に依存しない方法でロバスト性を評価することができる。
【0072】
(事項5)
事項4に記載の敵対的攻撃対策支援システムにおいて、前記ロバスト性評価部は、前記第1の損失と前記第2の損失と前記第3の損失を所定の重みづけをして合計することにより前記微調整損失を計算する。これによれば、適切な更新処理により推論モデルの攻撃が成功するまでの更新処理の反復回数により適切なロバスト性の評価が可能となる。
【符号の説明】
【0073】
103…攻撃エンコーダ、105…ノイズ追加部、107…ジェネレータ、109…推論部、110…識別部、111…損失算出部、112…パラメータ更新部、300…コンピュータシステム、302…プロセッサ、304…メモリ、306…メモリバス、308…I/Oバス、309…バスインターフェース部、310…I/Oバスインターフェース部、312…端末インターフェース、314…ストレージインターフェース、316…I/Oデバイスインターフェース、316…デバイスインターフェース、318…ネットワークインターフェース、320…I/Oデバイス、322…ストレージ装置、324…表示システム、326…表示装置、330…ネットワーク、340…攻撃生成モデル学習部、350…攻撃画像生成部、360…AIモデルロバスト性評価部、405…評価部
406…評価結果、407…損失算出部、408…パラメータ更新部