(57)【要約】【課題】より汎用的で頑健な分類器の生成を可能とするために、画像サンプルに恣意的なノイズを加えて間違った分類を行わせる攻撃手法に関連する画像処理システム、画像処理方法および画像処理プログラムの提供を図る。【解決手段】与えられた実画像Ｉｒにフォワード処理Ｐｆ10を行って攻撃画像Ｉａを生成する攻撃ネットワー１０クと、前記攻撃ネットワークからの前記攻撃画像にフォワード処理Ｐｆ21，Ｐｆ22，…を行って画像を分類すると共に、バックワード処理Ｐｂ21，Ｐｂ22，…を行って分類結果が不正確になる勾配Ｇ21，Ｇ22，…を算出する複数の異なる特性を有する攻撃対象の画像分類ネットワーク２１，２２，…と、を備え、前記攻撃画像を生成する画像処理システムであって、前記攻撃ネットワークは、複数の前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて学習する。【選択図】図３
2019079374.tif 000002
【特許請求の範囲】
【請求項１】
与えられた実画像にフォワード処理を行って攻撃画像を生成する攻撃ネットワークと、前記攻撃ネットワークからの前記攻撃画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する複数の異なる特性を有する攻撃対象の画像分類ネットワークと、を備え、前記攻撃画像を生成する画像処理システムであって、
前記攻撃ネットワークは、複数の前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて学習する、
ことを特徴とする画像処理システム。
【請求項２】
前記攻撃ネットワークは、複数の前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を加算して学習を行う、
ことを特徴とする請求項１に記載の画像処理システム。
【請求項３】
複数の前記画像分類ネットワークは、それぞれ事前に学習が行われ、前記攻撃ネットワークからの前記攻撃画像を受け取っても学習を行わずに固定されている、
ことを特徴とする請求項１または請求項２に記載の画像処理システム。
【請求項４】
与えられた実画像にフォワード処理を行って攻撃画像を生成する攻撃ネットワークと、前記攻撃ネットワークからの前記攻撃画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する少なくとも１つの攻撃対象の画像分類ネットワークと、を備え、前記攻撃画像を生成する画像処理システムであって、
前記攻撃ネットワークは、整数で与えられる画像の各ピクセルのスケールがとり得る値に基づいて学習し、前記スケールがとり得る値に対応した複数のノイズを出力する、
ことを特徴とする画像処理システム。
【請求項５】
前記攻撃ネットワークは、与えられたスケールに対応した前記ノイズを使用して前記攻撃画像を生成する、
ことを特徴とする請求項４に記載の画像処理システム。
【請求項６】
与えられた実画像にフォワード処理を行って攻撃画像を生成する攻撃ネットワークと、前記実画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークと、を備え、前記攻撃画像を生成する画像処理システムであって、
前記攻撃ネットワークは、前記実画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて学習を行う、
ことを特徴とする画像処理システム。
【請求項７】
前記攻撃ネットワークは、さらに、前記画像分類ネットワークのフォワード処理およびバックワード処理により得られた分類結果が不正確になる方向の中間層における勾配および活性化を用いて学習を行う、
ことを特徴とする請求項６に記載の画像処理システム。
【請求項８】
前記攻撃ネットワークにより生成された前記攻撃画像を、前記実画像として、前記攻撃ネットワークおよび前記画像分類ネットワークに与え、前記攻撃ネットワークによる学習を複数回繰り返して前記攻撃画像を生成する、
ことを特徴とする請求項６または請求項７に記載の画像処理システム。
【請求項９】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含む画像処理ユニットを複数備え、攻撃画像を生成する画像処理システムであって、
それぞれの前記画像処理ユニットにおける前記攻撃ネットワークは、前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて学習を行い、
後段の画像処理ユニットは、直前の画像処理ユニットにより生成された前記第２画像を、前記第１画像として受け取ってさらなる第２画像を生成し、
それぞれの前記後段の画像処理ユニットで同様の処理を順次繰り返して前記攻撃画像を生成する、
ことを特徴とする画像処理システム。
【請求項１０】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含む画像処理ユニットを複数備え、攻撃画像を生成する画像処理システムであって、
それぞれの前記画像処理ユニットにおける前記攻撃ネットワークは、前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて学習を行い、
後段の画像処理ユニットは、直前の画像処理ユニットにより生成された前記第２画像を、前記第１画像として受け取ってさらなる第２画像を生成し、
それぞれの前記後段の画像処理ユニットで同様の処理を順次繰り返して、複数の攻撃画像候補を生成し、
複数の前記攻撃画像候補に対して、実際の攻撃対象の画像分類ネットワークがどのように反応するかに基づいて、最終的な前記攻撃画像を生成する、
ことを特徴とする画像処理システム。
【請求項１１】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含むワーカーを複数備え、攻撃画像を生成する画像処理システムであって、
それぞれの前記ワーカーにおける前記攻撃ネットワークは、前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて学習を行い、
複数の前記ワーカーにおける前記攻撃ネットワークで生成された複数の前記第２画像は、纏められて、それぞれの前記ワーカーにおける前記画像分類ネットワークに共通に与えられる、
ことを特徴とする画像処理システム。
【請求項１２】
複数の前記ワーカーにおける前記攻撃ネットワークのそれぞれには、前記第１画像として複数の攻撃画像が与えられ、
複数の前記ワーカーにおける前記画像分類ネットワークのそれぞれには、複数の前記第２画像として、複数の前記攻撃ネットワークからの複数の攻撃画像が与えられる、
ことを特徴とする請求項１１に記載の画像処理システム。
【請求項１３】
攻撃ネットワークに実画像を与え、フォワード処理を行って攻撃画像を生成し、
前記攻撃ネットワークからの前記攻撃画像を、複数の異なる特性を有する攻撃対象の画像分類ネットワークに入力し、フォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出し、
複数の前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて前記攻撃ネットワークを学習させる、
ことを特徴とする画像処理方法。
【請求項１４】
攻撃ネットワークに実画像を与え、フォワード処理を行って攻撃画像を生成し、
前記攻撃ネットワークからの前記攻撃画像を、少なくとも１つの攻撃対象の画像分類ネットワークに入力し、フォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出し、
整数で与えられる画像の各ピクセルのスケールがとり得る値に基づいて前記攻撃ネットワークを学習させ、前記スケールがとり得る値に対応した複数のノイズを出力する、
ことを特徴とする画像処理方法。
【請求項１５】
攻撃ネットワークに実画像を与え、フォワード処理を行って攻撃画像を生成し、
前記攻撃ネットワークからの前記攻撃画像を攻撃対象の画像分類ネットワークに入力し、フォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出し、
前記実画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて前記攻撃ネットワークを学習させる、
ことを特徴とする画像処理方法。
【請求項１６】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含む画像処理ユニットを複数備え、攻撃画像を生成する画像処理方法であって、
前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて、それぞれの前記画像処理ユニットにおける前記攻撃ネットワークを学習させ、
後段の画像処理ユニットは、直前の画像処理ユニットにより生成された前記第２画像を、前記第１画像として受け取ってさらなる第２画像を生成し、
それぞれの前記後段の画像処理ユニットで同様の処理を順次繰り返して前記攻撃画像を生成する、
ことを特徴とする画像処理方法。
【請求項１７】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含む画像処理ユニットを複数備え、攻撃画像を生成する画像処理方法であって、
前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて、それぞれの前記画像処理ユニットにおける前記攻撃ネットワークを学習させ、
後段の画像処理ユニットは、直前の画像処理ユニットにより生成された前記第２画像を、前記第１画像として受け取ってさらなる第２画像を生成し、
それぞれの前記後段の画像処理ユニットで同様の処理を順次繰り返して、複数の攻撃画像候補を生成し、
複数の前記攻撃画像候補に対して、実際の攻撃対象の画像分類ネットワークがどのように反応するかに基づいて、最終的な前記攻撃画像を生成する、
ことを特徴とする画像処理方法。
【請求項１８】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含むワーカーを複数備え、攻撃画像を生成する画像処理方法であって、
前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて、それぞれの前記ワーカーにおける前記攻撃ネットワークを学習させ、
複数の前記ワーカーにおける前記攻撃ネットワークで生成された複数の前記第２画像は、纏められて、それぞれの前記ワーカーにおける前記画像分類ネットワークに共通に与えられる、
ことを特徴とする画像処理方法。
【請求項１９】
攻撃ネットワークに実画像を与え、フォワード処理を行って攻撃画像を生成し、
前記攻撃ネットワークからの前記攻撃画像を、複数の異なる特性を有する攻撃対象の画像分類ネットワークに入力し、フォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出し、
複数の前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて前記攻撃ネットワークを学習させる、処理を、コンピュータに実行させる、
ことを特徴とする画像処理プログラム。
【請求項２０】
攻撃ネットワークに実画像を与え、フォワード処理を行って攻撃画像を生成し、
前記攻撃ネットワークからの前記攻撃画像を、少なくとも１つの攻撃対象の画像分類ネットワークに入力し、フォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出し、
整数で与えられる画像の各ピクセルのスケールがとり得る値に基づいて前記攻撃ネットワークを学習させ、前記スケールがとり得る値に対応した複数のノイズを出力する、処理を、コンピュータに実行させる、
ことを特徴とする画像処理プログラム。
【請求項２１】
攻撃ネットワークに実画像を与え、フォワード処理を行って攻撃画像を生成し、
前記攻撃ネットワークからの前記攻撃画像を攻撃対象の画像分類ネットワークに入力し、フォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出し、
前記実画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて前記攻撃ネットワークを学習させる、処理を、コンピュータに実行させる、
ことを特徴とする画像処理プログラム。
【請求項２２】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含む画像処理ユニットを複数備え、攻撃画像を生成する画像処理プログラムであって、
コンピュータに、
前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて、それぞれの前記画像処理ユニットにおける前記攻撃ネットワークを学習させ、
後段の画像処理ユニットは、直前の画像処理ユニットにより生成された前記第２画像を、前記第１画像として受け取ってさらなる第２画像を生成し、
それぞれの前記後段の画像処理ユニットで同様の処理を順次繰り返して前記攻撃画像を生成する、処理を実行させる、
ことを特徴とする画像処理プログラム。
【請求項２３】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含む画像処理ユニットを複数備え、攻撃画像を生成する画像処理プログラムであって、
コンピュータに、
前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて、それぞれの前記画像処理ユニットにおける前記攻撃ネットワークを学習させ、
後段の画像処理ユニットは、直前の画像処理ユニットにより生成された前記第２画像を、前記第１画像として受け取ってさらなる第２画像を生成し、
それぞれの前記後段の画像処理ユニットで同様の処理を順次繰り返して、複数の攻撃画像候補を生成し、
複数の前記攻撃画像候補に対して、実際の攻撃対象の画像分類ネットワークがどのように反応するかに基づいて、最終的な前記攻撃画像を生成する、処理を実行させる、
ことを特徴とする画像処理プログラム。
【請求項２４】
与えられた第１画像にフォワード処理を行って第２画像を生成する攻撃ネットワークと、前記第１画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する攻撃対象の画像分類ネットワークとを含むワーカーを複数備え、攻撃画像を生成する画像処理プログラムであって、
コンピュータに、
前記第１画像と共に、前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて、それぞれの前記ワーカーにおける前記攻撃ネットワークを学習させる、処理を実行させ、
複数の前記ワーカーにおける前記攻撃ネットワークで生成された複数の前記第２画像は、纏められて、それぞれの前記ワーカーにおける前記画像分類ネットワークに共通に与えられる、
ことを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システム、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
近年、多層のニューラルネットワークを使用して機械学習を行うディープラーニング(深層学習)が注目され、例えば、画像認識を始めとして、音声認識や機械翻訳、産業用ロボットの制御や異常検知、或いは、医療情報の処理や医用画像の診断といった様々な分野での利用が実用化されつつある。
【０００３】
ところで、例えば、自動運転のための画像認識として、ニューラルネットワークを用いた画像分類モデルの応用が広がっているが、悪意を持った攻撃者がモデルの出力を誤らせようとすることが考えられる。具体的に、自動運転システムにおいて、周辺状況を認識するために車載カメラ画像を用いることが一般的となっているが、そこでは、不正確な認識が大きな問題を生じることにもなるため、例えば、歩行者や車両、信号、交通標識の認識等に対して高い精度が求められる。
【０００４】
従来、自動運転の研究および開発は、悪意を持った攻撃者が存在しない平常時の環境における自動運転システムの認識精度や走行の安全性を検証しているが、今後、徐々に実社会で実用化されるようになると、例えば、イタズラやテロ等に基づく悪意を持った攻撃者が現出する虞がある。そのため、画像の認識には、頑健な分類器を備えた認識機能が必要不可欠になると考えられている。
【０００５】
ここで、上述した悪意を持った攻撃者がモデルの出力を誤らせようとした場合でも、画像の正確な認識(分類)を行うことのできる頑健な分類器を実現するには、例えば、画像サンプルに対して恣意的なノイズを加えることで間違った分類を狙う攻撃(Adversarial attack)と、そのような攻撃に対して、より汎用的で頑健な分類器を生成する防御(Defense Against Adversarial attack)の手法が必要となり、ホットな研究トピックになっている。
【０００６】
これらは、例えば、ネットワークセキュリティの研究と同様に、攻撃手法の研究とその攻撃を防ぐ防御手法の研究がセットとなっている。すなわち、より強力な攻撃手法を考えることは、悪意を持った人間や組織がそのような攻撃を実行する前に対処方法を検討および研究開発することに繋がるため、攻撃を未然に防ぐことが可能となり、社会的意義も大きい。
【０００７】
ところで、従来、画像サンプルに対して恣意的なノイズを加え、間違った分類を狙う攻撃手法としては、様々な提案がなされている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Shumeet Baluja and Ian Fischer. Adversarial Transformation Networks: Learning to Generate Adversarial Examples. arXiv:1703.09387v1 [cs.NE] 28 Mar 2017.
【非特許文献２】Anish Athalye and Ilya Sutskever. Synthesizing Robust Adversarial Examples. arXiv:1707.07397v1 [cs.CV] 24 Jul 2017.
【非特許文献３】Seyed-Mohsen Moosavi-Dezfooli, Alhussein Fawzi, Omar Fawzi and Pascal Frossard. Universal adversarial perturbations. arXiv:1610.08401v3 [cs.CV] 9 Mar 2017.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前述したように、例えば、自動運転のための画像認識を行う分類器としては、悪意を持った人間や組織による攻撃に対して、より汎用的で頑健なものが求められている。このような汎用的で頑健な分類器を生成することは、例えば、画像サンプルに対して恣意的なノイズを加え、間違った分類を行わせる攻撃と表裏一体の関係にあり、そのため、より強力な攻撃手法の提案が望まれている。
【００１０】
なお、様々な攻撃に対して汎用的で頑健な分類器を生成するために求められるより強力な攻撃手法は、自動運転における画像認識を行うための分類器(画像分類器，画像分類モデル，画像分類ネットワーク)を生成するものに限定されず、様々な分野で利用される分類器の生成においても同様である。
【００１１】
ところで、一般的に、攻撃画像は、与えられた実画像に対して、あるノイズを加えることで生成するようになっている。例えば、実画像における所定のピクセルを変更する、或いは、実画像に対してステッカーを貼るといったこともノイズの一種と考えることができる。しかしながら、このようなアプローチでは、任意の実画像に対して攻撃の効果を常に有する攻撃画像を生成することにはならず、実画像に対して恣意的なノイズを加えて間違った分類を行わせる攻撃手法として満足のいくものではなかった。
【００１２】
本発明は、上述した課題に鑑み、より汎用的で頑健な分類器の生成を可能とするために、画像サンプルに恣意的なノイズを加えて間違った分類を行わせる攻撃手法に関連する画像処理システム、画像処理方法および画像処理プログラムの提供を目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る一実施形態によれば、与えられた実画像にフォワード処理を行って攻撃画像を生成する攻撃ネットワークと、前記攻撃ネットワークからの前記攻撃画像にフォワード処理を行って画像を分類すると共に、バックワード処理を行って分類結果が不正確になる勾配を算出する複数の異なる特性を有する攻撃対象の画像分類ネットワークと、を備え、前記攻撃画像を生成する画像処理システムであって、前記攻撃ネットワークは、複数の前記画像分類ネットワークから算出される前記分類結果が不正確になる勾配を用いて学習する画像処理システムが提供される。
【発明の効果】
【００１４】
本発明に係る画像処理システム、画像処理方法および画像処理プログラムによれば、画像サンプルに恣意的なノイズを加えて間違った分類を行わせる攻撃手法の提案により、より汎用的で頑健な分類器の生成を可能とするという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、画像処理システムの一例を説明するための図である。
【図２】図２は、画像処理システムの他の例を説明するための図である。
【図３】図３は、本発明に係る画像処理システムの第１実施例を説明するための図である。
【図４】図４は、本発明に係る画像処理システムの第３実施例を説明するための図である。
【図５】図５は、本発明に係る画像処理システムの第４実施例および第５実施例を説明するための図である。
【図６】図６は、本発明に係る画像処理システムの第６実施例および第７実施例を説明するための図である。
【発明を実施するための形態】
【００１６】
まず、本発明に係る画像処理システム、画像処理方法および画像処理プログラムの実施例を詳述する前に、画像処理システムの例およびその課題を、図１および図２を参照して説明する。
【００１７】
図１は、画像処理システムの一例を説明するための図であり、与えられた実画像に対して恣意的なノイズを加えて攻撃画像を生成する画像処理システムの一例を説明するためのものである。図１において、参照符号１００は攻撃対象の画像分類ネットワーク(画像分類器)、Ｉｒ0は実画像、Ｉａ0は攻撃画像、そして、Ｇ0は勾配を示す。さらに、参照符号(矢印)Ｐｆ0は、フォワード処理(実画像Ｉｒ0を分類する処理)を示し、Ｐｂ0は、バックワード処理(分類結果が不正確になる勾配(不正確になる方向の勾配)Ｇ0を算出する処理)を示し、そして、Ｐａ0は、バックワード処理Ｐｂ0により得られた勾配Ｇ0を実画像Ｉｒ0に加算する処理を示す。
【００１８】
図１に示す画像処理システムの一例では、画像分類ネットワーク１００としてニューラルネットワーク(例えば、畳み込みニューラルネットワーク(ＣＮＮ：Convolutional Neural Network))が与えられている場合、そのニューラルネットワークの仕組みを逆手にとるようになっている。すなわち、画像分類ネットワーク１００の誤差逆伝搬法(Backpropagation)において、分類結果が「不正確」になる入力層の勾配Ｇ0を算出し(Ｐｂ0)、その勾配Ｇ0をノイズとして実画像Ｉｒ0に加える(Ｐａ0)ことにより、攻撃画像Ｉａ0を生成する。ここで、「不正確さ」の種類としては、例えば、正解ラベルから遠ざける、ランダムなラベルに近づける、或いは、エントロピーを上げるといった様々なものが考えられ、また、ステップ数も１回だけ行うもの(single-step attack)や複数回繰り返すもの(multi-step attack)が考えられる。
【００１９】
しかしながら、図１に示す画像処理システム(画像処理方法，攻撃手法)では、攻撃の際にも画像分類ネットワーク１００へのアクセスが必要となり、さらに、毎回バックワード処理Ｐｂ0が必要なため、計算コストが高くなるといった問題がある。なお、画像分類ネットワーク(ＣＮＮ)１００では、上述したフォワード処理Ｐｆ0(forward)およびバックワード処理Ｐｂ0(backward)の他に最適化処理(optimization)があるが、直接関係しないので省略されている。
【００２０】
図２は、画像処理システムの他の例を説明するための図であり、与えられた実画像Ｉｒ0に対して恣意的なノイズを加えて攻撃画像Ｉａ0を生成する画像処理システムの他の例を説明するためのものである。図２において、参照符号１０１は攻撃ネットワーク、１０２は攻撃対象の画像分類ネットワーク、Ｐｆ01,Ｐｆ02はフォワード処理、そして、Ｐｂ01,Ｐｂ02はバックワード処理を示す。
【００２１】
図２に示す画像処理システムの他の例では、攻撃画像Ｉａ0を「生成する」ための攻撃ネットワーク１０１を設け、この攻撃ネットワーク１０１を学習対象として別途学習する。ここで、攻撃ネットワーク１０１は、実画像Ｉｒ0を受け取って攻撃画像Ｉａ0を生成するニューラルネットワークであり、また、画像分類ネットワーク１０２は、事前に学習されたものが適用される。すなわち、画像分類ネットワーク１０２は、攻撃ネットワーク１０１からの攻撃画像Ｉａ0を受け取っても学習を行わずに固定されている。
【００２２】
攻撃ネットワーク１０１は、実画像Ｉｒ0にノイズを加えた攻撃画像Ｉａ0を直接生成するもので、例えば、効果的なノイズの発生過程自体を学習(機械学習，深層学習)することができるため、汎用性が高いものと考えられる。しかしながら、この図２に示す画像処理システムは、その手法が初歩的であるため、大きな効果は期待できない。
【００２３】
以下、本発明に係る画像処理システム、画像処理方法および画像処理プログラムの実施例を、添付図面を参照して詳述する。なお、以下に詳述する実施例は、例えば、画像サンプル(入力画像，実画像)に対して恣意的なノイズを加えることで間違った分類を狙う攻撃に関するものであるが、これは、ネットワークセキュリティの技術分野と同様に、攻撃を防ぐ防御は、より強力な攻撃手法を考えることにより、悪意を持った人間や組織がそのような攻撃を実行する前に、対処方法を検討および研究開発して攻撃を未然に防ぐことを可能とするものであるのは、前述した通りである。
【００２４】
また、攻撃者の意図を考えた場合、誤判別(誤分類)させるカテゴリを指定すると、より破壊的な攻撃を行うことができるため、より深刻度が高くなる(Targeted Adversarial Attack)。具体的に、交通標識の認識において、例えば、一時停止の標識を最高速度が５０ｋｍの標識として誤認識させられた場合等には、大きな問題を生じる虞がある。
【００２５】
本発明に係る画像処理システム、画像処理方法および画像処理プログラムの実施例は、そのような誤判別させたいカテゴリが指定される場合の攻撃にも利用することができ、これは、後に詳述するように、攻撃対象ネットワークの予測結果が誤判別させたいカテゴリに傾くような勾配と入力層へのノイズを計算することにより可能となる。
【００２６】
図３は、本発明に係る画像処理システムの第１実施例を説明するための図であり、与えられた実画像に対して恣意的なノイズを加えて攻撃画像を生成する画像処理システムの第１実施例を説明するためのものである。図３において、参照符号１０は攻撃ネットワーク、２１，２２は攻撃対象の画像分類ネットワーク(画像分類器)、Ｉｒは実画像、そして、Ｉａは攻撃画像を示す。また、参照符号Ｐｆ10,Ｐｆ21,Ｐｆ22は、フォワード処理を示し、また、Ｐｂ10,Ｐｂ21,Ｐｂ22は、バックワード処理を示す。
【００２７】
なお、参照符号Ｇ10は、攻撃ネットワーク１０のバックワード処理Ｐｂ10により算出される勾配を示し、Ｇ21は、画像分類ネットワーク２１のバックワード処理Ｐｂ21により算出される分類結果が不正確になる勾配(不正確になる方向の勾配)を示し、そして、Ｇ22は、画像分類ネットワーク２２のバックワード処理Ｐｂ22により算出される分類結果が不正確になる勾配を示す。
【００２８】
図３に示されるように、攻撃ネットワーク１０は、実画像Ｉｒを受け取って攻撃画像Ｉａを生成し、複数の画像分類ネットワーク２１および２２(２１，２２，…)の入力画像として同時に与える。ここで、画像分類ネットワーク２１および２２は、異なる特性を有する画像分類器であり、具体的に、画像分類ネットワーク(第１画像分類器)２１は、例えば、「Inception V3」であり、画像分類ネットワーク(第２画像分類器)２２は、例えば、「Inception ResNet V2」である。なお、画像分類ネットワーク２１，２２は、それぞれ事前に学習されたものが適用され、攻撃ネットワーク１０からの攻撃画像Ｉａを受け取っても学習を行わずに固定されている。
【００２９】
なお、図３では、２つの攻撃対象の画像分類ネットワーク２１および２２のみがブロックとして描かれているが、画像分類ネットワークとしては、３つ以上であってもよい。すなわち、画像分類ネットワーク２１，２２，…としては、「Inception V3」および「Inception ResNet V2」の他に、例えば、「ResNet50」および「VGG16」といった異なる特性を有する様々なモデル(分類モデル，分類器)を適用することができる。
【００３０】
ここで、第１実施例の画像処理システムにおいて、攻撃対象となる画像分類ネットワーク２１，２２，…として選択(設定)される分類器は、例えば、実際に分類器が分かっているか予測可能な場合には、その分かっているか予測可能な分類器に基づいて決めることができる。また、第１実施例の画像処理システムは、攻撃画像Ｉａを複数の画像分類ネットワーク２１，２２，…に同時に与えて攻撃ネットワーク１０の学習を行うことから、複数計算機環境において効率よく実施することが可能である。
【００３１】
攻撃ネットワーク１０は、実画像Ｉｒを受け取って攻撃画像Ｉａを生成するフォワード処理Ｐｆ10と、攻撃画像Ｉａに基づく勾配Ｇ10を算出するバックワード処理Ｐｂ10と、を含む。ここで、攻撃画像Ｉａは、複数の画像分類ネットワーク２１，２２，…による誤判別が誘発されやすい画像となるように、複数の画像分類ネットワーク２１，２２，…のバックワード処理Ｐｂ21，Ｐｂ22，…により算出された勾配(分類結果が不正確になる勾配)Ｇ21，Ｇ22，…を使用して、例えば、加算して生成される。すなわち、攻撃ネットワーク１０は、勾配Ｇ10に対して勾配Ｇ21，Ｇ22，…を加算した勾配(Ｇ10＋Ｇ21＋Ｇ22＋…)に基づいて学習し、攻撃画像Ｉａを生成する。
【００３２】
このように、第１実施例の画像処理システム(画像処理方法，画像処理プログラム)は、１つの攻撃ネットワーク１０で複数の画像分類ネットワーク２１，２２，…を攻撃対象とすることにより、攻撃ネットワーク１０は、全ての画像分類ネットワーク２１，２２，…のロス関数が悪くなるように学習(機械学習，深層学習)することになる。これにより、例えば、１つのモデル(１つの画像分類ネットワーク)に対する過学習を抑制し、また、攻撃対象として用いなかった他の画像分類ネットワークに対しても強く誤判別させる能力を持つ攻撃画像Ｉａを生成することが可能となる。以上のように、第１実施例によれば、例えば、既存の手法よりも精度が高い攻撃ネットワーク１０を、特に、複数計算機環境において効率よく構築することが可能となる。
【００３３】
次に、本発明に係る画像処理システムの第２実施例を説明するが、これは、上述した図３における攻撃ネットワーク１０に対して複数のタスクを学習させるものである。すなわち、第２実施例の画像処理システムは、攻撃画像Ｉａを生成する場合、例えば、各ピクセルの値(赤緑青(ＲＧＢ)の値)を±εまでの変更を想定した場合のものである。一例として、スケールεが４から１６の整数で、実行時に与えられる場合を説明する。なお、各ピクセルの値を±ε(４から１６の整数)まで変更するのは、例えば、一定のノイズ強度のみではなく、ノイズの強度に合わせて有効な攻撃画像を生成できる汎用的な攻撃手法を得るための要請からきている。
【００３４】
例えば、知られている画像処理システムでは、攻撃ネットワーク(例えば、ＣＮＮ)１０の畳み込み(Convolution)部分では、３(ＲＧＢ)×画像サイズによりノイズを出力し、それをε倍(例えば、ε＝４ならば４倍、また、ε＝１６ならば１６倍)して画像(実画像Ｉｒ)に足し合わせているが、これでは、テクスチャを打ち消すようなノイズがうまく出せず、攻撃画像Ｉａとして満足のいくものを生成できない。そこで、第２実施例の画像処理システムでは、異なるスケールのノイズを同時に生成できるように、チャネル数(１３：スケールεがとり得る値(４〜１６の各整数値))×３×画像のノイズを１つの攻撃ネットワーク１０から生成できるように別々のタスクとして学習し、別々の出力を行うようにしている。
【００３５】
例えば、εが４〜１６の複数スケールに対応する１３チャネルを導入し、１３×３×画像サイズ(実画像Ｉｒ)のノイズを出力する。ここで、１３チャネルは、εがとり得る値(４〜１６の各整数値)、すなわち、４，５，６，７，８，９，１０，１１，１２，１３，１４，１５および１６の１３通りに基づいている。そして、攻撃ネットワーク１０は、例えば、外部から与えられたスケールεに対応したノイズを使用して、攻撃画像Ｉａを生成することになる。
【００３６】
このように、第２実施例の画像処理システムによれば、攻撃ネットワーク１０は、スケールεに対応した攻撃画像Ｉａを高速に生成することが可能になる。或いは、第２実施例の画像処理システムによれば、スケールεをフレキシブルに設定した攻撃画像Ｉａを短時間で生成することが可能になる。また、防御側の分類器(攻撃対象の画像分類ネットワーク)を考えた場合、攻撃ネットワーク１０は、スケールεが異なる様々な攻撃画像Ｉａを高速に生成して、画像分類ネットワークに与えることができるため、より汎用的で頑健な分類器(攻撃対象の画像分類ネットワーク)を短期間で生成することが可能となる。
【００３７】
図４は、本発明に係る画像処理システムの第３実施例を説明するための図である。図４に示されるように、第３実施例の画像処理システムにおいて、攻撃ネットワーク１０は、攻撃対象の画像分類ネットワーク２０における勾配Ｇ20を利用して攻撃画像Ｉａを生成する。ここで、画像分類ネットワーク２０は、フォワード処理Ｐｆ20，バックワード処理Ｐｂ20および最適化処理(optimization)を有するが、第３実施例では、最適化処理は行わずに、画像分類ネットワーク２０のフォワード処理Ｐｆ20およびバックワード処理Ｐｂ20で得られた勾配(gradient)および活性化(activation：活性化の状態，活性化関数)を、攻撃ネットワーク１０に出力する。
【００３８】
すなわち、図４に示されるように、第３実施例の画像処理システムにおいて、攻撃ネットワーク１０は、画像分類ネットワーク２０のバックワード処理Ｐｂ20により得られた分類結果が不正確になる勾配Ｇ２0を利用して攻撃画像Ｉａを生成する。さらに、攻撃ネットワーク１０は、画像分類ネットワーク２０のフォワード処理Ｐｆ20により得られた分類結果が不正確になる方向の中間層(隠れ層)における勾配および活性化のデータＤｆ21，Ｄｆ22、および、画像分類ネットワーク２０のバックワード処理Ｐｂ20により得られた分類結果が不正確になる方向の中間層における勾配および活性化のデータＤｂ21，Ｄｂ22を利用して攻撃画像Ｉａを生成する。
【００３９】
ここで、ニューラルネットワークは、入力層、中間層および出力層を有するが、例えば、画像分類ネットワーク２０の中間層と、攻撃ネットワーク１０の中間層がそのまま対応しない場合には、例えば、画像分類ネットワーク２０から得られたデータＤｆ21，Ｄｆ22，Ｄｂ21，Ｄｂ22が攻撃ネットワーク１０で利用できるように適宜処理する。具体的に、攻撃ネットワーク１０の中間層の数が画像分類ネットワーク２０の中間層の数よりも遥かに多い場合、例えば、画像分類ネットワーク２０の中間層から得られたデータＤｆ21，Ｄｆ22，Ｄｂ21，Ｄｂ2は、攻撃ネットワーク１０の複数の中間層毎に与えられることになる。このように、第３実施例の画像処理システムによれば、分類結果をさらに不正確にすることができる攻撃画像Ｉａを生成することが可能になる。
【００４０】
図５は、本発明に係る画像処理システムの第４実施例および第５実施例を説明するための図である。図５と、上述した図４の比較から明らかなように、第４実施例の画像処理システムは、第３実施例の画像処理システムに相当する画像処理ユニットＵ１，Ｕ２，…が複数段(複数組)設けられ、後段の画像処理ユニット(例えば、Ｕ２)は、直前の画像処理ユニット(例えば、Ｕ１)により生成された攻撃画像Ｉａ1を、実画像Ｉｒとして受け取ってさらなる攻撃画像Ｉａ2を生成し、同様の処理を順次繰り返して最終的な攻撃画像Ｉａするようになっている。
【００４１】
また、第５実施例の画像処理システムは、上述した第４実施例の画像処理システムと同様の構成を有するが、それぞれの画像処理ユニットＵ１，Ｕ２，…により生成された攻撃画像Ｉａ1，Ｉａ2，…を、最終的な攻撃画像Ｉａの候補とする。そして、第５実施例の画像処理システムでは、複数の画像処理ユニットＵ１，Ｕ２，…により生成された複数の攻撃画像候補Ｉａ1，Ｉａ2，…に対して、実際の攻撃対象の画像分類ネットワークがどのように反応するかに基づいて、すなわち、画像分類ネットワークによる分類の精度を確認して、最終的な攻撃画像とする。
【００４２】
なお、各画像分類ネットワーク２０のバックワード処理Ｐｂ20により得られた勾配Ｇ２01，Ｇ２02の利用、並びに、画像分類ネットワーク２０のフォワード処理Ｐｆ20およびバックワード処理Ｐｂ20により得られた中間層における勾配および活性化のデータＤｆ21，Ｄｆ22およびＤｂ21，Ｄｂ22の利用は、図４を前述したのと同様であり、その説明は省略する。
【００４３】
ここで、図５に示す第４実施例および第５実施例の画像処理システムでは、複数の画像処理ユニットＵ１，Ｕ２，…を設けたが、例えば、１つの画像処理ユニット(図３に示す画像処理システム)において、出力された攻撃画像Ｉａを、実画像Ｉｒとして再び攻撃ネットワーク１０および画像分類ネットワーク２０に入力して攻撃画像(Ｉａ1)を生成し、同様の処理を繰り返して、最終的な攻撃画像Ｉａを生成することもできる。なお、第４実施例において、最終的な攻撃画像Ｉａを生成するために同様の処理を繰り返す回数、すなわち、図５における画像処理ユニットＵ１，Ｕ２，…の数は、同じ実画像Ｉｒに対する処理になるため、その処理のための時間等を考慮すると、数回〜数十回(数個〜数十個)程度が好ましい。以上のように、第４実施例および第５実施例の画像処理システムによれば、実際の攻撃対象の画像分類ネットワークをより一層強く騙す(誤判別を生じさせやすくする)攻撃画像を生成できる強力な攻撃ネットワークの学習を行うことができる。
【００４４】
図６は、本発明に係る画像処理システムの第６実施例および第７実施例を説明するための図であり、４つのワーカー(例えば、並列に動作する４つのコンピュータ)Ｗ１〜Ｗ４を示す。なお、図６において、各ワーカーＷ１〜Ｗ４における攻撃ネットワーク(１０)のブロク、並びに、攻撃ネットワークと画像分類ネットワーク２１〜２４のフォワード処理およびバックワード処理等は、省略されている。また、前述した図３では、攻撃対象の画像分類ネットワーク(第１画像分類器)２１として「Inception V3」、画像分類ネットワーク(第２画像分類器)２２として「Inception ResNet V2」を適用した例を示したが、図６では、さらに、例えば、画像分類ネットワーク(第３画像分類器)２３として「ResNet50」が適用され、画像分類ネットワーク(第４画像分類器)２４として「VGG16」が適用される。
【００４５】
ところで、本発明に係る画像処理システムを実施する場合、例えば、並列データ処理を高速に実行することが可能なＧＰＧＰＵ(General-Purpose computing on Graphics Processing Units、或いは、ＧＰＵ)を搭載したコンピュータを使用するのが好ましい。もちろん、並列データ処理を高速化するためのＦＰＧＡ(Field-Programmable Gate Array)によるアクセラレータを搭載したコンピュータ、或いは、ニューラルネットワークの処理に特化した専用プロセッサ等を適用したコンピュータを使用することもできるが、いずれのコンピュータも、並列データ処理を高速に行うことができるものである。このようなコンピュータを使用して、本発明に係る画像処理システムを実施する場合には、例えば、攻撃ネットワーク(１０)の処理に比べて、画像分類ネットワークの処理は軽い(負荷が小さい、処理時間が短い)ため、同時に複数の処理を行った方が資源を有効に利用することになる。
【００４６】
すなわち、本発明に係る画像処理システムを実施する場合、前提条件として、攻撃ネットワーク(１０)も攻撃対象ネットワーク(２１〜２４)も、ＧＰＵ(ＧＰＧＰＵ)のメモリを大量に消費するため、単一のＧＰＵや単一のコンピュータ(単一計算機)を使って、マルチターゲットなどを行うことが難しく、複数のコンピュータを用いる環境(複数計算機環境)が求められる。そこで、マルチターゲットの各攻撃対象ネットワークを、異なるコンピュータに割り当てると共に、各コンピュータが生成する攻撃画像を共有し、一度に処理する数(バッチサイズ)を、攻撃ネットワークが用いる時と攻撃対象ネットワークが用いる時で変更するのが好ましい。
【００４７】
図６に示されるように、第６実施例の画像処理システムでは、システムを４つのワーカーＷ１〜Ｗ４に分け、ワーカーＷ１〜Ｗ４のそれぞれで生成された攻撃画像Ｉａ11〜Ｉａ41を、ワーカーＷ１〜Ｗ４の全ての画像分類ネットワーク２１〜２４に共通に与えるようになっている。
【００４８】
すなわち、第６実施例の画像処理システムでは、各ワーカーＷ１〜Ｗ４における画像分類ネットワーク２１〜２４のそれぞれは、４つのワーカーＷ１〜Ｗ４からの異なる４つの攻撃画像Ｉａ11〜Ｉａ41を同時に受け取って処理する。このように、並列化することにより、学習効率を向上させることが可能となる。
【００４９】
次に、第７実施例の画像処理システムは、データ方向の並列性とモデル方向の並列性が独立している、すなわち、異なる入力画像(実画像Ｉｒ11〜Ｉｒ41)の処理と異なる画像分類ネットワーク(２１〜２４)の学習は、独立していることに注目し、さらなる効率化を図るものである。
【００５０】
上述した第６実施例の画像処理システムにおいて、４つのワーカーＷ１〜Ｗ４における画像分類ネットワーク２１〜２４には、各ワーカーＷ１〜Ｗ４で生成された４つの攻撃画像(攻撃画像候補)Ｉａ11〜Ｉａ41が纏められて、共通に与えられている(共有している)。これに対して、第７実施例の画像処理システムでは、各ワーカーＷ１〜Ｗ４における実画像として５つの画像を与えるようになっている。具体的に、ワーカーＷ１の攻撃ネットワークに対しては、パンダの実画像Ｉｒ11の他に、例えば、トラの実画像Ｉｒ12，ネズミの実画像Ｉｒ13，ネコの実画像Ｉｒ14およびリスの実画像Ｉｒ15を与えて、並列的に処理を行わせる。同様に、ワーカーＷ２，Ｗ３およびＷ４でも、それぞれ５つの実画像Ｉｒ21〜Ｉｒ25，Ｉｒ31〜Ｉｒ35およびＩｒ41〜Ｉｒ45を与えて並列的に処理を行わせる。すなわち、各ワーカーＷ１〜Ｗ４の攻撃ネットワークは、５つの実画像を受け取ってフォワード処理を行い、それぞれ５つの攻撃画像を出力する(バッチサイズ５)。
【００５１】
これにより、ワーカーＷ１，Ｗ２，Ｗ３およびＷ４で生成される攻撃画像は、それぞれ５つの攻撃画像Ｉａ11〜Ｉａ5，Ｉａ21〜Ｉａ25，Ｉａ31〜Ｉａ35およびＩａ41〜Ｉａ45となり、各ワーカーＷ１〜Ｗ４における画像分類ネットワーク２１〜２４は、５×４＝２０の攻撃画像(Ｉａ11〜Ｉａ5，Ｉａ21〜Ｉａ25，Ｉａ31〜Ｉａ35およびＩａ41〜Ｉａ45)を処理することになる(Allgather)。すなわち、各ワーカーＷ１〜Ｗ４の画像分類ネットワーク２１〜２４は、それぞれ２０個の画像を受け取ってフォワード処理およびバックワード処理を行う(バッチサイズ２０)。さらに、勾配をReduce-scatterして各攻撃画像候補(攻撃画像)を、各ワーカーＷ１〜Ｗ４に与え、それぞれの攻撃ネットワークでバックワード処理を行う(バッチサイズ５)。
【００５２】
このように、第７実施例の画像処理システムは、計算の途中で通信を行いバッチサイズが変化する挙動となる。これは、攻撃ネットワークがかなり巨大でありバッチサイズがかなり小さくなってしまうのに対し、攻撃対象ネットワークはもう少し小さいためバッチサイズを大きくすることができる(バッチサイズを大きくしないと効率的でない)ためである。このように、第６実施例および第７実施例の画像処理システムによれば、高速で効率的な処理を実現することができる。なお、図６におけるワーカーの数は、単なる例であり、また、各ワーカーの攻撃ネットワークに与える画像の数やワーカーの構成等も、様々な変形および変更が可能である。
【００５３】
なお、上述した各実施例の画像処理システムは、例えば、上述した高速な並列データ処理が可能なコンピュータに対する画像処理プログラム、或いは、画像処理方法として提供することができるのはいうまでもない。
【００５４】
以上において、本発明の画像処理システム、画像処理方法および画像処理プログラムは、攻撃画像を生成する攻撃側の適用に限定されるものではなく、例えば、攻撃ネットワークの出力を用いて防御ネットワークの構築や攻撃対象ネットワークの改良を行うことができるため、防御側の用途でも適用することが可能である。
【００５５】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものであり、特に記載された例や条件は発明の範囲を制限することを意図するものではない。また、明細書のそのような記載は、発明の利点および欠点を示すものでもない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００５６】
１０，１０１    攻撃ネットワーク
２０，２１〜２４，１００，１０２    攻撃対象の画像分類ネットワーク(画像分類器)
Ｉｒ，Ｉｒ0，Ｉｒ11〜Ｉｒ45    実画像
Ｉａ，Ｉａ0，Ｉａ1，Ｉａ2，Ｉa11〜Ｉa45    攻撃画像
Ｐｆ0，Ｐｆ01,Ｐｆ02，Ｐｆ10,Ｐｆ21,Ｐｆ22，Ｐｆ20    フォワード処理
Ｐｂ0，Ｐｂ01,Ｐｂ02，Ｐｂ10,Ｐｂ21,Ｐｂ22，Ｐｂ20    バックワード処理
Ｇ0，Ｇ10,Ｇ21,Ｇ22，Ｇ20，Ｇ201,Ｇ202    勾配
【図１】
2019079374.tif 000003
【図２】
2019079374.tif 000004
【図３】
2019079374.tif 000005
【図４】
2019079374.tif 000006
【図５】
2019079374.tif 000007
【図６】
2019079374.tif 000008