(57)【要約】【課題】Adversarial Exampleによる攻撃に対してロバストな情報処理システムを提供する。【解決手段】ニューラルネットワークモデル６０８と、ニューラルネットワークモデルの学習に用いられた入力データについて、ニューラルネットワークモデルに含まれる所定の隠れ層の出力ベクトルである第１出力ベクトルが埋め込まれる潜在空間上の位置情報を記憶する潜在空間データベース６０９と、ニューラルネットワークモデルと潜在空間データベースとを用いて推論を行う推論制御部６０６とを有し、推論制御部は、推論を行う入力データについての所定の隠れ層の出力ベクトルである第２出力ベクトルと第１出力ベクトルとの潜在空間上の位置関係に基づき、入力データの推論を行う。【選択図】図６Ａ
2020194260.tif 000002
【特許請求の範囲】
【請求項１】
複数の隠れ層を含むニューラルネットワークモデルと、
前記ニューラルネットワークモデルの学習に用いられた入力データについて、前記ニューラルネットワークモデルに含まれる所定の隠れ層の出力ベクトルである第１出力ベクトルが埋め込まれる潜在空間上の位置情報を記憶する潜在空間データベースと、
前記ニューラルネットワークモデルと前記潜在空間データベースとを用いて推論を行う推論制御部とを有し、
前記推論制御部は、推論を行う入力データについての前記所定の隠れ層の出力ベクトルである第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、前記入力データの推論を行う情報処理システム。
【請求項２】
請求項１において、
前記潜在空間データベースは、前記第１出力ベクトルを低次元化する低次元化モデル及び前記低次元化モデルを用いて低次元化した前記第１出力ベクトルを記憶し、
前記推論制御部は、前記低次元化モデルを用いて低次元化した前記第２出力ベクトルと前記低次元化した前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、前記入力データの推論を行う情報処理システム。
【請求項３】
請求項１において、
学習部を有し、
前記学習部は、前記ニューラルネットワークモデルに入力される学習用入力データと当該学習用入力データが複数のラベルのどのラベルに該当するかを示す教師データとの組み合わせである学習データにより前記ニューラルネットワークモデルの学習を行い、
前記推論制御部は、前記第２出力ベクトルと前記ラベルごとの前記第１出力ベクトルのクラスタとの前記潜在空間上の距離に基づき、前記入力データの推論を行う情報処理システム。
【請求項４】
請求項１において、
学習部を有し、
前記学習部は、前記ニューラルネットワークモデルに入力される入力データに対して複数の選択肢のいずれかを選択することによる報酬を最大化するようにオンライン学習を行い、
前記推論制御部は、前記第２出力ベクトルと前記選択肢ごとの前記第１出力ベクトルのクラスタとの前記潜在空間上の位置関係に基づき、前記入力データの推論を行う情報処理システム。
【請求項５】
請求項１において、
攻撃検知部を有し、
前記攻撃検知部は、前記ニューラルネットワークモデルによる推論と、前記第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づく推論とを比較することにより、Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅによる攻撃を検知する情報処理システム。
【請求項６】
請求項１において、
データベース外部インタフェースを有し、
前記データベース外部インタフェースを介して、外部より前記ニューラルネットワークモデル及び前記潜在空間データベースを更新または追加可能な情報処理システム。
【請求項７】
複数の隠れ層を含むニューラルネットワークモデル及び前記ニューラルネットワークモデルの学習に用いられた入力データについて、前記ニューラルネットワークモデルに含まれる所定の隠れ層の出力ベクトルである第１出力ベクトルが埋め込まれる潜在空間上の位置情報を記憶する潜在空間データベースを用いて入力データの推論を行う推論方法であって、
推論を行う入力データについて、前記ニューラルネットワークモデルに含まれる前記所定の隠れ層の出力ベクトルである第２出力ベクトルを求め、
前記第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、前記入力データの推論を行う推論方法。
【請求項８】
請求項７において、
前記潜在空間データベースは、前記第１出力ベクトルを低次元化する低次元化モデル及び前記低次元化モデルを用いて低次元化した前記第１出力ベクトルを記憶しており、
前記低次元化モデルを用いて低次元化した前記第２出力ベクトルと前記低次元化した前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、前記入力データの推論を行う推論方法。
【請求項９】
請求項７において、
前記潜在空間データベースは、前記第１出力ベクトルを記憶しており、
前記第１出力ベクトル及び前記第２出力ベクトルをより低次元のデータに変換する低次元化モデルを獲得し、
前記低次元化モデルを用いて低次元化した前記第２出力ベクトルと前記低次元化モデルを用いて低次元化した前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、前記入力データの推論を行う推論方法。
【請求項１０】
複数の隠れ層を含むニューラルネットワークモデルを用いて、入力データが複数のラベルのどのラベルに該当するかを決定する、あるいは入力データに対して報酬を最大化するよう複数の選択肢のいずれかを選択する推論を行う情報処理システムに対する攻撃を検知する攻撃検知方法であって、
前記ニューラルネットワークモデルの学習に用いられた入力データについて、前記ニューラルネットワークモデルに含まれる所定の隠れ層の出力ベクトルである第１出力ベクトルが埋め込まれる潜在空間上の位置情報を記憶する潜在空間データベースを備え、
推論を行う入力データについて、前記ニューラルネットワークモデルに含まれる前記所定の隠れ層の出力ベクトルである第２出力ベクトルを求め、
前記ニューラルネットワークモデルによる推論と、前記第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づく推論とを比較することにより、Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅによる攻撃を検知する攻撃検知方法。
【請求項１１】
請求項１０において、
前記ニューラルネットワークモデルが前記複数のラベルまたは前記複数の選択肢のそれぞれについて算出した確率に基づき、第１の推定結果を求め、
前記第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、第２の推定結果を求め、
前記第１の推定結果と前記第２の推定結果が不一致である場合に、前記Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅによる攻撃を検知する攻撃検知方法。
【請求項１２】
請求項１０において、
前記ニューラルネットワークモデルが前記複数のラベルまたは前記複数の選択肢のそれぞれについて算出した確率に基づき、第１の推定結果を求め、
前記第１の推定結果と同じラベルが与えられた、または前記第１の推定結果と同じ選択肢を選択した、前記ニューラルネットワークモデルの学習に用いられた入力データを特定入力データとするとき、
前記第２出力ベクトルと、前記特定入力データの前記第１出力ベクトルのクラスタの重心との距離である第１距離を求め、
前記特定入力データの前記第１出力ベクトルのそれぞれと、前記特定入力データの前記第１出力ベクトルのクラスタの重心との距離である第２距離を求め、
前記第１距離と前記第２距離の代表値とに基づき、前記Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅによる攻撃の有無を判定する攻撃検知方法。
【請求項１３】
請求項１０において、
前記第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、第２の推定結果を求め、
前記ニューラルネットワークモデルが前記複数のラベルまたは前記複数の選択肢のそれぞれについて算出した確率分布における前記第２の推定結果の順位に基づき、前記Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅによる攻撃の有無を判定する攻撃検知方法。
【請求項１４】
請求項１０において、
前記ニューラルネットワークモデルが前記複数のラベルまたは前記複数の選択肢のそれぞれについて算出した確率分布に基づき、前記複数のラベルまたは前記複数の選択肢について第１の順位付けを行い、
前記第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、前記複数のラベルまたは前記複数の選択肢について第２の順位付けを行い、
前記第１の順位付けと前記第２の順位付けとの間の順位相関に基づき、前記Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅによる攻撃の有無を判定する攻撃検知方法。
【請求項１５】
複数の隠れ層を含むニューラルネットワークモデル及び前記ニューラルネットワークモデルの学習に用いられた入力データについて、前記ニューラルネットワークモデルに含まれる所定の隠れ層の出力ベクトルである第１出力ベクトルが埋め込まれる潜在空間上の位置情報を記憶する潜在空間データベースを用いて入力データの推論を行う、計算機で実行可能な推論実行プログラムであって、
推論を行う入力データについて、前記ニューラルネットワークモデルに含まれる前記所定の隠れ層の出力ベクトルである第２出力ベクトルを求めるステップと、
前記第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づき、前記入力データの推論を行うステップとを有する推論実行プログラム。
【請求項１６】
複数の隠れ層を含むニューラルネットワークモデル、及び前記ニューラルネットワークモデルの学習に用いられた入力データについて前記ニューラルネットワークモデルに含まれる所定の隠れ層の出力ベクトルである第１出力ベクトルが埋め込まれる潜在空間上の位置情報を記憶する潜在空間データベースを用いて、入力データが複数のラベルのどのラベルに該当するかを決定する、あるいは入力データに対して報酬を最大化するよう複数の選択肢のいずれかを選択する推論を行う情報処理システムに対する攻撃を検知する、計算機で実行可能な攻撃検知プログラムであって、
推論を行う入力データについて、前記ニューラルネットワークモデルに含まれる前記所定の隠れ層の出力ベクトルである第２出力ベクトルを求めるステップと、
前記ニューラルネットワークモデルによる推論と、前記第２出力ベクトルと前記第１出力ベクトルとの前記潜在空間上の位置関係に基づく推論とを比較することにより、Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅによる攻撃を検知するステップとを有する攻撃検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークモデルを用いた情報処理システム、推論方法、攻撃検知方法、推論実行プログラム及び攻撃検知プログラムに関する。
【背景技術】
【０００２】
センサ技術及び通信技術の発展により、各種センサと情報システムとを通信ネットワークで結び付けるＭ２Ｍ（Machine-to-Machine）システムや、モノのインターネットであるＩｏＴ（Internet of Things）は、製造業、農業等の産業分野、交通やエネルギー等の社会分野、健康管理や安全管理等の家庭分野など、あらゆる分野への適用が検討されている。例えば、機器の遠隔制御や自動車の自動運転はこのようなＭ２ＭシステムやＩｏＴを基礎に提供されるサービスの例である。このために、膨大なセンサデータを収集し、機器等の制御にフィードバックすることが必要になる。膨大なセンサデータから制御内容を迅速、かつ的確に決定するには人工知能の活用が期待される。
【０００３】
近年、特に画像認識や強化学習の分野において、深層学習（deep learning）による機械学習が高い性能を達成できることが明らかになっている一方で、学習をおこなったニューラルネットワークモデルが決して無謬ではないという報告もなされている。例えば、非特許文献１には入力画像に人が認知できないほどのノイズを印加することで、ニューラルネットワークモデルの推論を誤らせられることが示されている。非特許文献２では、交通標識に微小なノイズを入れたカメラ画像がニューラルネットワークを恣意的にだますことが可能であることが示されている。例えば、停止標識の一部にステッカーを貼付することにより、人の視覚には停止標識として見られるにもかかわらず、ニューラルネットワークには時速45マイルの制限速度標識として誤認識させることができることが開示される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−２０７９４７号公報
【非特許文献】
【０００５】
【非特許文献１】Szegedy C, et al. “Intriguing properties of neural networks” in Proceedings of the 2014 International Conference on Learning Representations (ICLR’14)
【非特許文献２】Eykholt K, et al. “Robust Physical-World Attacks on Deep Learning Visual Classification” CVPR 2018
【発明の概要】
【発明が解決しようとする課題】
【０００６】
非特許文献１や非特許文献２に示されるように、悪意の攻撃者が人の視覚には検知できないノイズを画像に含ませることによりニューラルネットワークが誤認識させられると（これをAdversarial Exampleによる攻撃という）、ニューラルネットワークを用いた推論を行うシステムは誤作動を生じる。このような誤作動を生じさせないため、Adversarial Exampleによる攻撃に対してロバストな情報処理システムが求められる。
【０００７】
なお、特許文献１は、課題解決手段に対して要素技術としての共通性を有するところから挙げる。特許文献１はコンボリューショナルニューラルネットワーク（ＣＮＮ）を用いた対象物の類似度判定のための方法を開示する。例えば、ＣＮＮの最終出力値では対象物のカテゴリ分類のための特徴量が大きく抽出され、対象物のカテゴリにこだわらない態様での類似度の判定が困難になっているのに対して、対象物のカテゴリを分類に適した特徴量の影響が相対的に低く、対象物のその他の特徴量の影響が相対的に高い状態にある中間層の出力値をあえて利用することで、対象物のカテゴリにこだわらない態様での類似度の判別を可能にする。中間層の出力を利用する点で共通するが、学習させたＣＮＮを本来の推論を拡張した範囲での類似判断に転用するものであり、本願に開示する課題について示唆するものではない。
【課題を解決するための手段】
【０００８】
本発明の一実施の態様である情報処理システムは、複数の隠れ層を含むニューラルネットワークモデルと、ニューラルネットワークモデルの学習に用いられた入力データについて、ニューラルネットワークモデルに含まれる所定の隠れ層の出力ベクトルである第１出力ベクトルが埋め込まれる潜在空間上の位置情報を記憶する潜在空間データベースと、ニューラルネットワークモデルと潜在空間データベースとを用いて推論を行う推論制御部とを有し、推論制御部は、推論を行う入力データについての所定の隠れ層の出力ベクトルである第２出力ベクトルと第１出力ベクトルとの潜在空間上の位置関係に基づき、入力データの推論を行う。
【発明の効果】
【０００９】
Adversarial Exampleによる攻撃に対してロバストな情報処理システムを提供する。
【００１０】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【図面の簡単な説明】
【００１１】
【図１】Ｍ２Ｍシステム構成の概要である。
【図２】計算機のハードウェア構成例である。
【図３】ニューラルネットワークモデルを用いた推論のセキュリティ上の課題を説明する図である。
【図４】ニューラルネットワークモデルの隠れ層を説明する図である。
【図５Ａ】本実施例のニューラルネットワークモデルを用いた推論を説明する図である。
【図５Ｂ】学習データに対応する入出力ベクトルを潜在空間上にマッピングした例である。
【図６Ａ】ニューラルネットワークシステムの機能ブロック図である。
【図６Ｂ】ニューラルネットワーク構成情報６１０の例である。
【図６Ｃ】学習制御情報６１１の例である。
【図６Ｄ】学習データ６１２の例である。
【図６Ｅ】学習データ保存制御情報６１３の例である。
【図６Ｆ】潜在空間データベース６０９に格納されるデータ例である。
【図６Ｇ】推論制御情報６１４の例である。
【図７】学習部６０１が実行する処理のフローチャートである。
【図８】推論部６０５が実行する処理のフローチャートである。
【図９】推論部６０５が実行する処理のフローチャートである。
【図１０】ニューラルネットワークシステムの機能ブロック図である。
【図１１】攻撃検知制御情報１００３の例である。
【図１２】攻撃検出モード１における攻撃検出フローである。
【図１３】攻撃検出モード２における攻撃検出フローである。
【図１４】攻撃検出モード３における攻撃検出フローである。
【図１５】攻撃検出モード４における攻撃検出フローである。
【図１６】表示画面の例である。
【図１７】強化学習を行うシステム例である。
【図１８】強化学習を行うシステム例である。
【発明を実施するための形態】
【００１２】
図１を用いてＭ２Ｍ（Machine-to-Machine）システム構成の概要を示す。図１に例示するＭ２Ｍシステムは、被制御対象となる機器１０１及び／または機器１０１の環境を構成する地物１０２をセンサによりモニタリングし、機器１０１を制御するシステムである。機器１０１をモニタする第１のセンサ１０３、外界の地物１０２をモニタする第２のセンサ１０４が設けられ、センサ１０３，１０４からのセンサデータ１０６はネットワーク１０５を介してゲートウェイ１１０に収集される。また、機器１０１のステータスデータ１０７もネットワーク１０５を介してゲートウェイ１１０に収集される。ゲートウェイ１１０によって収集されたセンサデータ１０６、ステータスデータ１０７は計算機１１１に提供され、計算機１１１は人工知能を用いて機器１０１に対する制御データを生成し、生成した制御データを機器１０１に送信する。
【００１３】
なお、図１に示すＭ２Ｍシステムにおいて、センサ、ゲートウェイ、計算機、機器との間の通信方法は特に限定されない。ゲートウェイ１１０−計算機１１１間あるいは、計算機１１１−機器１０１間の通信についてもネットワーク経由であってもよいし、１対１の接続がなされていてもよい。また、センサによるセンシング対象はシステムのアプリケーションに依存するため、第１のセンサ１０３あるいは第２のセンサ１０４のいずれかがなくてもシステムは構成し得る。
【００１４】
例えば、Ｍ２Ｍシステムは遠隔制御システムであってもよい。第１のセンサ１０３を監視カメラとし、計算機１１１は、被制御対象である機器１０１に対して監視カメラ１０３の監視映像に基づく制御を実行する。また、Ｍ２Ｍシステムは自動運転システムであってもよい。例えば、第１のセンサ１０３は車両の走行状態をセンシングする車載センサであり、車両の速度、加速度、ステアリング角度などを検出する。第２のセンサ１０４は道路のレーンを検知するセンサや、人や障害物を検知する車載あるいは路側に設置されたカメラなどである。計算機１１１は、これらの情報を統合して、被制御対象である車両１０１の制御を行う。
【００１５】
図２に計算機１１１のハードウェア構成例を示す。計算機１１１は、プロセッサ２０１、ＧＰＵ（Graphics Processing Unit）２０２、メモリ２０３、補助記憶装置２０４、ネットワークインタフェース２０５、入出力インタフェース２０６を含み、これらはバス２０７により結合されている。入出力インタフェース２０６は、キーボードや操作ボタン等の入力装置２１０及びディスプレイ等の表示装置２１１と接続されて、ＧＵＩ（Graphical User Interface）を実現する。さらに、被制御対象である機器１０１と接続されてもよい。ネットワークインタフェース２０５はネットワーク１０５と接続するためのインタフェースである。図では、計算機１１１は、被制御対象である機器１０１と入出力インタフェース２０６を介して接続されている例を示しているが、被制御対象である機器１０１とネットワーク１０５を介して接続されてもよい。
【００１６】
補助記憶装置２０４は通常、ＨＤＤ（Hard Disk Drive）やＲＯＭ（Read Only Memory）、フラッシュメモリなどの不揮発性メモリで構成され、計算機１１１が実行するプログラムやプログラムが処理対象とするデータ等を記憶する。メモリ２０３はＲＡＭ（Random Access Memory）で構成され、プロセッサ２０１の命令により、プログラムやプログラムの実行に必要なデータ等を一時的に記憶する。プロセッサ２０１は、補助記憶装置２０４からメモリ２０３にロードしたプログラムを実行する。計算機１１１は、ニューラルネットワークモデルを用いた推論を実行することを想定している。ニューラルネットワークモデルの学習を計算機１１１が実行する場合には、その性質上繰り返し演算を多数回実行することになるため、ＣＰＵ（Central Processing Unit）であるプロセッサ２０１に加えてＧＰＵ２０２を搭載しておくことが望ましい。
【００１７】
以下の実施例においては、計算や制御等の機能は、補助記憶装置２０４に格納されたプログラムがプロセッサ２０１によって実行されることで、定められた処理を他のハードウェアと協働して実現される。
【００１８】
計算機１１１は、ＰＣ（Personal Computer）やサーバに限られず、タブレットや携帯端末であってもよい。機器１０１に組み込まれる組込みデバイスとして実現されてもよい。あるいは、計算機１１１が実行するサービスをクラウド上で実現してもよい。
【実施例１】
【００１９】
実施例１は、計算機１１１が学習済みのニューラルネットワークモデルを用いて推論を行う例である。図３を参照して、従来のニューラルネットワークモデルを用いた推論について説明する。図３に示されるのは画像３０１に記される数字を推論する例であり、画像３０１がどのラベル（ここでは数字の「０」〜「９」のいずれか）に該当するかを推論する。学習済みのニューラルネットワークモデル３０２は画像３０１の入力を受けて、画像３０１が各ラベルに該当する確率３０３を出力し、決定部３０４は確率３０３から画像３０１の該当するラベル３０５を決定する。
【００２０】
ニューラルネットワークモデル３０２には、画像３０１は画素値のベクトルとして入力される。例えば、画像３０１が縦２８ピクセル、横２８ピクセルの画像であるとすると、画像３０１は、各ピクセルの画素値をその値とする入力ベクトルＸ（ｘ1，ｘ2・・・ｘN）（Ｎ＝784）としてニューラルネットワークモデル３０２に入力される。ニューラルネットワークモデル３０２は例えばＫ層の隠れ層３０６を含んでいる。入力ベクトルＸは第１層である隠れ層３０６−１に入力され、最終層である隠れ層３０６−Ｋの出力ベクトルＹ（ｙ1，ｙ2・・・ｙM）（Ｍ＝10）は、画像３０１がそれぞれのラベル「０」〜「９」に相当する確率を示している。決定部３０４は画像３０１の相当するラベルを決定する。例えば、ニューラルネットワークモデル３０２より出力される、画像３０１がそれぞれのラベルに相当する確率がグラフ３０７に示されるような値であったとすると、最大確率Ｐを有するラベル「８」を画像３０１の相当するラベル３０５として決定する。
【００２１】
ここで、図４を用いてニューラルネットワークモデル３０２に含まれる隠れ層３０６について説明する。隠れ層３０６は、入力ベクトルｈ1（ｈ11，ｈ12・・・ｈ1s）を出力ベクトルｈ2（ｈ21，ｈ22・・・ｈ2t）に変換する線形写像Ｈと表現することができる。なお、ニューラルネットワークモデル３０２において隠れ層３０６の間で伝達される入出力ベクトルを潜在ベクトルともいう。ここで、学習済みのニューラルネットワークモデル３０２において、ある隠れ層Ｈに対する出力ベクトルである潜在ベクトルの次数は、当該隠れ層Ｈへの入力ベクトルとなる潜在ベクトルの次数よりも低下している（ｓ＞ｔ）と考えられる。学習済みモデルであれば、隠れ層Ｈの操作によって画像３０１を表現する本質的に重要な次元を抽出できているためである。
【００２２】
このようなニューラルネットワークモデルを用いる推論に対して、Adversarial Exampleによる攻撃が仕掛けられるおそれがある。Adversarial Exampleによる攻撃では、図３に示すように、正しい画像３０１に代えて、所定のノイズ画像３１０を重畳した攻撃用画像３１１をニューラルネットワークモデル３０２に入力させることにより誤った推論をさせる。攻撃用画像３１１に重畳されたノイズ画像３１０の効果により、ニューラルネットワークモデル３０２から出力される確率３０３が、例えばグラフ３０７に示すように、ラベル「８」に相当する確率を低下させたり（矢印３１２）、他のラベル（例えばラベル「３」）に相当する確率を上昇させたり（矢印３１３）することができる。本実施例ではこのようなAdversarial Exampleによる攻撃に対して耐性の強い、ニューラルネットワークモデルを用いる推論方法を提案する。
【００２３】
なお、攻撃者１１５による攻撃用画像３１１の作成方法については特に限定されない。図３に示すように、画像３０１に対してノイズ画像３１０を重畳することで攻撃用画像３１１を作成してもよい。あるいは、撮影対象（例えば地物）自体にノイズ画像３１０に相当する加工を施し、加工された撮影対象をカメラが撮影することで、本来意図した画像３０１ではなく攻撃用画像３１１がニューラルネットワークモデル３０２に入力させる方法も考えられる（図１参照）。
【００２４】
図５Ａを用いて、図３に示したニューラルネットワークモデルを用いた推論方法（従来方法という）と対照させて、本実施例によるニューラルネットワークモデルを用いた推論方法を説明する。従来方法では、ニューラルネットワークモデル３０２、決定部３０４の経路で推論が行われるのに対して、本実施例では、ニューラルネットワークモデル３０２、マッピング部５０１、距離ベース決定部５０２の経路で推論を行う。
【００２５】
従来方法がAdversarial Exampleによる攻撃に対して脆弱性を有するのは以下の理由であると考えられる。
【００２６】
（１）推論が現在の入力データ（この例では入力画像）のみに依存しすぎている。従来方法では、学習段階においては多数の学習データを用いて、ニューラルネットワークモデルの重み付け（線形写像Ｈの係数）の調整がなされる一方、推論段階においては学習データが用いられることは一切ない。
【００２７】
（２）推論がニューラルネットワークモデルの最終出力だけでなされている。このため、従来方法では、画像に含まれるノイズが学習データに含まれる範囲のものであれば正しく推論されることが期待されるものの、悪意の攻撃者が意図的に作成したノイズであれば僅かなノイズであってもニューラルネットワークモデルの出力する確率値に大きな影響を与えてしまうことが起こりうる。
【００２８】
以上を踏まえ、本実施例の推論方法では、学習済みのニューラルネットワークモデル３０２の中間隠れ層の出力ベクトルが埋め込まれる潜在空間上における入力データと学習データとの距離に基づき、入力データのラベルを推定するものとする。
【００２９】
図５Ｂに学習済みのニューラルネットワークモデルにおける隠れ層３０６において、学習データに対応する入出力ベクトルを潜在空間５１０上にマッピングした例を示す。なお、一般的に潜在空間は高次元であり、図示することが難しい。そのため、図５Ｂにおいては可視化を目的として潜在空間を２次元空間に再マッピングした例を示している。学習済みのニューラルネットワークモデルは図５Ｂの最上段に示す通り、Ｋ層の隠れ層３０６を含んでいるものとする。潜在空間５１０−０には、第１層の隠れ層３０６−１に入力される入力ベクトルＸがマッピングされている。入力データ（画像データ）は縦横ともに２８ピクセルサイズの画像であって、入力ベクトルＸは７８４次元（ｄ＝784）のベクトルである。１つのドット（点）が１つの学習データに相当する。潜在空間５１０−０において、入力ベクトルＸはラベルごとにあまり分離されていない。
【００３０】
潜在空間５１０−Ｊには、中間層である第Ｊ層の隠れ層３０６−Ｊから出力される出力ベクトルＺがマッピングされている。Ｊ層の隠れ層の処理を経ることで出力ベクトルＺはより低次である５０次元（ｄ＝50）の潜在空間にマッピングされている。また、潜在空間５１０−Ｊにおいては、出力ベクトルＺがラベルごとにクラスタリングされてきていることが分かる。潜在空間５１０−Ｊにおけるラベルごとのクラスタを、対応するラベルとともに破線で囲って示している。
【００３１】
潜在空間５１０−Ｋには、最終層である第Ｋ層の隠れ層３０６−Ｋから出力される出力ベクトルＹがマッピングされている。Ｋ層の隠れ層の処理を経ることで出力ベクトルＹはさらに低次である１０次元（ｄ＝10）の潜在空間にマッピングされている。潜在空間５１０−Ｊと同様に、潜在空間５１０−Ｋにおけるラベルごとのクラスタを、対応するラベルとともに破線で囲って示している。
【００３２】
このような潜在空間５１０において「８」が記載された画像を「３」であると誤認識させる目的で生成された攻撃用画像３１１であっても、「８」のクラスタにマッピングされている可能性が高い。攻撃用画像３１１がニューラルネットワークモデルの出力３０３における「３」の確率を正しいラベルである「８」を含む他の値の確率よりも大きな値に変化することが出来たとしても、潜在空間５１０における攻撃用画像３１１の出力ベクトルは、本来の画像３０１の出力ベクトルと近い値になる可能性が高いためである。
【００３３】
そこで、本実施例の推論方法では、図５Ａに示すように、マッピング部５０１によって、入力データについての学習済みのニューラルネットワークモデルにおける所定の中間隠れ層の出力ベクトルを潜在空間上にマッピングし、学習データについての出力ベクトルとの潜在空間上の位置関係に基づき推論を行う。図５Ａに模式的に示すように、潜在空間５１０には、ラベルごとに出力ベクトルのクラスタ５１１が存在している。図にはクラスタごとに対応するラベルを表記している。また、入力データ３１１に対応する出力ベクトルは位置３１１ａにマッピングされる。距離ベース決定部５０２では位置３１１ａと各ラベルのクラスタ５１１との距離ｄ0〜ｄ9を算出し、この距離に基づき入力データがどのラベルに該当するかを推定する。これにより、Adversarial Exampleによる攻撃に対してよりロバストな推論を行うことが可能になる。
【００３４】
図６Ａに、実施例１に係る、計算機１１１に実装されるニューラルネットワークシステムの機能ブロック図を示す。ニューラルネットワークシステムは大きく学習部６０１と推論部６０５とを有する。学習部６０１は、学習データを用いてニューラルネットワークモデルの学習、すなわちニューラルネットワークモデルの重み付け（線形写像Ｈの係数）の調整を行うとともに、所定の潜在空間における、学習データのマッピング位置を保存する。推論部６０５は、学習部６０１で学習が行われたニューラルネットワークモデルを用いて推論を行う。このときの推論方法には図５Ａに示した本実施例の推論方法を適用する。
【００３５】
まず、学習部６０１について説明する。学習部６０１が実行する処理のフローチャートを図７に示す。学習制御部６０２は入力されたニューラルネットワーク構成情報６１０、学習制御情報６１１及び学習データ６１２を用いて、ニューラルネットワークモデル６０３の学習を行う（Ｓ０１）。ニューラルネットワーク構成情報６１０の例を図６Ｂに示す。ニューラルネットワーク構成情報６１０は、ニューラルネットワークモデル６０３を構成する各隠れ層を定義するものである。各隠れ層のパラメタも定義される。例えば、畳み込み層６１０１では、パラメタとして、入力チャネル数、出力チャネル数、フィルタサイズ（ｘ，ｙ）、活性化関数、ユニークＩＤが定義されている。学習制御情報６１１の例を図６Ｃに示す。学習制御情報６１１はニューラルネットワークモデル６０３の学習方法を定義するものである。学習データ６１２の例を図６Ｄに示す。学習データ６１２は例題（この例では数字の記された画像データ）とその答えであるラベル（この例では画像データに記された数字）を示す教師データとの組み合わせである。なお、学習制御部６０２による学習は公知の機械学習を適用することが可能であり、特定のニューラルネットワークモデルに限定されるものではない。学習が完了すると、学習制御部６０２は、学習済みニューラルネットワークモデルを学習済みモデルデータベース６０８に保存する（Ｓ０２）。
【００３６】
続いて、学習データ保存制御部６０４は、学習データ保存制御情報６１３及び学習済みニューラルネットワークモデルを用いて、学習データに対応する所定の隠れ層の出力ベクトルを演算する（Ｓ０３）。出力ベクトルの１つ１つは所定の潜在空間上の１点に位置づけられる。図６Ｅに学習データ保存制御情報６１３の例を示す。この例では、２つの隠れ層（Conv2D_1層、Linear_1層）の出力ベクトルを保存し、かつそのときのデータ保存アルゴリズムとしてｋｄ木アルゴリズムを適用することを示している。説明が煩雑化しないように、図５Ａにおいては、距離ベース決定部５０２が潜在空間における位置３１１ａと各ラベルのクラスタ５１１との距離ｄ0〜ｄ9を算出する旨記載したが、実際にはクラスタ内の１点との距離を計算するわけではなく、学習データのマッピング位置との距離を計算して、どのクラスタとの距離が最短であるかを判定することになる。膨大な学習データ全てに対して距離計算を行うことは演算負荷が極めて大きくなるため、最近傍法探索アルゴリズムに適用される公知のデータ削除あるいは構造化技術を用いて演算負荷を下げることが好ましい。学習データ保存制御情報６１３のデータ保存アルゴリズムは演算負荷を下げる演算方法を定義するものである。データ保存アルゴリズムとしてｋｄ木アルゴリズムを適用する場合には、距離に応じてデータを階層構造化して保存する。他にも、誤り削除ｋＮＮ（k-Nearest Neighbor）アルゴリズムを適用する場合には、誤分類データを削除し、圧縮型ｋＮＮアルゴリズムを適用する場合には、各ラベルのクラスタ中心付近のデータを削除することによって演算負荷を低減させうる。
【００３７】
さらに、演算した出力ベクトルが高次元である、すなわち潜在空間が高次元であると、潜在空間上の２点（それぞれが出力ベクトル）間の距離の概念が意味をもたなくなる状況が生じることが知られている。このため、潜在空間の次元が高い場合においては演算した出力ベクトルそのままではなく、より低次元データに変換することが望ましい。このため、主成分分析（ＰＣＡ：Principal Component Analysis）、多様体学習（ｔ-ＳＮＥ（t-distributed Stochastic Neighbor Embedding）、ＭＤＳ（multi-dimensional scaling））などの手法を適用し、出力ベクトルをより低次元データに変換する低次元化モデルを獲得し、出力ベクトルに適用して低次元化する（Ｓ０４）。
【００３８】
学習データ保存制御部６０４は、各学習データについて求めた所定の隠れ層の出力ベクトルに低次元化モデルを適用して低次元化した出力ベクトルを、低次元化モデルとともに潜在空間データベース６０９に保存する（Ｓ０５）。
【００３９】
次いで、推論部６０５について説明する。推論部６０５が実行する処理のフローチャートを図８に示す。推論制御部６０６は、まず入力データ６１５に対して学習済みモデルデータベース６０８に保存された学習済みニューラルネットワークモデルを適用し、入力データ６１５に対応する所定の隠れ層の出力ベクトルを求める（Ｓ１１）。出力ベクトルは所定の潜在空間上の１点に位置づけられる。続いて、潜在空間上の値（出力ベクトル）に変換された入力データを、潜在空間ＤＢ６０９に保存されている低次元化モデルに入力し、低次元データに変換する（Ｓ１２）。続いて、入力データに対応する低次元データと学習データに対応する潜在空間上の各点との距離を計算する（Ｓ１３）。その後、計算された距離と潜在空間上の各点に変換された学習データのラベルとに基づき、入力データのラベルを決定する（Ｓ１４）。例えば、潜在空間上で入力データ６１５の出力ベクトルと最近傍となる学習データの出力ベクトルのクラスタを抽出し、当該クラスタのラベルを入力データ６１５のラベルとして推論し、出力データ６１６として出力する。
【００４０】
図６Ｆに潜在空間データベース６０９に格納されるデータ例を示す。学習データ保存制御情報６１３で「保存レイヤ」として定義された隠れ層について、学習データの出力ベクトル（低次元化変換済）が保存されている（「データ」欄）。なお、この例では複数のレイヤのデータを１つのテーブルで管理しているが、レイヤごとに１つのテーブルで管理するようにしてもよい。また、図６Ｇに推論制御情報６１４の例を示す。推論制御情報６１４は、演算負荷を下げるために適用する、各潜在空間において距離を算出し、最近傍となるラベルの出力ベクトルのクラスタを抽出するアルゴリズムを定義するものである。この例では、隠れ層Cov2D_1の出力ベクトルをマッピングする潜在空間における探索を、距離指標としてユークリッド距離を用い、ｋｄ木アルゴリズムを適用して最近傍クラスタを探索することを定義している。例えば、距離指標としては他にマハラノビス距離を用いることも可能であり、最近傍探索アルゴリズムとしては他に局所性鋭敏型ハッシュなどを用いることが可能である。
【００４１】
なお、図６Ａでは学習部６０１と推論部６０５の双方を備えるニューラルネットワークシステムを示しているが、計算機１１１の演算能力が高くないような場合には、推論部６０５だけを実装し、学習部６０１は演算能力の高い計算機に実装して実行してもよい。このような場合、あるいは学習部６０１を有したとしても、外部の演算能力の高い計算機で学習または学習の更新を行って結果を推論部６０５のデータベースに反映させたり、あるいは新たなニューラルネットワークモデルと学習データの出力ベクトルとを追加したりできるように、推論部６０５は外部から学習済みモデルＤＢ６０８及び潜在空間ＤＢ６０９を更新できるようにしておくことが望ましい。この場合、推論部６０５はデータベース外部インタフェース６０７を備え、学習済みニューラルネットワークモデルの外部ソースからデータベース更新情報６１７を受領すると、インタフェース６０７を介して、学習済みモデルＤＢ６０８及び潜在空間ＤＢ６０９へのデータの更新や追加を実施できる。
【００４２】
なお、以上の例では学習部６０１による学習の段階で出力ベクトルをより低次元のデータに変換する低次元化モデルを獲得する例を示したが、推論部６０５による推論の段階で入力データに対応する出力ベクトルをも含めて低次元のデータに変換する低次元化モデルを獲得するようにしてもよい。変形例として、この場合の処理のフローを説明する。この場合の学習における処理フローは図７のフローチャートからステップＳ０４を除き、ステップＳ０５においてステップＳ０３で求められた学習データに対応する出力ベクトルをそのまま潜在空間ＤＢ６０９に保存する。
【００４３】
この場合の推論の処理フローを図９に示す。図８のステップＳ１２に代えて、図９のフローでは、潜在空間上の点（出力ベクトル）に変換された学習データと入力データとをそれぞれ、より低次元のデータに変換する低次元化モデルを獲得し、適用するステップＳ２１を実行する。低次元化モデルの獲得は、図７のフローチャートのステップＳ０４と同様に行える。また、ステップＳ２１以外のステップは図８のフローチャートのステップと同じである。
【実施例２】
【００４４】
実施例２では、推論部が推論とともに、Adversarial Exampleによる攻撃を検知する機能を有する。このため実施例２では、ニューラルネットワークモデルによる推論と中間隠れ層の潜在空間上での位置関係に基づく推論とを並行して実施し、推論結果を比較して、その比較結果に基づき攻撃の有無を検知し、攻撃ありと判断した場合には攻撃アラートをユーザに通知する。Adversarial Exampleによる攻撃は、人に気づかれないように行われるため、全体的な影響はできるだけ小さくしたまま、決定部３０４（図３参照）の結論を意図的に狂わせるところに特徴がある。すなわち、攻撃用画像３１１の潜在空間上での位置は、本来の位置（ノイズ画像３１０が重畳される前の画像データ３０１の潜在空間上での位置）と同様の位置にあるにもかかわらず、決定部３０４の値は異常値が出力されるようになっている。実施例２ではこの性質を利用することで、Adversarial Exampleによる攻撃を検知する。
【００４５】
図１０に、実施例２に係る、計算機１１１に実装されるニューラルネットワークシステムの機能ブロック図を示す。実施例１と同じ機能を有する機能ブロックは同じ符号を付して示し、詳細な説明は省略する。推論部１００１に、Adversarial Exampleによる攻撃を検知する攻撃検知部１００２を有している。
【００４６】
攻撃検知部１００２に入力される攻撃検知制御情報１００３の例を図１１に示す。攻撃検知部１００２は複数の検出手法でAdversarial Exampleによる攻撃を検知することが可能なものである。そこで、攻撃検知制御情報１００３は、複数の検出手法のうちどの検出手法を用いるかを示す攻撃検出モードと、各攻撃検出モードにおいて用いられる閾値信号とをパラメタとして含む。閾値信号はその攻撃検出モードにおいて必要な閾値のみ設定すればよいことはいうまでもない。本実施例では攻撃検出モード１〜４を有するものとし、以下それぞれの手法について説明する。
【００４７】
図１２は攻撃検出モード１における攻撃検出フローである。攻撃検出モード１は、従来方法による推定と実施例１による推定（潜在空間における分布に基づく推定）との異同により判断するものである。入力データに対して、決定部３０４と距離ベース決定部５０２の双方により入力データのラベルを推定する（Ｓ３１）。両者を比較し（Ｓ３２）、不一致である場合には、攻撃アラート１００４をユーザに通知する（Ｓ３３）。
【００４８】
図１３は攻撃検出モード２における攻撃検出フローである。攻撃検出モード２は、従来方法による推定が、潜在空間における分布として正常か否かにより判断するものである。入力データに対して、決定部３０４により入力データのラベルＬ１を推定する（Ｓ４１）。入力データに対して学習済みニューラルネットワークモデルを適用して得られる、入力データに対応する所定の隠れ層の出力ベクトルについて、ラベルＬ１の出力ベクトルのクラスタに対するラベル内距離ｄ１を算出する（Ｓ４２）。ラベル内距離ｄ１は、潜在空間における入力データに対応する出力ベクトルの位置とラベルＬ１の出力ベクトルのクラスタの重心位置との距離と定義する。また、ラベルＬ１の学習データに対応する出力ベクトルについて、ラベルＬ１の出力ベクトルのクラスタに対するラベル内距離平均ｄ２を算出する（Ｓ４３）。ラベル内距離平均ｄ２は、潜在空間における各学習データに対応する各出力ベクトルの位置とラベルＬ１の出力ベクトルのクラスタの重心位置との距離を求め、その平均をとったものである。ラベル内距離ｄ１とラベル内距離平均ｄ２とに基づき、入力データがラベルＬ１であると推定した場合に、ラベルＬ１の出力ベクトルのクラスタとの位置関係に異常がないかを判定する（Ｓ４４）。この例では、ラベル内距離ｄ１がラベル内距離平均ｄ２のｋ1倍未満であれば正常と判断し、ｋ1倍以上であれば異常と判断し、攻撃アラート１００４をユーザに通知する（Ｓ４５）。なお、図１３に示す異常の判定方法は一例であり、図１３の例では代表値として平均値をとっているが、ラベル内距離平均ｄ２に代えて最大値をとってもよく、それに応じた判定式を定義することが可能である。
【００４９】
図１４は攻撃検出モード３における攻撃検出フローである。攻撃検出モード３は、潜在空間における分布による推定が、ニューラルネットワークモデルが最終的に出力する各ラベルの確率分布と整合性を有するか否かにより判断するものである。入力データに対して、距離ベース決定部５０２により入力データのラベルＬ２を推定する（Ｓ５１）。続いて、ニューラルネットワークモデルが最終的に出力する各ラベルについての確率分布（図３を参照）における、ラベルＬ２の順位Ｏを計算する（Ｓ５２）。ラベルＬ２の確率分布における順位Ｏが不自然に低いか否かを判定する（Ｓ５３）。この例では、順位Ｏがｋ2よりも高ければ正常と判断し、ｋ2以下の順位であれば異常と判断し、攻撃アラート１００４をユーザに通知する（Ｓ５４）。
【００５０】
図１５は攻撃検出モード４における攻撃検出フローである。攻撃検出モード４は、ニューラルネットワークモデルによる推定と潜在空間による推定とが整合性を有するか否かにより判断するものである。まず、入力データに対して学習済みニューラルネットワークモデルを適用して得られる各ラベルの確率分布の順位Ｏ１を求める。例えば、順位Ｏ１は図３に示すグラフ３０７の大きさから求めることができる。一方、入力データに対応する所定の隠れ層の出力ベクトルについて、各ラベルの出力ベクトルのクラスタとの位置関係から、各ラベルの確からしさの順位Ｏ２を求める。例えば、順位Ｏ２は図５Ａに示す潜在空間５１０における入力データに対応する出力ベクトルの位置と各ラベルの出力ベクトルのクラスタとの距離から求めることができる。このようにして求めた順位Ｏ１と順位Ｏ２との間で順位相関ρを計算する（Ｓ６１）。順位Ｏ１と順位Ｏ２との類似度を判定する（Ｓ６２）。この例では、順位相関ρがｋ3より大きければ正常と判断し、ｋ3以下であれば異常と判断し、攻撃アラート１００４をユーザに通知する（Ｓ６３）。
【００５１】
図１６にAdversarial Exampleによる攻撃を検知した場合に、表示装置２１１に表示する表示画面１６００の例を示す。表示画面１６００は入力データ表示部１６０１、潜在空間表示部１６０２、ニューラルネットワークモデル出力データ表示部１６０３、詳細情報表示部１６０４を有している。入力データ表示部１６０１には入力データ（画像）を表示する。潜在空間表示部１６０２は、推論制御部がラベルの推定に用いる潜在空間での入力データ及び学習データの出力ベクトルの分布を表示する。ニューラルネットワークモデル出力データ表示部１６０３は、ニューラルネットワークモデルが出力する各ラベルの確率分布を表示する。詳細情報表示部１６０４は、攻撃アラートの詳細を表示し、攻撃アラートの内容や攻撃アラートを生成した理由などをユーザに提示する。理由にあわせて、潜在空間表示部１６０２における潜在空間の関連個所、ニューラルネットワークモデル出力データ表示部１６０３における対応する確率分布をユーザが視認しやすいように強調表示することが望ましい。なお、実施例２の推論部１００１は、実施例１と同様に潜在空間上での位置関係に基づく推論を行う例を示したが、従来方法のニューラルネットワークモデルによる推論を行う推論部に対して実施例２に示した攻撃検知部を設けることも可能である。
【００５２】
以上、Adversarial Exampleによる攻撃に対してロバストなニューラルネットワークシステムについて２つの実施例を用いて説明してきた。これらの実施例では学習データを用いて学習を行うニューラルネットワークモデルを例に説明してきたが、本発明はこのようなニューラルネットワークモデルに限定されるものではない。例えば、強化学習を行うニューラルネットワークモデルに対しても適用可能なものである。
【００５３】
図１７に強化学習を行うシステムの例を示す。ゲーム機１７００はニューラルネットワークを用いたプレーヤ１７１０により操作される。ゲーム画面１７０１に表示されているゲームは、パドル１７０３を左右に動かしてブロック１７０２とパドル１７０３との間でボール１７０４を行き来させる。ボール１７０４がぶつかった位置のブロックが消失するとともにスコアｒが加算される一方、パドル１７０３でボール１７０４を打ち返せなければゲームは終了する。プレーヤ１７１０はニューラルネットワークモデル１７１１を有し、ニューラルネットワークモデル１７１１には画面画像が入力され、画面画像からパドル１７０３の動かし方（右方向、左方向、静止）について選択確率が出力される。選択器１７１２はニューラルネットワークモデル１７１１の出力に基づき、パドル操作を選択する。ニューラルネットワークモデル１７１１は、スコアｒを報酬として、より高いスコアｒが得られるように学習する。
【００５４】
本実施例のニューラルネットワークシステムを適用したプレーヤを図１８に示す。強化学習問題の場合はオンライン学習となるため、ニューラルネットワークモデル１８１１の学習とともに、所定の潜在空間の出力ベクトルの位置を潜在空間データベース１８１２にオンラインで蓄積していく。選択器１８１３は潜在空間における出力ベクトルの分布に基づき、パドル操作を選択する。図１８のニューラルネットワークシステムの場合、学習は図１７に示したニューラルネットワークシステムで行い、推論は図１８に示した潜在空間ＤＢ１８１２を用いたニューラルネットワークシステムで行う。
【符号の説明】
【００５５】
１０１：機器、１０２：地物、１０３，１０４：センサ、１０５：ネットワーク、１０６：センサデータ、１０７：ステータスデータ、１１０：ゲートウェイ、１１１：計算機、１１５：攻撃者、２０１：プロセッサ、２０２：ＧＰＵ、２０３：メモリ、２０４：補助記憶装置、２０５：ネットワークインタフェース、２０６：入出力インタフェース、２１０：入力装置、２１１：表示装置、３０１：画像、３０２：ニューラルネットワークモデル、３０３：確率、３０４：決定部、３０６：隠れ層、３０７：グラフ、３１０：ノイズ画像、３１１：攻撃用画像、５０１：マッピング部、５０２：距離ベース決定部、５１０：潜在空間、５１１：クラスタ、６０１：学習部、６０２：学習制御部、６０３：ニューラルネットワークモデル、６０４：学習データ保存制御部、６０５，１００１：推論部、６０６：推論制御部、６０７：データベース外部インタフェース、６０８：学習済みモデルデータベース、６０９：潜在空間データベース、６１０：ニューラルネットワーク構成情報、６１１：学習制御情報、６１２：学習データ、６１３：学習データ保存制御情報、６１４：推論制御情報、６１５：入力データ、６１６：出力データ、６１７：データベース更新情報、１００２：攻撃検知部、１００３：攻撃検知制御情報、１００４：攻撃アラート、１６００：表示画面、１６０１：入力データ表示部、１６０２：潜在空間表示部、１６０３：ニューラルネットワークモデル出力データ表示部、１６０４：詳細情報表示部、１７００：ゲーム機、１７０１：ゲーム画面、１７０２：ブロック、１７０３：パドル、１７０４：ボール１７０４、１７１０，１８１０：プレーヤ、１７１１，１８１１：ニューラルネットワークモデル、１７１２，１８１３：選択器、１８１２：潜在空間データベース。
【図１】
2020194260.tif 000003
【図２】
2020194260.tif 000004
【図３】
2020194260.tif 000005
【図４】
2020194260.tif 000006
【図５Ａ】
2020194260.tif 000007
【図５Ｂ】
2020194260.tif 000008
【図６Ａ】
2020194260.tif 000009
【図６Ｂ】
2020194260.tif 000010
【図６Ｃ】
2020194260.tif 000011
【図６Ｄ】
2020194260.tif 000012
【図６Ｅ】
2020194260.tif 000013
【図６Ｆ】
2020194260.tif 000014
【図６Ｇ】
2020194260.tif 000015
【図７】
2020194260.tif 000016
【図８】
2020194260.tif 000017
【図９】
2020194260.tif 000018
【図１０】
2020194260.tif 000019
【図１１】
2020194260.tif 000020
【図１２】
2020194260.tif 000021
【図１３】
2020194260.tif 000022
【図１４】
2020194260.tif 000023
【図１５】
2020194260.tif 000024
【図１６】
2020194260.tif 000025
【図１７】
2020194260.tif 000026
【図１８】
2020194260.tif 000027