(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】モデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体
(51)【国際特許分類】
G06N 3/08 20060101AFI20221213BHJP
G06N 20/00 20190101ALI20221213BHJP
【FI】
G06N3/08
G06N20/00
(21)【出願番号】P 2020571935
(86)(22)【出願日】2019-02-12
(86)【国際出願番号】 JP2019004822
(87)【国際公開番号】W WO2020165935
(87)【国際公開日】2020-08-20
【審査請求日】2021-07-15
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100104765
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100107331
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100131015
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】柿崎 和也
(72)【発明者】
【氏名】吉田 光佑
【審査官】宮司 卓佳
(56)【参考文献】
【文献】米国特許出願公開第2019/0005386(US,A1)
【文献】米国特許出願公開第2017/0316281(US,A1)
【文献】BALUJA, Shumeet et al.,Adversarial Transformation Networks: Learning to Generate Adversarial Examples,2017年03月28日,all 13 pages,https://arxiv.org/abs/1703.09387
【文献】Chaowei Xiao et al.,Generating Adversarial Examples with Adversarial Networks,Proceedings of the Twenty-Seventh International Joint Conference on Artifical Intelligence(IJCAI-18),International Joint Conferences on Artifical Intelligence,2018年07月19日,p.3905-p.3911,https://www.ijcai.org/proceedings/2018/0543.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築手段と、
前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第1評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第2評価値を算出する算出手段と
を備え、
前記構築手段は、前記第1及び第2評価値に基づく指標値が小さくなるように前記生成モデルを更新することで、前記生成モデルを構築する
ことを特徴とするモデル構築装置。
【請求項2】
前記学習済みモデルを近似する近似モデルを生成する近似手段を更に備え、
前記算出手段は、前記近似モデルを規定するパラメータに基づいて前記第2評価値を算出する
請求項1に記載のモデル構築装置。
【請求項3】
前記算出手段は、(i)前記学習済みモデルを規定するパラメータを取得可能な場合には、前記学習済みモデルを規定するパラメータに基づいて前記第2評価値を算出し、(ii)前記学習済みモデルを規定するパラメータを取得不可能な場合には、前記近似モデルを規定するパラメータに基づいて前記第2評価値を算出する
請求項2に記載のモデル構築装置。
【請求項4】
前記構築手段により構築された前記生成モデルに前記ソースサンプルを入力することで、前記敵対的サンプルを生成する生成手段を更に備える
ことを特徴とする請求項1から3のいずれか一項に記載のモデル構築装置。
【請求項5】
前記生成モデルから出力される前記敵対的サンプルを評価する評価手段を更に備える
請求項1から4のいずれか一項に記載のモデル構築装置。
【請求項6】
コンピュータが行うモデル構築方法であって、
ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築し、
前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第1評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第2評価値を算出し、
前記第1及び第2評価値に基づく指標値が小さくなるように前記生成モデルが更新されることで、前記生成モデルが構築される
ことを特徴とするモデル構築方法。
【請求項7】
コンピュータに、モデル構築方法を実行させるコンピュータプログラム
であって、
前記モデル構築方法は、
ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築し、
前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第1評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第2評価値を算出し、
前記第1及び第2評価値に基づく指標値が小さくなるように前記生成モデルが更新されることで、前記生成モデルが構築される
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、敵対的サンプルを生成するための生成モデルを構築可能なモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体の技術分野に関する。
【背景技術】
【0002】
深層学習等を用いて学習された学習済みモデルには、学習済みモデルを欺くように生成された敵対的サンプル(Adversarial Example)に関する脆弱性が存在する。具体的には、敵対的サンプルが学習済みモデルに入力されると、学習済みモデルは、当該敵対的サンプルを正しく分類することができない(つまり、誤分類する)可能性がある。例えば、学習済みモデルに入力されるサンプルが画像である場合には、人間にとっては「A」というクラスに分類される画像であるにも関わらず学習済みモデルに入力されると「B」というクラスに分類される画像が、敵対的サンプルとして用いられる。
【0003】
非特許文献1には、このような敵対的サンプルを生成する方法が記載されている。具体的には、非特許文献1は、ソース画像に対して人間の目では認識できないような微小なノイズを付与することで敵対的サンプルを生成する際に、ノイズの大きさに制約を設けた最適化問題を解くことで、付与されるノイズが相対的に小さい(つまり、ソース画像との間での視覚的特徴の差異が相対的に小さい)敵対的サンプルを生成する方法が記載されている。
【0004】
その他、敵対的サンプルに関する記載はないものの、本願発明に関連する先行技術文献として、非特許文献2があげられる。
【先行技術文献】
【非特許文献】
【0005】
【文献】Nicholas Carlini, David Wagner、“Towards Evaluating the Robustness of Neural Networks”、IEEE Symposium on Security and Privacy(SP)、2017年
【文献】Yunjey Choi,Minje Choi,Munyoung Kim,Jung-Woo Ha,Sunghun Kim,Jaegul Choo、“StarGAN:Unified Generative Adversrial Networks for Multi-Domain Image-to-Image Translation”、IEEE Conference on Computer Vision and Pattern Recognitioin(CVPR)、2018年
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述した敵対的サンプルは、敵対的サンプルによる脆弱性をなくすように(例えば、敵対的サンプルを誤分類しなくなるように)学習済みモデルを更新する(言い換えれば、改善する、訓練する又は学習させる)ために利用可能である。従って、ある学習済みモデルを更新するために、当該学習済みモデルによる誤分類を引き起こしかねない敵対的サンプルを生成することが望まれる。
【0007】
上述した非特許文献1は、ソース画像との間での視覚的特徴の差異が相対的に小さい(つまり、人間の目にはソース画像と殆ど同じに見える)敵対的サンプルを生成する方法しか記載されていない。一方で、人間の目で認識可能であるものの人間が不自然に感じない程度の変化をソース画像に対して意図的に加えることで生成される画像であっても、当該画像が学習済みモデルの誤分類を引き起こす限りは敵対的サンプルとして利用可能である。つまり、ソース画像とは視覚的特徴が異なる敵対的サンプルが存在する可能性がある。従って、ある学習済みモデルを更新するために、ソース画像とは視覚的特徴が異なる敵対的サンプルを生成することが望まれる。しかしながら、非特許文献1には、ソース画像とは視覚的特徴が異なる敵対的サンプルを生成する方法は何ら記載されていない。このため、ソース画像とは視覚的特徴が異なる敵対的サンプルを用いて学習済みモデルを更新することができないという技術的問題が生ずる。
【0008】
また、画像が入力される学習済みモデルに限らず、任意のサンプルが入力される学習済みモデルにおいても同様に、ソースサンプルとは視覚的特徴が異なる敵対的サンプルを用いて学習済みモデルを更新することができないという技術的問題が生ずる。
【0009】
本発明は、上述した技術的問題を解決可能なモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体を提供することを課題とする。一例として、本発明は、ソースサンプルとは視覚的特徴が異なる敵対的サンプルを生成するための生成モデルを構築可能なモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体を提供することを課題とする。
【課題を解決するための手段】
【0010】
本発明のモデル構築装置の一の態様は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築手段と、前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第1評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第2評価値を算出する算出手段とを備え、前記構築手段は、前記第1及び第2評価値に基づく指標値が小さくなるように前記生成モデルを更新することで、前記生成モデルを構築する。
【0011】
本発明のモデル構築方法の一の態様は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築工程と、前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第1評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第2評価値を算出する算出工程とを含み、前記構築工程では、前記第1及び第2評価値に基づく指標値が小さくなるように前記生成モデルが更新されることで、前記生成モデルが構築される。
【0012】
本発明のコンピュータプログラムの一の態様は、コンピュータに、上述したモデル構築方法の一の態様を実行させる。
【0013】
本発明の記録媒体の一の態様は、上述したコンピュータプログラムの一の態様が記録された記録媒体である。
【発明の効果】
【0014】
上述したモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体のそれぞれの一の態様によれば、ソースサンプルとは視覚的特徴が異なる敵対的サンプルを生成するための生成モデルが適切に構築される。
【図面の簡単な説明】
【0015】
【
図1】
図1は、第1実施形態のモデル構築装置のハードウェア構成を示すブロック図である。
【
図2】
図2は、第1実施形態のCPU内で実現される機能ブロックを示すブロック図である。
【
図3】
図3は、第1実施形態のモデル構築装置の動作の流れを示すフローチャートである。
【
図4】
図4は、第2実施形態のCPU内で実現される機能ブロックを示すブロック図である。
【
図5】
図5は、第2実施形態のモデル構築装置の動作の流れを示すフローチャートである。
【
図6】
図6は、第3実施形態のCPU内で実現される機能ブロックを示すブロック図である。
【
図7】
図7は、第3実施形態のモデル構築装置の動作の流れを示すフローチャートである。
【
図8】
図8は、CPU内で実現される機能ブロックの変形例を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、図面を参照しながら、モデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体の実施形態について説明する。以下では、敵対的サンプルAXを生成するための生成モデルGを生成すると共に、当該生成した生成モデルGから敵対的サンプルAXを生成するサンプル生成装置1を用いて、モデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体の実施形態について説明する。
【0017】
敵対的サンプルAXは、学習済みの機械学習モデルfに入力された場合に、機械学習モデルfの誤分類を引き起こすサンプルである。具体的には、機械学習モデルfは、機械学習モデルfに入力されたサンプルに対して、当該サンプルに応じた出力情報を出力する演算モデルである。本実施形態では、機械学習モデルfは、入力されたサンプルが複数のクラスのうちのいずれのクラスに属するサンプルであるかを示す出力情報を出力する演算モデルである。つまり、機械学習モデルfは、いわゆる分類器として機能可能である。このような機械学習モデルfに対して敵対的サンプルAXが入力されると、機械学習モデルfは、本来は敵対的サンプルAXが「A」というクラスに属するサンプルであることを示す出力情報を出力すべきであるにも関わらず、敵対的サンプルAXが「A」というクラスとは異なる「B」というクラスに属するサンプルであることを示す出力情報を出力してしまう。
【0018】
本実施形態では、機械学習モデルfに入力されるサンプルは、画像(つまり、画像に関するデータ)であるものとする。この場合、例えば、人間にとっては「C」というクラスに分類される画像であるにも関わらず、学習済みモデルfに入力されると「C」というクラスとは異なる「D」というクラスに分類される画像が、敵対的サンプルAXとして利用可能である。
【0019】
尚、機械学習モデルfは、ニューラルネットワークに基づく学習モデルであるものとするが、その他の種類の学習モデルであってもよい。生成モデルGは、ニューラルネットワークに基づく生成モデルであるものとするが、その他の種類の生成モデルであってもよい。
【0020】
(1)第1実施形態のサンプル生成装置1a
はじめに、第1実施形態のサンプル生成装置1(以降、第1実施形態のサンプル生成装置1を、“サンプル生成装置1a”と称する)について説明する。
【0021】
(1-1)第1実施形態のサンプル生成置1aのハードウェア構成
はじめに、
図1を参照しながら、第1実施形態のサンプル生成装置1aのハードウェア構成について説明する。
図1は、第1実施形態のサンプル生成装置1aのハードウェア構成を示すブロック図である。
【0022】
図1に示すように、サンプル生成装置1aは、CPU(Central Processing Unit)11と、RAM(Random Access Memory)12と、ROM(Read Only Memory)13と、記憶装置14と、入力装置15と、出力装置16とを備えている。CPU11と、RAM12と、ROM13と、記憶装置14と、入力装置15と、出力装置16とは、データバス17を介して接続されている。
【0023】
CPU11は、コンピュータプログラムを読み込む。例えば、CPU11は、RAM12、ROM13及び記憶装置14のうちの少なくとも一つが記憶しているコンピュータプログラムを読み込んでもよい。例えば、CPU11は、コンピュータで読み取り可能な記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。CPU11は、ネットワークインタフェースを介して、サンプル生成装置1aの外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、読み込んでもよい)。CPU11は、読み込んだコンピュータプログラムを実行することで、RAM12、記憶装置14、入力装置15及び出力装置16を制御する。第1実施形態では特に、CPU11が読み込んだコンピュータプログラムを実行すると、CPU11内には、敵対的サンプルAXを生成するための論理的な機能ブロックが実現される。つまり、CPU11は、敵対的サンプルAXを生成するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。尚、CPU11内で実現される機能ブロックの構成については、後に
図2を参照しながら詳述する。
【0024】
RAM12は、CPU11が実行するコンピュータプログラムを一時的に記憶する。RAM12は、CPU11がコンピュータプログラムを実行している際にCPU11が一時的に使用するデータを一時的に記憶する。RAM12は、例えば、D-RAM(Dynamic RAM)であってもよい。
【0025】
ROM13は、CPU11が実行するコンピュータプログラムを記憶する。ROM13は、その他に固定的なデータを記憶していてもよい。ROM13は、例えば、P-ROM(Programmable ROM)であってもよい。
【0026】
記憶装置14は、サンプル生成装置1aが長期的に保存するデータを記憶する。記憶装置14は、CPU11の一時記憶装置として動作してもよい。記憶装置14は、例えば、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。
【0027】
入力装置15は、サンプル生成装置1aのユーザからの入力指示を受け取る装置である。入力装置15は、例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つを含んでいてもよい。
【0028】
出力装置16は、サンプル生成装置1aに関する情報を外部に対して出力する装置である。例えば、出力装置16は、サンプル生成装置1aに関する情報を表示可能な表示装置であってもよい。
【0029】
(1-2)CPU11の機能ブロック
続いて、
図2を参照しながら、CPU11内で実現される機能ブロックについて説明する。
図2は、CPU11内で実現される機能ブロックを示すブロック図である。
【0030】
図2に示すように、CPU11内には、敵対的サンプルAXを生成するための論理的な機能ブロックとして、後述する付記における「構築手段」の一具体例であるモデル学習部111と、後述する付記における「算出手段」の一具体例である損失算出部112と、後述する付記における「算出手段」の一具体例である損失算出部113と、後述する付記における「算出手段」の一具体例である損失統合部114と、後述する付記における「生成手段」の一具体例であるサンプル生成部115が実現される。
【0031】
モデル学習部111は、機械学習モデルf及びターゲットクラスtに基づいて、生成モデルGを構築する。ターゲットクラスtは、生成モデルGが生成した画像xG(つまり、敵対的サンプルAXとして機能する画像となるように生成した画像xG)が機械学習モデルfに入力された場合に、機械学習モデルfによる画像xGの分類先となるクラスを指定する情報である。このため、モデル学習部111が構築した生成モデルGは、機械学習モデルfに入力された場合に画像xGのクラスがターゲットクラスtであると機械学習モデルfに分類させる画像xGを、敵対的サンプルAXとして生成する。
【0032】
モデル学習部111は更に、生成モデルGを構築する際に、ターゲットドメインcAXを参照する。ターゲットドメインcAXは、敵対的サンプルAX(つまり、生成モデルGが生成する画像xG)が有するべき視覚的特徴を示す情報である。言い換えれば、ターゲットドメインcAXは、敵対的サンプルAXの目標とする視覚的特徴を示す情報である。尚、第1実施形態における視覚的特徴は、人間の目で認識可能な特徴を意味しているが、人間の目で認識できない(但し、機械学習モデルfでは認識可能な)特徴を意味していてもよい。
【0033】
具体的には、ターゲットドメインcAXは、敵対的サンプルAXが有する(つまり、有するべき)視覚的特徴を示すドメインベクトルである。例えば、ターゲットドメインcAXは、敵対的サンプルAXが複数の視覚的特徴の夫々を有するか否かを離散値(例えば、0及び1)で表現したドメインベクトルである。一例として、複数の視覚的特徴が、眼鏡の有無に関する特徴、帽子の有無に関する特徴及びひげの有無に関する特徴を含む場合には、ターゲットドメインcAXは、眼鏡の有無を示す値、帽子の有無を示す値及びひげの有無を示す値を含むドメインベクトルとなる。尚、ターゲットドメインcAXの次元数は、任意である。各視覚的特徴を敵対的サンプルAXが有する場合には、各視覚的特徴に対応する値は1に設定されてもよいし、各視覚的特徴を敵対的サンプルAXが有さない場合には、各視覚的特徴に対応する値は0に設定されてもよい。この場合、敵対的サンプルAXが、眼鏡をかけている一方で帽子をかぶっておらず且つひげが生えていない人物の画像となるべき状況では、ターゲットドメインcAXは、眼鏡をかけていることを示す値「1」と、帽子をかぶっていないことを示す値「0」と、ひげが生えていないことを示す「0」という値を含むドメインベクトルとなる。このため、モデル学習部111が構築した生成モデルGは、機械学習モデルfに入力された場合に画像xxGのクラスがターゲットクラスtであると機械学習モデルfに分類させると共に、ターゲットドメインcAXが示す視覚的特徴を有する画像xxGを、敵対的サンプルAXとして生成する。つまり、モデル学習部111は、ソース画像xsとターゲットドメインcAXとが生成モデルGに入力された場合に、画像xGのクラスがターゲットクラスtであると機械学習モデルfに分類させると共にターゲットドメインcAXが示す視覚的特徴を有する画像xGを敵対的サンプルAXとして生成可能な生成モデルGを構築することになる。
【0034】
第1実施形態では、ターゲットドメインcAXは、敵対的サンプルAXの生成元となるソース画像xsの視覚的特徴を示す情報であるソースドメインcsとは異なるドメインベクトルに設定される。尚、ソースドメインcsのデータ構造は、ターゲットドメインcAXのデータ構造(例えば、各視覚的特徴を有するか否かを離散値で示すというデータ構造)と同一であってもよい。その結果、モデル学習部111が構築した生成モデルGは、機械学習モデルfに入力された場合に画像xGのクラスがターゲットクラスtであると機械学習モデルfに分類させると共に、ソース画像xsとは異なる視覚的特徴を有する画像xGを、敵対的サンプルAXとして生成する。
【0035】
但し、ターゲットドメインcAXは、ソースドメインcsと同じドメインベクトルに設定されてもよい。この場合、モデル学習部111が構築した生成モデルGは、機械学習モデルfに入力された場合に画像xGのクラスがターゲットクラスtであると機械学習モデルfに分類させると共に、ソース画像xsと同じ視覚的特徴を有する画像xGを、敵対的サンプルAXとして生成する。
【0036】
モデル学習部111は、画像xGのクラスがターゲットクラスtであると機械学習モデルfに分類させると共にターゲットドメインcAXが示す視覚的特徴を有する画像xGを生成モデルGが生成可能となるように、訓練データセットXを用いて生成モデルGを学習させる。訓練データセットXは、訓練サンプルxと訓練ドメインcとから構成される単位データセットをN(但し、Nは1以上の整数)個含む。つまり、訓練データセットXは、第1の単位データセット(x#1、c#1)と、第2の単位データセット(x#2、c#2)と、・・・、第i(但し、iは1≦i≦Nを満たす整数)の単位データセット(x#i、c#i)と、・・・、第Nの単位データセット(x#N、c#N)とを含む。訓練サンプルxは、生成モデルGの学習に用いられるサンプル(つまり、画像)である。訓練ドメインcは、対応する訓練サンプルxが有する視覚的特徴を示す情報である。つまり、訓練ドメインc#iは、訓練サンプルx#iが有する視覚的特徴を示す情報である。訓練ドメインcのデータ構造は、ターゲットドメインcAXのデータ構造(例えば、各視覚的特徴を有するか否かを離散値で示すというデータ構造)と同一であってもよい。
【0037】
損失算出部112は、モデル学習部111による生成モデルGの学習時に参照される損失値Attribute_Gを算出する。損失値Attribute_Gは、生成モデルGによる視覚的特徴の変換を評価する損失値である。具体的には、損失値Attribute_Gは、生成モデルGによって生成された画像xGの視覚的特徴(つまり、実際の視覚的特徴)が、ターゲットドメインcAXが示す視覚的特徴(つまり、目標とする視覚的特徴)と一致しているか否か又は近づいているか否かを評価する損失値である。つまり、損失値Attribute_Gは、生成モデルGによって生成された画像xGの実際の視覚的特徴とターゲットドメインcAXが示す目標とする視覚的特徴との差分に応じて定まる損失値である。損失値Attribute_Gは、例えば、画像xGの実際の視覚的特徴とターゲットドメインcAXが示す目標とする視覚的特徴との差分が小さくなるほど小さくなる損失値である。
【0038】
損失値Attribute_Gを算出するために、第1実施形態では、損失算出部112は、例えば、上述した生成モデルGに加えて、識別モデルD_src及び判定モデルD_clsを用いる。尚、識別モデルD_src及び判定モデルD_clsの夫々は、ニューラルネットワークに基づくモデルであるものとするが、その他の種類のモデルであってもよい。但し、損失算出部112は、識別モデルD_src及び判定モデルD_clsを用いることなく、任意の方法で損失値Attribute_Gを算出してよい。
【0039】
識別モデルD_srcは、一の訓練サンプルxが入力された生成モデルGから出力された画像xGを、訓練データセットXに含まれる訓練サンプルxと識別する(つまり、視覚的に見分ける又は区別する)識別モデルである。識別モデルD_srcは、例えば、一の訓練サンプルxから生成モデルGによって生成された画像xGが訓練データセットXに含まれる確率(つまり、一の訓練サンプルxから生成モデルGによって生成された画像xGが訓練サンプルxと同じ又は類似する画像である確率)D_src(x)を出力する。
【0040】
判定モデルD_clsは、一の訓練サンプルxが入力された生成モデルGから出力された画像xGが、ターゲットドメインcAXが示す視覚的特徴を有しているか否かを判定する判定モデルである。判定モデルD_clsは、例えば、一の訓練サンプルxから生成モデルGによって生成された画像xGが、ターゲットドメインcAXが示す視覚的特徴を有する確率D_cls(x、cAX)を出力する。
【0041】
損失算出部112は、訓練サンプルx、訓練ドメインc及びターゲットドメインcAXに基づいて、損失値Attribute_Gを算出する。例えば、損失算出部112は、訓練サンプルx、訓練ドメインc及びターゲットドメインcAXを引数とする以下の数式1に示す損失関数Attribute_G(x、c、cAX)を用いて、損失値Attribute_Gを算出してもよい。数式1中における関数L1、L2及びL3は、夫々、数式2から数式4に示す関数である。数式1中における変数β1及び変数β2のそれぞれは、正の数である。数式1中における変数β1及び変数β2のそれぞれは、サンプル生成装置1aに特有の変数であってもよいし、入力装置15を介して外部から指定される変数であってもよい。数式2中における「G(x、cAX)」は、訓練サンプルx及びターゲットドメインcAXが入力された生成モデルGが生成する画像xG(つまり、敵対的サンプルAX)を示す。
【0042】
【0043】
【0044】
【0045】
【0046】
損失算出部113は、モデル学習部111による生成モデルGの学習時に参照される損失値Attackを算出する。損失値Attackは、生成モデルGが生成した画像xGが、敵対的サンプルAXとして機能可能か否かを評価する損失値である。つまり、損失値Attackは、生成モデルGが生成した画像xGが、機械学習モデルfの誤分類を引き起こすか否かを評価する損失値である。損失値Attackは、例えば、生成モデルGが生成した画像xGが敵対的サンプルAXとして機能する可能性が大きいほど小さくなる損失値である。損失値Attackは、例えば、生成モデルGが生成した画像xGが機械学習モデルfの誤分類を引き起こす可能性が大きいほど小さくなる損失値である。
【0047】
より具体的には、生成モデルGは、生成モデルGが生成した画像xGのクラスがターゲットクラスtであると機械学習モデルfによって分類されるように、画像xGを生成する。このため、損失値Attackは、生成モデルGが生成した画像xGのクラスがターゲットクラスtであると機械学習モデルfによって分類されるか否かを評価する損失値であってもよい。つまり、損失値Attackは、生成モデルGが生成した画像xGが入力された機械学習モデルfの出力が、ターゲットクラスtと一致するか否かを評価する損失値であってもよい。損失値Attackは、生成モデルGが生成した画像xGのクラスがターゲットクラスtであると機械学習モデルfによって分類される可能性が高くなるほど、小さくなる損失値であってもよい。損失値Attackは、生成モデルGが生成した画像xGが入力された機械学習モデルfの出力がターゲットクラスtと一致する可能性が高くなるほど、小さくなる損失値であってもよい。
【0048】
損失算出部113は、訓練サンプルx、機械学習モデルf(特に、機械学習モデルfを規定するパラメータ)及びターゲットクラスtに基づいて、損失値Attackを算出する。例えば、損失算出部113は、訓練サンプルx、機械学習モデルf(特に、機械学習モデルfを規定するパラメータ)及びターゲットクラスtを引数とする以下の数式5に示す損失関数Attack(x、f、t)を用いて、損失値Attackを算出してもよい。数式5中における関数f(a、b)は、あるサンプルaを機械学習モデルfに入力したときの分類先としてのクラスbに対応するlogit関数の値を示す。従って、関数f(G(x)、I)は、訓練サンプルxが入力された生成モデルGから出力される画像xG(=G(x))を機械学習モデルfに入力したときのクラスIに対応するlogit関数の値を示す。関数F(G(x)、t)は、訓練サンプルxが入力された生成モデルGから出力される画像xG(=G(x))を機械学習モデルfに入力したときのクラスtに対応するlogit関数の値を示す。尚、機械学習モデルfがニューラルネットワークに基づく学習モデルである場合、機械学習モデルfのパラメータは、ニューラルネットワークのパラメータを含んでいてもよい。ニューラルネットワークのパラメータは、例えば、各ノードにおけるバイアス及び重み付けの少なくとも一方を含んでいてもよい。但し、損失算出部113は、任意の方法で損失値Attackを算出してよい。
【0049】
【0050】
このような数式5によって定義される損失値Attackは、生成モデルGが生成した画像xGが入力された機械学習モデルfの出力がターゲットクラスtと一致する場合に負の値となる。
【0051】
モデル学習部111は、損失算出部112が算出した損失値Attribute_Gと損失算出部113が算出した損失値Attackとに基づく損失値Loss_Gを用いて、モデル学習部111が生成した生成モデルGを学習させることで、生成モデルGを更新する。損失値Loss_Gは、損失値Attribute_G及び損失値Attackの夫々が小さくなるほど小さくなる損失値である。
【0052】
損失値Loss_Gを算出するために、損失算出部112は、訓練データセットXに含まれる全ての訓練サンプルxを対象に、損失値Attribute_Gを算出する。更に、損失算出部113は、訓練データセットXに含まれる全ての訓練サンプルxを対象に、損失値Attackを算出する。但し、損失算出部112は、訓練データセットXに含まれる全ての訓練サンプルxのうちの一部を対象に、損失値Attribute_Gを算出してもよい。更に、損失算出部113は、訓練データセットXに含まれる全ての訓練サンプルxのうちの一部を対象に、損失値Attackを算出してもよい。その後、損失統合部114は、損失値Attribute_G及び損失値Attackに基づいて、損失値Loss_Gを算出する。例えば、損失統合部114は、損失値Attribute_G及び損失値Attackを引数とする以下の数式6に示す損失関数Loss_G(X、cAX、f、t)を用いて、損失値Loss_Gを算出してもよい。数式6中における変数「α」は、損失値Loss_Gを算出する際に損失値Attribute_G及び損失値Attackのいずれを重視するかを示す変数である。変数αが大きくなるほど、損失値Attackがより重視される。変数αは、サンプル生成装置1aに特有の変数であってもよいし、入力装置15を介して外部から指定される変数であってもよい。
【0053】
【0054】
その後、モデル学習部111は、損失値Loss_Gに基づいて、生成モデルGを学習させることで、生成モデルGを更新する。例えば、モデル学習部111は、損失値Loss_Gが小さくなるように、生成モデルGを学習させる。上述したように、損失値Loss_Gは、損失値Attribute_G及び損失値Attackの夫々が小さくなるほど小さくなる損失値である。このため、損失値Loss_Gが小さくなるように生成モデルGを学習させる動作は、損失値Attribute_G及び損失値Attackの双方が小さくなるように(或いは、損失値Attribute_G及び損失値Attackのいずれか一方が小さくなるように)生成モデルGを学習させる動作と等価である。この際、モデル学習部111は、任意のアルゴリズムを用いて、生成モデルGを学習させてもよい。例えば、モデル学習部111は、誤差逆伝搬法を用いて、生成モデルGを学習させてもよい。
【0055】
モデル学習部111は、生成モデルGが所望回数以上更新されるように、生成モデルGを繰り返し学習させる。その結果、モデル学習部111は、ソース画像xsとターゲットドメインcAXとが入力された場合に、画像xGのクラスがターゲットクラスtであると機械学習モデルfに分類させると共にターゲットドメインcAXが示す視覚的特徴を有する画像xGを敵対的サンプルAXとして生成可能な生成モデルGを構築することができる。つまり、モデル学習部111は、ソース画像xsとターゲットドメインcAXとが入力された場合に、ターゲットドメインcAXが示す視覚的特徴を有すると共に敵対的サンプルAXとして機能可能な画像xGを生成可能な生成モデルGを構築することができる。
【0056】
モデル学習部111は、構築した生成モデルG(つまり、所望回数以上更新された生成モデルG)をサンプル生成部115に出力する。サンプル生成部115は、ソース画像xsとモデル学習部111が構築した生成モデルGとを用いて、敵対的サンプルAXを生成する。具体的には、サンプル生成部115は、ソース画像xsとターゲットドメインcAXとを生成モデルGに入力することで、生成モデルGの出力である敵対的サンプルAXを生成する。
【0057】
モデル学習部111は、更に、損失値Loss_Gを算出するために用いられる識別モデルD_src及び判定モデルD_clsを学習させることで更新してもよい。より具体的には、モデル学習部111は、画像xGのクラスがターゲットクラスtであると機械学習モデルfに分類させると共にターゲットドメインcAXが示す視覚的特徴を有する画像xGを生成モデルGが生成可能となるように、識別モデルD_src及び判定モデルD_clsを学習させてもよい。その結果、識別モデルD_src及び判定モデルD_clsを学習させる動作が行われない場合と比較して、モデル学習部111は、ターゲットドメインcAXが示す視覚的特徴をより適切に有すると共に敵対的サンプルAXとしてより適切に機能可能な画像xGを生成可能な生成モデルGを構築することができる。この際、学習効果を高めるために、モデル学習部111は、生成モデルGを学習させる動作と、識別モデルD_src及び判定モデルD_clsを学習させる動作とを交互に繰り返してもよい。
【0058】
識別モデルD_src及び判定モデルD_clsを学習させる場合には、損失算出部112は、識別モデルD_src及び判定モデルD_clsの学習時に参照される損失値Attribute_Dを算出する。損失値Attribute_Dは、上述した損失値Attribute_Gと同様に、生成モデルGによる視覚的特徴の変換を評価する損失値である。従って、損失値Attribute_Dは、上述した損失値Attribute_Gと同様の特徴を有していてもよいため、その詳細な説明を省略する。但し、損失算出部112は、識別モデルD_src及び判定モデルD_clsを用いることなく、任意の方法で損失値Attribute_Dを算出してよい。
【0059】
損失算出部112は、訓練サンプルx、訓練ドメインc及びターゲットドメインcAXに基づいて、損失値Attribute_Dを算出する。例えば、損失算出部112は、訓練サンプルx、訓練ドメインc及びターゲットドメインcAXを引数とする以下の数式5に示す損失関数Attribute_D(x、c、cAX)を用いて、損失値Attribute_Dを算出してもよい。数式7中における関数L4は、数式8に示す関数である。数式8中における「β3」は、正の数である。数式5中における「β3」は、サンプル生成装置1aに特有の変数であってもよいし、入力装置15を介して外部から指定される変数であってもよい。
【0060】
【0061】
【0062】
モデル学習部111は、損失算出部112が算出した損失値Attribute_Dに基づく損失値Loss_Dを用いて、識別モデルD_src及び判定モデルD_clsを学習させる。損失値Loss_Dは、損失値Attribute_Dが小さくなるほど小さくなる損失値である。
【0063】
損失値Loss_Dを算出するために、損失算出部112は、訓練データセットXに含まれる全ての訓練サンプルxを対象に、損失値Attribute_Dを算出する。但し、損失算出部112は、訓練データセットXに含まれる全ての訓練サンプルxのうちの一部を対象に、損失値Attribute_Dを算出してもよい。その後、損失統合部114は、損失値Attribute_Dに基づいて、損失値Loss_Dを算出する。例えば、損失統合部114は、損失値Attribute_Dを引数とする以下の数式9に示す損失関数Loss_D(X、cAX)を用いて、損失値Loss_Dを算出してもよい。数式6中における変数「α」は、損失値Loss_Gを算出する際に損失値Attribute_G及び損失値Attackのいずれを重視するかを示す変数である。変数αが大きくなるほど、損失値Attackがより重視される。変数αは、サンプル生成装置1aに特有の変数であってもよいし、入力装置15を介して外部から指定される変数であってもよい。
【0064】
【0065】
その後、モデル学習部111は、損失値Loss_Dに基づいて、識別モデルD_src及び判定モデルD_clsを学習させることで、識別モデルD_src及び判定モデルD_clsを更新する。例えば、モデル学習部111は、損失値Loss_Dが小さくなるように、識別モデルD_src及び判定モデルD_clsを学習させる。上述したように、損失値Loss_Dは、損失値Attribute_Dが小さくなるほど小さくなる損失値である。このため、損失値Loss_Dが小さくなるように識別モデルD_src及び判定モデルD_clsを学習させる動作は、損失値Attribute_Dが小さくなるように識別モデルD_src及び判定モデルD_clsを学習させる動作と等価である。この際、モデル学習部111は、任意のアルゴリズムを用いて、識別モデルD_src及び判定モデルD_clsを学習させてもよい。例えば、モデル学習部111は、誤差逆伝搬法を用いて、識別モデルD_src及び判定モデルD_clsを学習させてもよい。
【0066】
(1-3)サンプル生成装置1aの動作の流れ
続いて、
図3を参照しながら、第1実施形態のサンプル生成装置1aの動作(つまり、生成モデルGを構築し、構築した生成モデルGに基づいて敵対的サンプルAXを生成する動作)の流れについて説明する。
図3は、第1実施形態のサンプル生成装置1aの動作の流れを示すフローチャートである。
【0067】
図3に示すように、サンプル生成装置1a(特に、CPU11)は、敵対的サンプルAXを生成するために必要な情報を取得する(ステップS11)。具体的には、サンプル生成装置1aは、上述した機械学習モデルf(特に、そのパラメータ)に関する情報、ソース画像x
s、ターゲットクラスtに関する情報、訓練データセットX及びターゲットドメインc
AXに関する情報を取得する。サンプル生成装置1aは、記憶装置14(或いは、コンピュータで読み取り可能な記録媒体)が記憶しているこれらの情報の少なくとも一部を取得してもよい。サンプル生成装置1aは、ネットワークインタフェースを介して、サンプル生成装置1aの外部に配置される不図示の装置からこれらの情報の少なくとも一部を取得してもよい。サンプル生成装置1aは、入力装置15を介して、これらの情報の少なくとも一部を取得してもよい。
【0068】
その後、モデル学習部111は、損失値Loss_Gを算出するように、損失算出部112、損失算出部113及び損失統合部114を制御する(ステップS12)。その後、モデル学習部111は、ステップS12で算出された損失値Loss_Gに基づいて、生成モデルGを学習させる(つまり、更新する)(ステップS13)。
【0069】
モデル学習部111は、ステップS12及びS13の処理を、所望回数繰り返す(ステップS14)。つまり、モデル学習部111は、生成モデルGを所望回数更新する(ステップS14)。
【0070】
生成モデルGが所望回数更新された後(ステップS14:Yes)、モデル学習部111は、構築した生成モデルGをサンプル生成部115に出力する。サンプル生成部115は、ソース画像xsとモデル学習部111が構築した生成モデルGとを用いて、敵対的サンプルAXを生成する(ステップS15)。
【0071】
(1-4)サンプル生成装置1aの技術的効果
以上説明したように、第1実施形態のサンプル生成装置1aは、生成モデルGを生成することができる。特に、サンプル生成装置1aは、損失値Attribute_Gを用いて生成モデルGを更新することができる。このため、サンプル生成装置1aは、ターゲットドメインcAXが示す視覚的特徴を有する敵対的サンプルAXを生成可能な生成モデルGを構築することができる。ここで、ターゲットドメインcAXが、ソース画像xsのソースドメインcsと異なるがゆえに、サンプル生成装置1aは、ソース画像xsとは異なる視覚的特徴を有する敵対的サンプルAXを生成可能な生成モデルGを構築することができる。従って、サンプル生成装置1aは、このような生成モデルGを用いて、ソース画像xsとは異なる視覚的特徴を有する敵対的サンプルAXを容易に生成することができる。
【0072】
(2)第2実施形態のサンプル生成装置1b
続いて、第2実施形態のサンプル生成装置1(以降、第2実施形態のサンプル生成装置1を、“サンプル生成装置1b”と称する)について説明する。
【0073】
(2-1)第2実施形態のサンプル生成装置1bの構成
第2実施形態のサンプル生成装置1bは、上述した第1実施形態のサンプル生成装置1aと比較して、CPU11内で実現される機能ブロックが異なるという点で異なっている。第2実施形態のサンプル生成装置1bのその他の特徴は、上述した第1実施形態のサンプル生成装置1aと同一であってもよい。従って、以下では、
図4を参照しながら、第2実施形態のCPU11内で実現される機能ブロックについて説明する。
図4は、第2実施形態のCPU11内で実現される機能ブロックを示すブロック図である。尚、今後は、既に説明済みの構成要件と同一の構成要件については、同一の参照符号を付することでその詳細な説明を省略する。
【0074】
図4に示すように、サンプル生成装置1bは、サンプル生成装置1aと比較して、敵対的サンプルAXを生成するための論理的な機能ブロックとして、モデル近似部116bがCPU11内に実現されるという点で異なっている。モデル近似部116bは、後述する付記における「近似手段」の一具体例である。サンプル生成装置1bの機能ブロックのその他の特徴は、サンプル生成装置1aと同一であってもよい。
【0075】
モデル近似部116bは、機械学習モデルfを近似する近似学習モデルf’を構築する。近似学習モデルf’は、ニューラルネットワークに基づく学習モデルであるものとするが、その他の種類の学習モデルであってもよい。
【0076】
モデル近似部116bは、機械学習モデルf及び生成モデルGの少なくとも一方と訓練データセットXとに基づいて、近似学習モデルf’を構築する。具体的には、訓練データセットXに含まれる各訓練サンプルxと、各訓練サンプルxを機械学習モデルfに入力することで得られる出力情報(つまり、画像)とから構成される単位データセットは、近似学習モデルf’を構築するための学習用データセットとして利用可能である。なぜならば、この単位データセットは、機械学習モデルfの入力たる訓練サンプルxに対して、機械学習モデルfの出力たる出力情報が正解ラベルとして対応付けられたデータセットであるからである。
【0077】
同様に、訓練データセットXに含まれる各訓練サンプルxを生成モデルGに入力することで得られる画像xGと、当該画像xGを機械学習モデルfに入力することで得られる出力情報(つまり、画像)とから構成される単位データセットもまた、近似学習モデルf’を構築するための学習用データセットとして利用可能である。なぜならば、この単位データセットは、機械学習モデルfの入力たる画像xGに対して、機械学習モデルfの出力たる出力情報が正解ラベルとして対応付けられたデータセットであるからである。
【0078】
従って、モデル近似部116bは、近似学習モデルf’を構築するために、まずは、学習用データセットを生成する。具体的には、モデル近似部116bは、訓練データセットXに含まれる全ての訓練サンプルxを順に機械学習モデルfに入力することで、訓練サンプルxと訓練サンプルxを機械学習モデルfに入力することで得られる出力情報(つまり、画像)とから構成される単位データセットを複数備える学習用データセットを生成してもよい。モデル近似部116bは、訓練データセットXに含まれる全ての訓練サンプルxを生成モデルGに入力することで夫々得られる複数の画像xGを取得し、その後、複数の画像xGを順に機械学習モデルfに入力することで、画像xGと画像xGを機械学習モデルfに入力することで得られる出力情報(つまり、画像)とから構成される単位データセットを複数備える学習用データセットを生成してもよい。但し、モデル近似部116bは、訓練データセットXに含まれる全ての訓練サンプルxのうちの一部を用いて、学習用データセットを生成してもよい。
【0079】
その後、モデル近似部116bは、生成した学習用データセットを用いて近似学習モデルf’を構築する。つまり、モデル近似部116bは、これら学習用データセットを用いて近似学習モデルf’を学習させる(つまり、更新する)ことで、近似学習モデルf’を構築する。この際、モデル近似部116bは、任意の損失値(つまり、損失関数)を用いて、近似学習モデルf’を学習させてもよい。例えば、モデル近似部116bは、交差エントロピー損失関数を用いて、近似学習モデルf’を学習させてもよい。更に、モデル近似部116bは、任意のアルゴリズムを用いて、近似学習モデルf’を学習させてもよい。例えば、モデル近似部116bは、誤差逆伝搬法を用いて、近似学習モデルf’を学習させてもよい。
【0080】
モデル近似部116bは、任意のタイミングで近似学習モデルf’を学習させてもよい。例えば、モデル近似部116bは、生成モデルGが更新されるたびに近似学習モデルf’が更新されるように、近似学習モデルf’を学習させてもよい。また、モデル近似部116bは、近似学習モデルf’を学習させるたびに近似学習モデルf’が所望回数更新されるように、近似学習モデルf’を学習させてもよい。
【0081】
近似学習モデルf’は、損失値Attack(上述した数式5参照)を算出する際に、機械学習モデルfの代わりに用いられてもよい。つまり、損失算出部113は、近似学習モデルf’及び機械学習モデルfのいずれか一方を用いて、損失値Attackを算出してもよい。例えば、上述したように、損失値Attackを算出するためには、機械学習モデルfを規定するパラメータが用いられる。しかしながら、機械学習モデルfを規定するパラメータが、サンプル生成装置1bにとって既知の情報であるとは限らない。つまり、機械学習モデルfを規定するパラメータが、サンプル生成装置1bにとって未知の情報(つまり、ブラックボックス)である可能性がある。この場合には、損失算出部113は、機械学習モデルfを規定するパラメータを用いて、損失値Attackを算出することが困難である。そこで、機械学習モデルfを規定するパラメータが既知の情報でない場合には、モデル近似部116bが近似学習モデルf’を構築すると共に、損失算出部113は、近似学習モデルf’(特に、そのパラメータ)に基づいて損失値Attackを算出してもよい。一方で、機械学習モデルfを規定するパラメータが既知の情報である場合には、損失算出部113は、機械学習モデルf(特に、そのパラメータ)に基づいて損失値Attackを算出してもよい。機械学習モデルfを規定するパラメータが既知の情報である場合には、モデル近似部116bは、近似学習モデルf’を構築しなくてもよい。
【0082】
(2-2)サンプル生成装置1bの動作の流れ
続いて、
図5を参照しながら、第2実施形態のサンプル生成装置1bの動作(つまり、生成モデルGを構築し、構築した生成モデルGに基づいて敵対的サンプルAXを生成する動作)の流れについて説明する。
図5は、第2実施形態のサンプル生成装置1bの動作の流れを示すフローチャートである。尚、今後は、既に説明済みの処理と同一の処理については、同一のステップ番号を付することでその詳細な説明を省略する。
【0083】
図5に示すように、サンプル生成装置1b(特に、CPU11)は、敵対的サンプルAXを生成するために必要な情報を取得する(ステップS11)。
【0084】
その後、モデル近似部116bは、近似学習モデルf’を構築する(ステップS21)。つまり、上述したように、モデル近似部116bは、学習用データセットを用いて近似学習モデルf’を学習させる(つまり、更新する)ことで、近似学習モデルf’を構築する(ステップS21)。近似学習モデルf’の学習は、近似学習モデルf’の学習を終了するための終了条件(例えば、近似学習モデルf’が所望回数更新されたという条件)が成立するまで繰り返される(ステップS22)。
【0085】
その後、近似学習モデルf’の学習が完了した後(ステップS22:Yes)、モデル学習部111は、上述したステップS12からステップS14の動作を行うことで、生成モデルGを学習させる(つまり、更新する)。生成モデルGが所望回数更新されるまでは、生成モデルGが更新される都度(ステップS14:No)、近似学習モデルf’の学習(ステップS21からステップS22)及び生成モデルGの学習(ステップS12からステップS13)が繰り返される。つまり、
図5は、生成モデルGが更新される都度、近似学習モデルf’の学習が行われる例を示している。生成モデルGが所望回数更新された後には、サンプル生成部115は、敵対的サンプルAXを生成する(ステップS15)。
【0086】
(2-3)サンプル生成装置1bの技術的効果
第2実施形態のサンプル生成装置1bは、第1実施形態のサンプル生成装置1aが享受可能な効果と同様の効果を享受することができる。更に、サンプル生成装置1bでは、モデル近似部116bが近似学習モデルf’を生成することができるがゆえに、機械学習モデルfのパラメータが既知の情報ではない場合であっても、生成モデルGを構築することができる。
【0087】
(3)第3実施形態のサンプル生成装置1c
続いて、第3実施形態のサンプル生成装置1(以降、第3実施形態のサンプル生成装置1を、“サンプル生成装置1c”と称する)について説明する。
【0088】
(3-1)第3実施形態のサンプル生成装置1cの構成
第3実施形態のサンプル生成装置1cは、上述した第1実施形態のサンプル生成装置1a又は第2実施形態のサンプル生成装置1bと比較して、CPU11内で実現される機能ブロックが異なるという点で異なっている。第3実施形態のサンプル生成装置1cのその他の特徴は、上述した第1実施形態のサンプル生成装置1a又は第2実施形態のサンプル生成装置1bと同一であってもよい。従って、以下では、
図6を参照しながら、第3実施形態のCPU11内で実現される機能ブロックについて説明する。
図6は、第3実施形態のCPU11内で実現される機能ブロックを示すブロック図である。
【0089】
図6に示すように、サンプル生成装置1cは、サンプル生成装置1a又は1bと比較して、敵対的サンプルAXを生成するための論理的な機能ブロックとして、サンプル評価部117cがCPU11内に実現されるという点で異なっている。サンプル評価部117cは、後述する付記における「評価手段」の一具体例である。サンプル生成装置1cの機能ブロックのその他の特徴は、サンプル生成装置1a又は1bと同一であってもよい。
【0090】
サンプル評価部117cは、サンプル生成部115が生成した敵対的サンプルAXを評価する。具体的には、サンプル評価部117cは、サンプル生成部115が生成した敵対的サンプルAXが、機械学習モデルfの誤分類を引き起こすか否かを評価する。つまり、サンプル評価部117cは、サンプル生成部115が生成した敵対的サンプルAXが機械学習モデルfに入力された場合に、敵対的サンプルAXのクラスがターゲットクラスtであると機械学習モデルfが分類するか否かを評価する。サンプル評価部117cは、敵対的サンプルAXのクラスがターゲットクラスtであると機械学習モデルfが分類すると評価した場合には、サンプル生成部115が生成した敵対的サンプルAXが、機械学習モデルfの誤分類を引き起こす適切なサンプルであると評価してもよい。一方で、サンプル評価部117cは、敵対的サンプルAXのクラスがターゲットクラスtではないと機械学習モデルfが分類すると評価した場合には、サンプル生成部115が生成した敵対的サンプルAXが、機械学習モデルfの誤分類を引き起こさない可能性があるサンプル(つまり、適切でない可能性があるサンプル)であると評価してもよい。
【0091】
(3-2)サンプル生成装置1cの動作の流れ
続いて、
図7を参照しながら、第3実施形態のサンプル生成装置1cの動作(つまり、生成モデルGを構築し、構築した生成モデルGに基づいて敵対的サンプルAXを生成する動作)の流れについて説明する。
図7は、第3実施形態のサンプル生成装置1cの動作の流れを示すフローチャートである。
【0092】
図7に示すように、第3実施形態においても、第1実施形態と同様に、ステップS11からステップS15までの処理が行われることで、敵対的サンプルAXが生成される。或いは、第3実施形態においても、第2実施形態と同様に、ステップS11からステップS15及びステップS21からステップS22までの処理が行われることで、敵対的サンプルAXが生成される。
【0093】
敵対的サンプルAXが生成された後、サンプル評価部117cは、サンプル生成部115が生成した敵対的サンプルAXを評価する(ステップS31)。敵対的サンプルAXの評価結果は、出力装置16によって出力されてもよい。また、敵対的サンプルAXが良好でない可能性があるサンプルであると評価された場合には、生成モデルGが、適切な敵対的サンプルAXを生成可能なモデルでない可能性がある。従って、敵対的サンプルAXが良好でない可能性があるサンプルであると評価された場合には、モデル学習部111は、ステップS11以降の動作を再度行うことで、生成モデルGを更に更新してもよい。モデル学習部111は、敵対的サンプルAXが良好なサンプルであると評価されるまで、ステップS11以降の動作を繰り返すことで、生成モデルGを更に更新してもよい。
【0094】
(3-3)サンプル生成装置1cの技術的効果
第3実施形態のサンプル生成装置1cは、第1実施形態のサンプル生成装置1a又は第2実施形態のサンプル生成装置1bが享受可能な効果と同様の効果を享受することができる。更に、サンプル生成装置1cでは、サンプル評価部117cは、敵対的サンプルAXが適切か否かを評価することができる。その結果、サンプル生成装置1cは、実質的には、生成モデルGが適切か否かを評価することができる。
【0095】
(4)変形例
上述した説明では、サンプル生成装置1は、サンプル生成部111を備えている。しかしながら、サンプル生成装置1は、
図8に示すように、サンプル生成部111を備えていなくてもよい。つまり、サンプル生成装置1は、生成モデルGを構築する一方で敵対的サンプルAXを生成しない装置として機能してもよい。この場合、サンプル生成装置1は、生成モデルGを構築するモデル構築装置と称されてもよい。サンプル生成装置1は、構築した生成モデルGを、サンプル生成装置1とは異なる装置に出力してもよい。この場合、サンプル生成装置1とは異なる装置が、サンプル生成装置1が構築した生成モデルGを用いて敵対的サンプルAXを生成してもよい。
【0096】
(5)付記
以上説明した実施形態に関して、更に以下の付記を開示する。
【0097】
(5-1)付記1
付記1に記載のモデル構築装置は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築手段と、前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第1評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第2評価値を算出する算出手段とを備え、前記構築手段は、前記第1及び第2評価値に基づく指標値が小さくなるように前記生成モデルを更新することで、前記生成モデルを構築することを特徴とするモデル構築装置である。
【0098】
(5-2)付記2
付記2に記載のモデル構築装置は、前記学習済みモデルを近似する近似モデルを生成する近似手段を更に備え、前記算出手段は、前記近似モデルを規定するパラメータに基づいて前記第2評価値を算出する付記1に記載のモデル構築装置である。
【0099】
(5-3)付記3
付記4に記載のモデル構築装置は、前記算出手段は、(i)前記学習済みモデルを規定するパラメータを取得可能な場合には、前記学習済みモデルを規定するパラメータに基づいて前記第2評価値を算出し、(ii)前記学習済みモデルを規定するパラメータを取得不可能な場合には、前記近似モデルを規定するパラメータに基づいて前記第2評価値を算出する付記2に記載のモデル構築装置である。
【0100】
(5-4)付記4
付記4に記載のモデル構築装置は、前記構築手段により構築された前記生成モデルに前記ソースサンプルを入力することで、前記敵対的サンプルを生成する生成手段を更に備えることを特徴とする付記1から3のいずれか一項に記載のモデル構築装置である。
【0101】
(5-5)付記5
付記5に記載のモデル構築装置は、前記生成モデルから出力される前記敵対的サンプルを評価する評価手段を更に備える付記1から4のいずれか一項に記載のモデル構築装置である。
【0102】
(5-6)付記6
付記6に記載のモデル構築方法は、ソースサンプルが入力された場合に、学習済みモデルの誤分類を引き起こす敵対的サンプルを出力する生成モデルを構築する構築工程と、前記生成モデルから出力される前記敵対的サンプルの実際の視覚的特徴と、前記ソースサンプルの視覚的特徴とは異なるものとなるように設定される前記敵対的サンプルの目標とする視覚的特徴との差異が小さくなるほど小さくなる第2評価値、及び、前記生成モデルから出力される前記敵対的サンプルを前記学習済みモデルが誤分類する可能性が大きくなるほど小さくなる第2評価値を算出する算出工程とを含み、前記構築工程では、前記第1及び第2評価値に基づく指標値が小さくなるように前記生成モデルが更新されることで、前記生成モデルが構築されることを特徴とするモデル構築方法である。
【0103】
(5-7)付記7
付記7に記載のコンピュータプログラムは、コンピュータに、付記6に記載のモデル構築方法を実行させるコンピュータプログラムである。
【0104】
(5-8)付記8
付記8に記載の記録媒体は、付記7に記載のコンピュータプログラムが記録された記録媒体である。
【0105】
本発明は、請求の範囲及び明細書全体から読み取るこのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴うモデル構築装置、モデル構築方法、コンピュータプログラム及び記録媒体もまた本発明の技術思想に含まれる。
【符号の説明】
【0106】
1 サンプル生成装置
11 CPU
111 モデル学習部
112 損失算出部
113 損失算出部
114 損失統合部
115 サンプル生成部
116b モデル近似部
117c サンプル評価部
G 生成モデル
f 機械学習モデル
f’ 近似学習モデル
xs ソース画像
cs ソースドメイン
AX 敵対的サンプル
t ターゲットクラス
cAX ターゲットドメイン
X 訓練データセット
x 訓練サンプル
c 訓練ドメイン