(57)【要約】  モデル構築装置は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築手段と、生成モデルから出力される敵対的サンプルの実際の視覚的特徴と、ソースサンプルの視覚的特徴とは異なるものとなるように設定される敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第１評価値、及び、生成モデルから出力される敵対的サンプルを学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出する算出手段とを備え、構築手段は、第１及び第２評価値に基づく指標値が小さくなるように生成モデルを更新することで、生成モデルを構築する。
2020165935.tif 000002
【特許請求の範囲】
【請求項１】
ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築手段と、
前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第１評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出する算出手段と
を備え、
前記構築手段は、前記第１及び第２評価値に基づく指標値が小さくなるように前記生成モデルを更新することで、前記生成モデルを構築する
ことを特徴とするモデル構築装置。
【請求項２】
前記学習済みモデルを近似する近似モデルを生成する近似手段を更に備え、
前記算出手段は、前記近似モデルを規定するパラメータに基づいて前記第２評価値を算出する
請求項１に記載のモデル構築装置。
【請求項３】
前記算出手段は、（ｉ）前記学習済みモデルを規定するパラメータを取得可能な場合には、前記学習済みモデルを規定するパラメータに基づいて前記第２評価値を算出し、（ｉｉ）前記学習済みモデルを規定するパラメータを取得不可能な場合には、前記近似モデルを規定するパラメータに基づいて前記第２評価値を算出する
請求項２に記載のモデル構築装置。
【請求項４】
前記構築手段により構築された前記生成モデルに前記ソースサンプルを入力することで、前記敵対的サンプルを生成する生成手段を更に備える
ことを特徴とする請求項１から３のいずれか一項に記載のモデル構築装置。
【請求項５】
前記生成モデルから出力される前記敵対的サンプルを評価する評価手段を更に備える
請求項１から４のいずれか一項に記載のモデル構築装置。
【請求項６】
ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築工程と、
前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第１評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出する算出工程と
を含み、
前記構築工程では、前記第１及び第２評価値に基づく指標値が小さくなるように前記生成モデルが更新されることで、前記生成モデルが構築される
ことを特徴とするモデル構築方法。
【請求項７】
コンピュータに、請求項６に記載のモデル構築方法を実行させるコンピュータプログラム。
【請求項８】
請求項７に記載のコンピュータプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、敵対的サンプルを生成するための生成モデルを構築可能なモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体の技術分野に関する。
【背景技術】
【０００２】
深層学習等を用いて学習された学習済みモデルには、学習済みモデルを欺くように生成された敵対的サンプル（Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅ）に関する脆弱性が存在する。具体的には、敵対的サンプルが学習済みモデルに入力されると、学習済みモデルは、当該敵対的サンプルを正しく分類することができない（つまり、誤分類する）可能性がある。例えば、学習済みモデルに入力されるサンプルが画像である場合には、人間にとっては「Ａ」というクラスに分類される画像であるにも関わらず学習済みモデルに入力されると「Ｂ」というクラスに分類される画像が、敵対的サンプルとして用いられる。【０００３】
非特許文献１には、このような敵対的サンプルを生成する方法が記載されている。具体的には、非特許文献１は、ソース画像に対して人間の目では認識できないような微小なノイズを付与することで敵対的サンプルを生成する際に、ノイズの大きさに制約を設けた最適化問題を解くことで、付与されるノイズが相対的に小さい（つまり、ソース画像との間での視覚的特徴の差異が相対的に小さい）敵対的サンプルを生成する方法が記載されている。【０００４】
その他、敵対的サンプルに関する記載はないものの、本願発明に関連する先行技術文献として、非特許文献２があげられる。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｎｉｃｈｏｌａｓ  Ｃａｒｌｉｎｉ，  Ｄａｖｉｄ  Ｗａｇｎｅｒ、“Ｔｏｗａｒｄｓ  Ｅｖａｌｕａｔｉｎｇ  ｔｈｅ  Ｒｏｂｕｓｔｎｅｓｓ  ｏｆ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ”、ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ（ＳＰ）、２０１７年
【非特許文献２】Ｙｕｎｊｅｙ  Ｃｈｏｉ，Ｍｉｎｊｅ  Ｃｈｏｉ，Ｍｕｎｙｏｕｎｇ  Ｋｉｍ，Ｊｕｎｇ−Ｗｏｏ  Ｈａ，Ｓｕｎｇｈｕｎ  Ｋｉｍ，Ｊａｅｇｕｌ  Ｃｈｏｏ、“ＳｔａｒＧＡＮ：Ｕｎｉｆｉｅｄ  Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓｒｉａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｍｕｌｔｉ−Ｄｏｍａｉｎ  Ｉｍａｇｅ−ｔｏ−Ｉｍａｇｅ  Ｔｒａｎｓｌａｔｉｏｎ”、ＩＥＥＥ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｉｎ（ＣＶＰＲ）、２０１８年
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した敵対的サンプルは、敵対的サンプルによる脆弱性をなくすように（例えば、敵対的サンプルを誤分類しなくなるように）学習済みモデルを更新する（言い換えれば、改善する、訓練する又は学習させる）ために利用可能である。従って、ある学習済みモデルを更新するために、当該学習済みモデルによる誤分類を引き起こしかねない敵対的サンプルを生成することが望まれる。【０００７】
上述した非特許文献１は、ソース画像との間での視覚的特徴の差異が相対的に小さい（つまり、人間の目にはソース画像と殆ど同じに見える）敵対的サンプルを生成する方法しか記載されていない。一方で、人間の目で認識可能であるものの人間が不自然に感じない程度の変化をソース画像に対して意図的に加えることで生成される画像であっても、当該画像が学習済みモデルの誤分類を引き起こす限りは敵対的サンプルとして利用可能である。つまり、ソース画像とは視覚的特徴が異なる敵対的サンプルが存在する可能性がある。従って、ある学習済みモデルを更新するために、ソース画像とは視覚的特徴が異なる敵対的サンプルを生成することが望まれる。しかしながら、非特許文献１には、ソース画像とは視覚的特徴が異なる敵対的サンプルを生成する方法は何ら記載されていない。このため、ソース画像とは視覚的特徴が異なる敵対的サンプルを用いて学習済みモデルを更新することができないという技術的問題が生ずる。【０００８】
また、画像が入力される学習済みモデルに限らず、任意のサンプルが入力される学習済みモデルにおいても同様に、ソースサンプルとは視覚的特徴が異なる敵対的サンプルを用いて学習済みモデルを更新することができないという技術的問題が生ずる。【０００９】
本発明は、上述した技術的問題を解決可能なモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体を提供することを課題とする。一例として、本発明は、ソースサンプルとは視覚的特徴が異なる敵対的サンプルを生成するための生成モデルを構築可能なモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体を提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明のモデル構築装置の一の態様は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築手段と、前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第１評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出する算出手段とを備え、前記構築手段は、前記第１及び第２評価値に基づく指標値が小さくなるように前記生成モデルを更新することで、前記生成モデルを構築する。【００１１】
本発明のモデル構築方法の一の態様は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築工程と、前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第１評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出する算出工程とを含み、前記構築工程では、前記第１及び第２評価値に基づく指標値が小さくなるように前記生成モデルが更新されることで、前記生成モデルが構築される。【００１２】
本発明のコンピュータプログラムの一の態様は、コンピュータに、上述したモデル構築方法の一の態様を実行させる。【００１３】
本発明の記録媒体の一の態様は、上述したコンピュータプログラムの一の態様が記録された記録媒体である。
【発明の効果】
【００１４】
上述したモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体のそれぞれの一の態様によれば、ソースサンプルとは視覚的特徴が異なる敵対的サンプルを生成するための生成モデルが適切に構築される。
【図面の簡単な説明】
【００１５】
【図１】図１は、第１実施形態のモデル構築装置のハードウェア構成を示すブロック図である。
【図２】図２は、第１実施形態のＣＰＵ内で実現される機能ブロックを示すブロック図である。
【図３】図３は、第１実施形態のモデル構築装置の動作の流れを示すフローチャートである。
【図４】図４は、第２実施形態のＣＰＵ内で実現される機能ブロックを示すブロック図である。
【図５】図５は、第２実施形態のモデル構築装置の動作の流れを示すフローチャートである。
【図６】図６は、第３実施形態のＣＰＵ内で実現される機能ブロックを示すブロック図である。
【図７】図７は、第３実施形態のモデル構築装置の動作の流れを示すフローチャートである。
【図８】図８は、ＣＰＵ内で実現される機能ブロックの変形例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、モデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体の実施形態について説明する。以下では、敵対的サンプルＡＸを生成するための生成モデルＧを生成すると共に、当該生成した生成モデルＧから敵対的サンプルＡＸを生成するサンプル生成装置１を用いて、モデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体の実施形態について説明する。
【００１７】
敵対的サンプルＡＸは、学習済みの機械学習モデルｆに入力された場合に、機械学習モデルｆの誤分類を引き起こすサンプルである。具体的には、機械学習モデルｆは、機械学習モデルｆに入力されたサンプルに対して、当該サンプルに応じた出力情報を出力する演算モデルである。本実施形態では、機械学習モデルｆは、入力されたサンプルが複数のクラスのうちのいずれのクラスに属するサンプルであるかを示す出力情報を出力する演算モデルである。つまり、機械学習モデルｆは、いわゆる分類器として機能可能である。このような機械学習モデルｆに対して敵対的サンプルＡＸが入力されると、機械学習モデルｆは、本来は敵対的サンプルＡＸが「Ａ」というクラスに属するサンプルであることを示す出力情報を出力すべきであるにも関わらず、敵対的サンプルＡＸが「Ａ」というクラスとは異なる「Ｂ」というクラスに属するサンプルであることを示す出力情報を出力してしまう。
【００１８】
本実施形態では、機械学習モデルｆに入力されるサンプルは、画像（つまり、画像に関するデータ）であるものとする。この場合、例えば、人間にとっては「Ｃ」というクラスに分類される画像であるにも関わらず、学習済みモデルｆに入力されると「Ｃ」というクラスとは異なる「Ｄ」というクラスに分類される画像が、敵対的サンプルＡＸとして利用可能である。
【００１９】
尚、機械学習モデルｆは、ニューラルネットワークに基づく学習モデルであるものとするが、その他の種類の学習モデルであってもよい。生成モデルＧは、ニューラルネットワークに基づく生成モデルであるものとするが、その他の種類の生成モデルであってもよい。
【００２０】
（１）第１実施形態のサンプル生成装置１ａ
はじめに、第１実施形態のサンプル生成装置１（以降、第１実施形態のサンプル生成装置１を、“サンプル生成装置１ａ”と称する）について説明する。
【００２１】
（１−１）第１実施形態のサンプル生成置１ａのハードウェア構成
はじめに、図１を参照しながら、第１実施形態のサンプル生成装置１ａのハードウェア構成について説明する。図１は、第１実施形態のサンプル生成装置１ａのハードウェア構成を示すブロック図である。
【００２２】
図１に示すように、サンプル生成装置１ａは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１３と、記憶装置１４と、入力装置１５と、出力装置１６とを備えている。ＣＰＵ１１と、ＲＡＭ１２と、ＲＯＭ１３と、記憶装置１４と、入力装置１５と、出力装置１６とは、データバス１７を介して接続されている。
【００２３】
ＣＰＵ１１は、コンピュータプログラムを読み込む。例えば、ＣＰＵ１１は、ＲＡＭ１２、ＲＯＭ１３及び記憶装置１４のうちの少なくとも一つが記憶しているコンピュータプログラムを読み込んでもよい。例えば、ＣＰＵ１１は、コンピュータで読み取り可能な記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。ＣＰＵ１１は、ネットワークインタフェースを介して、サンプル生成装置１ａの外部に配置される不図示の装置からコンピュータプログラムを取得してもよい（つまり、読み込んでもよい）。ＣＰＵ１１は、読み込んだコンピュータプログラムを実行することで、ＲＡＭ１２、記憶装置１４、入力装置１５及び出力装置１６を制御する。第１実施形態では特に、ＣＰＵ１１が読み込んだコンピュータプログラムを実行すると、ＣＰＵ１１内には、敵対的サンプルＡＸを生成するための論理的な機能ブロックが実現される。つまり、ＣＰＵ１１は、敵対的サンプルＡＸを生成するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。尚、ＣＰＵ１１内で実現される機能ブロックの構成については、後に図２を参照しながら詳述する。
【００２４】
ＲＡＭ１２は、ＣＰＵ１１が実行するコンピュータプログラムを一時的に記憶する。ＲＡＭ１２は、ＣＰＵ１１がコンピュータプログラムを実行している際にＣＰＵ１１が一時的に使用するデータを一時的に記憶する。ＲＡＭ１２は、例えば、Ｄ−ＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）であってもよい。
【００２５】
ＲＯＭ１３は、ＣＰＵ１１が実行するコンピュータプログラムを記憶する。ＲＯＭ１３は、その他に固定的なデータを記憶していてもよい。ＲＯＭ１３は、例えば、Ｐ−ＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）であってもよい。
【００２６】
記憶装置１４は、サンプル生成装置１ａが長期的に保存するデータを記憶する。記憶装置１４は、ＣＰＵ１１の一時記憶装置として動作してもよい。記憶装置１４は、例えば、ハードディスク装置、光磁気ディスク装置、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。
【００２７】
入力装置１５は、サンプル生成装置１ａのユーザからの入力指示を受け取る装置である。入力装置１５は、例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つを含んでいてもよい。
【００２８】
出力装置１６は、サンプル生成装置１ａに関する情報を外部に対して出力する装置である。例えば、出力装置１６は、サンプル生成装置１ａに関する情報を表示可能な表示装置であってもよい。
【００２９】
（１−２）ＣＰＵ１１の機能ブロック
続いて、図２を参照しながら、ＣＰＵ１１内で実現される機能ブロックについて説明する。図２は、ＣＰＵ１１内で実現される機能ブロックを示すブロック図である。
【００３０】
図２に示すように、ＣＰＵ１１内には、敵対的サンプルＡＸを生成するための論理的な機能ブロックとして、後述する付記における「構築手段」の一具体例であるモデル学習部１１１と、後述する付記における「算出手段」の一具体例である損失算出部１１２と、後述する付記における「算出手段」の一具体例である損失算出部１１３と、後述する付記における「算出手段」の一具体例である損失統合部１１４と、後述する付記における「生成手段」の一具体例であるサンプル生成部１１５が実現される。
【００３１】
モデル学習部１１１は、機械学習モデルｆ及びターゲットクラスｔに基づいて、生成モデルＧを構築する。ターゲットクラスｔは、生成モデルＧが生成した画像ｘＧ（つまり、敵対的サンプルＡＸとして機能する画像となるように生成した画像ｘＧ）が機械学習モデルｆに入力された場合に、機械学習モデルｆによる画像ｘＧの分類先となるクラスを指定する情報である。このため、モデル学習部１１１が構築した生成モデルＧは、機械学習モデルｆに入力された場合に画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆに分類させる画像ｘＧを、敵対的サンプルＡＸとして生成する。
【００３２】
モデル学習部１１１は更に、生成モデルＧを構築する際に、ターゲットドメインｃＡＸを参照する。ターゲットドメインｃＡＸは、敵対的サンプルＡＸ（つまり、生成モデルＧが生成する画像ｘＧ）が有するべき視覚的特徴を示す情報である。言い換えれば、ターゲットドメインｃＡＸは、敵対的サンプルＡＸの目標とする視覚的特徴を示す情報である。尚、第１実施形態における視覚的特徴は、人間の目で認識可能な特徴を意味しているが、人間の目で認識できない（但し、機械学習モデルｆでは認識可能な）特徴を意味していてもよい。
【００３３】
具体的には、ターゲットドメインｃＡＸは、敵対的サンプルＡＸが有する（つまり、有するべき）視覚的特徴を示すドメインベクトルである。例えば、ターゲットドメインｃＡＸは、敵対的サンプルＡＸが複数の視覚的特徴の夫々を有するか否かを離散値（例えば、０及び１）で表現したドメインベクトルである。一例として、複数の視覚的特徴が、眼鏡の有無に関する特徴、帽子の有無に関する特徴及びひげの有無に関する特徴を含む場合には、ターゲットドメインｃＡＸは、眼鏡の有無を示す値、帽子の有無を示す値及びひげの有無を示す値を含むドメインベクトルとなる。尚、ターゲットドメインｃＡＸの次元数は、任意である。各視覚的特徴を敵対的サンプルＡＸが有する場合には、各視覚的特徴に対応する値は１に設定されてもよいし、各視覚的特徴を敵対的サンプルＡＸが有さない場合には、各視覚的特徴に対応する値は０に設定されてもよい。この場合、敵対的サンプルＡＸが、眼鏡をかけている一方で帽子をかぶっておらず且つひげが生えていない人物の画像となるべき状況では、ターゲットドメインｃＡＸは、眼鏡をかけていることを示す値「１」と、帽子をかぶっていないことを示す値「０」と、ひげが生えていないことを示す「０」という値を含むドメインベクトルとなる。このため、モデル学習部１１１が構築した生成モデルＧは、機械学習モデルｆに入力された場合に画像ｘｘＧのクラスがターゲットクラスｔであると機械学習モデルｆに分類させると共に、ターゲットドメインｃＡＸが示す視覚的特徴を有する画像ｘｘＧを、敵対的サンプルＡＸとして生成する。つまり、モデル学習部１１１は、ソース画像ｘｓとターゲットドメインｃＡＸとが生成モデルＧに入力された場合に、画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆに分類させると共にターゲットドメインｃＡＸが示す視覚的特徴を有する画像ｘＧを敵対的サンプルＡＸとして生成可能な生成モデルＧを構築することになる。
【００３４】
第１実施形態では、ターゲットドメインｃＡＸは、敵対的サンプルＡＸの生成元となるソース画像ｘｓの視覚的特徴を示す情報であるソースドメインｃｓとは異なるドメインベクトルに設定される。尚、ソースドメインｃｓのデータ構造は、ターゲットドメインｃＡＸのデータ構造（例えば、各視覚的特徴を有するか否かを離散値で示すというデータ構造）と同一であってもよい。その結果、モデル学習部１１１が構築した生成モデルＧは、機械学習モデルｆに入力された場合に画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆに分類させると共に、ソース画像ｘｓとは異なる視覚的特徴を有する画像ｘＧを、敵対的サンプルＡＸとして生成する。
【００３５】
但し、ターゲットドメインｃＡＸは、ソースドメインｃｓと同じドメインベクトルに設定されてもよい。この場合、モデル学習部１１１が構築した生成モデルＧは、機械学習モデルｆに入力された場合に画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆに分類させると共に、ソース画像ｘｓと同じ視覚的特徴を有する画像ｘＧを、敵対的サンプルＡＸとして生成する。
【００３６】
モデル学習部１１１は、画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆに分類させると共にターゲットドメインｃＡＸが示す視覚的特徴を有する画像ｘＧを生成モデルＧが生成可能となるように、訓練データセットＸを用いて生成モデルＧを学習させる。訓練データセットＸは、訓練サンプルｘと訓練ドメインｃとから構成される単位データセットをＮ（但し、Ｎは１以上の整数）個含む。つまり、訓練データセットＸは、第１の単位データセット（ｘ＃１、ｃ＃１）と、第２の単位データセット（ｘ＃２、ｃ＃２）と、・・・、第ｉ（但し、ｉは１≦ｉ≦Ｎを満たす整数）の単位データセット（ｘ＃ｉ、ｃ＃ｉ）と、・・・、第Ｎの単位データセット（ｘ＃Ｎ、ｃ＃Ｎ）とを含む。訓練サンプルｘは、生成モデルＧの学習に用いられるサンプル（つまり、画像）である。訓練ドメインｃは、対応する訓練サンプルｘが有する視覚的特徴を示す情報である。つまり、訓練ドメインｃ＃ｉは、訓練サンプルｘ＃ｉが有する視覚的特徴を示す情報である。訓練ドメインｃのデータ構造は、ターゲットドメインｃＡＸのデータ構造（例えば、各視覚的特徴を有するか否かを離散値で示すというデータ構造）と同一であってもよい。
【００３７】
損失算出部１１２は、モデル学習部１１１による生成モデルＧの学習時に参照される損失値Ａｔｔｒｉｂｕｔｅ＿Ｇを算出する。損失値Ａｔｔｒｉｂｕｔｅ＿Ｇは、生成モデルＧによる視覚的特徴の変換を評価する損失値である。具体的には、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇは、生成モデルＧによって生成された画像ｘＧの視覚的特徴（つまり、実際の視覚的特徴）が、ターゲットドメインｃＡＸが示す視覚的特徴（つまり、目標とする視覚的特徴）と一致しているか否か又は近づいているか否かを評価する損失値である。つまり、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇは、生成モデルＧによって生成された画像ｘＧの実際の視覚的特徴とターゲットドメインｃＡＸが示す目標とする視覚的特徴との差分に応じて定まる損失値である。損失値Ａｔｔｒｉｂｕｔｅ＿Ｇは、例えば、画像ｘＧの実際の視覚的特徴とターゲットドメインｃＡＸが示す目標とする視覚的特徴との差分が小さくなるほど小さくなる損失値である。
【００３８】
損失値Ａｔｔｒｉｂｕｔｅ＿Ｇを算出するために、第１実施形態では、損失算出部１１２は、例えば、上述した生成モデルＧに加えて、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを用いる。尚、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓの夫々は、ニューラルネットワークに基づくモデルであるものとするが、その他の種類のモデルであってもよい。但し、損失算出部１１２は、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを用いることなく、任意の方法で損失値Ａｔｔｒｉｂｕｔｅ＿Ｇを算出してよい。
【００３９】
識別モデルＤ＿ｓｒｃは、一の訓練サンプルｘが入力された生成モデルＧから出力された画像ｘＧを、訓練データセットＸに含まれる訓練サンプルｘと識別する（つまり、視覚的に見分ける又は区別する）識別モデルである。識別モデルＤ＿ｓｒｃは、例えば、一の訓練サンプルｘから生成モデルＧによって生成された画像ｘＧが訓練データセットＸに含まれる確率（つまり、一の訓練サンプルｘから生成モデルＧによって生成された画像ｘＧが訓練サンプルｘと同じ又は類似する画像である確率）Ｄ＿ｓｒｃ（ｘ）を出力する。
【００４０】
判定モデルＤ＿ｃｌｓは、一の訓練サンプルｘが入力された生成モデルＧから出力された画像ｘＧが、ターゲットドメインｃＡＸが示す視覚的特徴を有しているか否かを判定する判定モデルである。判定モデルＤ＿ｃｌｓは、例えば、一の訓練サンプルｘから生成モデルＧによって生成された画像ｘＧが、ターゲットドメインｃＡＸが示す視覚的特徴を有する確率Ｄ＿ｃｌｓ（ｘ、ｃＡＸ）を出力する。
【００４１】
損失算出部１１２は、訓練サンプルｘ、訓練ドメインｃ及びターゲットドメインｃＡＸに基づいて、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇを算出する。例えば、損失算出部１１２は、訓練サンプルｘ、訓練ドメインｃ及びターゲットドメインｃＡＸを引数とする以下の数式１に示す損失関数Ａｔｔｒｉｂｕｔｅ＿Ｇ（ｘ、ｃ、ｃＡＸ）を用いて、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇを算出してもよい。数式１中における関数Ｌ１、Ｌ２及びＬ３は、夫々、数式２から数式４に示す関数である。数式１中における変数β１及び変数β２のそれぞれは、正の数である。数式１中における変数β１及び変数β２のそれぞれは、サンプル生成装置１ａに特有の変数であってもよいし、入力装置１５を介して外部から指定される変数であってもよい。数式２中における「Ｇ（ｘ、ｃＡＸ）」は、訓練サンプルｘ及びターゲットドメインｃＡＸが入力された生成モデルＧが生成する画像ｘＧ（つまり、敵対的サンプルＡＸ）を示す。
【００４２】
【数１】
2020165935.tif 000003
【００４３】
【数２】
2020165935.tif 000004
【００４４】
【数３】
2020165935.tif 000005
【００４５】
【数４】
2020165935.tif 000006
【００４６】
損失算出部１１３は、モデル学習部１１１による生成モデルＧの学習時に参照される損失値Ａｔｔａｃｋを算出する。損失値Ａｔｔａｃｋは、生成モデルＧが生成した画像ｘＧが、敵対的サンプルＡＸとして機能可能か否かを評価する損失値である。つまり、損失値Ａｔｔａｃｋは、生成モデルＧが生成した画像ｘＧが、機械学習モデルｆの誤分類を引き起こすか否かを評価する損失値である。損失値Ａｔｔａｃｋは、例えば、生成モデルＧが生成した画像ｘＧが敵対的サンプルＡＸとして機能する可能性が大きいほど小さくなる損失値である。損失値Ａｔｔａｃｋは、例えば、生成モデルＧが生成した画像ｘＧが機械学習モデルｆの誤分類を引き起こす可能性が大きいほど小さくなる損失値である。
【００４７】
より具体的には、生成モデルＧは、生成モデルＧが生成した画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆによって分類されるように、画像ｘＧを生成する。このため、損失値Ａｔｔａｃｋは、生成モデルＧが生成した画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆによって分類されるか否かを評価する損失値であってもよい。つまり、損失値Ａｔｔａｃｋは、生成モデルＧが生成した画像ｘＧが入力された機械学習モデルｆの出力が、ターゲットクラスｔと一致するか否かを評価する損失値であってもよい。損失値Ａｔｔａｃｋは、生成モデルＧが生成した画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆによって分類される可能性が高くなるほど、小さくなる損失値であってもよい。損失値Ａｔｔａｃｋは、生成モデルＧが生成した画像ｘＧが入力された機械学習モデルｆの出力がターゲットクラスｔと一致する可能性が高くなるほど、小さくなる損失値であってもよい。
【００４８】
損失算出部１１３は、訓練サンプルｘ、機械学習モデルｆ（特に、機械学習モデルｆを規定するパラメータ）及びターゲットクラスｔに基づいて、損失値Ａｔｔａｃｋを算出する。例えば、損失算出部１１３は、訓練サンプルｘ、機械学習モデルｆ（特に、機械学習モデルｆを規定するパラメータ）及びターゲットクラスｔを引数とする以下の数式５に示す損失関数Ａｔｔａｃｋ（ｘ、ｆ、ｔ）を用いて、損失値Ａｔｔａｃｋを算出してもよい。数式５中における関数ｆ（ａ、ｂ）は、あるサンプルａを機械学習モデルｆに入力したときの分類先としてのクラスｂに対応するｌｏｇｉｔ関数の値を示す。従って、関数ｆ（Ｇ（ｘ）、Ｉ）は、訓練サンプルｘが入力された生成モデルＧから出力される画像ｘＧ（＝Ｇ（ｘ））を機械学習モデルｆに入力したときのクラスＩに対応するｌｏｇｉｔ関数の値を示す。関数Ｆ（Ｇ（ｘ）、ｔ）は、訓練サンプルｘが入力された生成モデルＧから出力される画像ｘＧ（＝Ｇ（ｘ））を機械学習モデルｆに入力したときのクラスｔに対応するｌｏｇｉｔ関数の値を示す。尚、機械学習モデルｆがニューラルネットワークに基づく学習モデルである場合、機械学習モデルｆのパラメータは、ニューラルネットワークのパラメータを含んでいてもよい。ニューラルネットワークのパラメータは、例えば、各ノードにおけるバイアス及び重み付けの少なくとも一方を含んでいてもよい。但し、損失算出部１１３は、任意の方法で損失値Ａｔｔａｃｋを算出してよい。
【００４９】
【数５】
2020165935.tif 000007
【００５０】
このような数式５によって定義される損失値Ａｔｔａｃｋは、生成モデルＧが生成した画像ｘＧが入力された機械学習モデルｆの出力がターゲットクラスｔと一致する場合に負の値となる。
【００５１】
モデル学習部１１１は、損失算出部１１２が算出した損失値Ａｔｔｒｉｂｕｔｅ＿Ｇと損失算出部１１３が算出した損失値Ａｔｔａｃｋとに基づく損失値Ｌｏｓｓ＿Ｇを用いて、モデル学習部１１１が生成した生成モデルＧを学習させることで、生成モデルＧを更新する。損失値Ｌｏｓｓ＿Ｇは、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇ及び損失値Ａｔｔａｃｋの夫々が小さくなるほど小さくなる損失値である。
【００５２】
損失値Ｌｏｓｓ＿Ｇを算出するために、損失算出部１１２は、訓練データセットＸに含まれる全ての訓練サンプルｘを対象に、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇを算出する。更に、損失算出部１１３は、訓練データセットＸに含まれる全ての訓練サンプルｘを対象に、損失値Ａｔｔａｃｋを算出する。但し、損失算出部１１２は、訓練データセットＸに含まれる全ての訓練サンプルｘのうちの一部を対象に、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇを算出してもよい。更に、損失算出部１１３は、訓練データセットＸに含まれる全ての訓練サンプルｘのうちの一部を対象に、損失値Ａｔｔａｃｋを算出してもよい。その後、損失統合部１１４は、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇ及び損失値Ａｔｔａｃｋに基づいて、損失値Ｌｏｓｓ＿Ｇを算出する。例えば、損失統合部１１４は、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇ及び損失値Ａｔｔａｃｋを引数とする以下の数式６に示す損失関数Ｌｏｓｓ＿Ｇ（Ｘ、ｃＡＸ、ｆ、ｔ）を用いて、損失値Ｌｏｓｓ＿Ｇを算出してもよい。数式６中における変数「α」は、損失値Ｌｏｓｓ＿Ｇを算出する際に損失値Ａｔｔｒｉｂｕｔｅ＿Ｇ及び損失値Ａｔｔａｃｋのいずれを重視するかを示す変数である。変数αが大きくなるほど、損失値Ａｔｔａｃｋがより重視される。変数αは、サンプル生成装置１ａに特有の変数であってもよいし、入力装置１５を介して外部から指定される変数であってもよい。
【００５３】
【数６】
2020165935.tif 000008
【００５４】
その後、モデル学習部１１１は、損失値Ｌｏｓｓ＿Ｇに基づいて、生成モデルＧを学習させることで、生成モデルＧを更新する。例えば、モデル学習部１１１は、損失値Ｌｏｓｓ＿Ｇが小さくなるように、生成モデルＧを学習させる。上述したように、損失値Ｌｏｓｓ＿Ｇは、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇ及び損失値Ａｔｔａｃｋの夫々が小さくなるほど小さくなる損失値である。このため、損失値Ｌｏｓｓ＿Ｇが小さくなるように生成モデルＧを学習させる動作は、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇ及び損失値Ａｔｔａｃｋの双方が小さくなるように（或いは、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇ及び損失値Ａｔｔａｃｋのいずれか一方が小さくなるように）生成モデルＧを学習させる動作と等価である。この際、モデル学習部１１１は、任意のアルゴリズムを用いて、生成モデルＧを学習させてもよい。例えば、モデル学習部１１１は、誤差逆伝搬法を用いて、生成モデルＧを学習させてもよい。
【００５５】
モデル学習部１１１は、生成モデルＧが所望回数以上更新されるように、生成モデルＧを繰り返し学習させる。その結果、モデル学習部１１１は、ソース画像ｘｓとターゲットドメインｃＡＸとが入力された場合に、画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆに分類させると共にターゲットドメインｃＡＸが示す視覚的特徴を有する画像ｘＧを敵対的サンプルＡＸとして生成可能な生成モデルＧを構築することができる。つまり、モデル学習部１１１は、ソース画像ｘｓとターゲットドメインｃＡＸとが入力された場合に、ターゲットドメインｃＡＸが示す視覚的特徴を有すると共に敵対的サンプルＡＸとして機能可能な画像ｘＧを生成可能な生成モデルＧを構築することができる。
【００５６】
モデル学習部１１１は、構築した生成モデルＧ（つまり、所望回数以上更新された生成モデルＧ）をサンプル生成部１１５に出力する。サンプル生成部１１５は、ソース画像ｘｓとモデル学習部１１１が構築した生成モデルＧとを用いて、敵対的サンプルＡＸを生成する。具体的には、サンプル生成部１１５は、ソース画像ｘｓとターゲットドメインｃＡＸとを生成モデルＧに入力することで、生成モデルＧの出力である敵対的サンプルＡＸを生成する。
【００５７】
モデル学習部１１１は、更に、損失値Ｌｏｓｓ＿Ｇを算出するために用いられる識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させることで更新してもよい。より具体的には、モデル学習部１１１は、画像ｘＧのクラスがターゲットクラスｔであると機械学習モデルｆに分類させると共にターゲットドメインｃＡＸが示す視覚的特徴を有する画像ｘＧを生成モデルＧが生成可能となるように、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させてもよい。その結果、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させる動作が行われない場合と比較して、モデル学習部１１１は、ターゲットドメインｃＡＸが示す視覚的特徴をより適切に有すると共に敵対的サンプルＡＸとしてより適切に機能可能な画像ｘＧを生成可能な生成モデルＧを構築することができる。この際、学習効果を高めるために、モデル学習部１１１は、生成モデルＧを学習させる動作と、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させる動作とを交互に繰り返してもよい。
【００５８】
識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させる場合には、損失算出部１１２は、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓの学習時に参照される損失値Ａｔｔｒｉｂｕｔｅ＿Ｄを算出する。損失値Ａｔｔｒｉｂｕｔｅ＿Ｄは、上述した損失値Ａｔｔｒｉｂｕｔｅ＿Ｇと同様に、生成モデルＧによる視覚的特徴の変換を評価する損失値である。従って、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄは、上述した損失値Ａｔｔｒｉｂｕｔｅ＿Ｇと同様の特徴を有していてもよいため、その詳細な説明を省略する。但し、損失算出部１１２は、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを用いることなく、任意の方法で損失値Ａｔｔｒｉｂｕｔｅ＿Ｄを算出してよい。
【００５９】
損失算出部１１２は、訓練サンプルｘ、訓練ドメインｃ及びターゲットドメインｃＡＸに基づいて、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄを算出する。例えば、損失算出部１１２は、訓練サンプルｘ、訓練ドメインｃ及びターゲットドメインｃＡＸを引数とする以下の数式５に示す損失関数Ａｔｔｒｉｂｕｔｅ＿Ｄ（ｘ、ｃ、ｃＡＸ）を用いて、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄを算出してもよい。数式７中における関数Ｌ４は、数式８に示す関数である。数式８中における「β３」は、正の数である。数式５中における「β３」は、サンプル生成装置１ａに特有の変数であってもよいし、入力装置１５を介して外部から指定される変数であってもよい。
【００６０】
【数７】
2020165935.tif 000009
【００６１】
【数８】
2020165935.tif 000010
【００６２】
モデル学習部１１１は、損失算出部１１２が算出した損失値Ａｔｔｒｉｂｕｔｅ＿Ｄに基づく損失値Ｌｏｓｓ＿Ｄを用いて、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させる。損失値Ｌｏｓｓ＿Ｄは、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄが小さくなるほど小さくなる損失値である。
【００６３】
損失値Ｌｏｓｓ＿Ｄを算出するために、損失算出部１１２は、訓練データセットＸに含まれる全ての訓練サンプルｘを対象に、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄを算出する。但し、損失算出部１１２は、訓練データセットＸに含まれる全ての訓練サンプルｘのうちの一部を対象に、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄを算出してもよい。その後、損失統合部１１４は、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄに基づいて、損失値Ｌｏｓｓ＿Ｄを算出する。例えば、損失統合部１１４は、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄを引数とする以下の数式９に示す損失関数Ｌｏｓｓ＿Ｄ（Ｘ、ｃＡＸ）を用いて、損失値Ｌｏｓｓ＿Ｄを算出してもよい。数式６中における変数「α」は、損失値Ｌｏｓｓ＿Ｇを算出する際に損失値Ａｔｔｒｉｂｕｔｅ＿Ｇ及び損失値Ａｔｔａｃｋのいずれを重視するかを示す変数である。変数αが大きくなるほど、損失値Ａｔｔａｃｋがより重視される。変数αは、サンプル生成装置１ａに特有の変数であってもよいし、入力装置１５を介して外部から指定される変数であってもよい。
【００６４】
【数９】
2020165935.tif 000011
【００６５】
その後、モデル学習部１１１は、損失値Ｌｏｓｓ＿Ｄに基づいて、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させることで、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを更新する。例えば、モデル学習部１１１は、損失値Ｌｏｓｓ＿Ｄが小さくなるように、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させる。上述したように、損失値Ｌｏｓｓ＿Ｄは、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄが小さくなるほど小さくなる損失値である。このため、損失値Ｌｏｓｓ＿Ｄが小さくなるように識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させる動作は、損失値Ａｔｔｒｉｂｕｔｅ＿Ｄが小さくなるように識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させる動作と等価である。この際、モデル学習部１１１は、任意のアルゴリズムを用いて、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させてもよい。例えば、モデル学習部１１１は、誤差逆伝搬法を用いて、識別モデルＤ＿ｓｒｃ及び判定モデルＤ＿ｃｌｓを学習させてもよい。
【００６６】
（１−３）サンプル生成装置１ａの動作の流れ
続いて、図３を参照しながら、第１実施形態のサンプル生成装置１ａの動作（つまり、生成モデルＧを構築し、構築した生成モデルＧに基づいて敵対的サンプルＡＸを生成する動作）の流れについて説明する。図３は、第１実施形態のサンプル生成装置１ａの動作の流れを示すフローチャートである。
【００６７】
図３に示すように、サンプル生成装置１ａ（特に、ＣＰＵ１１）は、敵対的サンプルＡＸを生成するために必要な情報を取得する（ステップＳ１１）。具体的には、サンプル生成装置１ａは、上述した機械学習モデルｆ（特に、そのパラメータ）に関する情報、ソース画像ｘｓ、ターゲットクラスｔに関する情報、訓練データセットＸ及びターゲットドメインｃＡＸに関する情報を取得する。サンプル生成装置１ａは、記憶装置１４（或いは、コンピュータで読み取り可能な記録媒体）が記憶しているこれらの情報の少なくとも一部を取得してもよい。サンプル生成装置１ａは、ネットワークインタフェースを介して、サンプル生成装置１ａの外部に配置される不図示の装置からこれらの情報の少なくとも一部を取得してもよい。サンプル生成装置１ａは、入力装置１５を介して、これらの情報の少なくとも一部を取得してもよい。
【００６８】
その後、モデル学習部１１１は、損失値Ｌｏｓｓ＿Ｇを算出するように、損失算出部１１２、損失算出部１１３及び損失統合部１１４を制御する（ステップＳ１２）。その後、モデル学習部１１１は、ステップＳ１２で算出された損失値Ｌｏｓｓ＿Ｇに基づいて、生成モデルＧを学習させる（つまり、更新する）（ステップＳ１３）。
【００６９】
モデル学習部１１１は、ステップＳ１２及びＳ１３の処理を、所望回数繰り返す（ステップＳ１４）。つまり、モデル学習部１１１は、生成モデルＧを所望回数更新する（ステップＳ１４）。
【００７０】
生成モデルＧが所望回数更新された後（ステップＳ１４：Ｙｅｓ）、モデル学習部１１１は、構築した生成モデルＧをサンプル生成部１１５に出力する。サンプル生成部１１５は、ソース画像ｘｓとモデル学習部１１１が構築した生成モデルＧとを用いて、敵対的サンプルＡＸを生成する（ステップＳ１５）。
【００７１】
（１−４）サンプル生成装置１ａの技術的効果
以上説明したように、第１実施形態のサンプル生成装置１ａは、生成モデルＧを生成することができる。特に、サンプル生成装置１ａは、損失値Ａｔｔｒｉｂｕｔｅ＿Ｇを用いて生成モデルＧを更新することができる。このため、サンプル生成装置１ａは、ターゲットドメインｃＡＸが示す視覚的特徴を有する敵対的サンプルＡＸを生成可能な生成モデルＧを構築することができる。ここで、ターゲットドメインｃＡＸが、ソース画像ｘｓのソースドメインｃｓと異なるがゆえに、サンプル生成装置１ａは、ソース画像ｘｓとは異なる視覚的特徴を有する敵対的サンプルＡＸを生成可能な生成モデルＧを構築することができる。従って、サンプル生成装置１ａは、このような生成モデルＧを用いて、ソース画像ｘｓとは異なる視覚的特徴を有する敵対的サンプルＡＸを容易に生成することができる。
【００７２】
（２）第２実施形態のサンプル生成装置１ｂ
続いて、第２実施形態のサンプル生成装置１（以降、第２実施形態のサンプル生成装置１を、“サンプル生成装置１ｂ”と称する）について説明する。
【００７３】
（２−１）第２実施形態のサンプル生成装置１ｂの構成
第２実施形態のサンプル生成装置１ｂは、上述した第１実施形態のサンプル生成装置１ａと比較して、ＣＰＵ１１内で実現される機能ブロックが異なるという点で異なっている。第２実施形態のサンプル生成装置１ｂのその他の特徴は、上述した第１実施形態のサンプル生成装置１ａと同一であってもよい。従って、以下では、図４を参照しながら、第２実施形態のＣＰＵ１１内で実現される機能ブロックについて説明する。図４は、第２実施形態のＣＰＵ１１内で実現される機能ブロックを示すブロック図である。尚、今後は、既に説明済みの構成要件と同一の構成要件については、同一の参照符号を付することでその詳細な説明を省略する。
【００７４】
図４に示すように、サンプル生成装置１ｂは、サンプル生成装置１ａと比較して、敵対的サンプルＡＸを生成するための論理的な機能ブロックとして、モデル近似部１１６ｂがＣＰＵ１１内に実現されるという点で異なっている。モデル近似部１１６ｂは、後述する付記における「近似手段」の一具体例である。サンプル生成装置１ｂの機能ブロックのその他の特徴は、サンプル生成装置１ａと同一であってもよい。
【００７５】
モデル近似部１１６ｂは、機械学習モデルｆを近似する近似学習モデルｆ’を構築する。近似学習モデルｆ’は、ニューラルネットワークに基づく学習モデルであるものとするが、その他の種類の学習モデルであってもよい。
【００７６】
モデル近似部１１６ｂは、機械学習モデルｆ及び生成モデルＧの少なくとも一方と訓練データセットＸとに基づいて、近似学習モデルｆ’を構築する。具体的には、訓練データセットＸに含まれる各訓練サンプルｘと、各訓練サンプルｘを機械学習モデルｆに入力することで得られる出力情報（つまり、画像）とから構成される単位データセットは、近似学習モデルｆ’を構築するための学習用データセットとして利用可能である。なぜならば、この単位データセットは、機械学習モデルｆの入力たる訓練サンプルｘに対して、機械学習モデルｆの出力たる出力情報が正解ラベルとして対応付けられたデータセットであるからである。
【００７７】
同様に、訓練データセットＸに含まれる各訓練サンプルｘを生成モデルＧに入力することで得られる画像ｘＧと、当該画像ｘＧを機械学習モデルｆに入力することで得られる出力情報（つまり、画像）とから構成される単位データセットもまた、近似学習モデルｆ’を構築するための学習用データセットとして利用可能である。なぜならば、この単位データセットは、機械学習モデルｆの入力たる画像ｘＧに対して、機械学習モデルｆの出力たる出力情報が正解ラベルとして対応付けられたデータセットであるからである。
【００７８】
従って、モデル近似部１１６ｂは、近似学習モデルｆ’を構築するために、まずは、学習用データセットを生成する。具体的には、モデル近似部１１６ｂは、訓練データセットＸに含まれる全ての訓練サンプルｘを順に機械学習モデルｆに入力することで、訓練サンプルｘと訓練サンプルｘを機械学習モデルｆに入力することで得られる出力情報（つまり、画像）とから構成される単位データセットを複数備える学習用データセットを生成してもよい。モデル近似部１１６ｂは、訓練データセットＸに含まれる全ての訓練サンプルｘを生成モデルＧに入力することで夫々得られる複数の画像ｘＧを取得し、その後、複数の画像ｘＧを順に機械学習モデルｆに入力することで、画像ｘＧと画像ｘＧを機械学習モデルｆに入力することで得られる出力情報（つまり、画像）とから構成される単位データセットを複数備える学習用データセットを生成してもよい。但し、モデル近似部１１６ｂは、訓練データセットＸに含まれる全ての訓練サンプルｘのうちの一部を用いて、学習用データセットを生成してもよい。
【００７９】
その後、モデル近似部１１６ｂは、生成した学習用データセットを用いて近似学習モデルｆ’を構築する。つまり、モデル近似部１１６ｂは、これら学習用データセットを用いて近似学習モデルｆ’を学習させる（つまり、更新する）ことで、近似学習モデルｆ’を構築する。この際、モデル近似部１１６ｂは、任意の損失値（つまり、損失関数）を用いて、近似学習モデルｆ’を学習させてもよい。例えば、モデル近似部１１６ｂは、交差エントロピー損失関数を用いて、近似学習モデルｆ’を学習させてもよい。更に、モデル近似部１１６ｂは、任意のアルゴリズムを用いて、近似学習モデルｆ’を学習させてもよい。例えば、モデル近似部１１６ｂは、誤差逆伝搬法を用いて、近似学習モデルｆ’を学習させてもよい。
【００８０】
モデル近似部１１６ｂは、任意のタイミングで近似学習モデルｆ’を学習させてもよい。例えば、モデル近似部１１６ｂは、生成モデルＧが更新されるたびに近似学習モデルｆ’が更新されるように、近似学習モデルｆ’を学習させてもよい。また、モデル近似部１１６ｂは、近似学習モデルｆ’を学習させるたびに近似学習モデルｆ’が所望回数更新されるように、近似学習モデルｆ’を学習させてもよい。
【００８１】
近似学習モデルｆ’は、損失値Ａｔｔａｃｋ（上述した数式５参照）を算出する際に、機械学習モデルｆの代わりに用いられてもよい。つまり、損失算出部１１３は、近似学習モデルｆ’及び機械学習モデルｆのいずれか一方を用いて、損失値Ａｔｔａｃｋを算出してもよい。例えば、上述したように、損失値Ａｔｔａｃｋを算出するためには、機械学習モデルｆを規定するパラメータが用いられる。しかしながら、機械学習モデルｆを規定するパラメータが、サンプル生成装置１ｂにとって既知の情報であるとは限らない。つまり、機械学習モデルｆを規定するパラメータが、サンプル生成装置１ｂにとって未知の情報（つまり、ブラックボックス）である可能性がある。この場合には、損失算出部１１３は、機械学習モデルｆを規定するパラメータを用いて、損失値Ａｔｔａｃｋを算出することが困難である。そこで、機械学習モデルｆを規定するパラメータが既知の情報でない場合には、モデル近似部１１６ｂが近似学習モデルｆ’を構築すると共に、損失算出部１１３は、近似学習モデルｆ’（特に、そのパラメータ）に基づいて損失値Ａｔｔａｃｋを算出してもよい。一方で、機械学習モデルｆを規定するパラメータが既知の情報である場合には、損失算出部１１３は、機械学習モデルｆ（特に、そのパラメータ）に基づいて損失値Ａｔｔａｃｋを算出してもよい。機械学習モデルｆを規定するパラメータが既知の情報である場合には、モデル近似部１１６ｂは、近似学習モデルｆ’を構築しなくてもよい。
【００８２】
（２−２）サンプル生成装置１ｂの動作の流れ
続いて、図５を参照しながら、第２実施形態のサンプル生成装置１ｂの動作（つまり、生成モデルＧを構築し、構築した生成モデルＧに基づいて敵対的サンプルＡＸを生成する動作）の流れについて説明する。図５は、第２実施形態のサンプル生成装置１ｂの動作の流れを示すフローチャートである。尚、今後は、既に説明済みの処理と同一の処理については、同一のステップ番号を付することでその詳細な説明を省略する。
【００８３】
図５に示すように、サンプル生成装置１ｂ（特に、ＣＰＵ１１）は、敵対的サンプルＡＸを生成するために必要な情報を取得する（ステップＳ１１）。
【００８４】
その後、モデル近似部１１６ｂは、近似学習モデルｆ’を構築する（ステップＳ２１）。つまり、上述したように、モデル近似部１１６ｂは、学習用データセットを用いて近似学習モデルｆ’を学習させる（つまり、更新する）ことで、近似学習モデルｆ’を構築する（ステップＳ２１）。近似学習モデルｆ’の学習は、近似学習モデルｆ’の学習を終了するための終了条件（例えば、近似学習モデルｆ’が所望回数更新されたという条件）が成立するまで繰り返される（ステップＳ２２）。
【００８５】
その後、近似学習モデルｆ’の学習が完了した後（ステップＳ２２：Ｙｅｓ）、モデル学習部１１１は、上述したステップＳ１２からステップＳ１４の動作を行うことで、生成モデルＧを学習させる（つまり、更新する）。生成モデルＧが所望回数更新されるまでは、生成モデルＧが更新される都度（ステップＳ１４：Ｎｏ）、近似学習モデルｆ’の学習（ステップＳ２１からステップＳ２２）及び生成モデルＧの学習（ステップＳ１２からステップＳ１３）が繰り返される。つまり、図５は、生成モデルＧが更新される都度、近似学習モデルｆ’の学習が行われる例を示している。生成モデルＧが所望回数更新された後には、サンプル生成部１１５は、敵対的サンプルＡＸを生成する（ステップＳ１５）。
【００８６】
（２−３）サンプル生成装置１ｂの技術的効果
第２実施形態のサンプル生成装置１ｂは、第１実施形態のサンプル生成装置１ａが享受可能な効果と同様の効果を享受することができる。更に、サンプル生成装置１ｂでは、モデル近似部１１６ｂが近似学習モデルｆ’を生成することができるがゆえに、機械学習モデルｆのパラメータが既知の情報ではない場合であっても、生成モデルＧを構築することができる。
【００８７】
（３）第３実施形態のサンプル生成装置１ｃ
続いて、第３実施形態のサンプル生成装置１（以降、第３実施形態のサンプル生成装置１を、“サンプル生成装置１ｃ”と称する）について説明する。
【００８８】
（３−１）第３実施形態のサンプル生成装置１ｃの構成
第３実施形態のサンプル生成装置１ｃは、上述した第１実施形態のサンプル生成装置１ａ又は第２実施形態のサンプル生成装置１ｂと比較して、ＣＰＵ１１内で実現される機能ブロックが異なるという点で異なっている。第３実施形態のサンプル生成装置１ｃのその他の特徴は、上述した第１実施形態のサンプル生成装置１ａ又は第２実施形態のサンプル生成装置１ｂと同一であってもよい。従って、以下では、図６を参照しながら、第３実施形態のＣＰＵ１１内で実現される機能ブロックについて説明する。図６は、第３実施形態のＣＰＵ１１内で実現される機能ブロックを示すブロック図である。
【００８９】
図６に示すように、サンプル生成装置１ｃは、サンプル生成装置１ａ又は１ｂと比較して、敵対的サンプルＡＸを生成するための論理的な機能ブロックとして、サンプル評価部１１７ｃがＣＰＵ１１内に実現されるという点で異なっている。サンプル評価部１１７ｃは、後述する付記における「評価手段」の一具体例である。サンプル生成装置１ｃの機能ブロックのその他の特徴は、サンプル生成装置１ａ又は１ｂと同一であってもよい。
【００９０】
サンプル評価部１１７ｃは、サンプル生成部１１５が生成した敵対的サンプルＡＸを評価する。具体的には、サンプル評価部１１７ｃは、サンプル生成部１１５が生成した敵対的サンプルＡＸが、機械学習モデルｆの誤分類を引き起こすか否かを評価する。つまり、サンプル評価部１１７ｃは、サンプル生成部１１５が生成した敵対的サンプルＡＸが機械学習モデルｆに入力された場合に、敵対的サンプルＡＸのクラスがターゲットクラスｔであると機械学習モデルｆが分類するか否かを評価する。サンプル評価部１１７ｃは、敵対的サンプルＡＸのクラスがターゲットクラスｔであると機械学習モデルｆが分類すると評価した場合には、サンプル生成部１１５が生成した敵対的サンプルＡＸが、機械学習モデルｆの誤分類を引き起こす適切なサンプルであると評価してもよい。一方で、サンプル評価部１１７ｃは、敵対的サンプルＡＸのクラスがターゲットクラスｔではないと機械学習モデルｆが分類すると評価した場合には、サンプル生成部１１５が生成した敵対的サンプルＡＸが、機械学習モデルｆの誤分類を引き起こさない可能性があるサンプル（つまり、適切でない可能性があるサンプル）であると評価してもよい。
【００９１】
（３−２）サンプル生成装置１ｃの動作の流れ
続いて、図７を参照しながら、第３実施形態のサンプル生成装置１ｃの動作（つまり、生成モデルＧを構築し、構築した生成モデルＧに基づいて敵対的サンプルＡＸを生成する動作）の流れについて説明する。図７は、第３実施形態のサンプル生成装置１ｃの動作の流れを示すフローチャートである。
【００９２】
図７に示すように、第３実施形態においても、第１実施形態と同様に、ステップＳ１１からステップＳ１５までの処理が行われることで、敵対的サンプルＡＸが生成される。或いは、第３実施形態においても、第２実施形態と同様に、ステップＳ１１からステップＳ１５及びステップＳ２１からステップＳ２２までの処理が行われることで、敵対的サンプルＡＸが生成される。
【００９３】
敵対的サンプルＡＸが生成された後、サンプル評価部１１７ｃは、サンプル生成部１１５が生成した敵対的サンプルＡＸを評価する（ステップＳ３１）。敵対的サンプルＡＸの評価結果は、出力装置１６によって出力されてもよい。また、敵対的サンプルＡＸが良好でない可能性があるサンプルであると評価された場合には、生成モデルＧが、適切な敵対的サンプルＡＸを生成可能なモデルでない可能性がある。従って、敵対的サンプルＡＸが良好でない可能性があるサンプルであると評価された場合には、モデル学習部１１１は、ステップＳ１１以降の動作を再度行うことで、生成モデルＧを更に更新してもよい。モデル学習部１１１は、敵対的サンプルＡＸが良好なサンプルであると評価されるまで、ステップＳ１１以降の動作を繰り返すことで、生成モデルＧを更に更新してもよい。
【００９４】
（３−３）サンプル生成装置１ｃの技術的効果
第３実施形態のサンプル生成装置１ｃは、第１実施形態のサンプル生成装置１ａ又は第２実施形態のサンプル生成装置１ｂが享受可能な効果と同様の効果を享受することができる。更に、サンプル生成装置１ｃでは、サンプル評価部１１７ｃは、敵対的サンプルＡＸが適切か否かを評価することができる。その結果、サンプル生成装置１ｃは、実質的には、生成モデルＧが適切か否かを評価することができる。
【００９５】
（４）変形例
上述した説明では、サンプル生成装置１は、サンプル生成部１１１を備えている。しかしながら、サンプル生成装置１は、図８に示すように、サンプル生成部１１１を備えていなくてもよい。つまり、サンプル生成装置１は、生成モデルＧを構築する一方で敵対的サンプルＡＸを生成しない装置として機能してもよい。この場合、サンプル生成装置１は、生成モデルＧを構築するモデル構築装置と称されてもよい。サンプル生成装置１は、構築した生成モデルＧを、サンプル生成装置１とは異なる装置に出力してもよい。この場合、サンプル生成装置１とは異なる装置が、サンプル生成装置１が構築した生成モデルＧを用いて敵対的サンプルＡＸを生成してもよい。
【００９６】
（５）付記
以上説明した実施形態に関して、更に以下の付記を開示する。
【００９７】
（５−１）付記１
付記１に記載のモデル構築装置は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築手段と、前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第１評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出する算出手段とを備え、前記構築手段は、前記第１及び第２評価値に基づく指標値が小さくなるように前記生成モデルを更新することで、前記生成モデルを構築することを特徴とするモデル構築装置である。
【００９８】
（５−２）付記２
付記２に記載のモデル構築装置は、前記学習済みモデルを近似する近似モデルを生成する近似手段を更に備え、前記算出手段は、前記近似モデルを規定するパラメータに基づいて前記第２評価値を算出する付記１に記載のモデル構築装置である。
【００９９】
（５−３）付記３
付記４に記載のモデル構築装置は、前記算出手段は、（ｉ）前記学習済みモデルを規定するパラメータを取得可能な場合には、前記学習済みモデルを規定するパラメータに基づいて前記第２評価値を算出し、（ｉｉ）前記学習済みモデルを規定するパラメータを取得不可能な場合には、前記近似モデルを規定するパラメータに基づいて前記第２評価値を算出する付記２に記載のモデル構築装置である。
【０１００】
（５−４）付記４
付記４に記載のモデル構築装置は、前記構築手段により構築された前記生成モデルに前記ソースサンプルを入力することで、前記敵対的サンプルを生成する生成手段を更に備えることを特徴とする付記１から３のいずれか一項に記載のモデル構築装置である。
【０１０１】
（５−５）付記５
付記５に記載のモデル構築装置は、前記生成モデルから出力される前記敵対的サンプルを評価する評価手段を更に備える付記１から４のいずれか一項に記載のモデル構築装置である。
【０１０２】
（５−６）付記６
付記６に記載のモデル構築方法は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築工程と、前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第２評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出する算出工程とを含み、前記構築工程では、前記第１及び第２評価値に基づく指標値が小さくなるように前記生成モデルが更新されることで、前記生成モデルが構築されることを特徴とするモデル構築方法である。
【０１０３】
（５−７）付記７
付記７に記載のコンピュータプログラムは、コンピュータに、付記６に記載のモデル構築方法を実行させるコンピュータプログラムである。
【０１０４】
（５−８）付記８
付記８に記載の記録媒体は、付記７に記載のコンピュータプログラムが記録された記録媒体である。
【０１０５】
本発明は、請求の範囲及び明細書全体から読み取るこのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴うモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体もまた本発明の技術思想に含まれる。
【符号の説明】
【０１０６】
１  サンプル生成装置
１１  ＣＰＵ
１１１  モデル学習部
１１２  損失算出部
１１３  損失算出部
１１４  損失統合部
１１５  サンプル生成部
１１６ｂ  モデル近似部
１１７ｃ  サンプル評価部
Ｇ  生成モデル
ｆ  機械学習モデル
ｆ’  近似学習モデル
ｘｓ  ソース画像
ｃｓ  ソースドメイン
ＡＸ  敵対的サンプル
ｔ  ターゲットクラス
ｃＡＸ  ターゲットドメイン
Ｘ  訓練データセット
ｘ  訓練サンプル
ｃ  訓練ドメイン
【図１】
2020165935.tif 000012
【図２】
2020165935.tif 000013
【図３】
2020165935.tif 000014
【図４】
2020165935.tif 000015
【図５】
2020165935.tif 000016
【図６】
2020165935.tif 000017
【図７】
2020165935.tif 000018
【図８】
2020165935.tif 000019
【手続補正書】
【提出日】令和3年7月15日(2021.7.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築手段と、
前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第１評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出する算出手段と
を備え、
前記構築手段は、前記第１及び第２評価値に基づく指標値が小さくなるように前記生成モデルを更新することで、前記生成モデルを構築する
ことを特徴とするモデル構築装置。
【請求項２】
前記学習済みモデルを近似する近似モデルを生成する近似手段を更に備え、
前記算出手段は、前記近似モデルを規定するパラメータに基づいて前記第２評価値を算出する
請求項１に記載のモデル構築装置。
【請求項３】
前記算出手段は、（ｉ）前記学習済みモデルを規定するパラメータを取得可能な場合には、前記学習済みモデルを規定するパラメータに基づいて前記第２評価値を算出し、（ｉｉ）前記学習済みモデルを規定するパラメータを取得不可能な場合には、前記近似モデルを規定するパラメータに基づいて前記第２評価値を算出する
請求項２に記載のモデル構築装置。
【請求項４】
前記構築手段により構築された前記生成モデルに前記ソースサンプルを入力することで、前記敵対的サンプルを生成する生成手段を更に備える
ことを特徴とする請求項１から３のいずれか一項に記載のモデル構築装置。
【請求項５】
前記生成モデルから出力される前記敵対的サンプルを評価する評価手段を更に備える
請求項１から４のいずれか一項に記載のモデル構築装置。
【請求項６】
ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築し、
前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第１評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第２評価値を算出し、
前記第１及び第２評価値に基づく指標値が小さくなるように前記生成モデルが更新されることで、前記生成モデルが構築される
ことを特徴とするモデル構築方法。
【請求項７】
コンピュータに、請求項６に記載のモデル構築方法を実行させるコンピュータプログラム。
【国際調査報告】
2020165935.tif 000020
2020165935.tif 000021