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

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

▶ 日本電信電話株式会社の特許一覧 ▶ 国立大学法人電気通信大学の特許一覧

特開2024-11941学習装置、学習方法及び学習プログラム
<>
  • 特開-学習装置、学習方法及び学習プログラム 図1
  • 特開-学習装置、学習方法及び学習プログラム 図2
  • 特開-学習装置、学習方法及び学習プログラム 図3
  • 特開-学習装置、学習方法及び学習プログラム 図4
  • 特開-学習装置、学習方法及び学習プログラム 図5
  • 特開-学習装置、学習方法及び学習プログラム 図6
  • 特開-学習装置、学習方法及び学習プログラム 図7
  • 特開-学習装置、学習方法及び学習プログラム 図8
  • 特開-学習装置、学習方法及び学習プログラム 図9
  • 特開-学習装置、学習方法及び学習プログラム 図10
  • 特開-学習装置、学習方法及び学習プログラム 図11
  • 特開-学習装置、学習方法及び学習プログラム 図12
  • 特開-学習装置、学習方法及び学習プログラム 図13
  • 特開-学習装置、学習方法及び学習プログラム 図14
  • 特開-学習装置、学習方法及び学習プログラム 図15
  • 特開-学習装置、学習方法及び学習プログラム 図16
  • 特開-学習装置、学習方法及び学習プログラム 図17
  • 特開-学習装置、学習方法及び学習プログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024011941
(43)【公開日】2024-01-25
(54)【発明の名称】学習装置、学習方法及び学習プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20240118BHJP
   G06N 3/08 20230101ALI20240118BHJP
   G06V 10/82 20220101ALI20240118BHJP
   G06V 10/774 20220101ALI20240118BHJP
