(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-02
(45)【発行日】2024-12-10
(54)【発明の名称】学習用データ生成装置、学習用データの生成方法、プログラム、検知モデルの生成方法および認証システム
(51)【国際特許分類】
G06F 18/214 20230101AFI20241203BHJP
G06N 20/00 20190101ALI20241203BHJP
【FI】
G06F18/214
G06N20/00
(21)【出願番号】P 2023534567
(86)(22)【出願日】2021-07-16
(86)【国際出願番号】 JP2021026796
(87)【国際公開番号】W WO2023286269
(87)【国際公開日】2023-01-19
【審査請求日】2024-01-05
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】柿崎 和也
(72)【発明者】
【氏名】荒木 俊則
【審査官】大倉 崚吾
(56)【参考文献】
【文献】米国特許出願公開第2020/0005133(US,A1)
【文献】国際公開第2020/121450(WO,A1)
【文献】特表2021-513143(JP,A)
【文献】国際公開第2021/131029(WO,A1)
【文献】中国特許出願公開第110222502(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
G06F 21/32
G06F 21/36
(57)【特許請求の範囲】
【請求項1】
第1の個体に係る個体データである第1サンプルを取得するサンプル取得部と、
前記第1サンプルに摂動を加えて敵対的サンプルを生成するAX生成部と、
入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルによって算出された、前記敵対的サンプルの特徴量である第1特徴量と、前記第1の個体に係る個体データの特徴量である第2特徴量と、前記第1の個体と異なる第2の個体に係る個体データの特徴量である第3特徴量とを取得する特徴量取得部と、
前記第1特徴量と前記第2特徴量との類似度が閾値以上であり、かつ前記第1特徴量と前記第3特徴量との類似度が閾値以上である前記敵対的サンプルを出力する出力部と
を備える学習用データ生成装置。
【請求項2】
コンピュータが、
第1の個体に係る個体データである第1サンプルを取得し、
前記第1サンプルに摂動を加えて敵対的サンプルを生成し、
入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルによって算出された、前記敵対的サンプルの特徴量である第1特徴量と、前記第1の個体に係る個体データの特徴量である第2特徴量と、前記第1の個体と異なる第2の個体に係る個体データの特徴量である第3特徴量とを取得し、
前記第1特徴量と前記第2特徴量との類似度が閾値以上であり、かつ前記第1特徴量と前記第3特徴量との類似度が閾値以上である前記敵対的サンプルを学習用データとして出力する
学習用データの生成方法。
【請求項3】
コンピュータに、
第1の個体に係る個体データである第1サンプルを取得するステップと、
前記第1サンプルに摂動を加えて敵対的サンプルを生成するステップと、
入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルによって算出された、前記敵対的サンプルの特徴量である第1特徴量と、前記第1の個体に係る個体データの特徴量である第2特徴量と、前記第1の個体と異なる第2の個体に係る個体データの特徴量である第3特徴量とを取得するステップと、 前記第1特徴量と前記第2特徴量との類似度が閾値以上であり、かつ前記第1特徴量と前記第3特徴量との類似度が閾値以上である前記敵対的サンプルを出力するステップと
を実行させるためのプログラム。
【請求項4】
コンピュータが、
請求項2に示す学習用データの生成方法によって
学習用データとして出力される複数の敵対的サンプルを生成し、
生成された前記複数の敵対的サンプルと複数の正常な個体データとを用いて、個体データを入力とし、当該個体データが正常な個体データであるか敵対的サンプルであるかの判定結果を出力する機械学習モデルである検知モデルのパラメータを学習する
検知モデルの生成方法。
【請求項5】
記憶媒体に認証用生体データとアカウントデータとを記録する記録装置と、
前記記憶媒体に基づいて人物の認証を行う認証装置と、
生体データが敵対的サンプルであるか否かを判定する判定装置と
を備える認証システムであって、
前記記録装置は、
第1人物が提出した第1生体データを取得する取得部と、
前記第1人物から第2生体データを生成する第1生成部と、
入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルである特徴量抽出モデルによって、前記第1生体データの特徴量および前記第2生体データの特徴量を算出する第1算出部と、
算出された前記第1生体データの前記特徴量と前記第2生体データの前記特徴量との類似度が閾値以上である場合に前記第1生体データを前記記憶媒体に記録する記録部と
を備え、
前記認証装置は、
第2人物から第3生体データを生成する第2生成部と、
前記特徴量抽出モデルによって、前記記憶媒体が記憶する第1生体データの特徴量と、前記第3データの特徴量とを算出する第2算出部と、
算出された前記類似度が閾値以上であるか否かを判定する照合部と
を備え、
前記判定装置は、前記第1生体データを、請求項4に記載の検知モデルの生成方法で生成された学習済みの検知モデルに入力することで、前記第1生体データが敵対的サンプルであるか否かを判定する判定部を備える
認証システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習用データ生成装置、学習用データの生成方法、プログラム、検知モデルの生成方法および認証システムに関する。
【背景技術】
【0002】
機械学習において、入力データに所定のノイズを加えることで誤判定を誘発させる敵対的サンプル(Adversarial Examples)という攻撃手法が知られている。この手法は、学習済みモデルの演算の傾向に基づいて、誤判定させる対象となるデータと特徴量が近くなるようにノイズが算出される。非特許文献1には、入力されたデータが敵対的サンプルを検知する検知モデルの学習方法が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Zhitao Gong, Wenlu Wang, Wei-Shinn Ku, “Adversarial and Clean Data Are Not Twins”、[online]、[2021年05月28日検索]、インターネット〈URL: https://arxiv.org/abs/1704.04960〉
【発明の概要】
【発明が解決しようとする課題】
【0004】
敵対的サンプルは、人物の認証システムなどの学習に基づく認証処理を行うシステムにおいて脅威となる。検知モデルを用いて認証システムにおいて脅威となる敵対的サンプルの検知精度を高めるためには、検知モデルに学習用データとして無作為に生成された敵対的サンプルを与えるのではなく、適切なデータを与えることが求められる。
本発明の目的は、上述した課題を解決するために、認証システムにおいて脅威となる敵対的サンプルの検知精度を高めることができる学習用データ生成装置、学習用データの生成方法、プログラム、検知モデルの生成方法および認証システムを提供することにある。
【課題を解決するための手段】
【0005】
本発明の第1の態様によれば、学習用データ生成装置は、第1の個体に係る個体データである第1サンプルを取得するサンプル取得部と、前記第1サンプルに摂動を加えて敵対的サンプルを生成するAX生成部と、入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルによって算出された、前記敵対的サンプルの特徴量である第1特徴量と、前記第1の個体に係る個体データの特徴量である第2特徴量と、前記第1の個体と異なる第2の個体に係る個体データの特徴量である第3特徴量とを取得する特徴量取得部と、前記第1特徴量と前記第2特徴量との類似度が閾値以上であり、かつ前記第1特徴量と前記第3特徴量との類似度が閾値以上である前記敵対的サンプルを出力する出力部とを備える。
【0006】
本発明の第2の態様によれば、学習用データの生成方法は、第1の個体に係る個体データである第1サンプルを取得するステップと、前記第1サンプルに摂動を加えて敵対的サンプルを生成するステップと、入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルによって算出された、前記敵対的サンプルの特徴量である第1特徴量と、前記第1の個体に係る個体データの特徴量である第2特徴量と、前記第1の個体と異なる第2の個体に係る個体データの特徴量である第3特徴量とを取得するステップと、前記第1特徴量と前記第2特徴量との類似度が閾値以上であり、かつ前記第1特徴量と前記第3特徴量との類似度が閾値以上である前記敵対的サンプルを学習用データとして出力するステップとを備える。
【0007】
本発明の第3の態様によれば、プログラムは、コンピュータに、第1の個体に係る個体データである第1サンプルを取得するステップと、前記第1サンプルに摂動を加えて敵対的サンプルを生成するステップと、入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルによって算出された、前記敵対的サンプルの特徴量である第1特徴量と、前記第1の個体に係る個体データの特徴量である第2特徴量と、前記第1の個体と異なる第2の個体に係る個体データの特徴量である第3特徴量とを取得するステップと、前記第1特徴量と前記第2特徴量との類似度が閾値以上であり、かつ前記第1特徴量と前記第3特徴量との類似度が閾値以上である前記敵対的サンプルを出力するステップとを実行させる。
【0008】
本発明の第4の態様によれば、検知モデルの生成方法は、請求項2に示す学習用データの生成方法によって複数の敵対的サンプルを生成するステップと、生成された前記複数の敵対的サンプルと複数の正常な個体データとを用いて、個体データを入力とし、当該個体データが正常な個体データであるか敵対的サンプルであるかの判定結果を出力する機械学習モデルである検知モデルのパラメータを学習するステップとを備える。
【0009】
本発明の第5の態様によれば、認証システムは、人物の認証に用いる生体データを記憶する記憶媒体と、前記記憶媒体に認証用生体データとアカウントデータとを登録する登録装置と、前記記憶媒体に基づいて人物の認証を行う認証装置と、生体データが敵対的サンプルであるか否かを判定する判定装置とを備える認証システムであって、前記登録装置は、第1人物が提出した第1生体データを取得する取得部と、前記第1人物から第2生体データを生成する生成部と、入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルである特徴量抽出モデルによって、前記第1生体データおよび前記第2生体データの類似度を算出する第1算出部と、前記第1算出部が算出した類似度が閾値以上である場合に前記第1生体データを前記記憶媒体に記録する記録部と、を備え、前記認証装置は、第2人物から第3生体データを生成する生成部と、前記特徴量抽出モデルによって、前記記憶媒体が記憶する複数の第1生体データそれぞれの特徴量と、前記第3データの特徴量とを算出する第2算出部と、前記第2算出部が算出した類似度が閾値以上であるか否かを判定する判定部と、を備え、前記判定装置は、前記第1生体データを、上記態様に係る検知モデルの生成方法で生成された学習済みの検知モデルに入力することで、前記第1生体データが敵対的サンプルであるか否かを判定する判定部を備える。
【発明の効果】
【0010】
上記少なくとも1つの態様によれば、認証システムにおいて脅威となる敵対的サンプルの検知精度を高めることができる学習用データを供給することができる。
【図面の簡単な説明】
【0011】
【
図1】第1の実施形態に係る認証システムの構成を示す概略図である。
【
図2】第1の実施形態に係る発行装置のコンピュータ構成を示す概略図である。
【
図3】第1の実施形態に係る発行装置の動作を示すフローチャートである。
【
図4】第1の実施形態に係る認証装置の構成を示す概略図である。
【
図5】第1の実施形態に係る認証装置の動作を示すフローチャートである。
【
図6】第1の実施形態に係る学習装置の構成を示す概略ブロック図である。
【
図7】第1の実施形態に係る学習装置による特徴量抽出モデルの学習方法を示すフローチャートである。
【
図8】第1の実施形態に係る学習装置による検知モデルの学習方法を示す第1のフローチャートである。
【
図9】第1の実施形態に係る学習装置による検知モデルの学習方法を示す第2のフローチャートである。
【
図10】学習用データ生成装置の基本構成を示す概略ブロック図である。
【
図11】認証システムの基本構成を示す概略ブロック図である。
【
図12】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0012】
〈第1の実施形態〉
《認証システムの構成》
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係る認証システム1の構成を示す概略図である。
第1の実施形態に係る認証システム1は、人物を撮像して得られる顔画像と、登録証Rに記録された顔画像と照合することで、人物の認証を行う。人物の顔画像は、生体データの一例である。また顔画像は、個体データの一例である。
【0013】
登録証Rは、人物の認証に用いる認証用顔画像と、当該人物のアカウントデータとが関連付けて記録された記録媒体である。アカウントデータは、例えば人物の氏名やIDなど、人物を特定可能なデータである。例えば、登録証Rは、認証用顔画像とアカウントデータとを電子的または磁気的に記憶するICカードや磁気ストライプカードであってよい。また登録証Rは、認証用顔画像とアカウントデータとが印刷されたカードであってもよい。
【0014】
認証システム1は、発行装置11、認証装置13、学習装置15を備える。
【0015】
発行装置11は、例えば登録証Rの発行事務所に設けられる。発行装置11は、登録証Rの発行を受けようとする人物から認証用顔画像の提出を受け付け、提出された認証用顔画像とアカウントデータとを記録した登録証Rを発行する。発行装置11は、提出された認証用顔画像とその人物の顔画像との照合を行い、照合に成功した場合に限り、登録証Rを発行する。
【0016】
認証装置13は、正規の登録証Rを有するものに入場を許可する施設の入口に設けられる。認証装置13は、施設へ入場しようとする人物の顔画像を撮像し、登録証Rに記録された認証用顔画像との照合を行う。また認証装置13は、照合に成功した場合に登録証Rの認証用顔画像が敵対的サンプルであるか否かを判定する。認証装置13は、顔画像と認証用顔画像との照合に成功し、かつ認証用顔画像が敵対的サンプルでない場合に、人物の施設への入場を許可する。認証装置13は、生体データが敵対的サンプルであるか否かを判定する判定装置の機能を有する。
【0017】
学習装置15は、発行装置11および認証装置13において顔画像の照合に用いる特徴量抽出モデルのパラメータの学習を行う。発行装置11および認証装置13は、特徴量抽出モデルによって顔画像から抽出された特徴量どうしの比較によって顔画像の照合を行う。また学習装置15は、認証装置13において画像が敵対的サンプルか否かの判定に用いる検知モデルのパラメータの学習を行う。
【0018】
《発行装置11の構成》
第1の実施形態に係る発行装置11は、コンピュータ111、撮像装置112および発行機113を備える。撮像装置112は、発行事務所のカウンタの前に位置する人物が撮像されるように設置される。撮像装置112は、例えば発行事務所のカウンタの上に設けられる。発行機113は、所定の情報が記録された登録証Rを出力する。発行機113は、例えばICカードライタやプリンタである。
【0019】
図2は、第1の実施形態に係る発行装置11のコンピュータ構成を示す概略図である。
コンピュータ111は、提出情報取得部121、撮像部122、モデル記憶部123、特徴量算出部124、照合部125、発行部126を備える。
【0020】
提出情報取得部121は、登録証Rの発行を受けようとする人物から提出されたアカウントデータおよび顔画像を取得する。以下、人物から提出された顔画像を提出顔画像と呼ぶ。提出情報取得部121は、人物が提出した生体データを取得する取得部の一例である。
【0021】
撮像部122は、発行装置11に接続された撮像装置112によって、アカウントデータの登録を受けようとする人物の顔画像を撮像する。以下、発行装置11の撮像部122が撮像した顔画像を第1撮像顔画像と呼ぶ。撮像部122は、人物から生体データを生成する生成部の一例である。
【0022】
モデル記憶部123は、特徴量算出部124による計算に用いられる特徴量抽出モデルを記憶する。特徴量抽出モデルは、顔画像データを入力とし、当該顔画像データの特徴量を出力とする。特徴量抽出モデルは、学習装置15によってパラメータの学習がなされた学習済みモデルである。
【0023】
特徴量算出部124は、提出顔画像の特徴量および第1撮像顔画像の特徴量を算出する。特徴量算出部124は、モデル記憶部123が記憶する特徴量抽出モデルに提出顔画像を入力することで提出顔画像の特徴量を算出する。特徴量算出部124は、モデル記憶部123が記憶する特徴量抽出モデルに第1撮像顔画像を入力することで第1撮像顔画像の特徴量を算出する。
【0024】
照合部125は、特徴量算出部124が算出した提出顔画像の特徴量と第1撮像顔画像の特徴量との類似度を算出し、2つの顔画像に写る人物が同一人物であるか否かを判定する。具体的には、照合部125は、提出顔画像の特徴量と第1撮像顔画像の特徴量との距離(例えばL2距離)を算出し、距離が所定の閾値以下である場合に、2つの顔画像に写る人物が同一人物であるか否かを判定する。なお、照合部125は、距離に代えて類似度(例えばコサイン類似度)を算出してもよい。距離が所定の閾値以下であると判定することは、類似度が所定の閾値以上であると判定することと同義である。
【0025】
発行部126は、照合部125によって提出顔画像に写る人物と第1撮像顔画像に写る人物が同一人物であると判定された場合に、提出情報取得部121が受け付けたアカウントデータおよび顔画像を記録した登録証Rを発行機113に発行させる。つまり発行部126は、登録証Rにアカウントデータおよび顔画像を記録する。
【0026】
《発行装置11の動作》
図3は、第1の実施形態に係る発行装置11の動作を示すフローチャートである。
登録証Rの発行希望者は、登録証Rの発行事務所の受付担当者にアカウントデータと持参した顔画像(提出顔画像)とを提出する。受付担当者は、提出されたアカウントデータと提出顔画像とを発行装置11に入力する。提出顔画像はデータとして提出されてもよいし、印刷物として提出されてもよい。提出顔画像が印刷物として提出された場合、受付担当者は、例えばスキャナによって提出顔画像をデータ化する。
【0027】
発行装置11の提出情報取得部121は、入力されたアカウントデータと提出顔画像とを読み込む(ステップS1)。次に、撮像部122は、撮像装置112によって発行希望者の顔画像を撮像し、第1撮像顔画像を生成する(ステップS2)。
【0028】
特徴量算出部124は、モデル記憶部123が記憶する特徴量抽出モデルにステップS1で取得した提出顔画像を入力し、提出顔画像の特徴量を算出する(ステップS3)。また特徴量算出部124は、特徴量抽出モデルにステップS2で取得した第1撮像顔画像を入力し、第1撮像顔画像の特徴量を算出する(ステップS4)。照合部125は、ステップS3で算出した提出顔画像の特徴量とステップS4で算出した第1撮像顔画像の特徴量との距離を算出する(ステップS5)。照合部125は、算出した距離が所定の閾値以下であるか否かを判定する(ステップS6)。
【0029】
距離が閾値以下である場合(ステップS6:YES)、発行部126は、発行機113にステップS1で取得したアカウントデータと提出顔画像とを出力し、当該アカウントデータと提出顔画像とが記録された登録証Rを発行させる(ステップS7)。
距離が閾値を超える場合(ステップS6:NO)、照合部125は、ディスプレイに顔画像の照合に失敗した旨を出力し、登録証Rを発行しない(ステップS8)。
【0030】
これにより、発行装置11は、提出顔画像が発行希望者の顔画像であることが確認できた場合に登録証Rを発行する。
【0031】
《認証装置13の構成》
図4は、第1の実施形態に係る認証装置13の構成を示す概略図である。
第1の実施形態に係る認証装置13は、コンピュータ131、撮像装置132、読取装置133、およびゲート134を備える。撮像装置132は、発行事務所のカウンタの前に位置する人物が撮像されるように設置される。読取装置133は、登録証Rに記録されたデータを読みとる。読取装置133は、例えばICカードリーダや、カメラであってよい。読取装置133は、ゲート134の入口側に設けられる。ゲート134は、コンピュータ131による認証に成功した場合に開き、認証に失敗した場合に閉じる。
【0032】
コンピュータ131は、登録証読取部141、撮像部142、モデル記憶部143、特徴量算出部144、照合部145、AX判定部146、ゲート制御部147を備える。
【0033】
登録証読取部141は、読取装置133を介して登録証Rに記録されたアカウントデータおよび顔画像を取得する。登録証Rに記録された顔画像を、認証用顔画像と呼ぶ。
撮像部142は、認証装置13に接続された撮像装置132によって、登録証Rを提示した人物の顔画像を撮像する。以下、認証装置13の撮像部142が撮像した顔画像を第2撮像顔画像と呼ぶ。撮像部142は、人物から生体データを生成する生成部の一例である。
【0034】
モデル記憶部143は、特徴量算出部144による計算に用いられる特徴量抽出モデルおよびAX判定部146による計算に用いられる検知モデルを記憶する。特徴量抽出モデルは、発行装置11が記憶する特徴量抽出モデルと同じものである。検知モデルは、顔画像データを入力とし、当該顔画像データが敵対的サンプルである確率を示す判定結果を出力とする。検知モデルは、顔画像データを入力とし、当該顔画像データが敵対的サンプルである確率を出力とする。検知モデルは、学習装置15によってパラメータの学習がなされた学習済みモデルである。
【0035】
特徴量算出部144は、認証用顔画像の特徴量および第2撮像顔画像の特徴量を算出する。特徴量算出部144は、モデル記憶部143が記憶する特徴量抽出モデルに認証用顔画像を入力することで認証用顔画像の特徴量を算出する。特徴量算出部144は、モデル記憶部143が記憶する特徴量抽出モデルに第2撮像顔画像を入力することで第2撮像顔画像の特徴量を算出する。
【0036】
照合部145は、特徴量算出部144が算出した認証用顔画像の特徴量と第2撮像顔画像の特徴量との類似度を算出し、2つの顔画像に写る人物が同一人物であるか否かを判定する。
【0037】
AX判定部146は、モデル記憶部143が記憶する検知モデルに認証用顔画像を入力することで、認証用顔画像が敵対的サンプルであるか否かを判定する。具体的には、AX判定部146は、検知モデルによって計算された提出顔画像が敵対的サンプルである確率が所定の閾値以上である場合に、提出顔画像が敵対的サンプルであると判定する。
【0038】
ゲート制御部147は、照合部145によって認証用顔画像と第2撮像顔画像に写る人物が同一人物であると判定され、かつAX判定部146によって認証用顔画像が敵対的サンプルでないと判定された場合に、ゲート134を開くための制御信号を出力する。
【0039】
《認証装置13の動作》
図5は、第1の実施形態に係る認証装置13の動作を示すフローチャートである。
施設への入場希望者は、発行装置11によって発行された登録証Rを読取装置133にかざす。認証装置13の登録証読取部141は、読取装置133を介して登録証Rに記録された認証用顔画像を取得する(ステップS21)。次に、撮像部142は、撮像装置132によって発行希望者の顔画像を撮像し、第2撮像顔画像を生成する(ステップS22)。
【0040】
特徴量算出部144は、モデル記憶部143が記憶する特徴量抽出モデルにステップS21で取得した認証用顔画像を入力し、認証用顔画像の特徴量を算出する(ステップS23)。また特徴量算出部144は、特徴量抽出モデルにステップS22で取得した第2撮像顔画像を入力し、第2撮像顔画像の特徴量を算出する(ステップS24)。照合部145は、ステップS23で算出した認証用顔画像の特徴量とステップS24で算出した第2撮像顔画像の特徴量との距離を算出する(ステップS25)。照合部145は、算出した距離が所定の閾値以下であるか否かを判定する(ステップS26)。
【0041】
距離が閾値以下である場合(ステップS26:YES)、AX判定部146は、モデル記憶部143が記憶する検出モデルにステップS21で取得した認証用顔画像を入力し、認証用顔画像が敵対的サンプルである確率を算出する(ステップS27)。AX判定部146は、認証用顔画像が敵対的サンプルである確率が閾値以下であるか否かを判定する(ステップS28)。確率が閾値以下である場合(ステップS28:YES)、ゲート制御部147は、ゲート134に開状態にすることを指示する制御信号を出力する(ステップS29)。
【0042】
他方、ステップS25において距離が閾値を超える場合(ステップS26:NO)、およびステップS28において確率が閾値を超える場合(ステップS28:NO)、ゲート制御部147は、ゲート134に閉状態を維持することを指示する制御信号を出力する(ステップS30)。
【0043】
これにより、認証装置13は、認証用顔画像に写る人物と入場希望者とが同一人物であり、かつ認証用顔画像が敵対的サンプルでない場合に、施設への入場を許可することができる。
【0044】
《学習装置15の構成》
図6は、第1の実施形態に係る学習装置15の構成を示す概略ブロック図である。
学習装置15は、モデル記憶部152、データセット取得部151、分類処理部153、第1更新部154、モデル抽出部155、AX生成部156、AX検証部157、判定処理部158、第2更新部159、出力部160を備える。
【0045】
モデル記憶部152は、ニューラルネットワークによって構成された分類モデルと、検知モデルを記憶する。
【0046】
分類モデルは、入力層、中間層、出力層を備える。入力層は、入力された顔画像データをベクトルとして中間層に出力する。中間層は、2層以上のニューラルネットワークによって構成される。中間層は、CNN(Convolutional Neural Network)によって構成されてもよい。中間層は、入力層から入力されたベクトルを、低次元の特徴ベクトルに変換し、出力層に出力する。特徴ベクトルは特徴量を表すベクトルである。出力層は、中間層から入力された特徴ベクトルから、当該特徴ベクトルが表す人物の確率を示すP次元のベクトルに変換する。
【0047】
検知モデルは、入力層、中間層、出力層を備える。入力層は、入力された顔画像データをベクトルとして中間層に出力する。中間層は、2層以上のニューラルネットワークによって構成される。中間層は、CNNによって構成されてもよい。中間層は、入力層から入力されたベクトルを、低次元の特徴ベクトルに変換し、出力層に出力する。出力層は、中間層から入力された特徴ベクトルから、当該特徴ベクトルが表す画像が敵対的サンプルであるか否かの確率を示す2次元のベクトルに変換する。
【0048】
データセット取得部151は、入力サンプルである顔画像データと、出力サンプルである人物ラベルとを関連付けた学習用データセットを取得する。人物ラベルは、データセットにおける人物の数をPとした場合に、P次元のワンホットベクトルによって表される。
【0049】
分類処理部153は、分類モデルに入力データを入力することで、出力ベクトルを計算する。
【0050】
第1更新部154は、データセット取得部151が取得した学習用データセットを用いて、顔画像データを分類モデルに入力したときに、当該顔画像データに該当する人物の確率を示すP次元のベクトルを出力するように、分類モデルのパラメータを学習させる。
【0051】
モデル抽出部155は、第1更新部154によって学習された分類モデルのうち入力層および中間層からなる部分モデルを、特徴量抽出モデルとして抽出し、モデル記憶部152に記録する。
【0052】
AX生成部156は、第1更新部154によって学習された分類モデルに基づいて、敵対的サンプルを生成するための摂動ベクトルを演算する。摂動ベクトルは、入力データに加算することで分類モデルが出力するベクトルのうち最も大きい値を有する要素を異ならせるためのベクトルである。摂動ベクトルの生成方法は、例えば参考文献1(Yaoyao Zhong, Weihong Deng, “Adversarial Learning with Margin-based Triplet Embedding Regularization”, ICCV 2019)に示されるIFTGSM法や、参考文献2(Aleksander Madry, Aleksandar Makelov, Ludwig Schmidt, Dimitris Tsipras, Adrian Vladu, “Towards Deep Learning Models Resistant to Adversarial Attacks”, ICLR 2018)に示されるPGD Attack法を用いることができる。AX生成部156は、入力サンプルに摂動を加算することで、敵対的サンプルを生成する。
【0053】
AX検証部157は、AX生成部156が生成した敵対的サンプルが、入力サンプルおよび他の顔画像データの両方と類似するか否かを検証する。すなわち、AX検証部157は、生成された敵対的サンプルのうち、発行装置11および認証装置13の両方を通過し得るものを出力する。具体的には、AX検証部157は、敵対的サンプルと、学習用データセットに係る複数の入力サンプルとについて、特徴量抽出モデルを用いて特徴量を算出し、敵対的サンプルと各入力サンプルとの類似度を算出する。
【0054】
判定処理部158は、検知モデルに、入力データを入力することで、出力ベクトルを計算する。
【0055】
第2更新部159は、データセット取得部151が取得した学習用データセットの入力ベクトルと、AX検証部157が出力した敵対的サンプルを用いて、顔画像データを検知モデルに入力したときに、当該顔画像データが敵対的サンプルであるか否かの確率を示す2次元のベクトルを出力するように、検知モデルのパラメータを学習させる。
出力部160は、モデル抽出部155によって抽出された特徴量抽出モデルを発行装置11に出力する。また出力部160は、モデル抽出部155によって抽出された特徴量抽出モデルと、第2更新部159によって学習された検知モデルとを認証装置13に出力する。出力は、ネットワーク等を介した通信によってなされてもよいし、可搬性の記憶装置を介してなされてもよい。
【0056】
《学習方法》
図7は、第1の実施形態に係る学習装置15による特徴量抽出モデルの学習方法を示すフローチャートである。
学習装置15のデータセット取得部151は、図示しないデータベースから予め用意されたデータセットを取得する(ステップS41)。分類処理部153は、取得したデータセットに含まれる複数の入力サンプルを、それぞれモデル記憶部152が記憶する分類モデルに入力し、出力ベクトルを計算する(ステップS42)。第1更新部154は、入力サンプルに対応する出力サンプルと、ステップS42で計算された出力ベクトルとに基づいて、クロスエントロピー誤差を示す損失関数を算出する(ステップS43)。第1更新部154は、算出した損失関数Lが小さくなるように、モデル記憶部152が記憶する分類モデルのパラメータを更新する(ステップS44)。
【0057】
第1更新部154は、分類モデルのパラメータの更新処理を所定のエポック数だけ実行したか否かを判定する(ステップS45)。分類モデルのパラメータの更新処理の実行回数が所定のエポック数未満である場合(ステップS45:NO)、学習装置15は処理をステップS42に戻し、パラメータの更新処理を繰り返す。
他方、分類モデルのパラメータの更新処理の実行回数が所定のエポック数に至った場合(ステップS45:YES)、モデル抽出部155は、モデル記憶部152が記憶する分類モデルのうち入力層および中間層からなる部分モデルを、特徴量抽出モデルとして抽出する(ステップS46)。モデル抽出部155は、抽出した特徴量抽出モデルをモデル記憶部152に記録する(ステップS47)。そして、学習装置15は、特徴量抽出モデルの学習処理を終了する。
【0058】
図8は、第1の実施形態に係る学習装置15による検知モデルの学習方法を示す第1のフローチャートである。
図9は、第1の実施形態に係る学習装置15による検知モデルの学習方法を示す第2のフローチャートである。
学習装置15のデータセット取得部151は、図示しないデータベースから予め用意されたデータセットを取得する(ステップS61)。AX検証部157は、取得されたデータセットに係る複数の入力サンプルをモデル記憶部152が記憶する特徴量抽出モデルに入力することで、複数の入力サンプルそれぞれの特徴量を算出する(ステップS62)。
【0059】
AX生成部156は、ステップS61で取得したデータセットに係る複数の入力サンプルに基づいて複数の敵対的サンプルを生成する(ステップS63)。AX検証部157は、ステップS63で生成した複数の敵対的サンプルを1つずつ選択し(ステップS64)、以下のステップS65からステップS70の処理を実行する。
【0060】
AX検証部157は、ステップS64で選択した敵対的サンプルをモデル記憶部152が記憶する特徴量抽出モデルに入力することで、敵対的サンプルの特徴量を算出する(ステップS65)。AX検証部157は、ステップS65で算出した敵対的サンプルの特徴量と、ステップS62で算出した複数の入力サンプルの特徴量それぞれとの距離を算出する(ステップS66)。
【0061】
AX検証部157は、ステップS66の計算結果に基づいて、ステップS64で選択した敵対的サンプルの特徴量と、当該敵対的サンプルの生成に用いた入力サンプルの特徴量との距離が所定の閾値以下であるか否かを判定する(ステップS67)。選択した敵対的サンプルの特徴量と生成に用いた入力サンプルの特徴量との距離が閾値以下である場合(ステップS67:YES)、AX検証部157は、複数の入力サンプルのうち、ステップS64で選択した敵対的サンプルの生成に用いた入力サンプルと異なるラベルに係る入力サンプルである複数のストレンジャサンプルを抽出する(ステップS68)。AX検証部157は、複数のストレンジャサンプルのうち、ステップS64で選択した敵対的サンプルの特徴量との距離が所定の閾値以下であるものが存在するか否かを判定する(ステップS69)。選択した敵対的サンプルの特徴量との距離が閾値以下となる少なくとも1つのストレンジャサンプルが存在する場合(ステップS69:YES)、AX検証部157は、ステップS64で選択した敵対的サンプルを、検知モデルの学習用データとして出力する(ステップS70)。
【0062】
他方、選択した敵対的サンプルの特徴量と生成に用いた入力サンプルの特徴量との距離が閾値を超える場合(ステップS67:NO)、または選択した敵対的サンプルの特徴量との距離が閾値以下となるストレンジャサンプルが存在しない場合(ステップS69:NO)、AX検証部157は、ステップS64で選択した敵対的サンプルを、検知モデルの学習用データとして用いないことを決定する。
【0063】
次に、分類処理部153は、ステップS61で取得したデータセットに含まれる複数の入力サンプルと、ステップS70で出力された敵対的サンプルとを、それぞれモデル記憶部152が記憶する検知モデルに入力し、出力ベクトルを計算する(ステップ71)。第2更新部159は、ステップS2で計算された出力ベクトルと、入力されたデータが敵対的サンプルであるか否かを示すワンホットベクトルとに基づいて、クロスエントロピー誤差を示す損失関数を算出する(ステップS72)。第2更新部159は、算出した損失関数が小さくなるように、モデル記憶部152が記憶する検知モデルのパラメータを更新する(ステップS73)。
【0064】
第2更新部159は、検知モデルのパラメータの更新処理を所定のエポック数だけ実行したか否かを判定する(ステップS74)。検知モデルのパラメータの更新処理の実行回数が所定のエポック数未満である場合(ステップS74:NO)、学習装置15は処理をステップS63に戻し、パラメータの更新処理を繰り返す。
他方、検知モデルのパラメータの更新処理の実行回数が所定のエポック数に至った場合(ステップS74:YES)、学習装置15は、検知モデルの学習処理を終了する。
【0065】
そして、出力部160は、モデル記憶部152が記憶する特徴量抽出モデルを発行装置11および認証装置13に出力する。また出力部160は、モデル記憶部152が記憶する検知モデルを認証装置13に出力する。
【0066】
《作用・効果》
このように、第1の実施形態に係る認証システム1は、検知モデルの学習用データとして、敵対的サンプルの生成元の画像データに係る人物と、他の人物の両方に類似するものを抽出し、利用する。抽出された敵対的サンプルは、登録証Rの発行のときの照合と、人物の認証のときの照合の両方を通過しうるものであり、認証システム1の運用に沿ったものである。これにより、第1の実施形態に係る認証システム1は、認証システム1の運用において精度よく敵対的サンプルを検出する検知モデルを生成することができる。
【0067】
〈他の実施形態〉
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。すなわち、他の実施形態においては、上述の処理の順序が適宜変更されてもよい。また、一部の処理が並列に実行されてもよい。
【0068】
上述した実施形態においては、発行装置11および認証装置13がそれぞれ特徴量の抽出および照合を行うが、これに限られない。例えば、他の実施形態に係る認証システム1は、特徴量の抽出および照合を同一のサーバ装置によって実現してもよい。例えば、発行装置11および認証装置13は、認証システム1に2つの画像データを送信することで、認証システム1によって計算された照合結果を受信するものであってもよい。
【0069】
また、上述した実施形態においては、学習装置15が特徴量抽出モデルおよび検知モデルの両方の学習処理を行うが、これに限られない。例えば、他の実施形態に係る認証システム1は、クラウドサービスで提供される特徴量抽出モデルを用いた認証を行うものであってもよい。つまり学習装置15にとって特徴量抽出モデルの構成はブラックボックである。この場合、学習装置15のAX生成部156は、クラウドサービスで提供される特徴量抽出モデルを模擬した模擬特徴量抽出モデルを用いて敵対的サンプルを生成する。模擬特徴量抽出モデルは、例えば特徴量抽出モデルの入出力を用いた蒸留処理によって生成される。そして、学習装置15のAX検証部157は、クラウドサービスで提供される特徴量抽出モデルを用いて敵対的サンプルの検証を行う。
【0070】
また、上述した実施形態においては、AX検証部157は、ステップS69において、敵対的サンプルとストレンジャサンプルとの照合を行うが、これに限られない。例えば、AX生成部156によって生成される敵対的サンプルが必ず他のラベルに係る入力サンプルと類似することが分かっている場合、AX検証部157はステップS69の判定を省略してもよい。
【0071】
また、上述した実施形態においては、学習装置15が学習用の敵対的サンプルの抽出と、当該敵対的サンプルを用いた学習との両方を行うが、これに限られない。例えば、他の実施形態に係る認証システム1は、学習装置15と学習用データ生成装置とを別個に備え、学習用データ生成装置が学習用の敵対的サンプルの生成を行い、学習装置15が学習用データ生成装置によって生成された敵対的サンプルを用いた学習処理を行ってもよい。
【0072】
また、上述した実施形態に係る認証システム1においては、発行装置11は敵対的サンプルであるか否かの判定を行わず、認証装置13が敵対的サンプルであるか否かの判定を行うが、これに限られない。例えば、他の実施形態に係る認証システム1では、発行装置11が敵対的サンプルであるか否かの判定を行ってもよい。この場合、認証装置13は、敵対的サンプルであるか否かの判定を行わなくてもよい。なお、発行装置11と認証装置13とが異なる事業者によって運用され、認証装置13の事業者が敵対的サンプルに対するロバスト性を高めたいと考える場合に、第1の実施形態に係る構成を適用することができる。
【0073】
〈基本構成〉
図10は、学習用データ生成装置01の基本構成を示す概略ブロック図である。
上述した実施形態では、学習用データ生成装置01の一実施形態として
図6に示す学習装置15の構成について説明したが、学習用データ生成装置01の基本構成は、
図10に示すとおりである。
すなわち、学習用データ生成装置01は、サンプル取得部011、AX生成部012、特徴量取得部013および出力部014を基本構成とする。
【0074】
サンプル取得部011は、第1の個体に係る個体データである第1サンプルを取得する。サンプル取得部011は、データセット取得部151に対応する。
AX生成部012は、第1サンプルに摂動を加えて敵対的サンプルを生成する。AX生成部012は、AX生成部156に対応する。
特徴量取得部013は、入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルによって算出された、敵対的サンプルの特徴量である第1特徴量と、第1の個体に係る個体データの特徴量である第2特徴量と、第1の個体と異なる第2の個体に係る個体データの特徴量である第3特徴量とを取得する。特徴量取得部013は、AX検証部157に対応する。
出力部014は、第1特徴量と第2特徴量との類似度が閾値以上であり、かつ第1特徴量と第3特徴量との類似度が閾値以上である敵対的サンプルを出力する。出力部014は、AX検証部157に対応する。
【0075】
これにより、学習用データ生成装置01は、認証システムにおいて脅威となる敵対的サンプルの検知精度を高めることができる学習用データを供給することができる。
【0076】
図11は、認証システム02の基本構成を示す概略ブロック図である。
上述した実施形態では、認証システム02の一実施形態として
図1に示す認証システム1の構成について説明したが、認証システム02の基本構成は、
図11に示すとおりである。
すなわち、認証システム02は、記録装置021、認証装置022および判定装置023を基本構成とする。
【0077】
記録装置021は、記憶媒体に認証用生体データとアカウントデータとを記録する。記録装置021は、発行装置11に対応する。記録装置021は、取得部0211、第1生成部0212、第1算出部0213および記録部0214を備える。
【0078】
取得部0211は、第1人物が提出した第1生体データを取得する。取得部0211は、提出情報取得部121に対応する。
第1生成部0212は、第1人物から第2生体データを生成する。第1生成部0212は、撮像部122に対応する。
第1算出部0213は、入力された個体データに学習済みのパラメータを用いた計算をすることで特徴量を算出する学習済みモデルである特徴量抽出モデルによって、第1生体データの特徴量および第2生体データの特徴量を算出する。第1算出部0213は、特徴量算出部124に対応する。
記録部0214は、算出された第1生体データの特徴量と第2生体データの特徴量との類似度が閾値以上である場合に第1生体データを記憶媒体に記録する。記録部0214は発行部126に対応する。
【0079】
認証装置022は、記憶媒体に基づいて人物の認証を行う。認証装置022は、認証装置13に対応する。
認証装置022は、第2生成部0221、第2算出部0222、照合部0223を備える。
第2生成部0221は、第2人物から第3生体データを生成する。第2生成部0221は、撮像部142に対応する。
第2算出部0222は、特徴量抽出モデルによって、記憶媒体が記憶する第1生体データの特徴量と、第3データの特徴量とを算出する。第2算出部0222は、特徴量算出部144に対応する。
照合部0223は、算出された前記類似度が閾値以上であるか否かを判定する。照合部0223は、照合部145に対応する。
【0080】
判定装置023は、生体データが敵対的サンプルであるか否かを判定する。判定装置023は、認証装置13に対応する。判定装置023は、判定部0231を備える。判定部0231は、第1生体データを、学習用データ生成装置01によって生成された学習済みの検知モデルに入力することで、第1生体データが敵対的サンプルであるか否かを判定する。
【0081】
これにより、認証システム02は、脅威となる敵対的サンプルの検知精度を高めることができる。
【0082】
〈コンピュータ構成〉
図12は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータは、プロセッサ91、メインメモリ93、ストレージ95、インタフェース97を備える。
上述の学習装置15は、コンピュータに実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ95に記憶されている。プロセッサ91は、プログラムをストレージ95から読み出してメインメモリ93に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ93に確保する。プロセッサ91の例としては、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、マイクロプロセッサなどが挙げられる。
【0083】
プログラムは、コンピュータに発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータは、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサ91によって実現される機能の一部または全部が当該集積回路によって実現されてよい。このような集積回路も、プロセッサの一例に含まれる。
【0084】
ストレージ95の例としては、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリ等が挙げられる。ストレージ95は、コンピュータのバスに直接接続された内部メディアであってもよいし、インタフェース97または通信回線を介してコンピュータに接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータに配信される場合、配信を受けたコンピュータが当該プログラムをメインメモリ93に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ95は、一時的でない有形の記憶媒体である。
【0085】
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ95に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0086】
1…認証システム 11…発行装置 111…コンピュータ 112…撮像装置 113…発行機 121…提出情報取得部 122…撮像部 123…モデル記憶部 124…特徴量算出部 125…照合部 126…発行部 13…認証装置 131…コンピュータ 132…撮像装置 133…読取装置 134…ゲート 141…登録証読取部 142…撮像部 143…モデル記憶部 144…特徴量算出部 145…照合部 146…AX判定部 147…ゲート制御部 15…学習装置 151…データセット取得部 152…モデル記憶部 153…分類処理部 154…第1更新部 155…モデル抽出部 156…AX生成部 157…AX検証部 158…判定処理部 159…第2更新部 160…出力部 91…プロセッサ 93…メインメモリ 95…ストレージ 97…インタフェース R…登録証