(57)【要約】【課題】学習モデルを適切に評価又は学習することができる装置、方法、プログラムを提供すること。【解決手段】本実施の形態にかかる評価装置は、（Ａ）検証用データを用いて、手本モデルである第１の学習モデルＭ１に基づく第１の実行結果を求め、（Ｂ）検証用データを用いて、第２の学習モデルＭ２に基づく第２の実行結果を求め、（Ｃ）第１及び前記第２の実行結果が、論理式を満たすか否かを判定し、（Ｄ）ベイズ統計モデル検査法を用いて、（Ｃ）での判定結果に基づいて、第１の学習モデルＭ１と第２の学習モデルＭ２との振舞いを比較する。【選択図】図５
2020004178.tif 000002
【特許請求の範囲】
【請求項１】
メモリとプロセッサを用いて、
（Ａ）検証用データを用いて、手本モデルである第１の学習モデルに基づく第１の実行結果を求め、
（Ｂ）前記検証用データを用いて、第２の学習モデルに基づく第２の実行結果を求め、
（Ｃ）前記第１及び前記第２の実行結果が、論理式を満たすか否かを判定し、
（Ｄ）ベイズ統計モデル検査法を用いて、（Ｃ）での判定結果に基づいて、第１の学習モデルと前記第２の学習モデルとの振舞いを比較する学習モデルの評価方法。
【請求項２】
前記（Ｄ）において
前記論理式の成立確率に関する仮説に対してベイズ因子を算出し、
前記成立確率が確率閾値以上であるか否かのベイズ仮説テストを実施し、
前記ベイズ仮説テストの結果に基づいて、前記第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する請求項１に記載の学習モデルの評価方法。
【請求項３】
前記（Ｄ）において、
前記論理式の成立確率を満たす信頼区間を算出し、
前記信頼区間に基づいて事後確率を算出し、
前記事後確率に基づいて、前記第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する請求項１に記載の学習モデルの評価方法。
【請求項４】
前記（Ａ）、及び（Ｂ）では、
前記検証用データとして系列データを順次入力し、
系列データに対応する出力系列データのｎ（ｎは１以上の整数）階までの差分を求め、
（Ｃ）では、ｎ階以下の差分のうちの１つ以上の差分を含む第１及び第２の実行結果が、前記論理式を満たすか否かを判定する請求項１に記載の学習モデルの評価方法。
【請求項５】
（Ａ）検証用データを用いて、手本モデルである第１の学習モデルに基づく第１の実行結果を求め、
（Ｂ）前記検証用データを用いて、第２の学習モデルに基づく第２の実行結果を求め、
（Ｃ）前記第１及び前記第２の実行結果が、論理式を満たすか否かを判定し、
（Ｄ）ベイズ統計モデル検査法を用いて、（Ｃ）での判定結果に基づいて、第１の学習モデルと前記第２の学習モデルとの振舞いを比較する、
学習モデルの評価装置。
【請求項６】
前記（Ｄ）において
前記論理式の成立確率に関する仮説に対してベイズ因子を算出し、
前記成立確率が確率閾値以上であるか否かのベイズ仮説テストを実施し、
前記ベイズ仮説テストの結果に基づいて、前記第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する請求項５に記載の学習モデルの評価装置。
【請求項７】
前記（Ｄ）において
前記論理式の成立確率を満たす信頼区間を算出し、
前記信頼区間に基づいて事後確率を算出し、
前記事後確率に基づいて、前記第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する請求項５に記載の学習モデルの評価装置。
【請求項８】
前記（Ａ）、及び（Ｂ）では、
前記検証用データとして系列データを順次入力し、
系列データに対応する出力系列データのｎ（ｎは１以上の整数）階までの差分を含み、
（Ｃ）では、ｎ階以下の差分のうちの１つ以上の差分を含む第１及び第２の実行結果が、前記論理式を満たすか否かを判定する請求項５に記載の学習モデルの評価装置。
【請求項９】
請求項１に記載の学習モデルの評価方法をコンピュータに対して実行させるプログラム。
【請求項１０】
メモリとプロセッサとを用いて、
（１）学習用データを用いて、教師モデルである第１の学習モデルに基づく第１の出力結果を求め、
（２）前記学習用データを用いて、生徒モデルである第２の学習モデルに基づく第２の出力結果を求め、
（３）前記第１の出力結果と前記第２の出力結果とに基づく評価用パラメータを用いて、前記第２の学習モデルの学習を実施し、
（４）前記第１の学習モデルと、学習済みの前記第２の学習モデルとの振舞いを比較する、学習方法。
【請求項１１】
前記（４）では、
（４−１）検証用データを用いて、第１の学習モデルに基づく第１の実行結果を求め、
（４−２）前記検証用データを用いて、前記第２の学習モデルに基づく第２の実行結果を求め、
（４−３）前記第１及び前記第２の実行結果が、論理式を満たすか否かを判定し、
（４−４）ベイズ統計モデル検査法を用いて、（４−３）での判定結果に基づいて、第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する請求項１０に記載の学習方法。
【請求項１２】
前記学習用データがラベル付きデータであり、
前記（１）では、調整用パラメータを用いて、前記第１の出力結果を前記ラベルに基づいて調整し
前記（３）では、調整済みの第１の出力結果と、前記第２の出力結果とに基づく評価用パラメータを用いて、前記第２の学習モデルの学習を実施し、
前記（４）において、前記振舞いが所定の基準を満たさない場合に、前記調整用パラメータを変更する請求項１０に記載の学習方法。
【請求項１３】
前記（１）、及び（２）では、
前記学習用パラメータとして系列データを順次入力し、
系列データに対応する出力系列データの（ｎ＋ｋ）（ｎは０以上の整数、ｋは０以上の整数）階までの差分を算出し、
前記（３）では、
（ｎ＋ｋ）階までの差分を含む前記第１の出力結果と前記第２の出力結果とに基づく評価用パラメータを用いて、前記第２の学習モデルの学習を実施することで、（ｎ＋ｋ＋１）個の学習済みモデルを構築し、
前記（４）では、
（ｎ＋ｋ＋１）個の学習済みモデルから、ｎ階までの差分を含む部分モデルを取得し、
（４−１）系列データである検証用データを用いて、前記第１の学習モデルに基づく第１の実行結果を求め、
（４−２）前記検証用データを用いて、前記部分モデルに基づく第２の実行結果を求め、
（４−３）前記ｎ階の差分を含む第１及び第２の実行結果が、論理式を満たすか否かを判定し、
（４−４）ベイズ統計モデル検査法を用いて、（４−３）での判定結果に基づいて、第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価し、
（４−５）前記（４−４）において、前記振舞い等価性が所定の基準を満たす場合、（ｎ＋１）個の学習モデルから最も精度の高い学習モデルを選択する請求項１０に記載の学習方法。
【請求項１４】
前記（４−４）において、前記振舞い等価性が所定の基準を満たさない場合、前記ｎ、及びｋの少なくとも一方を変更する請求項１３に記載の学習方法。
【請求項１５】
前記（４）では、敵対的サンプルを構成するラベル付きデータを含む検証用データが用いられている請求項１０に記載の学習方法。
【請求項１６】
請求項１０に記載の学習方法をコンピュータに対して実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は学習モデルの評価方法、学習方法、装置、及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、フットプリントの大きいディープニューラルネットワーク（ＤＮＮ）をフットプリントの小さいＤＮＮに変換する方法が開示されている
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開２０１６／０３０７０９５号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
引用文献１の方法では、手本モデルと学習モデルとが与えられている場合に、学習モデルが、手本モデルの振舞いを維持できているか否かを評価することが困難である。
【０００５】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００６】
一実施の形態によれば、学習モデルの評価方法は、第１の学習モデルと第２の学習モデルとの実行結果が論理式を満たすか否かを判定し、ベイズ統計モデル検査法を用いて、学習モデルの振舞いを比較する。
【発明の効果】
【０００７】
前記一実施の形態によれば、学習モデルに対して、適切に評価又は学習を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】アナログ回路向けのＢＳＭＣ法の一例を説明するための図である。
【図２】アナログ回路向けのＢＳＭＣ法の一例の処理を示すフローチャートである。
【図３】アナログ回路向けのＢＳＭＣ法の別の例を説明するための図である。
【図４】アナログ回路向けのＢＳＭＣ法の別の例の処理を示すフローチャートである。
【図５】実施の形態１の第１の例にかかる評価装置を説明するための図である。
【図６】実施の形態１の第２の例にかかる評価装置を説明するための図である。
【図７】図５に示す評価装置の処理アルゴリズムの一例を示すフローチャートである。
【図８】図６に示す評価装置の処理アルゴリズムの一例を示すフローチャートである。
【図９】実施の形態２の第１の例にかかる評価装置を説明するための図である。
【図１０】実施の形態２の第２の例にかかる評価装置を説明するための図である。
【図１１】１階差分、及び２階差分での検証プロパティを示す図である。
【図１２】ｎ階差分での検証プロパティを説明するための図である
【図１３】図９に示す評価装置の処理アルゴリズムの一例を示すフローチャートである。
【図１４】図１０に示す評価装置の処理アルゴリズムの一例を示すフローチャートである。
【図１５】実施の形態３にかかる学習装置を説明するための図である。
【図１６】実施の形態３にかかる学習方法の一例を示すフローチャートである。
【図１７】図１５、図１６に示す学習方法に、実施の形態１の評価方法を組み合わせた学習方法を示すフローチャートである。
【図１８】実施の形態４にかかる学習装置をa説明するための図である。
【図１９】実施の形態４の変形例１に用いられる手本モデルの出力を説明するための図である。
【図２０】変形例１に用いられる学習対象モデルの出力を説明するための図である。
【図２１】変形例１にかかる学習方法の一例を示すフローチャートである。
【図２２】実施の形態４の変形例２にかかる学習装置を説明するための図である。
【図２３】変形例２にかかる学習方法の一例を示すフローチャートである。
【図２４】実施の形態５の第１の例にかかる評価装置を説明するための図である。
【図２５】実施の形態５の第２の例にかかる評価装置を説明するための図である。
【図２６】実施の形態６にかかる評価方法を示すフローチャートである。
【図２７】実施の形態６の変形例１にかかる評価方法を示すフローチャートである。
【図２８】その他の実施の形態にかかる学習装置を説明するための図である。
【図２９】本実施の形態にかかる装置の構成を示すブロック図である。
【発明を実施するための形態】
【０００９】
説明の明確化のため、以下の記載及び図面は、適宜、省略、及び簡略化がなされている。また、様々な処理を行う機能ブロックとして図面に記載される各要素は、ハードウェア的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、メモリ、その他の回路で構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。なお、各図面において、同一の要素には同一の符号が付されており、必要に応じて重複説明は省略されている。また、各実施の形態において重複する内容については、適宜重複する説明は省略されている。プロセッサがプログラムを実行することで、以下の評価方法、及び学習方法の各処理が実行される。
【００１０】
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、ＣＤ−ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  ＰＲＯＭ）、フラッシュＲＯＭ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００１１】
侵入検知フィルタの実装方式で特に機械学習を用いた場合に、攻撃が高度化する中、リプログラミング(プログラムの更新)などでフィルタの更新が行われる事が想定される。ここで、データからの学習ではデグレの有無などの確認が必要となる。しかしながら、デグレの有無を確認するための明確な指標が精度以外に存在しない。例えば、手本（基準）となる手本モデルが与えられており、手本モデルを改善する改善モデル（学習モデル）を学習する場合、手本モデルと学習モデルの振舞いの等価性を比較することが困難である。つまり、予測モデルの精度や真のモデルへの理論的なあてはまりの良さが基準モデルと改善モデルの比較指標となっており、基準モデルとの振舞いの等価性に関する適切な比較指標がない。また、振舞いを可能な限り保存するような学習手法も提案されていない。
【００１２】
そのため、本開示では、学習モデルの比較方法を提供する。さらに、再学習を伴う最適化を行う場合に、よりデグレのない学習を実現するための学習方法を適用する。加えて、Neural Network（ＮＮ：ニューラルネットワーク）でAdversarial Example（敵対的サンプル）問題が世界的課題となっている。本実施の形態は、敵対的サンプル耐性を獲得し、かつ、手本となる学習モデルの振舞いを可能な限り維持する学習手法を提供する。
【００１３】
例えば、自動運転技術実現では、ディープラーニングに代表される機械学習による認識・制御モデルや、高度化するセキュリティ攻撃に対処するための侵入検知フィルタ、これらの構築と継続的な改善が必要となる。
【００１４】
侵入検知フィルタの実装方式で、特に機械学習を用いた場合に、攻撃が高度化する中、リプログラミング(プログラムの更新)などでフィルタの更新が行われる事が想定される。ここで、データからの学習ではデグレの有無などの確認が必要となる。これは、認識・制御モデル構築でも同様に必要となる。しかしながら、デグレの確認のための明確な指標がディープラーニングにおいては精度以外に存在しない。統計モデル構築では赤池情報量基準ＡＩＣやLassoなどスパースな統計的機械学習においては、ｓＡＩＣ(スパース回帰むけ赤池情報量基準)が提案されている。しかしながら、ＡＩＣやｓＡＩＣは、真の分布があるとして、その分布への当てはまりの良さを評価する指標である。継続的な改善で必要となる直接的なモデル同士の比較手法では、ＡＩＣやｓＡＩＣといった統計量自体に揺らぎがあるため、適切の指標であるとは言い難い。
【００１５】
従って、２つの学習モデルを比較する際に、より的確な評価指標が必要となる。本実施の形態では、学習モデルの比較方法として、ベイズ統計的モデル検査法(Bayesian Statistical Model Checking、以下ＢＳＭＣと記載)に基づく手法を提案する。ここで、比較方法は、種々の学習モデルに対して適用可能である。例えば、教師なし学習(Unsupervised Learning)、教師あり学習(Supervised Learning)、半教師あり学習(Semi-Supervised Learning)、強化学習(Reinforcement Learning)、これらの組み合わせによる学習のいずれの学習モデルであっても比較することが可能となる。
【００１６】
一方、改善対象の振舞いをできるだけ維持しつつ改善を行う学習手法も必要となる。このため、本開示では、深層学習や回帰を含む教師あり学習全般に対する学習方法を提案する。
【００１７】
本実施形態にかかる学習モデルの比較手法（評価方法）では、２つのモデルから生成される出力トレースの一致を、ＢＳＣＭ法を用いて判定する。この判定では、出力系列の一致を判定するための論理式を予め定義している。論理式は、例えば、ＢＬＴＬ（Bounded Linear Temporal Logic：有界線形自相論理）式(Formula)である。この論理式を用いて有界モデル検査(Bounded Model Checker：ＢＭＣ)が各出力ペアの成す系列に対して実施される。そして、得られた検査結果系列に対してベイズテストを行う事で、学習モデルの比較を実施する。ここで用いるＢＳＭＣは、下記文献［１］、［２］のものを簡素化して用いる。
【００１８】
[1] Ying-Chih Wang, Anvesh Komuravelli, Paolo Zuliani, and Edmund M. Clarke "Analog Circuit Verification by Statistical Model Checking." In Proc. of ASP-DAC, pp.1-6, 2011.
http://www.cs.cmu.edu/~akomurav/publications/analog_smc.pdf
[2] P Zuliani, A Platzer, EM Clarke, “Bayesian statistical model checking with application to Stateflow/Simulink verification,” Formal Methods in System Design, Vol.43, Issue.2, pp.338-367, 2013. http://repository.cmu.edu/cgi/viewcontent.cgi?article=3714&context=compsci
【００１９】
クラスタリング(Clustering)や分類器(Classifier)など、系列のならびに連続性がありその事自体に意味があるといったモデルでない場合には、この手法でも振舞いの等価性検査が可能だと考えられる。ＢＬＴＬ式を工夫する事で、改善・改悪度合いの評価も可能となる。この比較実施では、予め与えられた検査データを用いた交差検証の枠組みで出力系列を生成することができる。文献の手法でのモンテカルロ法の代わりに検査データを復元抽出し繰返し用いても良い。
【００２０】
一方で、回帰モデルや位置推定などの予測モデルの場合、系列の並びに連続性があるなど、系列の並び自体に意味がある。このような場合、系列の並びを考慮した振舞い等価性を検証する必要となる。この検証を行うためには、系列中で現在比較対象としているペアと次のペアの関係が満たすべき条件を規定する必要がある。しかしながら、上記のＢＳＭＣ法では、ＢＬＴＬ式に次点オペレータ(Next Time Operator)Ｘを導入する必要がある。次点オペレータを導入しての検証も理論的に可能だが、本開示では、出力系列の与え方を工夫する事で、系列の並びを考慮した振舞い等価性を検証する。
【００２１】
さらに、対象とするペアの系列の長さをＮとした場合へ方法を拡張することも可能である。本比較方法での出力系列生成では、検査データセットを復元抽出し繰返し用いる事が可能である。上記の文献でのモンテカルロ法の代わりに復元抽出を用いることで、ベイズテストの確からしさを向上することができる。ただし、文献の交差検証での出力系列生成のみを対象にベイズテストを実施しても良い。
【００２２】
特に上記のＢＳＭＣ方法を用いた振舞い等価性検証では、用いるべきＢＬＴＬ式がＢＬＴＬのサブセットで記述可能である。このため、２つの学習モデルの出力トレースが振舞い等価性を検証するためのＢＬＴＬ式を満たすかの判定処理を、より簡素化することが可能である。
【００２３】
振舞いを維持する学習方法に関しては、以下の手法を用いることができる。つまり、更新前モデル（手本モデル）の出力を、ラベルと比較して、適宜修正したデータセットを作成する。そして、このデータセットを教師データとして、改善モデルが学習を行う。特に、ラベル付きデータの修正は、様々な手法が考えられる。このため、学習結果モデルに対する比較検査を実施して適切なモデルを選択する事も可能である。
【００２４】
上記の学習方法を用いた場合、系列の並びに連続性があったり、並び自体に意味があるモデルでは、振舞いを極力維持した学習の実現が困難である事が予想される。そのため、系列中のペアとその次のペアの関係といった、系列の並び方が同じとなるような学習方法を提案する。本学習方法に上記の検証方法を融合した方法も提案する。特に、深層学習手法では、対象とするペアの系列の長さをＮとした場合への学習方法の拡張を示す。
【００２５】
手本モデルの振舞いを維持した学習方法は、下記の（ａ）〜（ｄ）を含む。
（ａ）新たなラベル付き教師データが得られた事による、セキュリティフィルタなど学習モデル改善。
（ｂ）ラベル付き教師データに変化はなく、学習モデル簡約化や、他のより単純な学習モデルへの置換を伴う学習。
（ｃ）上記（ａ）と（ｂ）の融合。すなわち、新たなラベル付き教師データが得られ、かつ学習モデル簡約化や他のより単純な学習モデルへの置換を伴う学習。
（ｄ）特にNeural Network学習等において、振舞いを極力維持しつつAdversarial Example耐性を持つよう、学習モデルの簡約化や他の学習モデルへの置換を伴う学習。
【００２６】
なお、本開示においては、説明の簡略化のため、主として、モデルが１対１での例を説明する。例えば、検証方法であれば、１つ手本モデルと１つの検証対象モデルを用いた例を示す。学習方法であれば、１つの教師学習済みモデルと１つの生徒学習対象モデルの例を示す。もちろん、検証方法、及び学習方法は、１対１の例に限らず、１対Ｎの例に容易に拡張可能である。ここで、Ｎは２以上の整数である。したがって、本実施形態にかかる方法は、１対Ｎの評価方法、及び学習方法にも適用可能である。
【００２７】
［アナログ回路向けＢＳＭＣ法の例１］
図１、図２を用いて、アナログ回路向けＢＳＭＣ法の例１について説明する。図１は、アナログ回路向けＢＳＭＣ法を説明するための模式図である。図２は、図１に示すＢＳＭＣ法のアルゴリズムを示すフローチャートである。
【００２８】
スパイス回路シミュレータ１２は、アナログ回路モデルＭに対して、製造プロセスの変動情報１４を用いたモンテカルロシミュレーションを実行する。モンテカルロ法では、製造プロセスの変動情報をパラメータとして、シミュレーション入力データの系列が構成されている。スパイス回路シミュレータ１２は、入力データを用いて、アナログ回路モデルＭの回路シミュレーションを実行する。
【００２９】
これにより、アナログ回路モデルＭの実行トレースσが取得されている。つまり、アナログ回路モデルＭに入力データを入力したときの出力データが実行トレースσとなる。さらに、アナログ回路モデルＭが満たすべき性質が論理式φで定義されている。論理式φはＢＬＴＬ式である。論理式φの望ましい成立確率Θが判定値として定義されている。
【００３０】
有界モデル検査ツール１６は、実行トレースσが論理式φを満たすか、すなわち、σ|＝φが成立するかをＢＭＣ（有界モデル検査）で確認する。有界モデル検査ツール１６は、確認結果に基づいて、ベイズ因子Ｂを算出する。有界モデル検査ツール１６は、ベイズ因子Ｂに基づいて、ベイズ仮説テスト(Bayesian hypothesis testing)１７を実施するに足るか否かを判定する。ベイズ仮説テスト１７は、σ|＝φが成立する確率が、Θ以上であるか否かを判定するためのテストである。
【００３１】
ベイズ仮説テスト１７を実施するに足りるまで、モンテカルロシミュレーションを続行して、スパイス回路シミュレータ１２が実行トレースσを取得する。有界モデル検査ツール１６は、ＢＭＣでσ|＝φの成立可否をチェックする。ベイズ仮説テストを実施するに足りたら、ベイズ仮説テスト１７を実施する。
【００３２】
ベイズ仮説テスト１７では、σ|＝φの成立確率がΘ以上か否かが判定される。つまり、論理式φを満たす確率が判定値Θ以上であるか否かが判定される。判定値Θは確率に対する閾値である。なお、Ｍ|＝P≧Θ(φ)は、アナログ回路モデルＭが論理式φを満たす確率がΘ以上である事を意味している。一方、Ｍ|＝P<Θ(φ)は、アナログ回路モデルＭが論理式φを満たす確率がΘ未満である事を意味している。
【００３３】
図２を用いて、図１に示すアナログ回路向けＢＳＭＣ法について説明する。図２では、回路シミュレーションの実行トレースσの取得から、ベイズ仮説テスト１７での判定までの処理アルゴリズム一例を示す。σ|＝φの成立確率をp、σ|＝φの望ましい成立確率をΘとする。また、ｇを二項分布またはベルヌーイ分布の密度関数とし、ベイズ仮説検定で用いるＴを１以上の定数とする。
【００３４】
まず、ｎ：＝０、ｘ：＝０とする（Ｓ１１）。次に、スパイス回路シミュレータ１２でのシミュレーション結果から実行トレースσを取得し、ｎ：＝ｎ＋１とする（Ｓ１２）。つまり、アナログ回路モデルＭに対して、製造プロセスの変動パラメータを用いたモンテカルロシミュレーションを実行して、実行トレースσを取得する。さらに、ｎをインクリメントする。
【００３５】
有界モデル検査ツール１６は、ＢＭＣによって、σ|＝φが成立するかを確認する（Ｓ１３）。つまり、有界モデル検査ツール１６は、アナログ回路モデルＭが満たすべき性質を記述した論理式φを実行トレースσが満たすか否かを判定する。
【００３６】
σ|＝φが成立しない場合（Ｓ１３のＮＯ）、Ｓ１５に移行する。σ|＝φが成立する場合（Ｓ１３のＹＥＳ）、ｘ：ｘ＋１として（Ｓ１４）、Ｓ１５に移行する。次に、Ｂ＝ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）とする（Ｓ１５）。つまり、有界モデル検査ツール１６は、ｎ、ｘ、Θ、ｇを関数ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）に代入することで、ベイズ因子Ｂを算出する。関数ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）は、図２に記載されている通りである。なお、ベータ分布の形状母数パラメータα、βは予め規定されているものとする。
【００３７】
次に、ベイズ因子Ｂを用いてベイズ仮説テスト１７を行うよう、１／Ｔ≦Ｂ≦Ｔか否かを判定する（Ｓ１６）。１／Ｔ≦Ｂ≦Ｔである場合（Ｓ１６のＹＥＳ）、Ｓ１２に戻る。つまり、１／Ｔ≦Ｂ≦Ｔである場合、ベイズ仮説テスト１７を実施するに足りないため、モンテカルロシミュレーションを続行する。
【００３８】
１／Ｔ≦Ｂ≦Ｔでない場合（Ｓ１６のＮＯ）、ベイズ仮説テスト１７を実施するに足りたため、Ｂ≧Ｔであるか否かを判定する（Ｓ１７）。Ｂ≧Ｔである場合（Ｓ１７のＹＥＳ）、Ｐ≧Θを採択する（Ｓ１８）。Ｂ≧Ｔでない場合（Ｓ１７のＮＯ）、Ｐ＜Θを採択する（Ｓ１９）。このようにして処理が終了する。Ｔは上記の通り１以上の定数である。
【００３９】
［アナログ回路向けＢＳＭＣ法の例２］
図３、図４を用いて、アナログ回路向けＢＳＭＣ法の例２について説明する。図３は、他のアナログ回路向けＢＳＭＣ法を説明するための模式図である。図４は、図３に示すＢＳＭＣ法のアルゴリズムの一例を示すフローチャートである。
【００４０】
図１と同様に、スパイス回路シミュレータ１２は、アナログ回路モデルＭに対して、製造プロセスの変動情報１４を用いたモンテカルロシミュレーションを実行する。モンテカルロ法では、製造プロセスの変動情報をパラメータとして、シミュレーション入力データの系列が構成されている。スパイス回路シミュレータ１２は、入力データを用いて、アナログ回路モデルＭの回路シミュレーションを実行する。
【００４１】
これにより、アナログ回路モデルＭの実行トレースσが取得される。つまり、アナログ回路モデルＭに入力データを入力したときの出力データが実行トレースσとなる。さらに、アナログ回路モデルＭが満たすべき性質が論理式φで定義されている。論理式φ成立の望ましい事後確率の最小値が判定値ｃとして定義されている。判定値ｃは予め設定された定数である。
【００４２】
有界モデル検査ツール１６は、実行トレースσが論理式φを満たすか、すなわち、σ|＝φが成立するかをＢＭＣ（有界モデル検査）で確認する。有界モデル検査ツール１６は、確認結果に基づいて、ベイズ事後確率(Bayesian posterior probability)Ｉを算出する。有界モデル検査ツール１６は、σ|＝φが成立する確率の平均を含む信頼区間を算出する。
【００４３】
そして、信頼区間から算出されるベイズ事後確率Ｉが、ｃ以上であるか否かが判定される。ベイズ事後確率Ｉがｃよりも大きくなるまで、モンテカルロシミュレーションを続行して、スパイス回路シミュレータ１２が実行トレースσを取得する。
【００４４】
有界モデル検査ツール１６が、ＢＭＣでのσ|＝φの成立可否をチェックする。これにより、成立確率の平均値と、その信頼区間を更新することができる。ベイズ事後確率Ｉがｃを越えたら、その時点での成立確率の平均値と、その信頼区間(Confidence interval)を出力する。ここで、σ|＝φの望ましい成立確率を満たすかに関しては、得られた平均値と信頼区間を用いて別途判定する事となる。
【００４５】
図４では、回路シミュレーションによる実行トレースσの取得から、σ|＝φ成立確率の平均値と信頼区間の出力までの処理アルゴリズムの一例を示す。ｃ∈(１／２，１)をベイズ事後確率Ｉが満たすべき下限値定数、δ∈(０，１／２)を信頼区間を構成するパラメータとする。Ｆをベータ分布の密度関数、α、βをベータ分布の形状母数の正数パラメータ定数とする。
【００４６】
まず、ｎ：＝０、ｘ：＝０とする（Ｓ２１）。次に、スパイス回路シミュレータ１２でのシミュレーション結果から実行トレースσを取得し、ｎ：＝ｎ＋１とする（Ｓ２２）。つまり、アナログ回路モデルＭに対して、製造プロセスの変動パラメータを用いたモンテカルロシミュレーションを実行して、実行トレースσを取得する。さらに、ｎをインクリメントする。
【００４７】
有界モデル検査ツール１６は、ＢＭＣによって、σ|＝φが成立するかを確認する（Ｓ２３）。つまり、有界モデル検査ツール１６は、アナログ回路モデルＭが満たすべき性質を記述した論理式φを実行トレースσが満たすか否かを判定する。
【００４８】
σ|＝φが成立しない場合（Ｓ２３のＮＯ）、Ｓ２５に移行する。σ|＝φが成立する場合（Ｓ２３のＹＥＳ）、ｘ：ｘ＋１として（Ｓ２４）、Ｓ２５に移行する。次に、平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）、ベイズ事後確率Ｉを算出する（Ｓ２５）。平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）は、以下の式で求められる。
【００４９】
ｍｅａｎ:=(ｘ＋α)/(ｎ＋α＋β)
（ｔ０，ｔ１）：＝（ｍｅａｎ−δ, ｍｅａｎ＋δ) ｉｆ ０≦ｔ０ ∧ ｔ１≦１
(１−２×δ，１) ｉｆ(ｔ１＞１)
(０，２×δ) ｉｆ(ｔ０＜０ ∧ ｔ１≦１)
【００５０】
ベイズ事後確率Ｉは、図４の関数PosteriorProbabilityに、ｔ０、ｔ１，ｎ、ｘ、α、βを代入することで求められる。
【００５１】
次に、Ｉ≦ｃとなるか否かを判定する（Ｓ２６）。Ｉ≦ｃである場合（Ｓ２６のＹＥＳ）、Ｓ２２に戻る。Ｉ≦ｃでない場合（Ｓ２６のＮＯ）、平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）を出力する（Ｓ２７）。このようにして処理が終了する。
【００５２】
［実施の形態１］
（実施の形態１の第１の例）
実施の形態１の第１の例にかかる評価装置、及び評価方法について、図５を用いて説明する。図５は、実施の形態１の第１の例にかかる評価装置を説明するための模式図である。２つの学習モデルの等価性を評価する。図５では、図１と同様に、ベイズ因子Ｂに基づいて、ベイズ仮説テストを実施している。
【００５３】
図５では、学習済みモデルＭ１（以下、第１の学習モデルＭ１とする）を手本となる学習モデル（手本モデル）とし、学習済みモデルＭ２（以下、第２の学習モデルＭ２とする）を等価性の検証対象モデルとする例を示している。
【００５４】
プログラム実行環境３３には、交差検証用のテストデータ３５が入力されている。プログラム実行環境３３は、テストデータ３５を用いて、第１の学習モデルＭ１、及び第２の学習モデルＭ２のプログラムを実行する。すなわち、テストデータ３５を入力データとして、プログラム実行環境３３は、プログラムである第１の学習モデルＭ１、及び第２の学習モデルＭ２を実行する。
【００５５】
これにより、第１の学習モデルＭ１、及び第２の学習モデルＭ２の実行トレースσ１，σ２を取得することができる。テストデータ３５を用いたプログラムの実行結果が実行トレースσ１となる。テストデータ３５を用いた、第２の学習モデルＭ２に基づく第２の実行結果が実行トレースσ２となる。
【００５６】
また、等価性に関して、第１及び第２の学習モデルＭ１、Ｍ２が満たすべき性質が論理式φにより予め定義されている。論理式φは、例えば、有界線形時相論理式（ＢＬＴＬ）式で記述されている。論理式φの望ましい成立確率が事前に判定値Θとして定義されている。論理式φについては後述する。
【００５７】
有界モデル検査ツール３７は、ＢＭＣにより、実行トレースσ１，σ２が論理式φを満たすかを確認する。つまり、有界モデル検査ツール３７は、σ１||σ２|＝φが成立するかをＢＭＣで確認する。有界モデル検査ツール３７はＢＭＣでの確認結果に基づいて、ベイズ因子Ｂを算出する。ここで、σ１||σ２はトレースσ１とトレースσ２からなる並行実行トレースを表す。
【００５８】
有界モデル検査ツール３７は、ベイズ因子Ｂに基づいて、ベイズ仮説テスト３８を実施するに足るか否かを判定する。ベイズ仮説テスト３８は、σ１||σ２|＝φの成立確率が判定値Θ以上であるか否かを判定するためのテストである。プログラム実行環境３３は、ベイズ仮説テスト３８を実施するに足りるまで、あるいは、テストデータ３５が尽きるまで、実行トレースσ１，σ２を取得する。そして、有界モデル検査ツール３７は、実行トレースσ１，σ２に基づいて、ＢＭＣでのσ１||σ２|＝φの成立可否をチェックする。
【００５９】
ベイズ因子Ｂがベイズ仮説テスト３８を実施するに足りた場合、あるいは、テストデータ３５が尽きた場合、ベイズ仮説テスト３８を実施して、σ１||σ２|＝φの成立確率が判定値Θ以上か否かを判定する。なお、テストデータ３５が尽きた場合、ベイズ仮説テスト３８を実施しなくてもよい。ベイズ因子Ｂがベイズ仮説テスト３８を実施するに足りない場合、σ１||σ２|φの成立確率が判定値Θ以上か否かの判定に失敗する。
【００６０】
従って、十分に長い交差検証用のテストデータ３５が予め整備されているものとする。この場合、ベイズ因子Ｂがベイズ仮説テスト３８を実施するに足りたと判定される。有界モデル検査ツール３７は、第１の学習モデルＭ１と第２の学習モデルＭ２が論理式φをみたす確率がΘ以上であるか否かを判定する。
【００６１】
なお、Ｍ１||Ｍ２|＝P≧Θ(φ)は、第１の学習モデルＭ１と第２の学習モデルＭ２が論理式φを満たす確率がΘ以上である事を意味する。つまり、ベイズ因子ＢがＴよりも大きくなっている。Ｍ１||Ｍ２|＝P<Θ(φ)は、第１の学習モデルＭ１と第２の学習モデルＭ２が論理式φを満たす確率がΘ未満である事を意味する。つまり、ベイズ因子Ｂが１／Ｔよりも小さくなっている。なお、Ｔは１以上の定数である。
【００６２】
（実施の形態１の第２の例）
図６を用いて、実施の形態１の第２の例にかかる評価装置について説明する。図６は、実施の形態１の第２の例にかかる評価装置を説明するための図である。評価装置は、２つの学習モデルの等価性を評価する。図６では、図３と同様に、論理式φが成立する確率の平均を含む信頼区間を算出している。
【００６３】
図６は、図５と同様に、学習済みモデルＭ１（第１の学習モデルＭ１とする）を手本となる学習モデル（手本モデル）とし、学習済みモデルＭ２（第２の学習モデルＭ２とする）を等価性の検証対象となる学習モデル（対象モデル）とする例を示している。
【００６４】
プログラム実行環境３３には、交差検証用のテストデータ３５が入力されている。プログラム実行環境３３は、テストデータ３５を用いて、第１の学習モデルＭ１、及び第２の学習モデルＭ２のプログラムを実行する。すなわち、テストデータ３５を入力データとして、プログラム実行環境３３は、プログラムである第１の学習モデルＭ１、及び第２の学習モデルＭ２を実行する。これにより、第１の学習モデルＭ１、及び第２の学習モデルＭ２の実行トレースσ１，σ２を取得することができる。
【００６５】
また、等価性に関して、第１及び第２の学習モデルＭ１、Ｍ２が満たすべき性質が論理式φにより予め定義されている。論理式φは、例えば、有界線形時相論理式（ＢＬＴＬ）式で記述されている。論理式φ成立の例については後述する。論理式φ成立の望ましい事後確率の最小値が判定値ｃとして定義されている。判定値ｃは予め設定された定数である。
【００６６】
有界モデル検査ツール３７は、ＢＭＣにより、実行トレースσ１，σ２が論理式φを満たすかを確認する。つまり、有界モデル検査ツール３７は、σ１||σ２|＝φが成立するかをＢＭＣで確認する。そして、有界モデル検査ツール３７は、ＢＭＣでの確認結果に基づいて、σ１||σ２|＝φが成立する確率の平均を含む信頼区間を算出する。
【００６７】
有界モデル検査ツール３７は、信頼区間からベイズ事後確率Ｉを算出する。有界モデル検査ツール３７は、ベイズ事後確率Ｉが、判定値ｃ以上であるいか否かが判定する。ベイズ事後確率Ｉが判定値ｃ以上となるまで、あるいは、テストデータ３５が尽きるまで、プログラム実行環境３３は、実行トレースσ１，σ２を取得する。つまり、ベイズ事後確率Ｉが判定値ｃ未満である場合、プログラム実行環境３３は、次のテストデータ３５を用いて、実行トレースσ１、σ２を取得する。
【００６８】
このように、有界モデル検査ツール３７が、ＢＭＣでσ１||σ２|＝φが成立するか否かをチェックする。有界モデル検査ツール３７は、チェック結果に基づいて、成立確率の平均値と信頼区間を算出する。有界モデル検査ツール３７は、信頼区間等に基づいて、ベイズ事後確率Ｉを算出する。
【００６９】
ベイズ事後確率Ｉが判定値ｃ以上となった場合、有界モデル検査ツール３７は、成立確率の平均値と信頼区間を出力する。ベイズ事後確率Ｉが判定値ｃ以上となる前に、テストデータ３５が尽きた場合、有界モデル検査ツール３７は、成立確率の平均値と信頼区間を参考値として出力する。従って、十分に長い交差検証用データが予め整備されているものとする。これにより、成立確率の平均値と信頼区間を出力することが可能となる。
【００７０】
このように、ベイズ事後確率Ｉが判定値ｃを超えた場合、第１の学習モデルＭ１と第２の学習モデルＭが論理式φを満たす成立確率の平均値とその信頼区間が得られる。ここで、 σ１||σ２|＝φの望ましい成立確率を満たすかに関しては、得られた平均値と信頼区間を用いて別途判定する事となる。平均値と信頼区間が予め定められた基準を満たすか否かを判定すればよい。
【００７１】
実施の形態１の第１の例、及び第２の例において、学習モデルＭ１、Ｍ２の振舞い等価性検証に用いる論理式φの例１〜８を以下に示す。
【００７２】
【数１】
2020004178.tif 000003
【００７３】
実施の形態１の第１の例又は第２の例では、上記の例１〜例８のいずれかの論理式φを用いることができる。例１〜８の[]内のプロパティ式は、上記したものに限らず、上記の記号を用いた命題論理式を構成してよい。
【００７４】
図１、図３に示したようなアナログ回路モデルを対象としたＢＳＭＣ法では、一般的なＢＬＴＬ式を扱っている。このため、取得した実行トレースσが論理式（検証プロパティ）φを満たすか否か、即ち、σ|＝φを満たすか否かの確認で、ＢＬＴＬを対象とした有界モデル検査法（ＢＭＣ）が用いられている。これに対して、実施の形態１にかかる方法では、例１〜例８に示したプロパティのように、時相オペレータを用いない論理式のみからなるＢＬＴＬ式を用いることができる。このため、下記操作として単純化可能である。
【００７５】
Step1. 論理式が必要とする実行トレースσ１、σ２、即ち、時刻tにおける第１の学習モデルＭ１からの出力と第２の学習モデルＭ２からの出力を取得
Step2. 取得した値を命題論理式に代入し、命題論理式が真となれば、ＹＥＳを返し、偽となれば、ＮＯを返す。
【００７６】
ここで、各学習モデルの出力系列の先頭を時刻０として、最後の時刻をＴとしている。図２と図４に対して、上記の修正を実施したものを図７、図８にそれぞれ示す。
【００７７】
図７は、図５に示した評価装置の処理アルゴリズムの一例を示すフローチャートである。図７では、学習済みモデル実行トレースσ１、σ２の取得から、ベイズ仮説テスト３７での判定までの処理アルゴリズムが示されている。
【００７８】
交差検証用の入力パターン（テストデータ３５）の長さをＮとする。σ１||σ２|＝φの成立確率をｐ、σ１||σ１|＝φの望ましい成立確率を判定値Θとする。ｇを二項分布またはベルヌーイ分布の密度関数、ベイズ仮説検定（ベイズ仮説テスト）で用いるＴを１以上の定数とする。
【００７９】
まず、ｎ：＝０、ｘ：＝０とするとする（Ｓ３１）。第１の学習モデルＭ１と第２の学習モデルＭ２を実行して得られた出力値（実行トレースσ１、σ２）のｎ番目の出力値を取得し、ｎ：＝ｎ＋１とする（Ｓ３２）。ここで、出力値の系列は０番目から始まるとする。
【００８０】
出力値を代入した論理式φが真となるか否かを判定する（Ｓ３３）。すなわち、第１の学習モデルＭ１と第２の学習モデルＭ２のｎ番目の出力値が論理式φを満たすか否かを、判定する。換言すると、ｎ番目の出力値において、σ１||σ２|＝φが成立するかを確認する。
【００８１】
論理式φが真の場合（Ｓ３３のＹＥＳ）、ｘ：＝ｘ＋１として（Ｓ３４）、Ｓ３５に移行する。論理式φが偽の場合（Ｓ３３のＮＯ）、Ｓ３５に移行する。
【００８２】
次に、有界モデル検査ツール３７は、ベイズ因子Ｂ＝ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）とする（Ｓ３５）。つまり、有界モデル検査ツール３７は、ｎ、ｘ、Θ、ｇを関数ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）に代入することで、ベイズ因子Ｂを算出する。関数ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）は、以下の通りである。なお、ベータ分布の形状母数パラメータα、βは予め規定されている。
【００８３】
【数２】
2020004178.tif 000004
【００８４】
次に、ベイズ因子Ｂを用いてベイズ仮説テストを行うよう、１／Ｔ≦Ｂ≦Ｔか否かを判定する（Ｓ３６）。１／Ｔ≦Ｂ≦Ｔである場合（Ｓ３６のＹＥＳ）、ｎ＜Ｎか否かを判定する（Ｓ４０）。つまり、１／Ｔ≦Ｂ≦Ｔである場合、ベイズ仮説テストを実施するに足りないため、テストデータ３５が尽きているか否かを判定する。ｎ＜Ｎとなる場合（Ｓ４０のＹＥＳ）、Ｓ３２に戻る。すなわち、テストデータ３５が尽きていないため、次のテストデータ３５を用いて、プログラム実行環境３３がプログラムである学習モデルＭ１，Ｍ２を実行する。
【００８５】
ｎ＜Ｎとならない場合（Ｓ４０のＮＯ）、テストデータ３５が尽きたため、仮説の採択を不可とする（Ｓ４１）。つまり、成立確率ｐがΘ以上、あるいは、Θ未満のいずれであるかの判定ができなかったとして処理を終了する。
【００８６】
１／Ｔ≦Ｂ≦Ｔでない場合（Ｓ３６のＮＯ）、Ｂ≧Ｔであるか否かを判定する（Ｓ３７）。つまり、成立確率ｐがΘ以上であるか否かを判定する。Ｂ≧Ｔである場合（Ｓ３７のＹＥＳ）、成立確率ｐがΘ以上であるため、Ｐ≧Θを採択する（Ｓ３８）。Ｂ≧Ｔでない場合（Ｓ３７のＮＯ）、成立確率ｐがΘ未満であるため、Ｐ＜Θを採択する（Ｓ３９）。このようにして処理が終了する。
【００８７】
図８は、図６に示した評価装置の処理アルゴリズムの一例を示すフローチャートである。図８では、学習モデルＭ１，Ｍ２の実行トレースσ１、σ２の取得から、成立確率ｐの平均値と信頼区間の出力までの処理アルゴリズムが示されている。
【００８８】
Ｎを交差検証用の入力パターン（テストデータ３５）の長さとする。ｃ∈(１／２，１)を事後分布が満たすべき下限値定数、δ∈(０，１／２)を信頼区間を構成するパラメータとする。Ｆをベータ分布の密度関数、α、βをベータ分布の形状母数の正数パラメータ定数とする。
【００８９】
まず、ｎ：＝０、ｘ：＝０とする（Ｓ５１）。次に、第１の学習モデルＭ１と第２の学習モデルＭ２を実行して得られた出力値（実行トレースσ１、σ２）のｎ番目の出力値を取得し、ｎ：＝ｎ＋１とする（Ｓ５２）。ここで、出力値の系列は０番目から始まるとする。
【００９０】
出力値を代入した論理式φが真となるか否かを判定する（Ｓ５３）。すなわち、ｎ番目の出力値が論理式φを満たすか否かを、判定する。換言すると、ｎ番目の出力値において、σ１||σ２|＝φが成立するかを確認する。
【００９１】
論理式φが真の場合（Ｓ５３のＹＥＳ）、ｘ：＝ｘ＋１として（Ｓ５４）、Ｓ５５に移行する。論理式φが偽の場合（Ｓ５３のＮＯ）、Ｓ５５に移行する。
【００９２】
次に、平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）、ベイズ事後確率Ｉを算出する（Ｓ５５）。平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）は、以下の式で求められる。
ｍｅａｎ:=(ｘ＋α)/(ｎ＋α＋β)
（ｔ０，ｔ１）：＝（ｍｅａｎ−δ, ｍｅａｎ＋δ) ｉｆ ０≦ｔ０ ∧ ｔ１≦１
(１−２×δ，１) ｉｆ(ｔ１＞１)
(０，２×δ) ｉｆ(ｔ０＜０ ∧ ｔ１≦１)
【００９３】
ベイズ事後確率Ｉは、図８の関数PosteriorProbabilityに、ｔ０、ｔ１，ｎ、ｘ、α、βを代入することで求められる。
【００９４】
次に、Ｉ≦ｃとなるか否かを判定する（Ｓ５６）。Ｉ≦ｃである場合（Ｓ５６のＹＥＳ）、ｎ＜Ｎであるか否かを判定する（Ｓ５８）。Ｉ≦ｃである場合、テストデータ３５が尽きているか否かを判定する。ｎ＜Ｎとなる場合（Ｓ５８のＹＥＳ）、Ｓ５２に戻る。すなわち、テストデータ３５が尽きていないため、次のテストデータ３５を用いて、プログラムである学習モデルＭ１，Ｍ２を実行する。
【００９５】
ｎ＜Ｎとならない場合（Ｓ５８のＮＯ）、参考情報として、平均値ｍｅａｎと信頼区間（ｔ０，ｔ１）とを出力する。この場合、十分なテストデータ３５を用いた結果ではないため、平均値ｍｅａｎと信頼区間（ｔ０，ｔ１）は参考値となる。
【００９６】
Ｉ≦ｃでない場合（Ｓ５６のＮＯ）、平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）を出力する（Ｓ５７）。このようにして処理が終了する。
【００９７】
なお、例えば、δ：＝１．９６×（σ＾２／ｎ）＾（１／２）、σ:＝α×β/{(α＋β＋１)×(α＋β)＾２}としてもよい。
【００９８】
本実施の形態によれば、学習モデルの精度や情報量基準だけでは識別できない２つのモデルの振舞いを比較することが可能となる。これにより、学習モデルを適切に評価することができる。
【００９９】
アナログ回路のプロパティ検査を目的とした統計的モデル検査法を、有界線形自相論理式のプロパティ記述例を示すとともに、学習済みモデルの振舞い等価性検証に適用することができる。このとき、入力パターンが交差検証用のテストデータとなり、有限長となっている。このため、テストデータのパターン長が足りない場合の処理を追加する事で、統計的モデル検査法を評価に適用することができる。
【０１００】
また、振舞い等価性を検証するためには、命題論理式を用いたプロパティ記述で十分である。このことから、有界モデル検査法を、命題論理式への値代入による充足可能判定に帰着する事で、統計的モデル検査法を簡素化することができる。つまり、有界モデル検査ツール３７を簡素化することが可能となる。これにより、大量の交差検証用のテストデータに対して現実的な時間での振舞い等価性検証を実現可能とすることができる。
【０１０１】
本実施の形態にかかる学習装置は、以下の（Ａ）〜（Ｄ）を実施してもよい。
（Ａ）検証用データを用いて、手本モデルである第１の学習モデルに基づく第１の実行結果を求める。
（Ｂ）前記検証用データを用いて、第２の学習モデルに基づく第２の実行結果を求めている。
（Ｃ）前記第１及び前記第２の実行結果が、論理式を満たすか否かを判定する。
（Ｄ）ベイズ統計モデル検査法を用いて、（Ｃ）での判定結果に基づいて、第１の学習モデルと前記第２の学習モデルとの振舞いを比較する。
【０１０２】
対象となる第２の学習モデルが、手本モデルとなる第１の学習モデルの振舞い等価性を維持できているか否かを評価することができる。したがって、例えば、手本モデルよりも小さいフットプリントの対象モデルへの置き換えた場合において、対象モデルが手本モデルの振舞いを維持しているか否かを判定することができる。
【０１０３】
第１の例では、（Ｄ）において、学習装置は、論理式の成立確率に関する仮説に対してベイズ因子を算出し、成立確率が確率閾値以上であるか否かのベイズ仮説テストを実施している。さらに、学習装置は、前記ベイズ仮説テストの結果に基づいて、前記第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する。よって、簡便かつ適切に評価を行うことができる。
【０１０４】
第２の例では、（Ｄ）において、前記論理式の成立確率を満たす信頼区間を算出し、前記信頼区間に基づいて事後確率を算出し、前記事後確率に基づいて、前記第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する。よって、簡便かつ適切に評価を行うことができる。
【０１０５】
［実施の形態２］
（実施の形態２の第１の例）
実施の形態１では、学習済みモデルの振舞いでの、特に滑らかさ、即ち出力系列の差分の振舞いの等価性を扱っていない。そこで、実施の形態２では、出力系列の差分を考慮した振舞い等価性検証手法について説明する。なお、上記の内容と共通する内容に付いては適宜説明を省略することもある。
【０１０６】
図９は、実施の形態２の第１の例にかかる評価装置を示す図である。図９の評価装置は、２つの学習済みモデルＭ１，Ｍ２（以下、第１の学習モデルＭ１、第２の学習モデルＭ２）の振舞い等価性を評価している。図９の評価装置は、ＢＳＭＣ法を用いて、第１及び第２の学習モデルＭ１，Ｍ２の振舞いを評価している。第１の学習モデルＭ１は、手本モデルとなるプログラムであり、第２の学習モデルＭ２は、検証対象モデルとなるプログラムである。
【０１０７】
プログラム実行環境３３には、交差検証用のテストデータ３５が入力されている。プログラム実行環境３３は、テストデータ３５を用いて、第１の学習モデルＭ１、及び第２の学習モデルＭ２のプログラムを実行する。すなわち、プログラム実行環境３３は、テストデータ３５を入力データとして、プログラムである第１の学習モデルＭ１、及び第２の学習モデルＭ２を実行する。これにより、第１の学習モデルＭ１、及び第２の学習モデルＭ２の実行トレースσ１，σ２を取得することができる。
【０１０８】
また、等価性に関して、第１及び第２の学習モデルＭ１、Ｍ２が満たすべき性質が論理式φにより予め定義されている。論理式φは、例えば、有界線形時相論理式（ＢＬＴＬ）式で記述されている。論理式φの望ましい成立確率が事前に判定値Θとして定義されている。論理式φについては後述する。
【０１０９】
有界モデル検査ツール３７は、ＢＭＣにより、実行トレースσ１，σ２が論理式φを満たすかを確認する。つまり、有界モデル検査ツール３７は、σ１||σ２|＝φが成立するかをＢＭＣで確認する。論理式φは、有界線形時相論理式（ＢＬＴＬ）式で記述されている。論理式φの望ましい成立確率が事前に判定値Θとして定義されている。論理式φについて後述する。
【０１１０】
有界モデル検査ツール３７はＢＭＣでの確認結果に基づいて、ベイズ因子Ｂを算出する。有界モデル検査ツール３７は、ベイズ因子Ｂに基づいて、ベイズ仮説テスト３８を実施するに足るか否かを判定する。ベイズ仮説テスト３８は、σ１||σ２|＝φの成立確率が判定値Θ以上であるか否かを判定するためのテストである。
【０１１１】
実施の形態２では、実施の形態１とは異なり、ベイズ仮説テスト３８を実施するに足りるまで、交差検証用のテストデータ３５からの無作為復元抽出で入力データを構成することができる。つまり、テストデータ３５の順番を入れ替えることで、入力データを順次生成することができる。そして、テストデータ３５を入力データとすることで、プログラム実行環境３３は、実行トレースσ１，σ２を取得する。従って、本実施の形態では、入力データが尽きることなく、ベイズ仮説テスト３８を実施することができる。ベイズ仮説テスト３８では、σ１||σ２|＝φの成立確率が判定値Θ以上か否かが判定される。
【０１１２】
なお、Ｍ１||Ｍ２|＝P≧Θ(φ)は、第１の学習モデルＭ１と第２の学習モデルＭ２が論理式φを満たす確率がΘ以上である事を意味する。Ｍ１||Ｍ２|＝P<Θ(φ)は、第１の学習モデルＭ１と第２の学習モデルＭ２が論理式φを満たす確率がΘ未満である事を意味する。
【０１１３】
（実施の形態２の第２の例）
図１０を用いて、実施の形態２の第２の例にかかる評価装置について説明する。図１０は、実施の形態２の第２の例にかかる評価装置を説明するための模式図である。評価装置は、２つの学習モデルの等価性を評価する。図１０では、図６に示したように、φが成立する確率の平均を含む信頼区間を算出している。
【０１１４】
図１０では、図９に示す第１の例と同様に、学習済みモデルＭ１（第１の学習モデルＭ１とする）を手本となる学習モデル（手本モデル）とし、学習済みモデルＭ２（第２の学習モデルＭ２とする）を等価性の検証対象モデルとする例を示している。
【０１１５】
プログラム実行環境３３には、交差検証用のテストデータ３５が入力されている。プログラム実行環境３３は、テストデータ３５を用いて、第１の学習モデルＭ１、及び第２の学習モデルＭ２のプログラムを実行する。すなわち、プログラム実行環境３３は、テストデータ３５を入力データとして、プログラムである第１の学習モデルＭ１、及び第２の学習モデルＭ２を実行する。これにより、第１の学習モデルＭ１、及び第２の学習モデルＭ２の実行トレースσ１，σ２を取得することができる。
【０１１６】
また、等価性に関して、第１及び第２の学習モデルＭ１、Ｍ２が満たすべき性質が論理式φにより予め定義されている。論理式φは、例えば、有界線形時相論理式（ＢＬＴＬ）式で記述されている。論理式φの例については後述する。論理式φ成立の望ましい事後確率の最小値が判定値ｃとして定義されている。判定値ｃは予め設定された定数である。
【０１１７】
有界モデル検査ツール３７は、ＢＭＣにより、実行トレースσ１，σ２が論理式φを満たすかを確認する。つまり、有界モデル検査ツール３７は、σ１||σ２|＝φが成立するかをＢＭＣで確認する。そして、有界モデル検査ツール３７は、ＢＭＣでの確認結果に基づいて、σ１||σ２|＝φが成立する確率の平均を含む信頼区間を算出する。
【０１１８】
有界モデル検査ツール３７は、信頼区間からベイズ事後確率Ｉを算出する。有界モデル検査ツール３７は、ベイズ事後確率Ｉが、判定値ｃ以上であるいか否かが判定する。ベイズ事後確率Ｉが判定値ｃ以上となるまで、プログラム実行環境３３は、実行トレースσ１，σ２を取得する。つまり、ベイズ事後確率Ｉが判定値ｃ未満である場合、プログラム実行環境３３は、次のテストデータ３５を用いて、実行トレースσ１，σ２を取得する。
【０１１９】
有界モデル検査ツール３７が、ＢＭＣでσ１||σ２|＝φが成立するか否かをチェックする。有界モデル検査ツール３７は、チェック結果に基づいて、成立確率の平均値と信頼区間を算出する。
【０１２０】
ベイズ事後確率Ｉが判定値ｃ以上となった場合、有界モデル検査ツール３７は、成立確率の平均値と信頼区間を出力する。実施の形態１とは異なり、本実施の形態２では、ベイズ事後確率Ｉが判定値ｃ以上となるまで、交差検証用のテストデータ３５からの無作為復元抽出で入力データを構成している。つまり、テストデータ３５の順番を入れ替えることで、入力データを順次生成することができる。そして、テストデータ３５を入力データとすることで、プログラム実行環境３３は、実行トレースσ１、σ２を取得する。従って、本実施の形態では、入力データが尽きることなく、成立確率の平均値と信頼区間を出力することが可能となる。
【０１２１】
このように、第１の学習モデルＭ１と第２の学習モデルＭが論理式φを満たす成立確率の平均値とその信頼区間が得られる。ここで、 σ１||σ２|＝φの望ましい成立確率を満たすかに関しては、得られた平均値と信頼区間を用いて別途判定する事となる。
【０１２２】
実施の形態２の第１の例、及び第２の例において、学習モデルの滑らかさを考慮した振舞い等価性検証に用いる論理式φの例９〜１２を以下に示す。
【０１２３】
【数３】
2020004178.tif 000005
【０１２４】
Ｘは次点オペレータである。Ｘ２はＸ・ＸとＸを二回適用した２次点オペレータであり、Ｘｎは、Ｘをｎ回適用したｎ次点オペレータである。ｄ２は、出力値系列の１階差分であり、ｄ３は出力値系列の２階差分である。ｄ１〜ｄ３の図表記は図１１のようになる。１階差分ｄ２は、連続する２つの出力値ｄ０から求めることができる。２階差分ｄ３は、連続する２つの１階差分ｄ２から求めることができる。例９〜１２は、出力値系列の一階以上の差分を考慮したものとなる。
【０１２５】
例９〜１２の論理式φではｄ１、ｄ２、又はｄ３を用いているが、ｎ階（ｎは１以上の任意の整数）差分を用いることも可能である。さらに、ｎ階までの差分のうち、１つ以上の差分を用いていればよい。ｎ階差分での検証プロパティ例の図表記は図１２である。ｎ階差分はｎ階以下の０階差分までの全てを∧で結合したものとなる。ｎ階までの差分を考慮したラベル一致不一致を対象とした等価性検証プロパティも定義可能である。
【０１２６】
なお、ｄ１〜ｄｎ＋１は同じものであってもよく、異なるものであってもよい。例えば、ｄ１をＬ１ノルムとし、ｄ２をＬ２ノルム等としてもよい。あるいは、ｄ１〜ｄｎ＋１の全てがＬｐノルムであってもよい。
【０１２７】
ＢＬＴＬ式Ｐｒ≧Θ[]などに表れる[]内のプロパティ式は、上記の例９〜１２に限られるものではない。上記記号と出力に次点オペレータＸを０回以上の任意回作用させた項を用いた命題論理式を[]内のプロパティ式として構成してよい。
【０１２８】
アナログ回路へのＢＳＭＣ適用手法では、次点オペレータＸを含むＢＬＴＬ式を直接扱う事が出来ない。そのため、本実施形態にかかる振舞い等価性検証では、例９〜１２に示したプロパティを取扱可能とするために、ＢＬＴＬ式に含まれるｋ次点オペレータＸｋでのｋの最大値を識別している。そして、時刻ｔから時刻（ｔ＋ｋ）までの出力を、時刻が進む度に取得する。ＢＬＴＬ式を時相オペレータを用いない論理式のみからなるＢＬＴＬ式として扱う事で、σ１||σ２|＝φの判定を実施する。この操作は下記操作として定義可能である。
【０１２９】
Step１. 論理式に含まれるＸｋの中で、最大のｋを決定し、それをＫとする
Step２. 論理式が必要とする実行トレースσ１、σ２、即ち、時刻ｔから時刻（ｔ＋ｋ）までの全時刻に対する第１の学習モデルＭ１からの出力と第２の学習モデルＭ２からの出力を取得する。
Step３. 取得した出力値を論理式に代入し、論理式が真となれば、Ｙｅｓを返し、偽となれば、Ｎｏを返す。
【０１３０】
ここで、学習モデルの出力系列の先頭を時刻０としている。図９と図１０に対して、上記の修正を実施した処理を、それぞれ図１３、図１４に示す。
【０１３１】
図１３は、図９に示した第１及び第２の学習モデル向けＢＳＭＣ法の一例を示すフローチャートである。図１３では、特に、実行トレースσ１，σ２の取得から、ベイズ仮説テストでの判定までの処理が示されている。
【０１３２】
σ１||σ２|＝φの成立確率をｐ、σ１||σ２|＝φの望ましい成立確率をΘ、gを二項分布またはベルヌーイ分布の密度関数、ベイズ仮説検定で用いるＴを１以上の定数とする。
【０１３３】
ｎ：＝０、ｘ：＝０とし、論理式φに表れるＸｋの最大のｋをＫとする（Ｓ６１）。学習モデルＭ１、Ｍ２からのｎ番目から（ｎ＋Ｋ）番目の連続出力値を取得し、かつ、ｎ：＝ｎ＋１を実施する（Ｓ６２）。つまり、第１及び第２の学習モデルＭ１、Ｍ２を実行して、実行トレースσ１、σ２を取得する。そして、実行トレースσ１、σ２のｎ番目から（ｎ＋Ｋ）番目までの出力値を連続して取得する。ここで、出力値の系列は０番目から始まるとする。また、交差検証用のテストデータ３５が尽きた場合、テストデータ３５から無作為非復元抽出を実施する事で入力データを構成することができる。
【０１３４】
有界モデル検査ツール３７は、出力値を代入した論理式φが真となるか否かを判定する（Ｓ６３）。すなわち、σ１||σ２|＝φが成立するかを有界モデル検査ツール３７が確認する。論理式φを満たす場合（Ｓ６３のＹＥＳ）、ｘ：＝ｘ＋１を実施して（Ｓ６４）、Ｓ６５に移行する。論理式φを満たさない場合（Ｓ６３のＮＯ）、Ｓ６５に移行する。
【０１３５】
次に、有界モデル検査ツール３７は、ベイズ因子Ｂ＝ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）とする（Ｓ６５）。つまり、有界モデル検査ツール３７は、ｎ、ｘ、Θ、ｇを関数ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）に代入することで、ベイズ因子Ｂを算出する。関数ＢａｙｅｓＦａｃｔｏｒ（ｎ，ｘ，Θ，ｇ）は、図１３に記載された通りである。なお、ベータ分布の形状母数パラメータα、βは予め規定されている。
【０１３６】
次に、ベイズ因子Ｂを用いてベイズ仮説テストを行うよう、１／Ｔ≦Ｂ≦Ｔか否かを判定する（Ｓ６６）。１／Ｔ≦Ｂ≦Ｔである場合（Ｓ６６のＹＥＳ）、Ｓ６２に戻る。すなわち、テストデータ３５から無作為復元抽出で構成した入力データを用いて、プログラム実行環境３３がプログラムである学習モデルＭ１，Ｍ２を実行する。そして、上記の処理を繰り返す。
【０１３７】
１／Ｔ≦Ｂ≦Ｔでない場合（Ｓ６６のＮＯ）、Ｂ≧Ｔであるか否かを判定する（Ｓ６７）。つまり、成立確率ｐがΘ以上であるか否かを判定する。Ｂ≧Ｔである場合（Ｓ６７のＹＥＳ）、成立確率ｐがΘ以上であるため、Ｐ≧Θを採択する（Ｓ６８）。Ｂ≧Ｔでない場合（Ｓ６７のＮＯ）、成立確率ｐがΘ未満であるため、Ｐ＜Θを採択する（Ｓ６９）。このようにして処理が終了する。
【０１３８】
図１４は、図１０に示した第１及び第２の学習モデル向けＢＳＭＣ法の一例を示すフローチャートである。図１４では、学習モデルＭ１、Ｍ２の実行トレースσ１、σ２の取得から、成立確率ｐの平均値と信頼区間の出力までの処理アルゴリズムが示されている。
【０１３９】
ｃ∈(１／２，１)を事後分布Ｉが満たすべき下限値定数、δ∈(０，１／２)を信頼区間を構成するパラメータとする。Ｆをベータ分布の密度関数、α、βをベータ分布の形状母数の正数パラメータ定数とする。
【０１４０】
まず、ｎ：＝０、ｘ：＝０とし、論理式φに表れるＸｋの最大のｋをＫとする（Ｓ７１）。次に、第１の学習モデルＭ１と第２の学習モデルＭ２を実行して得られた出力値（実行トレースσ１、σ２）のｎ番目〜ｎ＋Ｋ番目の連続出力値を取得し、ｎ：＝ｎ＋１とする（Ｓ７２）。ここで、出力値の系列は０番目から始まるとする。また、交差検証用のテストデータ３５が尽きた場合、テストデータ３５から無作為非復元抽出を実施する事で入力データを構成することができる。
【０１４１】
出力値を代入した論理式φが真となるか否かを判定する（Ｓ７３）。すなわち、σ１||σ２|＝φが成立するかを有界モデル検査ツール３７が確認する。論理式φを満たす場合（Ｓ７３のＹＥＳ）、ｘ：＝ｘ＋１を実施して（Ｓ７４）、Ｓ７５に移行する。論理式φを満たさない場合（Ｓ７３のＮＯ）、Ｓ７５に移行する。
【０１４２】
次に、平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）、ベイズ事後確率Ｉを算出する（Ｓ７５）。平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）は、以下の式で求められる。
ｍｅａｎ:=(ｘ＋α)/(ｎ＋α＋β)
（ｔ０，ｔ１）：＝（ｍｅａｎ−δ, ｍｅａｎ＋δ) ｉｆ ０≦ｔ０ ∧ ｔ１≦１
(１−２×δ，１) ｉｆ(ｔ１＞１)
(０，２×δ) ｉｆ(ｔ０＜０ ∧ ｔ１≦１)
【０１４３】
ベイズ事後確率Ｉは、図１４の関数PosteriorProbabilityに、ｔ０、ｔ１，ｎ、ｘ、α、βを代入することで求められる。
【０１４４】
次に、Ｉ≦ｃとなるか否かを判定する（Ｓ７６）。Ｉ≦ｃである場合（Ｓ７６のＹＥＳ）、Ｓ７２に戻る。テストデータ３５から無作為復元抽出で構成した入力データを用いて、プログラムである学習モデルＭ１，Ｍ２を実行する。そして、上記の処理を繰り返す。
【０１４５】
Ｉ≦ｃでない場合（Ｓ７６のＮＯ）、平均値ｍｅａｎ、信頼区間（ｔ０，ｔ１）を出力する（Ｓ７７）。このようにして処理が終了する。
【０１４６】
なお、例えば、δ＝：１．９６×（σ＾２／ｎ）＾（１／２）、σ:＝α×β/{(α＋β＋1)×(α＋β)＾２}としてもよい。
【０１４７】
本実施の形態によれば、学習済みモデルの滑らかさまでを考慮した振舞い等価性検証を行うことができる。このため、次点オペレータＸをＢＬＴＬ式に導入している。アナログ回路へのＢＳＭＣ適用手法では次点オペレータＸは扱うことができなかったが、本実施の形態では、出力値への次点オペレータ適用のみに利用を制限可能な事に着目し、これを記述可能としている。一方でＢＬＴＬ式に含まれる次点オペレータＸの繰返し回数の最大数をｋとしたとき、ｋ個までの出力値を命題論理式へ代入して、論理式の充足判定を実施する。このようにすることで、次点オペレータＸを含むＢＬＴＬ式の充足判定を実施することが可能となる。これにより、学習済みモデルの滑らかさまでを考慮した振舞い等価性検証を現実的な時間で実現可能とすることができる。
【０１４８】
実施の形態２では、学習装置が、検証用のテストデータとして系列データを順次入力し、系列データに対応する出力系列データのｎ（ｎは１以上の整数）階の差分を求めている。そして、学習装置は、ベイズ統計的モデル検査法において、ｎ階の差分を含む第１及び第２の実行結果が、前記論理式を満たすか否かを判定している。これにより、学習済みモデルの滑らかさまでを考慮した振舞い等価性検証を現実的な時間で実現可能とすることができる。
【０１４９】
本実施の形態２では、実施の形態１の（Ａ）、及び（Ｂ）において、前記検証用データとして系列データを順次入力し、系列データに対応する出力系列データのｎ（ｎは１以上の整数）階までの差分を求める。実施の形態１の（Ｃ）において、ｎ階以下の差分のうちの１つ以上の差分を含む第１及び第２の実行結果が、前記論理式を満たすか否かを判定する。これにより、学習済みモデルの滑らかさまでを考慮した振舞い等価性を評価することが可能となる。
【０１５０】
［実施の形態３］
本実施の形態では、手本となる学習モデルの振舞いを維持する学習方法について説明する。図１５は、振舞い等価性を極力維持することが可能な学習装置の一例を示す図である。ここでの機械学習としては、判別や分類を対象とする。特に、ｋ近傍法、決定木(分類木)、ニューラルネットワーク、ベイジアンネットワーク、サポートベクターマシン、(多項)ロジスティクス回帰など、の教師あり学習全般が対象となる。ここで、図１５、及び図１６に表れる記号は下記となる。
【０１５１】
【数４】
2020004178.tif 000006
【０１５２】
本実施の形態にかかる学習方法は、生徒教師学習手法を拡張した手法である。即ち、振舞いを維持したい対象である学習済み手本モデル（第１の学習モデルＭ１と称する）を教師モデルとする。また、振舞いを極力維持した新たな学習を行う対象となる生徒学習モデルを学習対象モデル（第２の学習モデルＭ２と称する）とする。
【０１５３】
教師あり学習データとしてラベル付きデータが与えられているとする。ラベル付きデータである学習用データ１０１が第１の学習モデルＭ１に入力される。そして、第１の学習モデルＭ１の出力out_o(t)を正解ラベルを用いて調整（補正）する。調整後の出力out_o’(t)を、第２の学習モデルＭ２の学習に用いる。学習では、以下の式（１）が最小となるよう学習を実施する。
【０１５４】
【数５】
2020004178.tif 000007
【０１５５】
第２の学習モデルＭ２がニューラルネットワークであれば、ｄ１を例えばKL（Kullback-eibler）-Divergenceとし、誤差逆伝搬を実施する。また、必要に応じ正則化項を導入した上で、誤差逆伝搬を実施してもよい。このようにして、生徒学習モデルの学習を実施することができる。
【０１５６】
特に、例えばスパース学習や量子化によるビット幅削減、Distillationなど、ニューラルネットワークの学習や再学習での最適化に関する手法を併せて実施しても良い。また、再学習は何度実施しても良い。第２の学習モデルＭ２が多項ロジスティクス回帰であれば、ｄ１を例えば２乗誤差とし、残差最小化を実施する。必要に応じ正則化項を導入した上で残差最小化を実施してもよい。このようにして、第２の学習モデルＭ２の学習を実施する。第２の学習モデルＭ２が決定木など他の学習の場合も、out_o’(t)とout_s(t)を用いて損失関数を算出する。そして、損失関数に基づいて、第２の学習モデルＭ２の学習を実施すれば良い。
【０１５７】
なお、本学習方法において、第１の学習モデルＭ１と第２の学習モデルＭ２とが必ずしも同一である必要はない。例えば、第１の学習モデルＭ１が多項ロジスティクス回帰の学習済みモデルで、第２の学習モデルＭ２が勾配ブースティング木であっても良い。また、教師モデル構築で用いた学習データに対して、新たに得られたデータを用いた教師あり学習にも対応している。ここで、教師モデル構築では半教師あり学習であっても良い。このことは、図１５、図１６から明らかである。さらには、第２の学習モデルＭ２の入力段に平均、中央値、分散、離散コサイン変換や、ＨＯＧ(Histogram of Oriented Gradients)などの特徴量を抽出する機構を具備していても良い。
【０１５８】
図１６は、図１５に記載した出力調整アルゴリズムの一例を示す。ここで、図１６に表れる記号は下記となる。
t：データの順番
l：入力パラメータ、ｌは１以上の整数
p：入力パラメータ、ｐは０．５より大きく１．０より小さい実数
【０１５９】
なお、本アルゴリズムでは、out_o(t)、out_s(t)は、それぞれ総和が１となるように正規化されていると仮定する。正規化されていない場合は、正規化した後に調整し、総和を掛けて出力を構成するものとする。
【０１６０】
図１６では、各t番目の出力データに対して以下の処理を実施する。まず、学習用データ１０１がラベルつきデータであるか否かを確認する（Ｓ１０１）。つまり、学習用データ１０１が教師ラベルを持つか否か確認する。学習用データ１０１がラベル付きデータでない場合、out_o‘(t):=out_o(t)を実施する（Ｓ１０２）。次の出力データがあるならＳ１０１に移行し、そうでないなら処理を終了する。
【０１６１】
学習用データ１０１がラベル付きデータである場合、Ｓ１０３に移行する。教師あり学習で教師学習済みモデルを構築した場合、全学習用データ１０１に教師ラベルが付与されるため、Ｓ１０１の判定は、常にＹＥＳとなる。
【０１６２】
Ｓ１０３では以下の処理を実施する。
(x,i):=(out_o(t)の中の正解の値,そのIndex)
(x,i):=(out_o(t)の中の正解の値,そのIndex)
(y,j):= (out_o(t)の中の最大の値,そのIndex)
(M,I):=(out_o(t)の中で０でないものの数,そのIndex集合-{i})
【０１６３】
次に、x＝＝０か否かを判定する（Ｓ１０４）。ｘ＝＝０でない場合（Ｓ１０４のＮＯ）、Ｓ１０６に移行する。ｘ＝＝０の場合（Ｓ１０４のＹＥＳ）、x:=ｐ*ｙ，out_o(t)[j]:=(１−ｐ)*ｙを実施する（Ｓ１０５）。
【０１６４】
そして、以下の式（２）を実施する（Ｓ１０６）
【数６】
2020004178.tif 000008
【０１６５】
次の出力データがあるならＳ１０１に移行し、そうでないなら処理を終了する。ここで、以下の式（３）より、ｌを大きくするほど、正解値が強調される事に注意する。上記の学習方法によれば、手本モデルの振舞いを維持した学習を行うことができる。
【数７】
2020004178.tif 000009
【０１６６】
図１７は、図１５の学習手法と、実施の形態１に示した振舞い等価性の評価方法とを組み合わせた学習方法を示す。
【０１６７】
なお、図１７に示す記号ｌ、ｐは下記となる。
l：図１５の出力調整アルゴリズムへの入力パラメータ、ｌは１以上の整数
p：図１５の出力調整アルゴリズムへの入力パラメータ、ｐは０．５より大きく１．０より小さい実数
【０１６８】
ここでは、実施の形態１の第１の例で構成される振舞い等価性検証手法を採用した例を記載するが、第２の例で構成される振舞い等価性検証手法を採用しても良い。つまり、ここでは、ベイズ因子Ｂに基づいて等価性検証を行っているが、ベイズ事後確率Ｉに基づいて等価性検証を行ってもよい。また、振舞い等価性維持の機械学習に必要となる入力パラメータｌ、ｐは適宜与えられているものとする。
【０１６９】
学習モデルＭ１、Ｍ２に対して、図１５と図１６で構成される振舞い等価性維持の機械学習を実施する（Ｓ１１１）。次に、学習モデルＭ１、Ｍ２に対して、図５と図７で構成される振舞い等価性検証を実施する（Ｓ１１２）。
【０１７０】
振舞い等価性検証の結果に基づいて、第１の学習モデルＭ１と第２の学習モデルＭ２とが十分な等価性を有しているか否かを判定する（Ｓ１３）。具体的には、求める確率Θ以上で振舞いが一致するか否か判定する。
【０１７１】
十分な等価性を有している場合（Ｓ１１３のＹＥＳ）、処理を終了する。十分な等価性を有していない場合（Ｓ１１３のＮＯ）、パラメータｌ，ｐを調整する（Ｓ１１４）。そして、調整後のパラメータｌ，ｐでＳ１１１からの処理を実行する。
【０１７２】
パラメータの調整では、例えば、ｌ＝１とし、pを０．６から０．１刻みに増加させていく。その結果、Ｓ１１３でＹＥＳとならなければ、ｌを１刻みでインクリメントする。ｌをインクリメントして、同様に、ｐを０．６から０．１刻みに増加させる。Ｓ１１３でＹＥＳとなるまで、パラメータｌ、ｐの更新を繰り返すとしても良い。
【０１７３】
手本モデルの振舞いを極力維持した対象モデルの学習を実現することができる。手本モデルの振舞いを極力維持しながら、学習モデルを簡素化したり、より単純な学習モデルへ置き換えたりすることが可能となる。対象となる第２の学習モデルが、手本モデルとなる第１の学習モデルの振舞い等価性を維持するように学習を行うことができる。したがって、例えば、手本モデルよりも小さいフットプリントの対象モデルへの置き換えが可能となる。
【０１７４】
本実施の形態にかかる学習装置は、以下の（１）〜（４）を実施してもよい。
（１）学習用データを用いて、教師モデルである第１の学習モデルに基づく第１の出力結果を求める。
（２）前記学習用データを用いて、生徒モデルである第２の学習モデルに基づく第２の出力結果を求めている。
（３）前記第１の出力結果と前記第２の出力結果とに基づいて評価用パラメータｌ,ｐを定め、前記第２の学習モデルの機械学習を実施する。
（４）前記第１の学習モデルと、学習済みの前記第２の学習モデルとの振舞いを比較する。
【０１７５】
（４）において、実施の形態１，２の評価方法を適用してもよい。つまり（４）では、以下の（４−１）〜（４−４）を実施してもよい。
（４−１）検証用データを用いて、第１の学習モデルに基づく第１の実行結果を求める。
（４−２）前記検証用データを用いて、前記第２の学習モデルに基づく第２の実行結果を求める
（４−３）前記第１及び前記第２の実行結果が、論理式を満たすか否かを判定する
（４−４）ベイズ統計モデル検査法を用いて、（４−３）での判定結果に基づいて、第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する。
【０１７６】
［実施の形態４］
実施の形態４では、振舞いの滑らかさを考慮した等価性を極力維持する学習方法を説明する。図１８は、実施の形態４にかかる機械学習方法を説明するための図である。
【０１７７】
図１８で対象とする機械学習としては、判別や分類を対象とする。実施の形態４では、例えば、ｋ近傍法、決定木(分類木)、ニューラルネットワーク、ベイジアンネットワーク、サポートベクターマシン、(重)回帰、(多項)ロジスティクス回帰など、の教師あり学習全般が対象となる。ここで、図に表れる記号は下記となる。
【０１７８】
【数８】
2020004178.tif 000010
【０１７９】
図１８は、出力系列の差分を考慮するように生徒教師学習手法を拡張した手法を示す。図１８と図１５との主な相違点は以下の通りである。図１８では、第１の学習モデルＭ１の出力とその一階差分をラベル付き教師データとしている。そして、出力の一階差分を考慮した学習が可能となるよう、生徒学習モデル（第２の学習モデルＭ２）を２つ並べ、出力の一階差分を算出する部分までを生徒学習モデルとしている。加えて、図１８では、出力調整を教師学習済みモデルに付加していない点で図１５と異なる。一階差分までを考慮した学習では、以下の式（４）が最小となるように学習を行う。
【０１８０】
【数９】
2020004178.tif 000011
【０１８１】
生徒学習モデル（第２の学習モデルＭ２）がニューラルネットワークであれば、例えばｄ１を二乗誤差、ｄ２をKL-Divergenceとし、誤差逆伝搬を実施する。また、必要に応じ正則化項を導入した上で誤差逆伝搬を実施してもよい。このように、生徒学習モデルの学習を実施する。特に、例えばスパース学習や量子化によるビット幅削減、Distillationなど、ニューラルネットワークの学習や再学習での最適化に関する手法をプロセッサが併せて実施しても良い。また、再学習は何度実施しても良い。
【０１８２】
生徒学習モデルが多項ロジスティクス回帰や重回帰であれば、例えばｄ１とｄ２を２乗誤差として、残差最小化を実施する。また、必要に応じ正則化項を導入した上で、残差最小化を実施してもよい。このようにして、生徒学習モデルの学習を実施する。生徒学習モデルが決定木など他の学習の場合も、損失関数を算出する。プロセッサは、損失関数に基づいて、生徒学習モデルの学習を実施すれば良い。損失関数は、out_o(t),out_s(t), d1(out_o(t),out_o(t+1)), d1(out_s(t),out_s(t+1))を用いて算出することができる。
【０１８３】
本学習において、教師モデルと生徒学習モデルが必ずしも同一である必要はない。例えば、教師モデルが多項ロジスティクス回帰の学習済みモデルで、生徒学習モデルが勾配ブースティング木であっても良い。また、本実施の形態にかかる学習方法は、学習済み教師モデル構築で用いた学習データに対して、新たに得られたデータを用いた教師あり学習にも対応している。ここで、教師モデル構築では半教師あり学習であっても良い。さらには、生徒学習モデルの初段入力段に平均、中央値、分散、離散コサイン変換やＨＯＧ、などの特徴量を抽出する機構を具備していても良い。
【０１８４】
（実施の形態４の変形例１）
図１８では、一階差分までの振舞いを可能な限り維持する学習装置の例が示されていたが、これをｎ階差分までを考慮して振舞いを可能な限り維持する学習へと拡張する事は容易である。ｎ階差分までを考慮した教師学習済みモデルを図１９に示し、ｎ階差分までを考慮した生徒学習モデルを図２０に示す。
【０１８５】
図１９、図２０に示すモデルを図１８の対応する部分に当てはめる。具体的には、図１８の一点鎖線枠で示された教師モデル（一点鎖線）に図１９の教師学習済みモデルを適用する。また、図１８の点線枠で示された生徒モデルに図２０の生徒学習モデルを適用する。ｎ階以下の差分出力のそれぞれに対して、適切な距離関数や誤差関数等の関数を選ぶ。そして、選んだ関数の出力を構成し、構成した出力のデータ順tの総和を最小化するように学習すれば良い。ここで、差分の算出は、適切な距離関数なり誤差関数なりを選んで構成されているものとする。また、０階差分は、学習モデルＭ１、Ｍ２からの直接出力に対応する。ｎは０以上の整数とする。
【０１８６】
また、図１９と図２０の構成から、ｎ階以下すべての差分を用いるのではなく、ｎ階以下の幾つかの差分を可能な限り維持する学習を構成する事も容易に実現できることがわかる。実際、選択した差分を用いて損失関数を構成すれば良いだけである。例えば、ｍを０以上、ｎより小さい整数とする。図１９、図２０から、ｎ階差分を考慮した学習モデルは、内部にｍ階差分を考慮したモデルを含んでいる事は明らかである。損失関数がｎ階までの差分のうちの１つ以上を用いて構成されていればよい。損失関数を最小化するように、学習を行う。
【０１８７】
図２１に、図１８〜図２０に記載した学習手法と実施の形態１又は２の等価性検証方法とを組み合わせた学習方法を示す。本学習方法での考え方の基本は、以下の通りである。（ｎ＋ｋ）階差分考慮で学習する事で、より滑らかな振舞い等価性を可能な限り維持する学習を実施する。また、等価性の検証ではより緩和した条件であるｎ階差分までを考慮した振舞い等価性検証を適用する。そして、検証合格した生徒学習済みモデルの中で、交差検証にて最も精度のよい、即ち、最も尤もらしい、生徒学習済みモデルを構築する。
【０１８８】
ここで、図２１に表れる記号は下記となる。
ｎ：考慮する差分を表す入力パラメータ、ｎは０以上の整数
ｋ：考慮する差分のオフセットを表す入力パラメータ、ｋは０以上の整数
【０１８９】
ここでは、実施の形態２の第１の例にかかる振舞い等価性検証手法を採用した例を記載する。もちろん、実施の形態２の第２の例にかかる振舞い等価性検証手法を採用しても良い。また、振舞い等価性検証に必要となる入力パラメータは適宜与えられているものとする。但し、ｎ＝０では、実施の形態１の第１の例にかかる振舞い等価性検証を用いるものとする。もちろん、ｎ＝０の場合、実施の形態１の第２の例にかかる振舞い等価性検証手法を採用しても良い。
【０１９０】
まず、図１８〜２０で示されたように、（ｎ＋ｋ）階差分までを考慮した振舞い等価性維持の機械学習を実施する（Ｓ１２１）。この結果、生徒学習済みモデル１５１が構築される。生徒学習済みモデル１５１は、内部に差分未考慮の生徒学習モデルを内部に（ｎ＋ｋ＋１）個含んでいる。
【０１９１】
（ｎ＋ｋ＋１）個の生徒学習済みモデル１５１の中から、ｎ階差分モデルを抽出する（Ｓ１２２）。つまり、out_s(t+n+k)からout_s(t+k)までの出力を持つ（ｎ＋１）個から成る学習済みモデル１５２の部分モデルを取得する。
【０１９２】
ｎ階差分を考慮した振舞い等価性検証を実施する（Ｓ１２３）。ここでは、図９、図１３で示した振舞い等価性検証が実施される。ｎ＝０の場合、図５、図７で示した振舞い等価性検証が実施される。
【０１９３】
振舞い等価性検証結果に基づいて、十分な等価性を有しているか否かを判定する（Ｓ１２４）。つまり、求める確率Θ以上で振舞いが一致するか否かを判定する。振舞いが一致する確率がΘ以上の場合、十分な等価性を有していると判定し、振舞いが一致する確率がΘ未満の場合、十分な等価性を有していないと判定する。
【０１９４】
十分な等価性がないと判定された場合（Ｓ１２４のＮＯ）、Ｓ１２９に移行して、パラメータｎ，ｋを調整する。Ｓ１２９の処理については後述する。十分な等価性があると判定された場合（Ｓ１２４のＹＥＳ）、学習済みモデルを分割する（Ｓ１２５）。これにより、（ｎ＋１）個の学習済みモデル１５３が格納される。
【０１９５】
そして、（ｎ＋１）個の学習済みモデルのそれぞれに対して交差検証を行う（Ｓ１２６）。（ｎ＋１）個の学習済みモデルの中に、精度が十分なモデルがあるか否かを判定する（Ｓ１２７）。精度が十分なモデルがないと判定された場合（Ｓ１２７のＮＯ）、Ｓ１２９に移行する。精度が十分なモデルがあると判定された場合（Ｓ１２７のＹＥＳ）、最も精度が高い学習済みモデルを選択する（Ｓ１２８）。つまり、論理式φを満たす確率が最も高いモデルが、最も尤もらしい学習済みモデルとして選択される。これにより、手本モデルの振舞い等価性を維持した学習モデルを構築することができる。
【０１９６】
Ｓ１２９では、パラメータｎ，ｋを調整して、Ｓ１２１に戻る。具体的には、Ｓ１２９のパラメータ調整は、例えば、以下の通り実施される。ｎ＝０とし、ｋを１から１刻みに５まで増加させていく。ｋが５になるまでにＳ１２７の判定がＹＥＳしなければ、ｎをインクリメントする。つまり、ｎを１増加して、同様にｋを１から１刻みに３まで増加させる。こうしたｎ，ｋの更新をｎ＝５となるまで繰り返すとしても良い。また、繰返しの結果、十分な等価性が得られなければ、処理を終了するものとして良い。ここで、ｎ，ｋはstatic変数とする。もちろん、ｎ，ｋは上記の値に限られるものではない。
【０１９７】
（実施の形態４の変形例２）
図２２に実施の形態４の変形例２にかかる学習装置、及び方法について説明する。変形例２において、対象とする機械学習としては、判別や分類を対象とする。ｋ近傍法、決定木(分類木)、ニューラルネットワーク、ベイジアンネットワーク、サポートベクターマシン、(重)回帰、(多項)ロジスティクス回帰など、の教師あり学習全般が対象となる。ここで、図２２に表れる記号は下記となる。
【０１９８】
【数１０】
2020004178.tif 000012
【０１９９】
図２２の手法は、ｎ階差分を考慮した上で、生徒教師学習手法を拡張した手法である。図１８では、図１５，図１６などの出力調整が教師学習済みモデルに付加されている。一階差分までを考慮した学習では、以下の式（５）が最小となるように、学習を実施する。
【０２００】
【数１１】
2020004178.tif 000013
【０２０１】
生徒学習モデルがニューラルネットワークであれば、例えばｄ１を二乗誤差、ｄ２をKL-Divergenceとして、誤差逆伝搬を実施する。このようにして、生徒学習モデルの学習を実施する。なお、必要に応じ正則化項を導入した上で、誤差逆伝搬を実施してもよい。
【０２０２】
特に、例えばスパース学習や量子化によるビット幅削減、Distillationなど、ニューラルネットワークの学習や再学習での最適化に関する手法を併せて実施しても良い。再学習は何度実施しても良い。生徒学習モデルが多項ロジスティクス回帰や重回帰であれば、ｄ１とｄ２を例えば２乗誤差として、残差最小化を実施する。なお、必要に応じ正則化項を導入した上で残差最小化を実施してもよい。このようにして、生徒学習モデルの学習を実施する。
【０２０３】
生徒学習モデルが決定木など他の学習の場合も、 out_o’(t), out_s(t), d1(out_o’(t),out_o’(t+1)), d1(out_s(t),out_s(t+1))を用いて損失関数の算出する。そして、損失関数に基づいて、生徒学習モデルの学習を実施すれば良い。
【０２０４】
なお、本学習方法において、学習済み教師モデルと生徒学習モデルが必ずしも同一である必要はない。例えば、教師が多項ロジスティクス回帰の学習済みモデルで、生徒が勾配ブースティング木であっても良い。また、学習済み教師モデル構築で用いた学習データに対して、新たに得られたデータを用いた教師あり学習にも対応している。ここで、教師モデル構築では半教師あり学習であっても良い。さらには、生徒学習モデルの初段入力段に平均、中央値、分散、離散コサイン変換やＨＯＧ、などの特徴量を抽出する機構を具備していても良い。
【０２０５】
図２２では、一階差分までの振舞いを可能な限り維持する学習例が示されていたが、これをｎ階差分までを考慮して振舞いを可能な限り維持する学習へと拡張する事は容易である。図２２の対応する部分に、図１９、図２０のモデルを当てはめればよい。より具体的には、教師モデルについては、図１８の学習済みモデル出力の出力調整１０４を図１９に付加して適用すればよい。対象モデルについては、図２０に示されている、ｎ階差分までを考慮した生徒学習モデルの構成を、適用すればよい。
【０２０６】
ｎ階以下の差分出力のそれぞれに対して、適切な距離関数や誤差関数等の関数を選ぶ。そして、選んだ関数の出力を構成し、構成した出力のデータ順tの総和を最小化するように学習すれば良い。ここで、差分の算出は、適切な距離関数なり誤差関数なりを選んで構成されているものとする。また、０階差分は、学習モデルＭ１、Ｍ２からの直接出力に対応する。ｎは０以上の整数とする。
【０２０７】
また、図１９と図２０の構成から、ｎ階以下すべての差分を用いるのではなく、ｎ階以下の幾つかの差分を可能な限り維持する学習を構成する事も容易に実現できることがわかる。実際、選択した差分を用いて損失関数を構成すれば良いだけである。
【０２０８】
図２３を用いて、変形例２にかかる学習方法について説明する。図２３では、図２２に対して、ｎ階差分を考慮する処理を示すフローチャートである。図２３では、図１９に示す手本モデルの出力に対して出力調整１０４が実施されている。さらに、図２０の学習対象モデル（第２の学習モデルＭ２）を適用している。
【０２０９】
本手法での考え方の基本は、以下の通りである。出力調整を伴うラベル付き教師データを用いて（ｎ＋ｋ）階差分考慮で学習することで、より滑らかな振舞い等価性を可能な限り維持する学習を実施することができる。さらに、等価性の検証では、より緩和した条件であるｎ階差分までを考慮した振舞い等価性検証を適用する。そして、検証合格した生徒学習済みモデルの中で、交差検証にて最も精度のよい、即ち、最も尤もらしい、生徒学習済みモデルを構築する。
【０２１０】
図２３に表れる記号は以下の通りである。
n：考慮する差分を表す入力パラメータ、ｎは０以上の整数
k：考慮する差分のオフセットを表す入力パラメータ、ｋは0以上の整数
l：出力調整アルゴリズムの入力パラメータ、ｌは１以上の整数
p：出力調整アルゴリズムの入力パラメータ、ｐは０．５より大きく１．０より小さい実数
【０２１１】
ここでは簡単のため、実施の形態２の第１の例にかかる振舞い等価性検証手法を採用した例を記載するが、第２の例にかかる振舞い等価性検証手法を採用しても良い。また、振舞い等価性検証に必要となる入力パラメータは適宜与えられているものとする。ただし、ｎ＝０の場合、実施の形態１の第１の例にかかる振舞い等価性検証が用いられる。もちろん、ｎ＝０の場合、実施の形態１の第２の例にかかる振舞い等価性検証手法を採用しても良い。
【０２１２】
（ｎ＋ｋ）階差分までを考慮した振舞い等価性維持の機械学習を実施する（Ｓ１４１）。ここでは、図１９に対して出力調整１０４を適用した上で、学習が実施される。さらに、図２２に対して、図２０を適用した上で、学習が実施される。この結果、生徒学習済みモデル１５１が構築される。生徒学習済みモデル１５１は、内部に差分未考慮の生徒学習モデルを内部に（ｎ＋ｋ＋１）個含んでいる。
【０２１３】
（ｎ＋ｋ＋１）個の生徒学習済みモデル１５１の中から、ｎ階差分モデルを抽出する（Ｓ１４２）。つまり、out_s(t+n+k)からout_s(t+k)までの出力を持つ（ｎ＋１）個から成る学習済みモデル１５２の部分モデルを取得する。
【０２１４】
ｎ階差分を考慮した振舞い等価性検証を実施する（Ｓ１４３）。ここでは、図９、図１３で示した振舞い等価性検証が実施される。ｎ＝０の場合、図５、図７で示した振舞い等価性検証が実施される。
【０２１５】
振舞い等価性検証結果に基づいて、十分な等価性を有しているか否かを判定する（Ｓ１４４）。つまり、求める確率Θ以上で振舞いが一致するか否かを判定する。振舞いが一致する確率がΘ以上の場合、十分な等価性を有していると判定し、振舞いが一致する確率がΘ未満の場合、十分な等価性を有していないと判定する。
【０２１６】
十分な等価性がないと判定された場合（Ｓ１４４のＮＯ）、Ｓ１４９に移行する。十分な等価性があると判定された場合（Ｓ１４４のＹＥＳ）、学習済みモデルを分割する（Ｓ１４５）。これにより、（ｎ＋１）個の学習済みモデル１５３が格納される。
【０２１７】
そして、（ｎ＋１）個の学習済みモデルのそれぞれに対して交差検証を行う（Ｓ１４６）。（ｎ＋１）個の学習済みモデルの中に、精度が十分なモデルがあるか否かを判定する（Ｓ１４７）。精度が十分なモデルがないと判定された場合（Ｓ１４７のＮＯ）、Ｓ１４９に移行する。精度が十分なモデルがあると判定された場合（Ｓ１４７のＹＥＳ）、最も精度が高い学習済みモデルを選択する（Ｓ１４８）。つまり、論理式φを満たす確率が最も高いモデルが、最も尤もらしい学習済みモデルとして選択される。これにより、手本モデルの振舞い等価性を維持した学習モデルを構築することができる。
【０２１８】
Ｓ１４９では、パラメータｌ，ｐ，ｎ,ｋを調整して、Ｓ１４１に戻る。Ｓ１４９のパラメータ調整は、例えば、以下の通り実施される。ｎ＝０とし、ｋを１から１刻みに５まで増加させていく中で、ｌ＝１とし、ｐを０．６から０．１刻みに増加させていく。この結果、Ｓ１４７の判定がＹＥＳとならなければ、ｌをインクリメントして同様にｐを０．６から０．１刻みに増加させる。こうしたｌ，ｐの更新をｌ＝５となるか、Ｓ１４７がＹＥＳとなるまで繰り返す。
【０２１９】
Ｓ１４７の判定がＹＥＳとならなければ、ｎをインクリメントし同様にｋを１から１刻みに３まで増加させ、その中でｌ＝１とし、ｐを０．６から０．１刻みに増加させる。Ｓ１４７の判定がＹＥＳとならなければ、lをインクリメントし同様にpを０．６から０．１刻みに増加させる。こうしたｌ，ｐの更新をｌ＝５となるか、あるいは、Ｓ１４７の判定がＹＥＳとなるまで繰り返す。こうしたｌ，ｐ，ｎ，ｋの更新をｎ＝５となるまで繰り返すとしても良い。また、繰返しの結果、Ｓ１４４にて十分な等価性が得られなければ、処理を終了するものとして良い。ここで、ｌ，ｐ，ｎ，ｋはstatic変数とする。もちろん、ｌ，ｐ，ｎ，ｋは上記の値に限られるものではない。
【０２２０】
このように、実施の形態４では、１階以上の差分を考慮している。このようにすることで、滑らかさまでを考慮した振舞いの等価性を評価することができる。よって、滑らかさを含めた振舞いが手本モデルと等価な学習モデルを構築することができる。
【０２２１】
［実施の形態５］
（実施の形態５の第１の例）
実施の形態５では、敵対的サンプル（Adversarial Example）耐性を獲得するための学習手法を開示する。図２４は、敵対的サンプル耐性のない学習済みモデル（第１の学習モデルＭ１）と、検証対象の学習済みモデル（第２の学習モデルＭ２）との等価性を検証する学習装置を示す。実施の形態５では、実施の形態１〜４と同様にＢＳＭＣ法を用いている。そして、第２の学習モデルＭ２が敵対的サンプル特性を獲得できたか否かを判定する。
【０２２２】
本実施の形態では、検証用テストデータと各データに対する敵対的サンプルをテストデータ３５として用いている。検証用テストデータとそれに含まれる各データに対して敵対的サンプルを構成したデータを追加して、テストデータ３５を再構築している。
【０２２３】
テストデータ３５は、プログラム実行環境３３に入力される。プログラム実行環境３３は、入力データを用いて、第１の学習モデルＭ１、及び第２の学習モデルＭ２を実行する。これにより、実行トレースσ１，σ２が取得される。
【０２２４】
また、等価性に関して、第１及び第２の学習モデルＭ１、Ｍ２が満たすべき性質が論理式φにより予め定義されている。論理式φは、例えば、有界線形時相論理式（ＢＬＴＬ）式で記述されている。論理式φの望ましい成立確率が事前に判定値Θとして定義されている。論理式φについては、実施の形態１で示した例５、６を用いることができる。もちろん、他の論理式を用いてもよい。
【０２２５】
有界モデル検査ツール３７は、ＢＭＣにより、実行トレースσ１，σ２が論理式φを満たすかを確認する。つまり、有界モデル検査ツール３７は、σ１||σ２|＝φが成立するかをＢＭＣで確認する。有界モデル検査ツール３７はＢＭＣでの確認結果に基づいて、ベイズ因子Ｂを算出する。
【０２２６】
有界モデル検査ツール３７は、ベイズ因子Ｂに基づいて、ベイズ仮説テスト３８を実施するに足るか否かを判定する。ベイズ仮説テスト３８は、σ１||σ２|＝φの成立確率が判定値Θ以上であるか否かを判定するためのテストである。プログラム実行環境３３は、実施の形態２で示したように、テストデータ３５からの無作為復元抽出で入力データを構成している。よって、ベイズ仮説テスト３８を実施するに足りるまで、実行トレースσ１，σ２を取得することができる。そして、有界モデル検査ツール３７は、実行トレースσ１，σ２に基づいて、ＢＭＣでのσ１||σ２|＝φの成立可否をチェックする。
【０２２７】
ベイズ因子Ｂがベイズ仮説テスト３８を実施するに足りた場合、ベイズ仮説テスト３８を実施して、σ１||σ２|＝φの成立確率が判定値Θ以上か否かを判定する。有界モデル検査ツール３７は、第１の学習モデルＭ１と第２の学習モデルＭ２が論理式φをみたす確率がΘ以上であるか否かを判定する。
【０２２８】
なお、Ｍ１||Ｍ２|＝P≧Θ(φ)は、第１の学習モデルＭ１と第２の学習モデルＭ２が論理式φを満たす確率がΘ以上である事を意味する。Ｍ１||Ｍ２|＝P<Θ(φ)は、第１の学習モデルＭ１と第２の学習モデルＭ２が論理式φを満たす確率がΘ未満である事を意味する。
【０２２９】
ここで、Adversarial Example構築では、下記論文を用いても良い。
Synthesizing Robust Adversarial Examples
https://arxiv.org/abs/1707.07397
【０２３０】
上記の文献の利用においては、敵対的サンプル構成で実施する確率的勾配法(Stochastic Gradient Decent)の操作を途中で止める事で、必ずしも完全な誤りを出力するわけではない敵対的サンプルを構成しても良い。もちろん、他の手法を用いて、敵対的サンプルを構築してもよい。
【０２３１】
（実施の形態５の第２の例）
図２５は、実施の形態５の第２の例にかかる評価装置を説明するための図である。図２５では、図２４と同様に、敵対的サンプル耐性のない学習済みモデル（第１の学習モデルＭ１）と、検証対象の学習済みモデル（第２の学習モデルＭ２）との等価性を検証する学習装置を示す。実施の形態５では、実施の形態１〜４と同様にＢＳＭＣ法を用いている。そして、第２の学習モデルＭ２が敵対的サンプル特性を獲得できたか否かを判定する。
【０２３２】
第２の例においても、第１の例と同様に、検証用テストデータと各データに対する敵対的サンプルをテストデータ３５として用いている。検証用テストデータとそれに含まれる各データに対して敵対的サンプルを構成したデータを追加して、テストデータ３５を再構築している。
【０２３３】
プログラム実行環境３３には、テストデータ３５が入力されている。プログラム実行環境３３は、テストデータ３５を用いて、第１の学習モデルＭ１、及び第２の学習モデルＭ２のプログラムを実行する。すなわち、プログラム実行環境３３は、テストデータ３５を入力データとして、プログラムである第１の学習モデルＭ１、及び第２の学習モデルＭ２を実行する。これにより、第１の学習モデルＭ１、及び第２の学習モデルＭ２の実行トレースσ１，σ２を取得することができる。
【０２３４】
また、等価性に関して、第１及び第２の学習モデルＭ１、Ｍ２が満たすべき性質が論理式φにより予め定義されている。論理式φは、例えば、有界線形時相論理式（ＢＬＴＬ）式で記述されている。論理式φについては、実施の形態１で示した例５、６を用いることができる。もちろん、他の論理式を用いてもよい。論理式φ成立の望ましい事後確率の最小値が判定値ｃとして定義されている。判定値ｃは予め設定された定数である。
【０２３５】
有界モデル検査ツール３７は、ＢＭＣにより、実行トレースσ１，σ２が論理式φを満たすかを確認する。つまり、有界モデル検査ツール３７は、σ１||σ２|＝φが成立するかをＢＭＣで確認する。そして、有界モデル検査ツール３７は、ＢＭＣでの確認結果に基づいて、σ１||σ２|＝φが成立する確率の平均を含む信頼区間を算出する。
【０２３６】
有界モデル検査ツール３７は、信頼区間からベイズ事後確率Ｉを算出する。有界モデル検査ツール３７は、ベイズ事後確率Ｉが、判定値ｃ以上であるいか否かが判定する。ベイズ事後確率Ｉが判定値ｃ以上となるまで、プログラム実行環境３３は、実行トレースσ１，σ２を取得する。つまり、ベイズ事後確率Ｉが判定値ｃ未満である場合、プログラム実行環境３３は、次のテストデータ３５を用いて、実行トレースσ１，σ２を取得する。
【０２３７】
有界モデル検査ツール３７が、ＢＭＣでσ１||σ２|＝φが成立するか否かをチェックする。有界モデル検査ツール３７は、チェック結果に基づいて、成立確率の平均値と信頼区間を算出する。
【０２３８】
ベイズ事後確率Ｉが判定値ｃ以上となった場合、有界モデル検査ツール３７は、成立確率の平均値と信頼区間を出力する。本実施の形態２で示したように、ベイズ事後確率Ｉが判定値ｃ以上となるまで、交差検証用のテストデータ３５からの無作為復元抽出で入力データを構成している。そして、テストデータ３５を入力データとすることで、プログラム実行環境３３は、実行トレースσ１、σ２を取得する。
【０２３９】
このように、第１の学習モデルＭ１と第２の学習モデルＭが論理式φを満たす成立確率の平均値とその信頼区間が得られる。ここで、 σ１||σ２|＝φの望ましい成立確率を満たすかに関しては、得られた平均値と信頼区間を用いて別途判定する事となる。
【０２４０】
なお、敵対的サンプル構築については、第１の例で示した文献を用いることができる。もちろん、他の手法を用いて、敵対的サンプルを構築してもよい。
【０２４１】
構築した敵対的サンプルは本学習において正解ラベルが付与された教師ありデータとなる。その為、第１のモデルＭ１に対する教師ありデータが存在しない場合、敵対的サンプル以外に対する第１の学習モデルＭ１の出力を第２の学習モデルＭ２の教師ありデータとして用いる、とすれば、第１の学習モデルＭ１は様々な手法で構築することができる。例えば、第１の学習モデルＭ１は教師なし・教師あり・半教師あり・強化学習、及びこれらの組み合わせで構築された学習済みモデルであるとして良い。特に第１の学習モデルＭ１に対する教師ありデータが存在しない場合、以下に開示する図２６、図２７では、敵対的サンプル以外の入力に対する第１の学習モデルＭ１の全出力をラベル一致した出力として扱う事となる。
【０２４２】
実施の形態５によれば、敵対的サンプル耐性のない手本モデルの振舞いを維持しつつ、敵対的サンプル耐性のある学習モデルを構築することができる。よって、敵対的サンプル耐性のない学習モデルを敵対的サンプル耐性のある学習モデルに置き換えることが可能となる。
【０２４３】
本実施の形態５の第１及び第２の例においても実施の形態２で示したｎ階差分を考慮した検証を実施することができる。例えばｎ階差分考慮の検証では、第１の学習モデルＭ１でラベル一致したs(t)個(s(t)≦n)の出力系列に対して、s-1階差分を構成する。また、対応する第２の学習モデルＭ２の出力系列で同様にs(t)-1階差分を構成する。対応するu階差分(0≦u≦s(t))同士の距離なり誤差なり損失関数なりがε以下となるか否かを検証するプロパティを用いて実施すれば良い。これを、敵対的サンプル耐性モデルを対象としたｎ階差分考慮の振舞い等価性検証とする。ここでｔは、データ順である。
【０２４４】
［実施の形態６］
実施の形態６では、実施の形態５に記載された評価方法を、実施の形態４の図２１等に記載した学習方法に組み合わせている。このようにすることで、手本モデルの振舞い等価性を極力維持しつつ、敵対的サンプル特性を持つモデルを学習することができる。
【０２４５】
本実施の形態にかかる学習装置は、（ｎ＋ｋ）階差分考慮で学習する事で、より滑らかな振舞い等価性を可能な限り維持する学習を実施する。そして、等価性の検証ではより緩和した条件であるｎ階差分までを考慮した振舞い等価性検証を適用している。検証合格した生徒学習済みモデルの中で、交差検証にて最も精度のよい、即ち、最も尤もらしい、生徒学習済みモデルを構築する。ただし、敵対的サンプルを入力としての学習では、教師学習済みモデルの出力を用いず、学習用データが持つ教師ラベルを用いて、生徒学習モデルの学習を実施するものとする。
【０２４６】
また、ｎ階差分考慮の学習では、第１の学習モデルＭ１でラベル一致したs(t)個(s(t)≦n)の出力系列に対して、s(t)-1階差分を構成する。また、対応する第２の学習モデルＭ２の出力系列で同様にs-1階差分を構成し、対応するu階差分(0≦u≦s(t))同士の距離なり誤差なり損失関数を構成して学習するものとする。ここでｔは、データ順である。
【０２４７】
図２６は、本実施の形態にかかる学習方法を示すフローチャートである。図２６では、実施の形態５の評価方法を、図１８〜図２０等に記載された学習方法に適用している。
【０２４８】
以下の説明では、実施の形態５の第１に例にかかる評価方法を採用した例を記載するが、第２の例にかかる評価方法を採用しても良い。また、敵対的サンプル耐性モデル向け振舞い等価性検証に必要となる入力パラメータは適宜与えられているものとする。
【０２４９】
図２６に表れる記号は下記となる。
n：考慮する差分を表す入力パラメータ、ｎは０以上の整数
k：考慮する差分のオフセットを表す入力パラメータ、kは０以上の整数
【０２５０】
まず、図１８〜２０で示されたように、（ｎ＋ｋ）階差分までを考慮した振舞い等価性維持の機械学習を実施する（Ｓ２２１）。この結果、生徒学習済みモデル１５１が構築される。生徒学習済みモデル１５１は、内部に差分未考慮の生徒学習モデルを内部に（ｎ＋ｋ＋１）個含んでいる。
【０２５１】
（ｎ＋ｋ＋１）個のモデルの中から、ｎ階差分モデルを抽出する（Ｓ２２２）。つまり、out_s(t+n+k)からout_s(t+k)までの出力を持つ（ｎ＋１）個から成る学習済みモデル１５２の部分モデルを取得する。
【０２５２】
ｎ階差分を考慮した敵対的サンプル向け振舞い等価性検証を実施する（Ｓ２２３）。ここでは、図２４又は図２５で示した振舞い等価性検証が実施される。つまり、各データに対して敵対的サンプルを構築したテストデータを用いて、等価性が検証されている。
【０２５３】
振舞い等価性検証結果に基づいて、十分な等価性を有しているか否かを判定する（Ｓ２２４）。つまり、求める確率Θ以上で振舞いが一致するか否かを判定する。振舞いが一致する確率がΘ以上の場合、十分な等価性を有していると判定し、振舞いが一致する確率がΘ未満の場合、十分な等価性を有していないと判定する。
【０２５４】
十分な等価性がないと判定された場合（Ｓ２２４のＮＯ）、Ｓ２２９に移行する。十分な等価性があると判定された場合（Ｓ２２４のＹＥＳ）、学習済みモデルを分割する（Ｓ２２５）。これにより、（ｎ＋１）個の学習済みモデル１５３が格納される。
【０２５５】
そして、（ｎ＋１）個の学習済みモデルのそれぞれに対して交差検証を行う（Ｓ２２６）。（ｎ＋１）個の学習済みモデルの中に、図２４等に示す敵対的サンプル耐性モデル向けの等価性検証に合格し、精度が十分なモデルがあるか否かを判定する（Ｓ２２７）。精度が十分なモデルがないと判定された場合（Ｓ２２７のＮＯ）、Ｓ２２９に移行する。精度が十分なモデルがあると判定された場合（Ｓ２２７のＹＥＳ）、最も精度が高い学習済みモデルを選択する（Ｓ２２８）。つまり、論理式φを満たす確率が最も高いモデルが、最も尤もらしい学習済みモデルとして選択される。
【０２５６】
このようにすることで、敵対的耐性モデル向け振舞い等価性検証に合格する中で、精度が最も高いモデルを出力することができる。これにより、手本モデルの振舞い等価性を維持しつつ、敵対的サンプル耐性を有する学習モデルを構築することができる。また手本モデルが敵対的サンプル耐性を持つ場合には、振舞い等価性を維持しつつ敵対的サンプル耐性を向上する事も出来る。
【０２５７】
Ｓ２２９では、パラメータｎ,ｋを調整して、Ｓ２２１に戻る。具体的には、Ｓ２２９のパラメータ調整は、例えば、以下の通り実施される。ｎ＝０とし、ｋを１から１刻みに５まで増加させていく。ｋが５になるまでにＳ２２７の判定がＹＥＳしなければ、ｎをインクリメントする。つまり、ｎを１増加して、同様にｋを１から１刻みに３まで増加させる。こうしたｎ，ｋの更新をｎ＝５となるまで繰り返すとしても良い。また、繰返しの結果、十分な等価性が得られなければ、処理を終了するものとして良い。ここで、ｎ，ｋはstatic変数とする。もちろん、ｎ，ｋは上記の値に限られるものではない。
【０２５８】
（実施の形態６の変形例１）
【０２５９】
実施の形態６の変形例１では、実施の形態５に記載された評価方法を、実施の形態４の図２３等に記載した学習方法に組み合わせている。このようにすることで、手本モデルの振舞い等価性を極力維持しつつ、敵対的サンプル特性を持つモデルを学習することができる。
【０２６０】
変形例１にかかる学習装置は、（ｎ＋ｋ）階差分考慮で学習する事で、より滑らかな振舞い等価性を可能な限り維持する学習を実施する。そして、等価性の検証ではより緩和した条件であるｎ階差分までを考慮した振舞い等価性検証を適用している。検証合格した生徒学習済みモデルの中で、交差検証にて最も精度のよい、即ち、最も尤もらしい、生徒学習済みモデルを構築する。ここで、敵対的サンプルのデータ構成段階で、適切な教師ラベルが付加されている。すなわち、敵対的サンプル耐性がある程度備わっている教師学習済みモデルは勿論の事、敵対的サンプル耐性のない教師学習済みモデルの出力は、出力調整により、適切なラベル付き教師データに変換可能である。なお、出力調整では、適切なパラメータｐ、ｌを設定している。
【０２６１】
図２７は、本実施の形態６の変形例１にかかる学習方法を示すフローチャートである。図２７では、実施の形態５の評価方法を、図１８〜図２０等に記載された学習方法に適用している。さらに、図２７では、図１５〜図１７に示された手本モデルの出力調整１０４が実施されている。
【０２６２】
図２７に表れる記号は以下の通りである。
n：考慮する差分を表す入力パラメータ、ｎは０以上の整数
k：考慮する差分のオフセットを表す入力パラメータ、ｋは0以上の整数
l：出力調整アルゴリズムの入力パラメータ、ｌは１以上の整数
p：出力調整アルゴリズムの入力パラメータ、ｐは０．５より大きく１．０より小さい実数
【０２６３】
まず、図１８〜２０で示されたように、（ｎ＋ｋ）階差分までを考慮した振舞い等価性維持の機械学習を実施する（Ｓ２４１）。この結果、生徒学習済みモデル１５１が構築される。生徒学習済みモデル１５１は、内部に差分未考慮の生徒学習モデルを内部に（ｎ＋ｋ＋１）個含んでいる。
【０２６４】
（ｎ＋ｋ＋１）個のモデルの中から、ｎ階差分モデルを抽出する（Ｓ２４２）。つまり、out_s(t+n+k)からout_s(t+k)までの出力を持つ（ｎ＋１）個から成る学習済みモデル１５２の部分モデルを取得する。
【０２６５】
ｎ階差分を考慮した敵対的サンプル向け振舞い等価性検証を実施する（Ｓ２４３）。ここでは、図２４又は図２５で示した振舞い等価性検証が実施される。つまり、各データに対して敵対的サンプルを構築したテストデータを用いて、等価性が検証されている。
【０２６６】
振舞い等価性検証結果に基づいて、十分な等価性を有しているか否かを判定する（Ｓ２４４）。つまり、求める確率Θ以上で振舞いが一致するか否かを判定する。振舞いが一致する確率がΘ以上の場合、十分な等価性を有していると判定し、振舞いが一致する確率がΘ未満の場合、十分な等価性を有していないと判定する。
【０２６７】
十分な等価性がないと判定された場合（Ｓ２４４のＮＯ）、Ｓ２４９に移行する。十分な等価性があると判定された場合（Ｓ２４４のＹＥＳ）、学習済みモデルを分割する（Ｓ２４５）。これにより、（ｎ＋１）個の学習済みモデル１５３が格納される。
【０２６８】
そして、（ｎ＋１）個の学習済みモデルのそれぞれに対して交差検証を行う（Ｓ２４６）。（ｎ＋１）個の学習済みモデルの中に、図２４等に示す敵対的サンプル耐性モデル向けの等価性検証に合格し、精度が十分なモデルがあるか否かを判定する（Ｓ２４７）。精度が十分なモデルがないと判定された場合（Ｓ２４７のＮＯ）、Ｓ２４９に移行する。精度が十分なモデルがあると判定された場合（Ｓ２４７のＹＥＳ）、最も精度が高い学習済みモデルを選択する（Ｓ２４８）。つまり、論理式φを満たす確率が最も高く最も精度が高いモデルが、最も尤もらしい学習済みモデルとして選択される。
【０２６９】
このようにすることで、敵対的耐性モデル向け振舞い等価性検証に合格する中で、精度が最も高いモデルを出力することができる。これにより、手本モデルの振舞い等価性を維持しつつ、敵対的サンプル耐性を有する学習モデルを構築することができる。
【０２７０】
Ｓ２４９では、パラメータｌ，ｐ，ｎ,ｋを調整して、Ｓ２４１に戻る。Ｓ２４９のパラメータ調整は、例えば、以下の通り実施される。ｎ＝０とし、ｋを１から１刻みに５まで増加させていく中で、ｌ＝１とし、ｐを０．６から０．１刻みに増加させていく。この結果、Ｓ２４７の判定がＹＥＳとならなければ、ｌをインクリメントして同様にｐを０．６から０．１刻みに増加させる。こうしたｌ，ｐの更新をｌ＝５となるか、Ｓ２４７がＹＥＳとなるまで繰り返す。
【０２７１】
Ｓ２４７の判定がＹＥＳとならなければ、ｎをインクリメントし同様にｋを１から１刻みに３まで増加させ、その中でｌ＝１とし、ｐを０．６から０．１刻みに増加させる。Ｓ２４７の判定がＹＥＳとならなければ、lをインクリメントし同様にpを０．６から０．１刻みに増加させる。こうしたｌ，ｐの更新をｌ＝５となるか、あるいは、Ｓ２４７の判定がＹＥＳとなるまで繰り返す。こうしたｌ，ｐ，ｎ，ｋの更新をｎ＝５となるまで繰り返すとしても良い。また、繰返しの結果、Ｓ２４４にて十分な等価性が得られなければ、処理を終了するものとして良い。ここで、ｌ，ｐ，ｎ，ｋはstatic変数とする。もちろん、ｌ，ｐ，ｎ，ｋは上記の値に限られるものではない。
【０２７２】
［その他の実施の形態］
図２８を用いて、その他の実施の形態にかかる学習装置について説明する。ここでは、手本となる学習アルゴリズムがあり、アルゴリズムの改善を実施した際に、改善アルゴリズムがどの程度の改善を実施しているのかを、検証している。この検証には、上記の振舞い等価性検証が用いられている。ここで、学習対象モデルとそれに対応する学習データ、及び学習済みモデルを対象とした交差検証データの一式が複数用意されているとする。
【０２７３】
図２８では、先ず学習対象モデル群３０１とそれに対応する学習データ群３０２を取得する。さらに、手本学習済みモデル３０５、学習済みモデル３０６を対象とした交差検証用のテストデータ群３０８を取得する。学習対象モデル群３０１とそれに対応する学習データ群３０２を用いて、手本学習アルゴリズム３０３による学習と改善学習アルゴリズム３０４による学習をそれぞれ実施する。
【０２７４】
手本学習アルゴリズムの学習によって、手本学習済みモデル３０５が構築される。また、改善学習アルゴリズム３０４の学習によって、改善が期待される学習済みモデル３０６が構築される。手本学習済みモデル３０５、及び改善が期待される学習済みモデル３０６はメモリに格納される。
【０２７５】
交差検証用のテストデータ群３０８を用いて、手本学習済みモデル３０５、及び改善が期待される学習済みモデル３０６に対する振舞い等価性検証３０９を実施する。等価性検証は、図５、又は図６等に記載された手法を用いることができる。振舞い等価性検証３０９の実行結果である改善／改悪度合いの検証結果３１０をメモリに格納する。
【０２７６】
上記の処理を、繰り返す事で、どういった学習対象モデルに対して、どの程度の改善・改悪があったのかを確認することができる。このため、改善アルゴリズムの検証を実施することが可能となる。
【０２７７】
また、本検証自体の確からしさに関しては、個々の学習モデルでの振舞い等価性検証でのアルゴリズム実行とは別に、全学習対象モデルに対して、図７のベイズ仮説テストや図８のベイズ区間推定手法を適用する事で確認しても良い。
【０２７８】
ここで、振舞い等価性検証で用いる論理式φとしては、実施の形態１の例５，又は例６を用いることができる。
【０２７９】
図２９は、本実施の形態にかかる方法を実行するための装置４００を示すブロック図である。装置４００は、プロセッサ４０１とメモリ４０２とを備えたコンピュータである。装置４００は、上記したように、学習モデルの振舞いを評価する評価方法を実施する。あるいは、装置４００は、学習モデルを学習する学習方法を実施する。
【０２８０】
メモリ４０２には、上記の処理を行うためのプログラムが保持されている。さらに、メモリ４０２は、評価用のテストデータ等が保持されている。プロセッサ４０１は、ＣＰＵなどであり、リプログラミング(プログラムの更新)を実行する。なお、メモリ４０２、プロセッサ４０１は、物理的に単一な装置に限られるものではない。
【０２８１】
装置４００が、学習モデルを評価する評価装置の場合、プロセッサ４０１がメモリ４０２に格納された評価プログラムを実行する。このようにすることで、学習モデルを適切に評価することができる。あるいは、装置４００が機械学習を行う学習装置の場合、プロセッサがメモリ４０２に格納された学習プログラムを実行する。このようにすることで、学習モデルを適切に学習することができる。装置４００は、さらに、学習モデルの振る舞いを比較した比較結果や、学習モデルの評価結果を出力してもよい。例えば、装置４００は、比較結果や評価結果を表示するためのモニタを備えていてもよい。これにより、学習モデルが振る舞いを維持できているか否か等をユーザが確認することができる。
【０２８２】
実施の形態１、２などに示した振舞い等価性検証方法については、手本モデル、及び対象モデルのそれぞれを、教師有り学習、教師無し学習、半教師有り学習、強化学習又はこれらの組み合わせとすることができる。また、手本モデル、及び対象モデルがそれぞれ違う学習方法であってもよく、同じ学習方法であってもよい。例えば、手本モデルが教師なし学習であり、対象モデルが教師有り学習であってもよい。
【０２８３】
実施の形態３、４に示した振舞い維持学習方法については、対象モデルを教師有り学習とし、手本モデルを、教師有り学習、教師無し学習、半教師有り学習、強化学習又はこれらの組み合わせとすることができる。
【０２８４】
実施の形態５、６に示した敵対的サンプル対応の学習方法については、対象モデルを教師有り学習とし、手本モデルを、教師有り学習、教師無し学習、半教師有り学習、強化学習又はこれらの組み合わせとすることができる。
【０２８５】
その他の実施の形態に示した学習アルゴリズムの検査方法については手本モデル、及び対象モデルのそれぞれを、教師有り学習、教師無し学習、半教師有り学習、強化学習又はこれらの組み合わせとすることができる。また、手本モデル、及び対象モデルがそれぞれ違う学習方法であってもよく、同じ学習方法であってもよい。例えば、手本モデルが教師なし学習であり、対象モデルが教師有り学習であってもよい。
【０２８６】
本実施の形態によれば、以下の効果を得ることができる。学習モデルの精度や情報量基準だけでは識別できない２つのモデルの振舞いを比較することが可能となる。これにより、学習モデルの適切な選択を実現することが可能となる。さらに、上記の比較方法にて、系列の並びを考慮した比較を行うことができる。系列の並びに意味がある学習モデルの適切な選択を実現することができる。改善前モデルの振舞いを極力維持した学習モデルの改善を実現することができる。改善前モデルの振舞いを極力維持しながら、学習モデルを簡素化したり、より単純な学習モデルへ置き換えたりすることが可能となる。特にNeural Network学習において、改善前モデルの振舞いを極力維持した、Adversarial Example耐性を持つ学習が実現可能となる。
【０２８７】
上記実施の形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。
付記
（付記１）
（１）学習用データを用いて、教師モデルである第１の学習モデルに基づく第１の出力結果を求め、
（２）前記学習用データを用いて、生徒モデルである第２の学習モデルに基づく第２の出力結果を求め、
（３）前記第１の出力結果と前記第２の出力結果とに基づく評価用パラメータを用いて、前記第２の学習モデルの学習を実施し、
（４）前記第１の出力結果と、学習済みの前記第２の出力結果との振舞いを比較する、学習装置。
（付記２）
前記（４）では、
（４−１）検証用データを用いて、第１の学習モデルに基づく第１のプログラム演算結果を求め、
（４−２）前記検証用データを用いて、前記第２の学習モデルに基づく第２のプログラム演算結果を求め、
（４−３）前記第１及び前記第２のプログラム演算結果が、論理式を満たすか否かを判定し、
（４−４）ベイズ統計モデル検査法を用いて、（４−３）での判定結果に基づいて、第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価する付記１に記載の学習装置。
（付記３）
前記学習用データがラベル付きデータであり、
前記（１）では、調整用パラメータを用いて、前記第１の出力結果を前記ラベルに基づいて調整し
前記（３）では、調整済みの第１の出力結果と、前記第２の出力結果とに基づく評価用パラメータを用いて、前記第２の学習モデルの学習を実施し、
前記（４）において、前記振舞いが所定の基準を満たさない場合に、前記調整用パラメータを変更する付記１に記載の学習装置。
（付記４）
前記（１）、及び（２）では、
前記学習用パラメータとして系列データを順次入力し、
系列データに対応する出力系列データの（ｎ＋ｋ）（ｎは０以上の整数、ｋは０以上の整数）階までの差分を算出し、
前記（３）では、
（ｎ＋ｋ）階までの差分を含む前記第１の出力結果と前記第２の出力結果とに基づく評価用パラメータを用いて、前記第２の学習モデルの学習を実施することで、（ｎ＋ｋ＋１）個の学習済みモデルを構築し、
前記（４）では、
（ｎ＋ｋ＋１）個の学習済みモデルから、ｎ階までの差分を含む部分モデルを取得し、
（４−１）系列データである検証用データを用いて、前記第１の学習モデルに基づく第１の実行結果を求め、
（４−２）前記検証用データを用いて、前記部分モデルに基づく第２の実行結果を求め、
（４−３）前記ｎ階の差分を含む第１及び第２の実行結果が、論理式を満たすか否かを判定し、
（４−４）ベイズ統計モデル検査法を用いて、（４−３）での判定結果に基づいて、第１の学習モデルと前記第２の学習モデルとの振舞い等価性を評価し、
（４−５）前記（４−４）において、前記振舞い等価性が所定の基準を満たす場合、（ｎ＋１）個の学習モデルから最も精度の高い学習モデルを選択する付記１に記載の学習装置。
（付記５）
前記（４−４）において、前記振舞い等価性が所定の基準を満たさない場合、前記ｎ、及びｋの少なくとも一方を変更する付記４に記載の学習装置。
（付記６）
前記（４）では、敵対的サンプルを構成するラベル付きデータを含む検証用データが用いられている付記１に記載の学習装置。
（付記７）
学習用データを用いて、手本学習アルゴリズムによる学習を行うことで、手本学習モデルを構築し、
学習用データを用いて、改善学習アルゴリズムによる学習を行うことで、改善学習モデルを構築し、
検証用データを用いて、手本学習モデルに基づく第１の実行結果を求め、
前記検証用データを用いて、改善学習モデルに基づく第２の実行結果を求め、
前記第１及び前記第２の実行結果が、論理式を満たすか否かを判定し、
ベイズ統計モデル検査法を用いて、前記論理式を満たすか否かの判定結果に基づいて、前記改善学習アルゴリズムを評価する評価方法。
【０２８８】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【０２８９】
Ｍ１  第１の学習モデル
Ｍ２  第２の学習モデル
３３  プログラム実行環境
３５  テストデータ
３７  有界モデル検査ツール
３８  ベイズ仮説テスト
４００  装置
４０１  プロセッサ
４０２  メモリ
【図１】
2020004178.tif 000014
【図２】
2020004178.tif 000015
【図３】
2020004178.tif 000016
【図４】
2020004178.tif 000017
【図５】
2020004178.tif 000018
【図６】
2020004178.tif 000019
【図７】
2020004178.tif 000020
【図８】
2020004178.tif 000021
【図９】
2020004178.tif 000022
【図１０】
2020004178.tif 000023
【図１１】
2020004178.tif 000024
【図１２】
2020004178.tif 000025
【図１３】
2020004178.tif 000026
【図１４】
2020004178.tif 000027
【図１５】
2020004178.tif 000028
【図１６】
2020004178.tif 000029
【図１７】
2020004178.tif 000030
【図１８】
2020004178.tif 000031
【図１９】
2020004178.tif 000032
【図２０】
2020004178.tif 000033
【図２１】
2020004178.tif 000034
【図２２】
2020004178.tif 000035
【図２３】
2020004178.tif 000036
【図２４】
2020004178.tif 000037
【図２５】
2020004178.tif 000038
【図２６】
2020004178.tif 000039
【図２７】
2020004178.tif 000040
【図２８】
2020004178.tif 000041
【図２９】
2020004178.tif 000042