【FI】
G06T7/00 350C
G06N3/08
G06V10/82
G06V10/774
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022114303
(22)【出願日】2022-07-15
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(71)【出願人】
【識別番号】504133110
【氏名又は名称】国立大学法人電気通信大学
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】鈴木 聡志
(72)【発明者】
【氏名】増村 亮
(72)【発明者】
【氏名】澤田 雅人
(72)【発明者】
【氏名】安藤 厚志
(72)【発明者】
【氏名】牧島 直輝
(72)【発明者】
【氏名】庄野 逸
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096FA66
5L096FA77
5L096GA34
5L096GA51
5L096HA11
5L096JA05
5L096KA04
(57)【要約】
【課題】クリーン画像への精度を保持しながら、敵対的学習によるロバスト性を高めた画像識別モデルを提供する。
【解決手段】学習装置10は、正解ラベルが付された第1のクリーン画像を基に敵対的摂動を生成し、生成した敵対的摂動を、第1のクリーン画像に重畳した重畳画像を生成する敵対的摂動生成部13と、複数のクリーン画像を学習データとして画像識別を学習したCNNのモデルパラメータが初期パラメータとして設定されたCNN141を用いて、重畳画像に対して画像識別を行う画像識別部14と、重畳画像に対する画像識別結果が、第1のクリーン画像の正解ラベルに近づくようにCNN141のパラメータを最適化することによって、CNN141の学習を実行する最適化部15と、敵対的摂動生成部13に、敵対的摂動の大きさが段階的に上がるように摂動を生成させるスケジュール部16と、を有する。
【選択図】図3
【特許請求の範囲】
【請求項1】
正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成する生成部と、
複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)のモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行う画像識別部と、
前記重畳画像に対する画像識別結果が、前記第1のクリーン画像の正解ラベルに近づくように前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行する学習部と、
前記生成部に、前記摂動の大きさが段階的に上がるように前記摂動を生成させる制御部と、
を有することを特徴とする学習装置。
【請求項2】
前記学習部は、前記第1のクリーン画像に対する画像識別結果と前記第1のクリーン画像の正解ラベルとの誤差を示す項と、前記誤差に対する前記摂動の影響度を示す項とを有する損失関数を用いて、前記第2のNNのパラメータを最適化し、
前記制御部は、前記摂動の大きさが前記第2のNNの学習段階に応じて段階的に上がるように前記生成部に前記摂動を生成させ、前記学習部に、前記第2のNNの前記影響度に対する段階的な学習を実行させることを特徴とする請求項1に記載の学習装置。
【請求項3】
前記生成部は、前記第1のクリーン画像に対する画像識別結果から、正解ラベル以外で最も出力値が大きいカテゴリを探索し、探索したカテゴリに対する損失が最も小さくなるように前記摂動を生成することを特徴とする請求項1に記載の学習装置。
【請求項4】
正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成する生成部と、
複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)を用いて、前記第1のクリーン画像に対して画像識別を行い、前記第1のNNの中間出力を第1の中間出力として出力する第1の画像識別部と、
前記第1のNNのモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行い、前記第2のNNの中間出力を第2の中間出力として出力する第2の画像識別部と、
前記第2の画像識別部による前記重畳画像に対する画像識別結果と前記第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、前記第1の中間出力と前記第2の中間出力との差分が小さくなるように、前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行する学習部と、
前記生成部に、前記摂動の大きさが段階的に上げるように前記摂動を生成させる制御部と、
を有することを特徴とする学習装置。
【請求項5】
学習装置が実行する学習方法であって、
正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成する工程と、
複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)のモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行う工程と、
前記重畳画像に対する画像識別結果が、前記第1のクリーン画像の正解ラベルに近づくように前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行する工程と、
前記生成する工程において、前記摂動の大きさが段階的に上がるように前記摂動を生成させる工程と、
を含んだことを特徴とする学習方法。
【請求項6】
学習装置が実行する学習方法であって、
正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成する工程と、
複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)を用いて、前記第1のクリーン画像に対して画像識別を行い、前記第1のNNの中間出力を第1の中間出力として出力する工程と、
前記第1のNNのモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行い、前記第2のNNの中間出力を第2の中間出力として出力する工程と、
前記重畳画像に対する画像識別結果と前記第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、前記第1の中間出力と前記第2の中間出力との差分が小さくなるように、前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行する工程と、
前記生成する工程において、前記摂動の大きさが段階的に上げるように前記摂動を生成させる工程と、
を含んだことを特徴とする学習方法。
【請求項7】
正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成するステップと、
複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)のモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行うステップと、
前記重畳画像に対する画像識別結果が、前記第1のクリーン画像の正解ラベルに近づくように前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行するステップと、
前記生成するステップにおいて、前記摂動の大きさが段階的に上がるように前記摂動を生成させるステップと、
をコンピュータに実行させるための学習プログラム。
【請求項8】
正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成するステップと、
複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)を用いて、前記第1のクリーン画像に対して画像識別を行い、前記第1のNNの中間出力を第1の中間出力として出力するステップと、
前記第1のNNのモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行い、前記第2のNNの中間出力を第2の中間出力として出力するステップと、
前記重畳画像に対する画像識別結果と前記第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、前記第1の中間出力と前記第2の中間出力との差分が小さくなるように、前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行するステップと、
前記生成するステップにおいて、前記摂動の大きさが段階的に上げるように前記摂動を生成させるステップと、
をコンピュータに実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法及び学習プログラムに関する。
【背景技術】
【0002】
近年、機械学習技術、特に、畳み込みニューラルネットワーク(Convolutional Neural Network:CNN)を用いた、画像内の被写体の識別や検出、領域分割等の技術の精度向上が著しい。これらの機械学習技術を用いた、各種業務における目視工程の自動化を推進する技術が注目を集めている。
【0003】
例えば、撮像された画像を処理することで業務の目視工程自動化を推進していく場合、CNNの画像処理は、目視工程を行っている人間の直感に沿った処理であることが望ましい。CNNの画像処理は、例えば、画像識別の際に識別対象に多少のノイズ等が付与されていても、識別結果は不変である、などの性質をもっていることが望ましい。
【0004】
CNNは、人間の視覚構造と類似する機構を持つモデルとして知られており、上記のようなノイズに対しても人間と同様の不変性を持つと考えられてきた。
【0005】
しかしながら、近年、CNNの画像処理は人間が知覚できないような微小なノイズに対して不変性を有さないことが明らかになってきた。特に、敵対的摂動と呼ばれる脆弱性攻撃は、人間はほとんど感知できない微小なノイズでありながらも、何も対策を講じていない場合、CNNの画像識別をほぼ100%の確率で誤らせること、すなわち、人間から見れば犬が映っているのにも関わらず車と識別する、といったことを可能にすることが明らかになっている。
【0006】
このような人間の直感と異なる敵対的摂動に対するCNNの挙動は、実用上大きな課題となり得る。したがって、敵対的摂動に対してロバストなCNNモデルを構築することは、CNNの実用上、重要な課題である。
【0007】
ここで、敵対的摂動による攻撃に対してロバストなCNNを構築する手法として、様々な手法が提案されてきた。しかしながら、これらの多くの手法は、後に開発された新たな攻撃手法に対して、脆弱性が発見されている。
【0008】
ただし、ロバストなCNNを構築する手法のうち、敵対的学習(非特許文献1)と呼ばれる手法は、最新の攻撃手法に対しても、大きく識別精度を落とすことが無く、ロバストなCNNモデルを作成するための方法論として知られている。
【0009】
敵対的学習は、学習を行うCNNモデルを最大限攻撃する敵対的摂動を作りだし、その摂動が加えられた画像を正しく識別できるように学習を行う。敵対的学習は、この学習を繰り返し行うことによって、ロバストなCNNモデルを構築するというものである。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】M A. Madry, A. Makelov, L. Schmidt, D. Tsipras, and A. Vladu, “Towards Deep Learning Models Resistant to Adversarial Attacks”, [online], arXiv:1706.06083v4 [stat.ML], 2019年9月, [2022年6月2日検索]、インターネット<URL: https://arxiv.org/pdf/1706.06083.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0011】
敵対的学習は、ロバスト性を高めるという目的に対しては、経験的に有効な手法であるのに対し、敵対的摂動が適用されていない画像(以下、クリーン画像)に対する識別精度が、クリーン画像のみを学習したCNN(以下、通常学習CNN)よりも大幅に低いという課題がある。
【0012】
例えば、CIFAR-10という画像データセットにおいてWideResNet-34-10というアーキテクチャを採用した場合、通常CNNモデルは通常画像に対して95%程度の精度を実現するが、敵対的学習を行ったモデルは85%程度の精度となる。敵対的学習を行ったモデルは、通常CNNモデルよりも、10ポイントもの精度低下が起こる。
【0013】
悪意のある第三者からの敵対的摂動による攻撃に対するロバスト性の向上は重要な課題である一方、通常画像の精度も実用上は非常に重要である。このため、ロバスト性を高めるために、通常画像の精度を大きく低下させることは、実用上好ましくない。
【0014】
本発明は、上記に鑑みてなされたものであって、クリーン画像への精度を保持しながら、敵対的学習によるロバスト性を高めた画像識別モデルを提供する学習装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0015】
上述した課題を解決し、目的を達成するために、本発明に係る学習装置は、正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成する生成部と、複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)のモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行う画像識別部と、前記重畳画像に対する画像識別結果が、前記第1のクリーン画像の正解ラベルに近づくように前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行する学習部と、前記生成部に、前記摂動の大きさが段階的に上がるように前記摂動を生成させる制御部と、を有することを特徴とする。
【0016】
また、本発明に係る学習装置は、正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成する生成部と、複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)を用いて、前記第1のクリーン画像に対して画像識別を行い、前記第1のNNの中間出力を第1の中間出力として出力する第1の画像識別部と、前記第1のNNのモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行い、前記第2のNNの中間出力を第2の中間出力として出力する第2の画像識別部と、前記第2の画像識別部による前記重畳画像に対する画像識別結果と前記第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、前記第1の中間出力と前記第2の中間出力との差分が小さくなるように、前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行する学習部と、前記生成部に、前記摂動の大きさが段階的に上げるように前記摂動を生成させる制御部と、を有することを特徴とする。
【発明の効果】
【0017】
本発明によれば、クリーン画像への精度を保持しながら、敵対的学習によるロバスト性を高めた画像識別モデルを提供することができる。
【図面の簡単な説明】
【0018】
図1図1は、正解ラベルが付されたクリーン画像のみを学習したCNNと、敵対的学習を行ったCNNとにおける中間層の出力を説明する図である。
図2図2は、実施の形態1における学習方法を説明する図である。
図3図3は、実施の形態1に係る学習装置の構成の一例を模式的に示す図である。
図4図4は、実施の形態1に係る学習処理の処理手順を示すフローチャートである。
図5図5は、図4に示す敵対的画像生成処理の処理手順を示すフローチャートである。
図6図6は、図4に示す画像識別処理の処理手順を示すフローチャートである。
図7図7は、図4に示す最適化処理の処理手順を示すフローチャートである。
図8図8は、図4に示すスケジュール処理の処理手順を示すフローチャートである。
図9図9は、図4に示す敵対的画像生成処理の他の処理手順を示すフローチャートである。
図10図10は、実施の形態2における学習方法を説明する図である。
図11図11は、実施の形態2に係る学習装置の構成の一例を模式的に示す図である。
図12図12は、実施の形態2に係る学習処理の処理手順を示すフローチャートである。
図13図13は、図12に示す画像識別処理の処理手順を示すフローチャートである。
図14図14は、図12に示す原画像識別処理の処理手順を示すフローチャートである。
図15図15は、図12に示す最適化処理の処理手順を示すフローチャートである。
図16図16は、実施の形態3に係る学習装置の構成の一例を模式的に示す図である。
図17図17は、実施の形態3に係る学習処理の処理手順を示すフローチャートである。
図18図18は、プログラムが実行されることにより、学習装置が実現されるコンピュータの一例を示す図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0020】
[実施の形態1]
実施の形態1では、敵対的摂動が重畳されていない画像(以下、クリーン画像)に対する画像識別精度を保持しながら、敵対的学習によるロバスト性を高めたCNN(Convolutional Neural Network)の学習について説明する。CNNは、画像識別モデルである。
【0021】
図1は、正解ラベルが付されたクリーン画像のみを学習したCNN(以下、通常学習CNN)(第1のNN)と、敵対的学習(Adversarial Training:AT)を行ったCNNとにおける中間層の出力を説明する図である。図1は、CIFAR-10のデータセットを使用し、WideResNet28-10の27層目の表現を用いた調査結果である。
【0022】
図1に示すように、通常学習CNNモデルによって得られる中間層の出力(特徴表現)(図1の(1))と、敵対的学習を行ったCNNモデルにおいて得られる中間層の出力とは、Cos類似度で0.2546程度しか一致せず、大きく異なることがわかった。
【0023】
この結果は、通常学習CNNでうまく行えていた特徴抽出が、ATを行ったCNNモデルでは行えなくなり、大幅な精度低下が起こることを示唆している。実施の形態1では、ATにおいて、通常学習時に獲得するクリーン画像に対する特徴表現と同等の特徴表現を獲得できるように、言い換えると、通常学習CNNと同じような特徴抽出を行えるように、制約を加える。
【0024】
図2は、実施の形態1における学習方法を説明する図である。実施の形態1では、正解ラベルが付されたクリーン画像xclean(x)に、敵対的摂動δを重畳した敵対的画像xadv(x+δ)(重畳画像)の学習の際、敵対的摂動δの大きさに基づくカリキュラム学習を行う(図2の(1))。言い換えると、実施の形態1では、敵対的摂動δの大きさが段階的に上がるように敵対的摂動δを生成することで、敵対的画像xadvに対するAT-CNN(第2のNN)のカリキュラム学習を行う。
【0025】
例えば、損失関数として、式(1)を用いて、AT-CNNのパラメータの最適化を行う。
【0026】
【数1】
【0027】
ここで、f(θ,x+δ)は、(x+δ)(敵対的画像xadv)が入力された際のAT-CNN(モデルパラメータθ)が出力するラベルを表す。式(1)は、AT-CNNが出力するラベルと、クリーン画像xclean(x)に付された正解ラベルとの誤差を示す損失関数である。
【0028】
そして、式(1)をテーラー展開すると、式(2)のように近似できる。
【0029】
【数2】
【0030】
式(2)に示すように、右辺の第1項は、クリーン画像xが入力された際のAT-CNNが出力するラベルと、当該クリーン画像の正解ラベルyとの誤差を示す損失関数である。右辺の第1項は、クリーン画像に対する識別結果とクリーン画像の正解ラベルとの誤差を示す項である。
【0031】
そして、式(2)の右辺の第2項以降は、敵対的摂動δに関する項であり、クリーン画像に対する識別結果とクリーン画像の正解ラベルとの誤差に対する影響度を示すものといえる。言い換えると、式(2)の右辺の第2項以降の影響の大きさは、敵対的摂動δによって支配されており、ATに特異な項といえる。
【0032】
そして、実施の形態1では、敵対的摂動δの大きさ|δ|によるカリキュラム学習を行う。言い換えると、実施の形態1では、大きさ0(δ=0は通常学習と同値)から、徐々に|δ|を大きくするという制約を設ける。すなわち、実施の形態1では、式(2)の右辺の第2項以降における、敵対的摂動δのクリーン画像に対する識別結果とクリーン画像の正解ラベルとの誤差に対する影響度が段階的に上がるように敵対的摂動δを生成する。
【0033】
これによって、実施の形態1では、敵対的画像xadvに対するAT-CNN(第2のNN)の敵対的摂動δによる影響度に対する段階的な学習を実行させることで、カリキュラム学習を行う。
【0034】
[学習装置]
次に、実施の形態1に係る学習装置について説明する。図3は、実施の形態1に係る学習装置の構成の一例を模式的に示す図である。
【0035】
実施の形態に係る学習装置10は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、学習装置10は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースを有する。学習装置10は、ワークステーションやパソコン等の汎用コンピュータで実現される。
【0036】
学習装置10は、図3に示すように、画像記憶部11、初期化部12、敵対的摂動生成部13(生成部)、画像識別部14、最適化部15(学習部)及びスケジュール部16(制御部)を有する。
【0037】
画像記憶部11は、クリーン画像と、このクリーン画像の被写体のカテゴリを示す正解ラベルとの組を、複数記憶する。
【0038】
初期化部12は、画像識別モデルであるCNN141の初期パラメータを保持する。初期パラメータは、クリーン画像を学習データとして画像識別を予め学習したCNN(第1のNN)のモデルパラメータである。なお、初期パラメータは、クリーン画像を適切に識別できるモデルのモデルパラメータであれば足りる。
【0039】
敵対的摂動生成部13は、処理対象として、画像記憶部11から出力されたクリーン画像(第1のクリーン画像)を基に敵対的摂動(摂動)を生成し、生成した敵対的摂動を、第1のクリーン画像に重畳した重畳画像を生成する。
【0040】
敵対的摂動生成部13は、スケジュール部16によるスケジュール結果、最適化部15が最適化したCNN141(後述)のモデルパラメータ、第1のクリーン画像、及び、第1のクリーン画像の正解ラベルを基に、第1のクリーン画像への敵対的摂動を生成する。敵対的摂動生成部13は、生成した重畳画像を、敵対的画像として画像識別部14へ出力する。
【0041】
スケジュール結果は、敵対的摂動の大きさがCNN141の学習段階に応じて段階的に上がるように、敵対的摂動を生成させるように設定される。スケジュール結果は、例えば、敵対的摂動の摂動のノルムなどのパラメータを制御する制御情報である。スケジュール結果の制御対象は、CNN141の特徴表現学習を大きく損ねないようにするパラメータであれば摂動のノルムに限らない。
【0042】
画像識別部14は、敵対的摂動生成部13から、識別対象の敵対的画像を受け付け、CNN141を用いて、敵対的画像に対して画像識別を行う。まず、学習開始時には、CNN141には、クリーン画像を学習データとして画像識別を予め学習したCNNのモデルパラメータが初期パラメータとして設定される。そして、学習が進むと、CNN141には、最適化部15が最適化したCNN141のモデルパラメータが設定される。画像識別部14は、得られた出力(画像識別結果)をモデル出力として最適化部15に出力する。
【0043】
最適化部15は、モデル出力と正解ラベルとを基に、CNN141の評価と、CNN141のモデルパラメータの最適化を行う。最適化部15は、敵対的画像に対するモデル出力が、第1のクリーン画像の正解ラベルに近づくようにCNN141のモデルパラメータを最適化することによって、CNN141の学習を実行する。
【0044】
最適化部15部は、前述の式(2)の損失関数を用いて、CNN141のパラメータを最適化する。式(2)は、前述したように、第1のクリーン画像に対する識別結果と第1のクリーン画像の正解ラベルとの誤差を示す項と、この誤差に対する敵対的摂動の影響度を示す項とを有する。最適化部15は、スケジュール部16の制御によって、CNN141の、第1のクリーン画像に対する識別結果と第1のクリーン画像の正解ラベルとの誤差に対する敵対的摂動の影響度に対する段階的な学習を行う。
【0045】
最適化部15は、CNN141の評価結果をスケジュール部16に出力する。最適化部15は、最適化後のCNN141のモデルパラメータを、敵対的摂動生成部13と画像識別部14とに出力する。
【0046】
スケジュール部16は、CNN141の評価結果を基に、敵対的摂動生成部13が生成する敵対的摂動の生成パラメータを決定する。スケジュール部16は、決定した生成パラメータを、スケジュール結果として、敵対的摂動生成部13に出力する。
【0047】
スケジュール部16は、敵対的摂動生成部13に、敵対的摂動の大きさが段階的に上がるように、敵対的摂動を生成させる。スケジュール部16は、敵対的摂動の大きさがCNN141の学習段階に応じて段階的に上がるように、敵対的摂動生成部13に敵対的摂動を生成させ、最適化部15に、CNNの、第1のクリーン画像に対する識別結果と第1のクリーン画像の正解ラベルとの誤差に対する敵対的摂動の影響度に対する段階的な学習を実行させる。
【0048】
スケジュール部16は、学習を終了すると判定した場合には、最適化部15において最適化されたCNN141のモデルパラメータを学習済みパラメータとして出力する。
【0049】
[学習処理]
次に、実施の形態1に係る学習処理について説明する。図4は、実施の形態1に係る学習処理の処理手順を示すフローチャートである。
【0050】
図4に示すように、学習装置10では、まず、初期化部12が、CNN141のパラメータ初期化のため、CNN141の初期パラメータを、敵対的摂動生成部13及び画像識別部14に出力する(ステップS1)。
【0051】
学習装置10は、画像記憶部11の中から、1組の第1のクリーン画像と、この第1のクリーン画像に対応する正解ラベルとを取り出し、第1のクリーン画像と正解ラベルとを敵対的摂動生成部13に送信し、正解ラベルを最適化部15へ送信する(ステップS2)。
【0052】
敵対的摂動生成部13は、敵対的画像生成処理を行う(ステップS3)。敵対的画像は、第1のクリーン画像に敵対的摂動生を重畳した画像である。
【0053】
画像識別部14は、CNN141を用いて、敵対的摂動生成部13が生成した敵対的画像に対する画像識別処理を行う(ステップS4)。
【0054】
最適化部15は、モデル出力と正解ラベルとを基に、CNN141の評価と、CNN141のモデルパラメータの最適化を行う最適化処理を行う(ステップS5)。
【0055】
スケジュール部16は、CNN141の評価結果を基に、敵対的摂動生成部13が生成する敵対的摂動の大きさがCNN141の学習段階に応じて段階的に上がるように、敵対的摂動の生成パラメータを決定するスケジュール処理を行う(ステップS6)。
【0056】
学習装置10は、学習処理を終了するか否かを判定する(ステップS7)。学習処理を終了しないと判定した場合(ステップS7:No)、学習装置10では、ステップS2に戻り、CNN141の学習を継続する。学習処理を終了すると判定した場合(ステップS7:Yes)、学習装置10は、スケジュール部16を介して、最適化後のCNN141のモデルパラメータを学習済みパラメータとして取得する(ステップS8)。
【0057】
[敵対的画像生成処理]
次に、敵対的画像生成処理(ステップS3)について説明する。図5は、図4に示す敵対的画像生成処理の処理手順を示すフローチャートである。
【0058】
まず、敵対的摂動生成部13は、学習の開始時か否かを判定する(ステップS11)。
【0059】
学習の開始時の場合(ステップS11:Yes)、敵対的摂動生成部13は、初期化部12から初期パラメータを取得する(ステップS12)。初期パラメータは、クリーン画像を学習データとして画像識別を予め学習したCNNのモデルパラメータであるが、クリーン画像を適切に識別できるモデルのモデルパラメータであれば足りる。敵対的摂動生成部13は、スケジュール結果を初期化する(ステップS13)。
【0060】
学習の開始時ではない場合(ステップS11:No)、敵対的摂動生成部13は、スケジュール部16からスケジュール結果を取得する(ステップS14)。スケジュール結果は、敵対的摂動の摂動のノルムなどのパラメータを制御する制御情報であるが、CNN141の特徴表現学習を大きく損ねないようにするパラメータであれば摂動のノルムに限らない。敵対的摂動生成部13は、最適化部15から最適化後のCNN141のモデルパラメータを取得し(ステップS15)、以降、画像識別パラメータとして用いる。
【0061】
敵対的摂動生成部13は、画像記憶部11から、処理対象の第1のクリーン画像と、該第1のクリーン画像の正解ラベルとを取得する(ステップS16)。
【0062】
敵対的摂動生成部13は、スケジュール結果、第1のクリーン画像の正解ラベル、第1のクリーン画像、及び、ステップS12またはステップS15において取得した最適化後のCNN141のモデルパラメータを基に、敵対的摂動を生成する(ステップS17)。ここで、敵対的摂動の生成として、正解ラベルに対する損失を最大化させるような手法を用いることが一般的である。また、敵対的摂動の生成手法として、Projected Gradient Descent(非特許文献1)を用いることを想定しているが、適切に敵対的摂動を生成できるのであれば、他の手法を用いてもよい。
【0063】
敵対的摂動生成部13は、第1のクリーン画像に、生成した敵対的摂動を重畳し、敵対的画像として画像識別部14へ出力する(ステップS18)。
【0064】
[画像識別処理]
次に、画像識別処理(ステップS4)について説明する。図6は、図4に示す画像識別処理の処理手順を示すフローチャートである。
【0065】
図6に示すように、画像識別部14は、学習の開始時か否かを判定する(ステップS21)。
【0066】
学習の開始時の場合(ステップS21:Yes)、画像識別部14は、初期化部12から初期パラメータを取得する(ステップS22)。この初期パラメータは、ステップS12において敵対的摂動生成部13が取得した初期パラメータと同様のものであることを想定しているが、異なるパラメータであっても、類似の効果を得ることができる。
【0067】
学習の開始時ではない場合(ステップS21:No)、画像識別部14は、最適化部15から最適化後のCNN141のモデルパラメータを取得し(ステップS23)、以降、画像識別パラメータとして用いる。
【0068】
画像識別部14は、敵対的摂動生成部13からステップS18の処理によって出力された敵対的画像を取得する(ステップS24)。画像識別部14は、敵対的画像に対して、最適化後のCNN141のモデルパラメータに基づく画像識別を適用する(ステップS25)。画像識別部14は、ステップS22またはステップS23において取得したモデルパラメータが設定されたCNN141を用いて、敵対的画像に対して、画像識別処理を実行する。
【0069】
画像識別部14は、ステップS25の処理によって得られた出力分布をモデル出力として最適化部15へ出力する(ステップS26)。
【0070】
[最適化処理]
次に、最適化処理(ステップS5)について説明する。図7は、図4に示す最適化処理の処理手順を示すフローチャートである。
【0071】
図7に示すように、最適化部15は、学習の開始時か否かを判定する(ステップS31)。
【0072】
学習の開始時の場合(ステップS31:Yes)、最適化部15は、初期化部12から初期パラメータを取得する(ステップS32)。
【0073】
学習の開始時ではない場合(ステップS31:No)、または、ステップS32終了後、最適化部15は、画像記憶部11から、処理対象の第1のクリーン画像の正解ラベルを取得する(ステップS33)。最適化部15は、画像識別部14から、モデル出力を出力する(ステップS34)。
【0074】
最適化部15は、モデル出力xと正解ラベルyとの差分が小さくなるように、CNN141のモデルパラメータを最適化し、最適化後パラメータとして出力する(ステップS35)。最適化部15は、式(2)に示す損失関数を使用して、パラメータを最適化する。
【0075】
また、最適化部15は、モデル出力xと正解ラベルyとの差分を小さくするような画像識別ロスによって画像識別パラメータを最適化し、最適化後パラメータを出力してもよい。なお、この画像識別ロスは、式(3)に示す交差エントロピ等が一般に用いられるが、所望の識別タスクにおいて適切な目的関数であれば、平均二乗誤差などでも同様の効果を奏する。
【0076】
【数3】
【0077】
最適化部15は、モデル出力がどの程度正解ラベルに近いか評価し、評価結果を出力する(ステップS36)。この評価には、モデル出力のargmaxを取った結果と正解ラベルとが一致しているか否か、などのほか、適切な評価指標であればどのような指標を用いてもよい。
【0078】
[スケジュール処理]
次に、スケジュール処理(ステップS6)について説明する。図8は、図4に示すスケジュール処理の処理手順を示すフローチャートである。
【0079】
図8に示すように、スケジュール部16は、最適化部15がステップS36において記出力した評価結果を取得する(ステップS41)。スケジュール部16は、ステップS41において取得した評価結果が基準値以上であるか否かを判定する(ステップS42)。
【0080】
評価結果が基準値以上である場合(ステップS42:Yes)、スケジュール部16は、所定の終了条件を基に、CNN141の学習を終了するか否かを判定する(ステップS43)。学習の終了条件は、例えば、敵対的摂動を生成するパラメータが所望の値まで到達している場合、CNN141のパラメータの更新回数が所定の回数に到達した場合、パラメータ更新量が所定の閾値以下となった場合、最適化部15が算出した損失が所定の閾値以下となった場合、などである。
【0081】
スケジュール部16が、CNN141の学習を終了すると判定した場合(ステップS43:Yes)、学習装置10は、CNN141の学習を終了する。
【0082】
スケジュール部16は、CNN141の学習を終了しないと判定した場合(ステップS43:No)、これまで用いていたパラメータを更新した新たな敵対的摂動生成のためのパラメータをスケジュール結果として敵対的摂動生成部13へ出力する(ステップS44)。
【0083】
CNN141に敵対的摂動による影響度を段階的に学習させるために、敵対的摂動は、学習段階に応じて、段階的に大きくなるように設定されている。このため、スケジュール部16は、例えば、検証対象の敵対的画像に対する画像識別の精度が10epoch飽和したら、敵対的摂動の摂動のノルムを、現段階から、現段階の次の段階の大きさに増加させたスケジュール結果を出力する。
【0084】
評価結果が基準値未満である場合(ステップS42:No)、スケジュール部16は、敵対的摂動の生成に関して、現状のパラメータを維持するようなスケジュール結果を敵対的摂動生成部13へ出力する(ステップS45)。
【0085】
[実施の形態1の効果]
このように、実施の形態1では、クリーン画像を学習済みである通常CNNから特徴表現が大きく外れないように、敵対的摂動の大きさを段階的に大きくするという制約を加えて、CNN141の学習を行う。
【0086】
これによって、実施の形態1では、CNN141に敵対的摂動による影響度を段階的に学習させることで、クリーン画像への精度を保持しながら、敵対的学習によるロバスト性を高めた画像識別モデルを提供することができる。
【0087】
[実施の形態1の変形例]
また、敵対的摂動生成部13は、敵対的摂動の生成において、Most confusing attackを適用してもよい。図9は、図4に示す敵対的画像生成処理の他の処理手順を示すフローチャートである。
【0088】
図9のステップS51~ステップS56は、図5に示すステップS11~ステップS16と同じ処理である。
【0089】
敵対的摂動生成部13は、第1のクリーン画像を、ステップS55において取得した最適化後のモデルパラメータに基づくCNNを用いて画像識別処理を行い、その出力結果から、第1のクリーン画像の正解ラベル以外で最も出力値が大きい(Most confusing)カテゴリを探索する(ステップS57)。なお、敵対的摂動生成部13は、最適化後のモデルパラメータに基づくCNNを用いた第1のクリーン画像に対する画像識別結果を取得すれば足りるため、このCNNは、敵対的摂動生成部13が有する構成に限らず、他の構成要素が有していてもよい。
【0090】
敵対的摂動生成部13は、スケジュール結果、第1のクリーン画像、ステップS57において取得したMost confusingカテゴリ、CNN141のモデルパラメータを基に敵対的摂動を作成する(ステップS58)。この際、敵対的摂動生成部13は、Most confusingカテゴリに対する損失が最も小さくなるように敵対的摂動を生成する。生成手法として、Projected Gradient Descent(非特許文献1)を用いることを想定しているが、適切に敵対的摂動を生成できるのであれば、他の手法を用いてもよい。
【0091】
図9に示すステップS59は、図5に示すステップS18と同じ処理である。
【0092】
Most confusingカテゴリは、正解ラベル以外で最も高い確信度を示すクラスである。このため、このMost confusingカテゴリを基に生成した敵対的摂動は、最も近い決定境界のデータ点に対応することとなり、第1のクリーン画像に重畳しても、第1のクリーン画像の特徴表現を大きく変えないような攻撃となる。例えば、図5に示す処理手順にて生成した敵対的摂動画像と第1のクリーン画像との特徴表現とのcos類似度が、0.3896であるのに対し、Most confusingカテゴリを基に生成した敵対的画像と第1のクリーン画像との特徴表現のcos類似度は、0.4485と近くなる。
【0093】
実施の形態1の変形例によれば、Most confusingカテゴリを基に生成した敵対的画像をCNN141に学習させることで、敵対的摂動による影響度のより段階的な学習を実現することができる。
【0094】
[実施の形態2]
次に、実施の形態2について説明する。図10は、実施の形態2における学習方法を説明する図である。
【0095】
実施の形態2では、通常学習CNN(第1のNN)の特徴表現から、AT-CNN(第2のNN)の特徴表現が変わらないように制約をかけることで、AT-CNNが、通常学習CNNと異なる特徴表現を獲得しないようにする。
【0096】
具体的には、実施の形態2では、AT-CNNの学習として、通常学習CNNを教師とした知識蒸留を行う(図10の(1))。ここで、CNNの出力層からの知識蒸留は、正則化効果のみである。このため、実施の形態2では、中間層の出力を直接的に制約することで、AT-CNNが通常学習CNNと同じような特徴抽出を行えるように学習を実行する。実施の形態2では、制約の損失関数として、例えば、cos類似度を用いて、学習を実行する。
【0097】
[学習装置]
次に、実施の形態2に係る学習装置について説明する。図11は、実施の形態2に係る学習装置の構成の一例を模式的に示す図である。
【0098】
図11に示すように、実施の形態2に係る学習装置210は、図3に示す学習装置10と比して、スケジュール部16を削除した構成を有する。そして、学習装置210は、学習装置10と比して、画像識別部14及び最適化部15に代えて画像識別部214(第2の画像識別部)及び最適化部215を有する。学習装置210は、さらに、原画像識別部216(第1の画像識別部)を有する。
【0099】
原画像識別部216は、複数のクリーン画像を学習データとして画像識別を学習した第1のCNN2161(第1のNN)を用いて、第1のクリーン画像に対して画像識別を行う。原画像識別部216は、第1のCNN2161の中間出力を、原画像中間出力(第1の中間出力)として、最適化部215に出力する。なお、中間出力とは、第1のCNN2161の最終層ではない階層の処理結果の数値を想定しているが、画像識別のための適切な特徴表現であれば他の出力でもよい。
【0100】
画像識別部214は、学習対象の第2のCNN2141を有し、画像識別部14と同様の機能を有する。第2のCNN2141は、第1のCNN2161のモデルパラメータが初期パラメータとして設定される。画像識別部214は、第2のCNN2141のモデル出力とともに、第2のCNN2141の中間出力(第2の中間出力)を最適化部15に出力する。中間出力は、原画像中間出力の処理階層と同階層の処理結果の数値である。また、中間出力は、原画像中間出力と同様に、画像識別のための適切な特徴表現であれば他の出力でもよい。
【0101】
最適化部215は、画像識別部214による敵対的画像に対する画像識別結果と第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、原画像中間出力と第2のCNN2141の中間出力との差分が小さくなるように、第2のCNN2141のパラメータを最適化することによって、第2のCNN2141の学習を実行する。
【0102】
最適化部215は、式(4)に示すように、第1の損失関数Lと第2の損失関数Lとの重みづけ和である損失関数Lを用いて、第2のCNN2141のパラメータを最適化する。
【0103】
【数4】
【0104】
式(4)のうち、第1の損失関数Lは、画像識別部214による敵対的画像に対する画像識別結果と第1のクリーン画像の正解ラベルとの差分を示す損失関数である。第2の損失関数Lは、原画像中間出力と第2のCNN2141の中間出力との差分を示す損失関数である。αは、ハイパーパラメータである。
【0105】
[学習処理]
次に、実施の形態2に係る学習処理について説明する。図12は、実施の形態2に係る学習処理の処理手順を示すフローチャートである。
【0106】
図12に示すステップS201~ステップS203は、図4に示すステップS1~ステップS3と同じ処理である。なお、ステップS203において、敵対的摂動生成部13は、Most confusing attack(図9)を適用して敵対的摂動を生成してもよい。
【0107】
画像識別部214は、第2のCNN2141を用いて、敵対的摂動生成部13が生成した敵対的画像に対する画像識別処理を行い(ステップS204)、モデル出力及び中間出力を最適化部215に出力する。
【0108】
原画像識別部216は、第1のCNN2161を用いて、第1のクリーン画像に対して画像識別を行う原画像識別処理を行い(ステップS205)、原画像中間出力を最適化部215に出力する。
【0109】
最適化部215は、画像識別部214による敵対的画像に対する画像識別結果と第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、原画像中間出力と第2のCNN2141の中間出力との差分が小さくなるように、第2のCNN2141のパラメータを最適化する最適化処理を行う(ステップS206)。
【0110】
ステップS207及びステップS208は、図4に示すステップS7及びステップS8と同じ処理である。
【0111】
[画像識別処理]
次に、画像識別処理(ステップS204)について説明する。図13は、図12に示す画像識別処理の処理手順を示すフローチャートである。
【0112】
図13に示すステップS211~ステップS215は、図6に示すステップS21~ステップS25と同じ処理である。画像識別部214は、ステップS215の処理によって得られたモデル出力と、第2のCNN2141の中間出力を最適化部15に出力する(ステップS216)。
【0113】
[原画像識別処理]
次に、原画像識別処理(ステップS205)について説明する。図14は、図12に示す原画像識別処理の処理手順を示すフローチャートである。
【0114】
原画像識別部216は、学習の開始時か否かを判定する(ステップS221)。学習の開始時の場合(ステップS221:Yes)、原画像識別部216は、初期化部12から初期パラメータを取得する(ステップS222)。
【0115】
学習の開始時ではない場合(ステップS221:No)、または、ステップS222終了後、原画像識別部216は、第1のクリーン画像を取得し(ステップS223)、クリーン画像に対して、モデルパラメータ(初期化パラメータ)に基づく画像識別を適用する(ステップS224)。ステップS224において、原画像識別部216は、第1のCNN2161を用いて、第1のクリーン画像に対して画像識別を行う。
【0116】
原画像識別部216は、第1のCNN2161の中間出力を、原画像中間出力として、最適化部215に出力する(ステップS225)。
【0117】
[最適化処理]
次に、最適化処理(ステップS206)について説明する。図15は、図12に示す最適化処理の処理手順を示すフローチャートである。
【0118】
図15に示すステップS231~ステップS233は、図7に示すステップS31~ステップS33と同じ処理である。最適化部15は、画像識別部214からモデル出力と中間出力とを取得し(ステップS234)、原画像識別部216から原画像中間出力を取得
する(ステップS235)。
【0119】
そして、最適化部215は、画像識別部214から出力されたモデル出力と第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、原画像中間出力と第2のCNN2141の中間出力との差分が小さくなるように、第2のCNN2141のモデルパラメータを最適化し、最適化後パラメータとして、敵対的摂動生成部13及び画像識別部214に出力する(ステップS236)。
【0120】
なお、最適化部215は、式(4)に示すような、モデル出力xと正解ラベルyとの差分を小さくするような画像識別ロスと、第2のCNN2141の中間出力と原画像中間出力との差分を小さくするような中間出力ロスとによって画像識別パラメータを最適化し、最適化後パラメータを出力すればよい。
【0121】
なお、画像識別ロスは、式(4)に示す交差エントロピ等が一般に用いられるが、所望の識別タスクにおいて適切な目的関数であれば、平均二乗誤差などでも同様の効果を奏する。中間出力ロスも最小二乗誤差関数やコサイン距離関数を想定しているが、適切な目的関数であればよい。
【0122】
最適化部215は、モデル出力がどの程度正解ラベルに近いか評価し、評価結果を出力する(ステップS237)。この評価には、モデル出力のargmaxを取った結果と正解ラベルとが一致しているか否か、などのほか、適切な評価指標であればどのような指標を用いてもよい。
【0123】
[実施の形態2の効果]
このように、実施の形態2では、第1のCNN2161特徴表現から、第2のCNN2141の特徴表現が変わらないように、中間層の出力を直接的に制約することによって、クリーン画像への精度を保持しながら、敵対的学習によるロバスト性を高めた画像識別モデルを提供することができる。
【0124】
[実施の形態3]
次に、実施の形態3について説明する。実施の形態3は、実施の形態1と実施の形態2との組み合わせた場合について説明する。
【0125】
図16は、実施の形態3に係る学習装置の構成の一例を模式的に示す図である。図16に示すように、実施の形態3に係る学習装置310は、図3に示す学習装置10と比して、原画像識別部216をさらに有する構成を有する。そして、学習装置310は、図3に示す学習装置10と比して画像識別部14及び最適化部15に代えて、画像識別部214及び最適化部215を有する。
【0126】
図17は、実施の形態3に係る学習処理の処理手順を示すフローチャートである。図17に示すステップS301~ステップS303は、図4に示すステップS1~ステップS3と同じ処理である。なお、ステップS303において、敵対的摂動生成部13は、Most confusing attack(図9)を適用して敵対的摂動を生成してもよい。
【0127】
図17に示すステップS304~ステップS306は、図12に示すステップS204~ステップS206と同じ処理である。図17に示すステップS307~ステップS309は、図4に示すステップS6~ステップS8と同じ処理である。
【0128】
この実施の形態3に示すように、敵対的摂動の大きさが段階的に上がるように敵対的摂動を生成させるカリキュラム学習を行いながら、画像識別部214による敵対的画像に対する画像識別結果と第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、第2のCNN2141の中間出力と原画像中間出力との差分が小さくなるように、第2のCNN2141のパラメータを最適化してもよい。前記第2のNNの学習を実行する。
【0129】
[評価結果]
実施の形態1~3において学習したCNN141、第2のCNN2141の画像識別性能を評価した結果を表1に示す。比較として、クリーン画像のみを学習したCNN(Standard)と、敵対的画像のみを学習したCNN(AT)の評価結果も示す。Cleanは、クリーン画像に対する結果である。FGSM,BIM(7),PGC(20),CW(20)は、敵対的画像の生成手法である。
【0130】
【表1】
【0131】
表1に示すように、実施の形態1~3に係る学習方法を用いて学習したCNN141、第2のCNN2141は、いずれも、クリーン画像に対し、敵対的画像のみを学習したCNN(AT)よりも、高い画像識別精度を示す。そして、実施の形態1~3に係る学習方法を用いて学習したCNN141、第2のCNN2141は、いずれも、敵対的画像に対し、クリーン画像のみを学習したCNN(Standard)及び敵対的画像のみを学習したCNN(AT)よりも、高い画像識別精度を示す。このため、実施の形態1~3に係る学習方法を用いることで、クリーン画像への精度を保持しながら、敵対的学習によるロバスト性をより高めた画像識別モデルを実現できることが分かった。
【0132】
さらに、実施の形態3に係る学習方法を用いて学習した第2のCNN2141は、実施の形態1,2に係る学習方法を用いて学習したCNN141、第2のCNN2141と比して、クリーン画像及び敵対的画像のいずれについても、高い画像識別精度を示す。このため、実施の形態3のように、カリキュラム学習と、中間層の出力を直接的に制約する知識蒸留の組み合わることで、クリーン画像への精度を保持しながら、敵対的学習によるロバスト性をより高めた画像識別モデルを実現できることが分かった。
【0133】
本実施の形態に係る学習装置は、非特許文献1に記載のような従来の学習方法に対して特定の改善を提供するものであり、画像識別に係る技術分野の向上を示すものである。
【0134】
[実施の形態のシステム構成について]
学習装置10,210,310の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、学習装置10,210,310の機能の分散及び統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【0135】
また、学習装置10,210,310においておこなわれる各処理は、全部または任意の一部が、CPU、GPU(Graphics Processing Unit)、及び、CPU、GPUにより解析実行されるプログラムにて実現されてもよい。また、学習装置10,210,310においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【0136】
また、実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述及び図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【0137】
[プログラム]
図18は、プログラムが実行されることにより、学習装置10,210,310が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0138】
メモリ1010は、ROM1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0139】
ハードディスクドライブ1090は、例えば、OS(Operating System)1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、学習装置10,210,310の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、学習装置10,210,310における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
【0140】
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0141】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【0142】
以上の実施形態に関し、更に以下の付記を開示する。
【0143】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成し、
複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)のモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行い、
前記重畳画像に対する画像識別結果が、前記第1のクリーン画像の正解ラベルに近づくように前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行し、
前記摂動の大きさが段階的に上がるように前記摂動を生成させる
学習装置。
【0144】
(付記項2)
付記項1に記載の学習装置であって、
前記学習を実行することは、前記第1のクリーン画像に対する画像識別結果と前記第1のクリーン画像の正解ラベルとの誤差を示す項と、前記誤差に対する前記摂動の影響度を示す項とを有する損失関数を用いて、前記第2のNNのパラメータを最適化し、
前記摂動を生成させることは、前記摂動の大きさが前記第2のNNの学習段階に応じて段階的に上がるように前記生成部に前記摂動を生成させ、前記第2のNNの前記影響度に対する段階的な学習を実行させる
学習装置。
【0145】
(付記項3)
付記項1に記載の学習装置であって、
前記重畳画像を生成することは、前記第1のクリーン画像に対する画像識別結果から、正解ラベル以外で最も出力値が大きいカテゴリを探索し、探索したカテゴリに対する損失が最も小さくなるように前記摂動を生成する
学習装置。
【0146】
(付記項4)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含み、
前記プロセッサは、
正解ラベルが付された第1のクリーン画像を基に摂動を生成し、生成した摂動を、前記第1のクリーン画像に重畳した重畳画像を生成し、
複数のクリーン画像を学習データとして画像識別を学習した第1のNN(Neural Network)を用いて、前記第1のクリーン画像に対して画像識別を行い、前記第1のNNの中間出力を第1の中間出力として出力し、
前記第1のNNのモデルパラメータが初期パラメータとして設定された第2のNNを用いて、前記重畳画像に対して画像識別を行い、前記第2のNNの中間出力を第2の中間出力として出力し、
前記重畳画像に対する画像識別結果と前記第1のクリーン画像の正解ラベルとの差分が小さくなり、かつ、前記第1の中間出力と前記第2の中間出力との差分が小さくなるように、前記第2のNNのパラメータを最適化することによって、前記第2のNNの学習を実行し、
前記摂動の大きさが段階的に上がるように前記摂動を生成させる
学習装置。
【0147】
(付記項7)
コンピュータを付記項1~4に記載の学習装置として機能させるための学習プログラムを格納した記憶媒体。
【0148】
以上、本発明者によってなされた発明を適用した実施の形態について説明したが、本実施の形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施の形態に基づいて当業者等によりなされる他の実施の形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【0149】
10,210,310 学習装置
11 画像記憶部
12 初期化部
13 敵対的摂動生成部
14,214 画像識別部
15,215 最適化部
16 スケジュール部
141 CNN
216 原画像識別部
2141 第2のCNN
2161 第1のCNN
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18