(57)【特許請求の範囲】
【請求項１】
機械学習によって構築されたモデルについて不正を検知するシステムであって、
ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定するライセンス管理部と、
前記ライセンサ装置から提供された学習済みモデルを記憶するモデル保持部と、前記学習済みモデルをライセンサ装置から提供されたテストデータを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、前記テストデータを記憶すると共に、当該テストデータを前記テストデータ学習済みモデルで実行した場合に得られる出力値を記憶する不正検知データ保持部とを備えるモデル管理部と、
前記テストデータ学習済みモデルを利用する前記利用者装置から提供された利用者のモデルについて、前記不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、前記タスク実行部の出力データと前記不正検知データ保持部に記憶された出力値とを比較し、前記利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、
を具備するライセンス・モデル管理装置を有することを特徴とする機械学習モデル不正検知システム。
【請求項２】
機械学習によって構築されたモデルについて不正を検知するシステムであって、
ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定するライセンス管理部と、
学習データを記憶する学習データ保持部と、不正を検知するためのテストデータを生成するテストデータ生成部と、前記ライセンサ装置から提供された未学習のモデルを前記学習データと前記テストデータとを用いてテストデータ学習済みモデルを生成するモデル学習部と、前記テストデータ学習済みモデルを記憶するモデル保持部と、前記テストデータと当該テストデータを前記テストデータ学習済みモデルで実行した場合に得られる出力値とを記憶する不正検知データ保持部とを備えるモデル生成部と、
前記テストデータ学習済みモデルを利用する前記利用者装置から提供された利用者のモデルについて、前記不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、前記タスク実行部の出力データと前記不正検知データ保持部に記憶された出力値とを比較し、前記利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、
を具備するライセンス・モデル管理装置を有することを特徴とする機械学習モデル不正検知システム。
【請求項３】
ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて前記利用者装置に送信し、
モデル検証部の不正判定部が、前記利用者装置において前記テストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと前記不正検知データ保持部に記憶する出力値とを比較し、前記利用者のモデルが不正なものか否か判定することを特徴とする請求項１又は２記載の機械学習モデル不正検知システム。
【請求項４】
モデル検証部の不正判定部は、利用者装置から提供された利用者のモデルにテストデータを入力して得られた出力データ又は前記利用者装置から入力された出力データが、不正検知データ保持部に記憶する出力値と比較した場合に、予め定めた許容範囲の差であれば、前記利用者のモデルを不正なものではないと判定することを特徴とする請求項１乃至３のいずれか記載の機械学習モデル不正検知システム。
【請求項５】
モデル検証部の不正判定部は、利用者装置から提供された利用者のモデルにテストデータを入力して得られた出力データ又は前記利用者装置から入力された出力データが、不正と認定するための基準範囲と比較した場合に、前記基準範囲内であれば、前記利用者のモデルを不正なものと判定することを特徴とする請求項１乃至３のいずれか記載の機械学習モデル不正検知システム。
【請求項６】
機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、前記ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、前記組み込んだモデルを前記ライセンス・モデル管理装置に提供してモデル検証を要求し、前記ライセンス・モデル管理装置において前記提供されたモデルに前記テストデータを用いて行われたモデル検証の結果が入力されることを特徴とする利用者装置。
【請求項７】
機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、前記ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、前記ライセンス・モデル管理装置にテストデータを要求し、前記ライセンス・モデル管理装置から提供されるテストデータとダミーデータを入力して前記組み込んだモデルで実行し、出力データを前記ライセンス・モデル管理装置に出力し、前記ライセンス・モデル管理装置から前記出力データに基づいて行われたモデル検証の結果が入力されることを特徴とする利用者装置。
【請求項８】
機械学習によって構築されたモデルについて不正を検知する方法であって、
ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、
前記ライセンス管理部が、前記ライセンサ装置から提供された学習済みモデルとテストデータを受信して、
モデル管理部のモデル保持部に前記学習済みモデルを記憶すると共に不正検知データ保持部に前記テストデータを記憶し、
前記モデル管理部のモデル学習部が、前記テストデータを入力した場合に特異な出力値が得られるよう前記学習済みモデルを学習して、テストデータ学習済みモデルを生成し、前記テストデータ学習済みモデルに前記テストデータを入力して実行した場合に得られる出力値を前記不正検知データ保持部に記憶し、
前記ライセンス管理部が、前記ライセンス情報に従って利用者装置に前記テストデータ学習済みモデルを配布し、
前記ライセンス管理部が、前記利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定し、前記利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、
モデル検証部のタスク実行部が、前記利用者のモデルについて前記不正検知データ保持部に記憶するテストデータを入力してモデル実行し、
前記モデル検証部の不正判定部が、前記タスク実行部でモデル実行して得られた出力データと前記不正検知データ保持部に記憶する出力値とを比較し、前記利用者のモデルが不正なものか否か判定することを特徴とする機械学習モデル不正検知方法。
【請求項９】
機械学習によって構築されたモデルについて不正を検知する方法であって、
ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、
前記ライセンス管理部が、前記ライセンサ装置から提供された未学習のモデルを受信して、
モデル生成部のテストデータ生成部が、不正を検知するためのテストデータを生成し、
モデル生成部のモデル学習部が、前記未学習のモデルに学習データを入力して学習済みモデルを生成し、前記テストデータを入力した場合に特異な出力値が得られるよう前記学習済みモデルを学習して、テストデータ学習済みモデルを生成し、前記テストデータ学習済みモデルに前記テストデータを入力して実行した場合に得られる出力値を前記不正検知データ保持部に記憶すると共に前記テストデータ学習済みモデルをモデル保持部に記憶し、
前記ライセンス管理部が、前記ライセンス情報に従って利用者装置に前記テストデータ学習済みモデルを配布し、
前記ライセンス管理部が、前記利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定し、前記利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、
モデル検証部のタスク実行部が、前記利用者のモデルについて前記不正検知データ保持部に記憶するテストデータを入力してモデル実行し、
前記モデル検証部の不正判定部が、前記タスク実行部でモデル実行して得られた出力データと前記不正検知データ保持部に記憶する出力値とを比較し、前記利用者のモデルが不正なものか否か判定することを特徴とする機械学習モデル不正検知方法。
【請求項１０】
ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて前記利用者装置に送信し、
モデル検証部の不正判定部が、前記利用者装置において前記テストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと前記不正検知データ保持部に記憶する出力値とを比較し、前記利用者のモデルが不正なものか否か判定することを特徴とする請求項８又は９記載の機械学習モデル不正検知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機械学習モデルの管理を行うシステムに係り、特に機械学習モデルの不正利用や改ざんを検知する機械学習モデル不正検知システム及び不正検知方法に関する。
【背景技術】
【０００２】
［先行技術の説明］
機械学習モデル（以下、モデルと称する）では、センサーで取得したデータやデータベースに蓄積されたデータの集合を入力して解析を行い、そのデータから潜在的な規則などの特徴を抽出する。【０００３】
モデルは、明示的なプログラムがなくても特徴抽出方法の学習を行い、学習済みのモデルに新たなデータを入力することで、画像に映る物体の識別や音源の識別、将来発生する事象の予測などのタスクを実行することができる。
つまり、機械学習モデルに、タスクに応じて適切な学習データを入力して学習させて学習済みモデルを生成し、学習済みモデルに実際のデータを入力してタスクを実行させることで出力を得る。【０００４】
機械学習は、教師あり学習と教師なし学習に分類される。
教師あり学習では、学習前に蓄積されたデータを用い、あるデータを入力した場合に期待する出力を正解ラベルとして付与し、入力と出力が一致するように学習（パラメータ値等の調整）を行う。
これにより、未知の入力データに対してもタスクを実行することが可能になる。【０００５】
教師なし学習では、正解ラベルをつけることなく、蓄積されたデータの中から特徴の似たデータ同士を分類する方法を学習する。これにより、未知の入力データに対しても分類や類似度を求めることが可能になる。
いずれの学習方法においても、バリエーションに富んだ大量のデータを用いて学習を行うことで、発生しうるあらゆる入力データに対応できるモデルを構築することができる。【０００６】
このように、機械学習は大量のデータを基に実行されるため、実行したいタスクの学習に必要なデータの蓄積が性能に大きな影響を及ぼす。
研究開発などの用途では、様々な機械学習に有用なデータセットやモデルが公開されているが、商用での利用を禁止する場合も多々ある。【０００７】
機械学習によって学習が行われたモデル（学習済みモデル）は、例えば、モデルを開発して公開・配布する所有者（ライセンサ）又は管理者が許可を与えた利用者（ライセンシー）が、所定の利用条件に基づいて利用するようになっている。【０００８】
機械学習モデルの多くは非線形モデルであり、更に、設定されるパラメータは数千から数十億にも及ぶため、詳細な内部の動作を検証することは困難である。
このため、利用者が、所有者等が設定した利用制限を超えて利用（不正利用）したとしても、そのことを出力結果のみから検証することは容易ではない。【０００９】
また、悪意のある第三者によってモデルの改ざんが行われたとしても、タスク実行の性能に軽微な範囲であれば、改ざんに気づくことは容易ではない。
そのため、正規のモデルを利用したいユーザーが、意図せずに不正なモデルを利用してしまう恐れがある。
例えば、人命にかかわるような重要なシステムに組み込まれたモデルが改ざんされた場合には、重大な事故を引き起こす恐れがある。【００１０】
［関連技術］
尚、機械学習モデルに関する従来技術としては、特開２０１６−４５４８号公報「提供装置、提供方法及び提供プログラム」（特許文献１）、特開２０１４−４９１１８号公報「畳み込みニューラルネットワーク分類器システム、その訓練方法、分類方法及び用途」（特許文献２）、直江健介他「ニューラルネットワークに基づくセキュリティ技術」（非特許文献１）、 Er. Ashish Bansal, et al., “Watermarking using neural network an
d hiding the trained network within the cover image”（非特許文献２）がある。【００１１】
特許文献１には、多段ニューラルネットワークを容易に提供する提供装置が記載されている。
特許文献２には、手書き文字を、高い認識率で効率よく識別する畳み込みニューラルネットワーク分類器システムが記載されている。
また、非特許文献１には、ニューラルネットワークを様々なセキュリティ技術に適用することが記載されている。
非特許文献２には、ニューラルネットワークを用いた電子透かしの技術が記載されている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１６−４５４８号公報
【特許文献２】特開２０１４−４９１１８号公報
【非特許文献】
【００１３】
【非特許文献１】直江健介、「ニューラルネットワークに基づくセキュリティ技術」、人工知能学会誌 Ｖｏｌ. ２１（５）、 ５７７−５８５、 ２００６−０９−０１
【非特許文献２】Er. Ashish Bansal, et al., “Watermarking using neural network and hiding the trained network within the cover image”, Journal of Theoretical and Applied Information Technology, August 2008, Vol.4 No.8
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上述したように、従来の機械学習モデルでは、不正利用が行われた場合や、モデルが不正に改ざんされた場合に、それを検知することが困難であるという問題点があった。【００１５】
本発明は上記実状に鑑みて為されたもので、不正利用やモデルの改ざんを検知して、モデルの信頼性を向上させることができる機械学習モデル不正検知システム及び不正検知方法を提供することを目的とする。
【課題を解決するための手段】
【００１６】
上記従来例の問題点を解決するための本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知システムであって、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定するライセンス管理部と、ライセンサ装置から提供された学習済みモデルを記憶するモデル保持部と、学習済みモデルをライセンサ装置から提供されたテストデータを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、テストデータを記憶すると共に、当該テストデータをテストデータ学習済みモデルで実行した場合に得られる出力値を記憶する不正検知データ保持部とを備えるモデル管理部と、テストデータ学習済みモデルを利用する利用者装置から提供された利用者のモデルについて、不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、タスク実行部の出力データと不正検知データ保持部に記憶された出力値とを比較し、利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、を具備するライセンス・モデル管理装置を有することを特徴としている。【００１７】
また、本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知システムであって、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定するライセンス管理部と、学習データを記憶する学習データ保持部と、不正を検知するためのテストデータを生成するテストデータ生成部と、ライセンサ装置から提供された未学習のモデルを学習データとテストデータとを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、テストデータ学習済みモデルを記憶するモデル保持部と、テストデータと当該テストデータをテストデータ学習済みモデルで実行した場合に得られる出力値とを記憶する不正検知データ保持部とを備えるモデル生成部と、テストデータ学習済みモデルを利用する利用者装置から提供された利用者のモデルについて、不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、タスク実行部の出力データと不正検知データ保持部に記憶された出力値とを比較し、利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、を具備するライセンス・モデル管理装置を有することを特徴としている。
【００１８】
また、本発明は、上記機械学習モデル不正検知システムにおいて、ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて利用者装置に送信し、モデル検証部の不正判定部が、利用者装置においてテストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定することを特徴としている。【００１９】
また、本発明は、上記機械学習モデル不正検知システムにおいて、モデル検証部の不正判定部は、利用者装置から提供された利用者のモデルにテストデータを入力して得られた出力データ又は利用者装置から入力された出力データが、不正検知データ保持部に記憶する出力値と比較した場合に、予め定めた許容範囲の差であれば、利用者のモデルを不正なものではないと判定することを特徴としている。【００２０】
また、本発明は、上記機械学習モデル不正検知システムにおいて、モデル検証部の不正判定部は、利用者装置から提供された利用者のモデルにテストデータを入力して得られた出力データ又は利用者装置から入力された出力データが、不正と認定するための基準範囲と比較した場合に、基準範囲内であれば、利用者のモデルを不正なものと判定することを特徴としている。【００２１】
また、本発明は、機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、組み込んだモデルをライセンス・モデル管理装置に提供してモデル検証を要求し、ライセンス・モデル管理装置において提供されたモデルにテストデータを用いて行われたモデル検証の結果が入力されることを特徴としている。
【００２２】
また、本発明は、機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、ライセンス・モデル管理装置にテストデータを要求し、ライセンス・モデル管理装置から提供されるテストデータとダミーデータを入力して組み込んだモデルで実行し、出力データをライセンス・モデル管理装置に出力し、ライセンス・モデル管理装置から出力データに基づいて行われたモデル検証の結果が入力されることを特徴としている。
【００２３】
また、本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知方法であって、ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、ライセンス管理部が、ライセンサ装置から提供された学習済みモデルとテストデータを受信して、モデル管理部のモデル保持部に学習済みモデルを記憶すると共に不正検知データ保持部にテストデータを記憶し、モデル管理部のモデル学習部が、テストデータを入力した場合に特異な出力値が得られるよう学習済みモデルを学習して、テストデータ学習済みモデルを生成し、テストデータ学習済みモデルにテストデータを入力して実行した場合に得られる出力値を不正検知データ保持部に記憶し、ライセンス管理部が、ライセンス情報に従って利用者装置にテストデータ学習済みモデルを配布し、ライセンス管理部が、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定し、利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、モデル検証部のタスク実行部が、利用者のモデルについて不正検知データ保持部に記憶するテストデータを入力してモデル実行し、モデル検証部の不正判定部が、タスク実行部でモデル実行して得られた出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定することを特徴としている。【００２４】
また、本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知方法であって、ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、ライセンス管理部が、ライセンサ装置から提供された未学習のモデルを受信して、モデル生成部のテストデータ生成部が、不正を検知するためのテストデータを生成し、モデル生成部のモデル学習部が、未学習のモデルに学習データを入力して学習済みモデルを生成し、テストデータを入力した場合に特異な出力値が得られるよう学習済みモデルを学習して、テストデータ学習済みモデルを生成し、テストデータ学習済みモデルにテストデータを入力して実行した場合に得られる出力値を不正検知データ保持部に記憶すると共にテストデータ学習済みモデルをモデル保持部に記憶し、ライセンス管理部が、ライセンス情報に従って利用者装置にテストデータ学習済みモデルを配布し、ライセンス管理部が、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定し、利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、モデル検証部のタスク実行部が、利用者のモデルについて不正検知データ保持部に記憶するテストデータを入力してモデル実行し、モデル検証部の不正判定部が、タスク実行部でモデル実行して得られた出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定することを特徴としている。【００２５】
また、本発明は、上記機械学習モデル不正検知方法において、ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて利用者装置に送信し、モデル検証部の不正判定部が、利用者装置においてテストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定することを特徴としている。
【発明の効果】
【００２６】
本発明によれば、機械学習によって構築されたモデルについて不正を検知するシステムにおいて、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定するライセンス管理部と、ライセンサ装置から提供された学習済みモデルを記憶するモデル保持部と、学習済みモデルをライセンサ装置から提供されたテストデータを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、テストデータを記憶すると共に、当該テストデータをテストデータ学習済みモデルで実行した場合に得られる出力値を記憶する不正検知データ保持部とを備えるモデル管理部と、テストデータ学習済みモデルを利用する利用者装置から提供された利用者のモデルについて、不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、タスク実行部の出力データと不正検知データ保持部に記憶された出力値とを比較し、利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、を具備するライセンス・モデル管理装置を有する機械学習モデル不正検知システムとしているので、ライセンス・モデル管理装置が、テストデータに対して特定の出力が得られるようにテストデータ学習済みモデルを生成しておくことにより、利用者のモデルが不正なものかどうかを容易に判定することができ、不正なモデルが利用されるのを防ぐことができ、モデルの信頼性を向上させることができる効果がある。【００２７】
また、本発明によれば、機械学習によって構築されたモデルについて不正を検知するシステムにおいて、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定するライセンス管理部と、学習データを記憶する学習データ保持部と、不正を検知するためのテストデータを生成するテストデータ生成部と、ライセンサ装置から提供された未学習のモデルを学習データとテストデータとを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、テストデータ学習済みモデルを記憶するモデル保持部と、テストデータと当該テストデータをテストデータ学習済みモデルで実行した場合に得られる出力値とを記憶する不正検知データ保持部とを備えるモデル生成部と、テストデータ学習済みモデルを利用する利用者装置から提供された利用者のモデルについて、不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、タスク実行部の出力データと不正検知データ保持部に記憶された出力値とを比較し、利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、を具備するライセンス・モデル管理装置を有する機械学習モデル不正検知システムとしているので、ライセンス・モデル管理装置が、テストデータに対して特定の出力が得られるようにテストデータ学習済みモデルを生成しておくことにより、利用者のモデルが不正なものかどうかを容易に判定することができ、不正なモデルが利用されるのを防ぐことができ、モデルの信頼性を向上させることができる効果がある。
【００２８】
また、本発明によれば、ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて利用者装置に送信し、モデル検証部の不正判定部が、利用者装置においてテストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定する上記機械学習モデル不正検知システムとしているので、利用者のモデルそのものを送受信しなくても不正を検知できると共に、テストデータを特定されにくくして、モデル検証の信頼性を保持することができる効果がある。【００２９】
また、本発明によれば、機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置において、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、組み込んだモデルをライセンス・モデル管理装置に提供してモデル検証を要求し、ライセンス・モデル管理装置において提供されたモデルにテストデータを用いて行われたモデル検証の結果が入力される利用者装置としているので、組み込んだモデルが不正なものであった場合には使用を中止して、モデルを組み込んだ装置の信頼性を確保することができる効果がある。
【００３０】
また、本発明によれば、機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、ライセンス・モデル管理装置にテストデータを要求し、ライセンス・モデル管理装置から提供されるテストデータとダミーデータを入力して組み込んだモデルで実行し、出力データをライセンス・モデル管理装置に出力し、ライセンス・モデル管理装置から出力データに基づいて行われたモデル検証の結果が入力される利用者装置としているので、組み込んだモデルが不正なものであった場合には使用を中止して、モデルを組み込んだ装置の信頼性を確保することができる効果がある。
【００３１】
また、本発明によれば、本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知方法において、ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、ライセンス管理部が、ライセンサ装置から提供された学習済みモデルとテストデータを受信して、モデル管理部のモデル保持部に学習済みモデルを記憶すると共に不正検知データ保持部にテストデータを記憶し、モデル管理部のモデル学習部が、テストデータを入力した場合に特異な出力値が得られるよう学習済みモデルを学習して、テストデータ学習済みモデルを生成し、テストデータ学習済みモデルにテストデータを入力して実行した場合に得られる出力値を不正検知データ保持部に記憶し、ライセンス管理部が、ライセンス情報に従って利用者装置にテストデータ学習済みモデルを配布し、ライセンス管理部が、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定し、利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、モデル検証部のタスク実行部が、利用者のモデルについて不正検知データ保持部に記憶するテストデータを入力してモデル実行し、モデル検証部の不正判定部が、タスク実行部でモデル実行して得られた出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定する機械学習モデル不正検知方法としているので、利用者のモデルが不正なものかどうかを容易に判定することができ、不正なモデルが利用されるのを防ぐことができ、モデルの信頼性を向上させることができる効果がある。【００３２】
また、本発明によれば、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知方法において、ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、ライセンス管理部が、ライセンサ装置から提供された未学習のモデルを受信して、モデル生成部のテストデータ生成部が、不正を検知するためのテストデータを生成し、モデル生成部のモデル学習部が、未学習のモデルに学習データを入力して学習済みモデルを生成し、テストデータを入力した場合に特異な出力値が得られるよう学習済みモデルを学習して、テストデータ学習済みモデルを生成し、テストデータ学習済みモデルにテストデータを入力して実行した場合に得られる出力値を不正検知データ保持部に記憶すると共にテストデータ学習済みモデルをモデル保持部に記憶し、ライセンス管理部が、ライセンス情報に従って利用者装置にテストデータ学習済みモデルを配布し、ライセンス管理部が、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定し、利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、モデル検証部のタスク実行部が、利用者のモデルについて不正検知データ保持部に記憶するテストデータを入力してモデル実行し、モデル検証部の不正判定部が、タスク実行部でモデル実行して得られた出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定する機械学習モデル不正検知方法としているので、利用者のモデルが不正なものかどうかを容易に判定することができ、不正なモデルが利用されるのを防ぐことができ、モデルの信頼性を向上させることができる効果がある。
【図面の簡単な説明】
【００３３】
【図１】第１の実施の形態に係るライセンス・モデル管理装置の構成ブロック図である。
【図２】管理情報の構成を示すＵＭＬ（Unified Modeling Language）クラス図である。
【図３】本不正検知システムで配布される機械学習モデルの構成例を示す説明図である。
【図４】第１の不正検知システムにおける動作を示すシーケンス図である。
【図５】運用開始後のモデル検証の動作を示すシーケンス図である。
【図６】第２の実施の形態に係るライセンス・モデル管理装置の構成ブロック図である。
【図７】第２の不正検知システムにおける動作を示すシーケンス図である。
【発明を実施するための形態】
【００３４】
本発明の実施の形態について図面を参照しながら説明する。
［実施の形態の概要］
本発明の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法は、ライセンス・モデル管理装置が、ライセンサ装置から学習済みの機械学習モデル（学習済みモデル）とそれに対応して不正を検知するためのテストデータが入力されると、当該学習済みモデルにテストデータを入力して学習させ、テストデータ学習済みモデルを生成すると共に、テストデータ学習済みモデルと当該テストデータ学習済みモデルにテストデータを入力した場合の出力値とを対応付けて記憶しておき、当該テストデータ学習済みモデルを利用する利用者装置から利用者モデルが入力されると、テストデータ学習済みモデルに対応するテストデータを、当該利用者モデルに入力して動作させ、その出力データと、記憶されているテストデータ学習済みモデルによる出力値とを比較して、利用者モデルが改ざんされているか否かを検知するようにしており、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができるものである。
【００３５】
また、本発明の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法は、ライセンス・モデル管理装置が、未学習のモデルとテストデータが入力されると、学習データ及びテストデータを用いてモデルを学習して、テストデータ学習済みモデルを生成し、テストデータと、テストデータを当該テストデータ学習済みモデルに入力した場合の出力値とを対応付けて記憶しておき、当該テストデータ学習済みモデルを利用する利用者装置が利用する利用者モデルが入力されると、テストデータ学習済みモデルに対応するテストデータを、当該利用者モデルに入力して動作させ、その出力データと、記憶されているテストデータ学習済みモデルによる出力値とを比較して、利用者モデルが改ざんされているか否かを検知するようにしており、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができるものである。
【００３６】
また、本発明の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法は、ライセンス・モデル管理装置が、利用者装置からライセンスＩＤを付してモデル検証要求が入力されると、当該ライセンスＩＤに対応するモデルを特定し、当該モデルに対応するテストデータを利用者装置に送信し、利用者装置から受信した当該テストデータに対応する出力結果を、予め記憶されているテストデータ学習済みモデルによる出力値と比較して、利用者モデルが改ざんされているか否かを検知するようにしており、モデル自体を送受信することなく、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができるものである。
【００３７】
［本発明の実施の形態に係る機械学習モデル不正検知システム］
本発明の実施の形態に係る機械学習モデル不正検知システム（本不正検知システム）について説明する。
本不正検知システムは、機械学習モデルを所有する所有者（ライセンサ）の装置（ライセンサ装置）と、機械学習モデルを利用する利用者の装置（利用者装置）と、モデルや利用者に許可されるライセンスの情報を管理するライセンス・モデル管理装置とを備えている。
【００３８】
本不正検知システムのライセンス・モデル管理装置（本管理装置）は、ライセンサ装置及びモデルを実装する利用者装置に通信回線によって接続されている。
本管理装置は、学習済みモデルの発行やライセンス管理を行う機関によって運用されることを想定しており、利用者がモデルを不正に利用していないかを検証し、また、利用者からの問い合わせに対して、利用者が利用しているモデルが不正に改ざんされていないかを検証するものである。
【００３９】
［第１の実施の形態に係るライセンス・モデル管理装置］
まず、本発明の第１の実施の形態に係る機械学習モデル不正検知システム（第１の不正検知システム）で用いられるライセンス・モデル管理装置（第１の管理装置）について図１を用いて説明する。図１は、第１の実施の形態に係るライセンス・モデル管理装置の構成ブロック図である。
図１に示すように、第１の管理装置は、ライセンス管理部１１と、モデル管理部１２と、モデル検証部１３とを備えている。
【００４０】
第１の管理装置の各部について説明する。
［ライセンス管理部１１］
ライセンス管理部１１は、通信回線で接続されたライセンサ装置や利用者装置からの各種要求を受け付けて、ライセンス情報、モデル情報、利用者情報を管理するものであり、入力インタフェース部（入力Ｉ／Ｆ）１０４と、主制御部１０５と、出力インタフェース部（出力Ｉ／Ｆ）１０６と、管理情報保持部１０７とを備えている。
【００４１】
ライセンス管理部１１は、基本的に、ＣＰＵ（Central Processing Unit）から成る処理部や、ハードディスク、ＤＲＡＭ（Dynamic Random Access Memory）等から成る記憶部を備えたサーバーコンピュータで実現されるものである。
【００４２】
入力Ｉ／Ｆ１０４は、機械学習モデルを生成するライセンサの装置（ライセンサ装置）からのライセンス発行要求やモデル登録要求を受け付け、また、学習済みモデルを実装して利用するベンダー等の利用者装置からの利用登録要求やモデル検証要求を受け付ける通信インタフェースである。
【００４３】
出力Ｉ／Ｆ１０６は、ライセンサ装置へのライセンス発行要求等に対する応答や、利用者装置へのモデル検証の結果などの応答を行う通信インタフェースである。
入力ＩＦ１０４や出力Ｉ／Ｆ１０６は、Ｗｅｂ ＡＰＩ（Application Programming Int
erface）として実装されてもよい。
【００４４】
管理情報保持部１０７は、ライセンス管理部１１の記憶部に設けられ、ライセンス管理部１１において用いられるライセンスに関する各種の管理情報（ライセンサ情報、モデル情報、利用者情報）を記憶している。管理情報については後述する。
【００４５】
主制御部１０５は、入力Ｉ／Ｆ１０４から入力されたライセンサ装置及び利用者装置からの要求に含まれる情報に基づいて、ライセンサ情報と、モデル情報と、利用者情報とを含む管理情報を生成して、モデルやライセンスの管理を行う。
また、主制御部１０４は、利用者装置からのアクセスに対して、利用者情報を参照して、適正な利用者装置であるかどうかを判定し、利用者装置からの利用登録要求に応じて、不正利用かどうかを判定する。
【００４６】
更に、第１の管理装置の主制御部１０５は、ライセンサ装置からモデル登録要求として、学習済みモデルと後述するテストデータとが入力されると、モデル管理部１２に対して、当該テストデータを用いて学習済みモデルの学習を行って、テストデータ学習済みモデルを生成するよう、テストデータ学習命令を出力する。
また、モデル管理部１２からテストデータ学習完了通知を受信すると、ライセンサ装置に応答を出力する。
【００４７】
テストデータ学習済みモデルは、タスクに応じた学習データで学習を行った学習済みモデルに対して、更に不正を検出するためのテストデータを用いて学習したモデルである。
テストデータについては後で詳述するが、タスクに応じてアルゴリズムを構築するために学習する学習データとは全く異なり、特異な結果を出力させるためのデータである。
【００４８】
テストデータを学習したテストデータ学習済みモデルは、その後で、テストデータが入力された場合に、学習に応じた特異な結果を出力するが、テストデータを学習していないモデルや不正に改ざんされたモデルでは、テストデータが入力された場合に、そのような特異な出力は得られない。
本不正検知システムでは、このことを利用してモデルの不正を検知するものである。
【００４９】
本不正検出システムでは、利用者装置に対して、テストデータ学習済みモデルを配布することにより、配布後に、利用者装置で用いられているモデル（本来は正規のテストデータ学習済みモデル）に改ざん等の不正が為されたどうかを検出できるようにしている。
尚、学習前のモデルと、学習データで学習した学習済みモデルと、学習データ及びテストデータで学習したテストデータ学習済みモデルには共通のモデルＩＤが付されている。
ここで、これらのモデルは、コンピュータプログラムによって構成されるものである。
【００５０】
また、主制御部１０４は、利用者装置から、モデル検証要求として、利用者装置で使用しているモデルが入力（送信）されると、モデル検証部１３に検証命令を出力して、当該モデルが改ざんされていないかどうかを検証させる。検証命令には、検証対象のモデルと、不正検知データ保持部１０８に記憶されているテストデータと、後述する出力値とが含まれる。
【００５１】
［モデル管理部１２］
モデル管理部１２は、ＣＰＵやＧＰＵ（Graphics Processing Unit）、ハードディスク、ＤＲＡＭ等を備えた高性能コンピュータ（ＨＰＣ；High Performance Computing）等で実現され、第１の管理装置においては、テストデータを用いて学習済みモデルの学習を行うものである。
モデル管理部１２は、不正検知データ保持部１０８と、モデル保持部１０９と、モデル学習部１１０とを備えている。
【００５２】
不正検知データ保持部１０８は、ハードディスクやフラッシュメモリ等で構成され、後述するモデルＩＤと、当該モデルＩＤに対応するテストデータと、当該テストデータをテストデータ学習済みモデルに入力してタスクを実行した際の出力値と、不正か否かを判定する許容範囲（判定基準）とを対応付けて記憶している。
モデルに対応するテストデータは複数種類あることが望ましい。
【００５３】
また、後述する運用開始後の検証時に、テストデータと共に利用者装置に送信されるダミーデータも不正検知データ保持部１０８に記憶されている。個々のテストデータ及びダミーデータにもＩＤが付されている。
【００５４】
モデル保持部１０９は、ハードディスクやフラッシュメモリ等で構成され、ライセンス管理部１１から入力された、ライセンサ装置からの学習済みモデルを記憶し、また、モデル学習部１１０から入力されたテストデータ学習済みモデルを記憶する。
【００５５】
モデル学習部１１０は、ＣＰＵやＧＰＵ、ＦＰＧＡ（Field Programmable Gate Array
）、ハードディスクやＤＲＡＭなどで構成され、ライセンス管理部１１からのテストデータ学習命令が入力されると、モデル保持部１０９に記憶されているライセンサ装置からの学習済みモデルを不正検知データ保持部１０８に記憶されているテストデータを用いて学習し、テストデータ学習済みモデルを生成する。
テストデータは、モデルＩＤに対応して生成されたデータであり、学習を行う際には対応するテストデータが用いられるものである。
特に、本不正検知システムにおいては、モデル学習部１１０は、テストデータを学習済みモデルに入力した場合に、特異な出力値が得られるように、各種パラメータを調整して学習を行う。
【００５６】
モデル学習部１１０は、テストデータ学習済みモデルを生成すると、テストデータ学習完了通知をライセンス管理部１１に出力する。
また、モデル学習部１１０は、生成したテストデータ学習済みモデルをモデル保持部１０９に記憶すると共に、当該テストデータ学習済みモデルに、対応するテストデータを入力した場合の出力値を、モデルＩＤに対応付けて不正検知データ保持部１０８に記憶する。
つまり、出力値は、改ざんされていない正規のテストデータ学習済みモデルにテストデータを入力してタスクを実行した場合の出力データに相当するものである。
【００５７】
［モデル検証部１３］
モデル検証部１３は、ＣＰＵやハードディスク、ＤＲＡＭ等を備えたサーバーコンピュータあるいはＨＰＣ等で実現され、タスク実行部１１２と不正判定部１１３とを備えており、入力されたモデルが不正なものかどうかを検知する。
【００５８】
タスク実行部１１２は、ライセンス管理部１１の主制御部１０５から、検証の命令と、検証対象のモデル及びモデルＩＤと、対応するテストデータの転送を受けると、検証対象のモデルにテストデータを入力してタスクを実行する。そして、その結果（出力データ）をモデルＩＤを付して不正判定部１１３に出力する。
【００５９】
不正判定部１１３は、ライセンス管理部１１の主制御部１０５から、テストデータ学習済みモデルによる出力値と、不正か否かを判定する判定基準の転送を受け、タスク実行器１１２で実行されたモデルの出力データが入力されると、当該出力データと出力値とを比較し、判定基準に基づいて検証対象のモデルが不正であるかどうかの判定を行って、判定結果をライセンス管理部１１に出力する。
【００６０】
ここでは、検証対象のモデルからの出力データと、正規のテストデータ学習済みモデルの出力値とを比較して、誤差が判定基準となる許容範囲内であれば、不正なモデルではないと判断し、誤差が許容範囲を越えていれば不正なモデルであると判断する。
【００６１】
［管理情報の構成：図２］
次に、ライセンス管理部１１に記憶されている管理情報の構成について図２を用いて説明する。図２は、管理情報の構成を示すＵＭＬ（Unified Modeling Language）クラス図である。
管理情報は、ライセンサクラス２１と、モデルクラス２２と、利用者クラス２３と、個別ライセンスクラス２４とを備え、更に、モデルクラス２２の関連情報として、不正検出データクラス２５と、レイヤクラス２６とを備え、利用者クラス２３の関連情報として利用登録情報クラス２７を備えている。
【００６２】
ここで、個別ライセンスクラス２４と、それによって特定されるライセンサクラス２１と、モデルクラス２２と、利用者クラス２３とを含む情報が、請求項におけるライセンス情報に相当している。ライセンス情報は、これらの情報を含む電子証明書であってもよい。
また、モデルクラス２２と、レイヤクラス２６とを含む情報が請求項におけるモデル情報に相当し、利用者クラス２３と利用登録情報２７とを含む情報が請求項における利用者情報に相当している。
【００６３】
ライセンサクラス２１は、ライセンサの情報を管理するものであり、ライセンサＩＤに対応して、ライセンサの名前を備えて（記憶して）いる。
モデルクラス２２は、ライセンサによって登録されたモデルの情報を保持するものであり、モデルＩＤに対応して、モデルタイプ（例えば、CNN；Convolutional Neural Networ
k、Fast-RCNN、FCN; Fully Convolutional Networksなどモデルの基本構成）と、登録日と、有効期間と、利用可能なライセンス数と、使用されたライセンス数と、レイヤ数とを記憶している。
【００６４】
ライセンサは複数のモデルを登録することが可能であり、その場合、１つのライセンサクラス２１に対応して複数のモデルクラス２２が設けられる。
ライセンサクラス２１とモデルクラス２２は、ライセンサ装置からライセンス・モデル管理装置にライセンス発行要求又はモデル登録要求が入力された際に生成される。
【００６５】
モデルクラス２２における利用可能なライセンス数は、ライセンサによって予め決められ、当該モデルのライセンスを受けることができる最大の利用者数に相当している。
使用されたライセンス数は、利用可能なライセンス数の内、実際に使用された（利用申請した）利用者の数である。
また、レイヤ数は、入力層から出力層までの層数である。
【００６６】
尚、ここでは、１つのモデルを複数の利用者が利用可能なものとして説明するが、利用者毎に専用のモデルをライセンスする、つまりモデルクラス２２と利用者クラス２３とが１対１で対応するように構成してもよい。
【００６７】
利用者クラス２３は、利用者の情報を管理するものであり、利用者ＩＤに対応して、利用者の名前と、利用登録可能数を記憶している。
利用登録可能数は、当該利用者が１つのライセンスで最大何台の機器（エンドユーザ）にモデルを実装可能であるかを規定する情報であり、例えば、ライセンサによって定められる。
【００６８】
利用者クラス２３は、利用者装置からライセンス・モデル管理装置に利用登録要求がなされた場合に生成される情報である。
利用登録要求（利用申請）は、特定のモデルを利用するライセンスを要求するものである。
【００６９】
個別ライセンスクラス２４は、個別ライセンスＩＤに対応して、ライセンス発行日時、ライセンス満了日時が記憶され、ライセンサとモデルと利用者とを１対１対１に対応付ける情報である。
但し、利用者による利用登録が為される前にモデルを登録しておく場合もあるため、その場合には、個別ライセンスクラス２４は生成されない。
【００７０】
モデルクラス２２に対応して設けられる不正検出データクラス２５は、テストデータと、後述するプローブノードと、出力値と、許容誤差の範囲（判定基準）とを記憶している。テストデータにはＩＤが付されている。
出力値は、正規のテストデータ学習済みモデルにテストデータを入力した場合に得られる出力の値である。
不正検出データクラス２５は、テストデータ毎に設けられ、モデルクラス２２に対して複数設けることが可能である。
【００７１】
モデルクラス２２に対応して設けられるレイヤクラス２６は、機械学習モデルのレイヤ毎の情報を管理するものであり、何番目のレイヤであるか、その種類（畳み込み／プーリング／全結合）、入力データサイズ、重み（フィルタ係数）、活性化関数パラメータ、出力データサイズ、フィルタサイズ（部分結合の数）を記憶している。
活性化関数パラメータは、畳み込みニューラルネットワーク（Convolutional Neural N
etwork；ＣＮＮ）等の場合に設定される非線形関数のパラメータである。
レイヤクラス２６は、機械学習モデルを再現するために必要な全ての情報を含んでいる。
【００７２】
利用者クラス２３に対応して設けられる利用登録情報クラス２７は、モデルが実装された機器の製造番号を記憶している。
利用登録情報クラス２７は、利用者クラス２３の利用登録可能数が２以上であれば、利用者クラス２３に対して複数設けられる。
【００７３】
［機械学習モデルとテストデータ：図３］
次に、本不正検知システムで配布される機械学習モデルの構成例とテストデータについて図３を用いて説明する。図３は、本不正検知システムで配布される機械学習モデルの構成例を示す説明図である。
図３では、多層ニューラルネットワーク（ＤＮＮ：Deep Neural Network）の例を示しており、ここでは、画像を入力データとして、入力された画像中に人が映っているかどうかを識別する（分類する）モデルを例として説明する。
【００７４】
通常は、正解（人）とラベル付けされた、人が映った画像と、不正解とラベル付けされた、人が映っていない（その他のものが映っている）画像でトレーニング（機械学習）を行い、ＤＮＮは、入力された画像毎に「人」が映っている尤度（確信度）と、「その他のもの（その他）」が映っている尤度とを出力する。学習に用いる画像が学習データである。
このように、各クラス（「人」「その他」）の確信度を出力する、最終段（出力層）のノードを「出力ノード」と呼ぶ。
第１の不正検知システムでは、学習データによる学習はライセンサ装置で行われ、学習済みモデルが生成される。
【００７５】
第１の不正検知システムで利用者装置に配布されるモデルは、テストデータ学習済みモデルであり、各クラスの出力ノードに加えて、入力された画像がテストデータである確信度を出力するノードを設けている。このノードを「プローブノード」と呼ぶ。
つまり、第１の不正検知システムで配布されるモデルは、プローブノードからの出力データをチェックすることにより、モデルが不正なものか否かを判定できるものである。
【００７６】
プローブノードは、ライセンス・管理装置によって、テストデータに対して特異的に反応するよう学習されており、一種の過学習の状態になっていてもよい。
つまり、テストデータ学習済みモデルにテストデータが入力されると、プローブノードから高い確信度が出力される（特異な出力が得られる）ようになっている。
【００７７】
そして、本システムでは、ライセンス・モデル管理装置において、テストデータを検証対象のモデルに入力した際のプローブノードからの出力データを、正規のテストデータ学習済みモデルのプローブノードからの出力値と比較し、その誤差が予め設定された判定基準（許容範囲）内であれば、モデルが正常であると判定し、基準範囲外であれば不正であると判定するようにしている。
【００７８】
プローブノードが最終段に設けられる場合、プローブノードが参照する中間ノードと、人やその他の出力ノードが参照する中間ノードとは、部分的に十分共通している必要がある。
また、プローブノードを最終段に配置した場合には、本システムで使用されるモデルの検証以外の用途がないため、再学習がなされず、過学習の状態が維持される。
【００７９】
プローブノードは、最終段に設けられるものに限らず、何番目の層の何個目のノードという形式で任意に設定できるものである。
プローブノードを中間層に設定する場合、学習対象（人）について再学習がなされても、テストデータに対する特異性を容易に失わないようなノードをプローブノードに設定する必要がある。例えば、学習中に、出力ノードの結果に影響を与えた中間ノードをプローブノードの候補から除外し、残った中間ノードの中からプローブノードを選択する。
【００８０】
モデル毎のプローブノードとテストデータの組み合わせは、試行によって選定される。
例えば、学習データだけを用いて人及びその他のクラスについてほぼ収束するまで学習した後、テストデータをランダムに混ぜた学習データを用いて、テストデータを学習する。
その結果、「人」や「その他」の出力ノードの出力が有意に低下したり、テストデータの学習が収束しなかった場合には、プローブノード又は／及びテストデータの選定が不適切であることを意味する。
このような場合には、プローブノード、テストデータを選定しなおして、試行を繰り返す。
【００８１】
テストデータは、利用者のモデルが改ざんなどによって不正なものになっている場合に、それを検出するためのデータであり、実行したいタスクとは無関係（無相関）なデータである。
上述したモデルの場合、例えば、猫画像のデータセットや、適切でランダムに生成された画像、２次元バーコード、電子透かしパターン等の人工的に合成された画像をテストデータとする。
【００８２】
テストデータは、テストデータを生成したライセンサ装置や、第１の管理装置において秘密に保持される。
第１のシステムにおいては、テストデータはライセンサ装置から第１の管理装置に提供されるものである。
【００８３】
そして、第１の不正検知システムでは、ライセンス・モデル管理装置において、テストデータを正規のモデルに入力した場合に、プローブノードからの出力値（テストデータである確信度）が高くなるように学習済みモデルをトレーニングして、テストデータ学習済みモデルを生成する。
つまり、テストデータ学習済みモデルが生成されるのは、第１の管理装置においてのみであり、第１の管理装置がテストデータ学習済みモデルを適正に管理できるものである。
【００８４】
また、本検知システムで配布されるモデルについて、ライセンス毎に異なるテストデータを使って学習を行ってもよい。
これにより、検証時に、どのテストデータに対して確信度が高くなるかを調べることで、モデルとライセンスの関係を識別することができる。
【００８５】
例えば、検証対象のモデルについて不正が検知された場合に、利用者やエンドユーザに知らされていたライセンス情報が偽装されていたとしても、第１の管理装置において、モデルが共通する別のライセンス情報に対応するテストデータを用いて検証を行って派生元を特定することができる。
【００８６】
具体的には、検証対象のモデルに、別のライセンス情報に対応するテストデータを入力した出力データを、当該別のライセンス情報に対応して記憶されている正規のテストデータ学習済みモデルによる出力値と比較する。
そして、出力データと出力値との差が許容範囲内である（高い確信度が得られた）場合には、検証対象のモデルは、当該別のライセンスのモデルからの派生物であると推定できる。
このようにして、第１の不正検知システムでは、派生元を特定できることになる。
【００８７】
ＤＮＮは非線形処理であり、多数のパラメータによって構成されているため、どのデータに対して、テストデータである確信度が高くなるかを調べることは容易ではない。このため、テストデータが明らかとならない限り、不正が検出されないようにモデルを改ざんすることは容易ではない。
【００８８】
また、テストデータに対する出力値だけでなく、テストデータを入力した際の「人」の確信度や「その他」の確信度を設定して学習してもよく、或いは、テストデータに対する既知クラス（「人」と「その他」）の出力のみを学習してもよい。
つまり、テストデータを入力した場合の各出力ノード及びプローブノードからの出力の任意の組み合わせについて、正規のテストデータ学習済みモデルでの出力値と、検証対象のモデルにおける出力データとを比較して検証することが可能である。
【００８９】
また、上述したような分類問題ではなく、１つの出力ノードから連続値を出力するような回帰問題（例えば、画像から身長を推定する問題）に対応したＤＮＮもある。
この場合には、出力ノードから確信度ではなく連続値が出力されるため、例えば、テストデータに対する出力を、期待に反する又は常識的ではない任意の値（特異な値）に設定して学習を行って、テストデータ学習済みモデルを生成する。
【００９０】
そして、検証対象のモデルにテストデータを入力した結果として、期待に反する又は常識的ではない出力が得られた場合に、正常なモデルであると判断するように構成することにより、不正なモデルを容易に検出することができる。
この場合、不正なモデルでは、テストデータを入力した場合に、期待される又は常識的な結果が得られるため、不正を検出できるものである。
【００９１】
連続値が出力されるＤＮＮでは、正規のモデルにテストデータを入力した場合の出力値を中心として、検証対象のモデルにテストデータを入力した場合の出力データが、判定基準となる特定の範囲（許容範囲）内であれば不正はない、と判断する。
【００９２】
また、正規のテストデータ学習済みモデルの出力値との比較ではなく、テストデータ毎に、予め特定の基準範囲を定めておき、検証対象のモデルからの出力データが基準範囲内であれば正常である、又は基準範囲内であれば不正である、と判定するようにしてもよい。
【００９３】
例えば、特定の人物の画像をテストデータとして入力した場合に、身長が５０メートルと出力されるよう学習を行ってテストデータ学習済みモデルを生成した場合、基準範囲を「４８メートル以上」又は「３メートル以下」などと設定することが考えられる。
前者の場合、検証対象のモデルからの出力データが４８メートル以上であればモデルは正常であると判定し、それ以外であれば不正であると判定する。
後者の場合、検証対象のモデルからの出力データが３メートル以下であればモデルは不正であると判定し、それ以外であれば正常であると判定する。
【００９４】
ここでは、機械学習モデルの例としてＤＮＮを示したが、ＳＶＭ（Support Vector Mac
hine）やRandom Forestなど、その他の機械学習アルゴリズムについても、テストデータに対する確信度が高くなるように学習を行うことで、利用者のモデルが不正かどうかを容易に判定できるものである。
【００９５】
［第１の不正検知システムにおける動作：図４］
次に、第１の不正検知システムの動作について図４を用いて説明する。図４は、第１の不正検知システムにおける動作を示すシーケンス図である。
図４に示すように、第１の不正検知システムでは、ライセンサ装置４３がモデルを学習するための学習データの生成（又は収集）を行う（Ｓ１０２）。
学習データは、モデルが実行するタスクに応じたデータであり、センサーやカメラからのデータや、マーケティング分野における顧客情報等である。学習データは、学習可能なデータ形式で保持される。
【００９６】
更に、ライセンサ装置４３は、モデルに対応したテストデータを生成する（Ｓ１０４）。テストデータの数は任意の数でよい。
ライセンサ装置４３は、用意した学習データを用いてモデルの学習を行い、学習済みモデルを生成する（Ｓ１０６）。
そして、ライセンサ装置４３は、第１のライセンス・モデル管理装置（第１の管理装置）４１に対して、ライセンス発行要求を送信する（Ｓ１０８）。
【００９７】
第１の管理装置４１は、ライセンス発行要求を受信すると、ライセンサ登録を行う（Ｓ１１０）。具体的には、第１の管理装置４１のライセンス管理部１１が、図２に示したライセンサＩＤと名前とを備えたライセンサクラス２１の情報を生成する。
【００９８】
ライセンサ登録が完了すると、第１の管理装置は、ライセンサ装置に、ライセンス登録完了通知を送信する（Ｓ１１２）。
ライセンサ装置は、ライセンス登録完了通知を受信すると、第１の管理装置４１にモデル・テストデータ登録要求を送信する（Ｓ１１４）。モデル・テストデータ登録要求には、処理Ｓ１０６で生成された学習済みモデルと、処理Ｓ１０４で生成されたテストデータと、ライセンスの条件等が付される。
【００９９】
第１の管理装置４１は、モデル・テストデータ登録要求を受信すると、図２に示したモデルクラス２２の情報及びそれに関連する不正検出データクラス２５、レイヤクラス２６の情報を生成して、モデル及びテストデータの情報を登録する（Ｓ１１６）。
【０１００】
更に、第１の管理装置４１は、ライセンサ装置４３からのモデル・テストデータ登録要求に付された情報に基づいて、当該モデルの利用を許可された利用者の情報（図２に示した利用者クラス２３）を生成し、個別ライセンスクラス２４の情報を生成する（Ｓ１１８）。個別ライセンスクラス２４は、ライセンサＩＤと、モデルＩＤと、利用者ＩＤとを１対１対１に対応付けるライセンス情報である。
【０１０１】
そして、第１の管理装置４１は、処理Ｓ１１４でライセンサ装置４３から受信した学習済みモデルを、対応するテストデータを用いて学習して、テストデータ学習済みモデルを生成する（Ｓ１１９）。具体的には、モデル生成部１２が、テストデータに対して、プローブノードから高い確信度が得られるようにパラメータを調整して学習を行う。
なお、本シーケンスでは、学習データを使って学習済みモデルを作成し、その後テストデータを使ってテストデータ学習済みモデルを生成しているが、本発明はこれに限定されず学習データとテストデータとを用いて生成されればよい。例えば、学習データとテストデータを合わせて学習を行ってもよく、学習データとテストデータをランダムな順番で繰り返し学習してテストデータ学習済みモデルを生成してもよい。
また、第１の管理装置４１は、図２に示した不正検出データクラス２５に、モデルに対応するテストデータと、テストデータ学習済みモデルにテストデータを入力した場合の出力値と、許容誤差の範囲（基準範囲、判定基準）とを記憶する。
【０１０２】
このように、第１の不正検知システムでは、ライセンサ装置４３から学習済みモデル及びテストデータの提供を受けるが、テストデータを用いた学習は第１の管理装置４１で行う。
すなわち、どのテストデータに対してどのような出力値が得られるように学習したかは、ライセンサ装置４３にも知らされず、第１の管理装置４１のみで管理することになる。
これによって、モデル検証の客観性を保持し、検証の信頼性を確保することができるものである。
【０１０３】
そして、第１の管理装置４１は、ライセンサ装置４３から許可された利用者装置４２に対して、個別ライセンスＩＤを付してテストデータ学習済みモデルを配布する（Ｓ１２０）。配布されるモデルには、公開鍵方式などの鍵やライセンス情報を含んだ電子証明書が付加されてもよい。
【０１０４】
利用者装置４２は、テストデータ学習済みモデルが配布されると、自装置又は別の端末や装置（エンドユーザ）にモデルを組み込み（Ｓ１２２）、第１の管理装置４１に対して、利用登録要求とモデル検証要求を送信する（Ｓ１２４）。
利用登録要求には、利用者ＩＤと、個別ライセンスＩＤと、モデルを組み込んだ機器の製造番号が付される。
モデル検証要求には、個別ライセンスＩＤと、利用者装置４２が実際に機器に組み込んだモデル（利用者モデル）が付与される。
【０１０５】
第１の管理装置４１は、利用登録要求を受信すると、管理情報を参照して、当該利用者が正当な利用者であるか、また、モデルが組み込まれた機器の数が、利用者クラス２３に記憶されている利用登録可能数を超えていないか、モデルクラス２２に記憶されている許可されたライセンス数を超えていないか等を検証し（Ｓ１２６）、正当な利用者ではないと判断される場合や、規定された数を超えている場合には、利用者装置４２にその旨通知して利用を禁止する。
これにより、利用者が非正規なモデルを使用せずにすみ、モデルの信頼性を向上させ、モデルが自動運転等の安全性の要求が高いシステムに組み込まれる場合に特に効果的である。
【０１０６】
尚、モデルと利用者と機器（利用者装置４２）とが１対１対１に対応するように構成されている場合、モデルが不正に再配布されて別の機器に組み込まれると、第１の管理装置４１は、利用登録要求に対応するモデルと利用者と機器の組み合わせが、管理情報に登録されている情報と一致しないことを検出し、不正と判断する。
【０１０７】
また、第１の管理装置４１は、モデル検証要求に基づいて、個別ライセンスＩＤに対応するモデルＩＤを特定し、当該モデルＩＤに対応するテストデータを用いて利用者モデルを実行し、その出力データと、正規のテストデータ学習済みモデルによる出力値とを比較して、許容誤差の範囲に基づいて利用者モデルが不正か否かを判定し（Ｓ１２６）、利用者装置４２に結果を通知する（Ｓ１２８）。利用者モデルが不正と判断されるのは、利用者モデルが改ざんされている場合や、破損している場合が考えられる。
このようにして第１の不正検知システムにおける動作が行われるものである。
【０１０８】
第１の不正検知システムでは、学習データ及びテストデータの生成をライセンサ装置４３において行うようにしているので、第１のライセンス・モデル管理装置４１の構成を簡易にすることができるものである。
また、モデル検証時に、プロダクトキーなどによる判定ではなく、利用者が実際に機器に組み込んで利用しているモデルでタスクを実行して検証を行うので、確実に不正を検出することができるものである。
【０１０９】
［運用開始後のモデル検証：図５］
次に、利用者装置４２においてモデルの運用が開始された後のモデル検証について図５を用いて説明する。図５は、運用開始後のモデル検証の動作を示すシーケンス図である。
図５に示すように、第１の不正検知システムにおいて、運用開始後に利用者がモデルの検証を要求する場合、利用者装置４２から第１の管理装置４１にテストデータ要求を送信する（Ｓ２０２）。テストデータ要求には、利用者ＩＤと、ライセンスＩＤとが含まれる。また、乱数等も合わせて送信する。
【０１１０】
第１の管理装置４１は、テストデータ要求を受信すると、ライセンスＩＤに基づいて、対応するモデルＩＤを特定し、当該モデルＩＤに対応するテストデータを読み出して、ライセンスＩＤを付して要求元の利用者装置に送信する（Ｓ２０４）。
ここで、第１の管理装置４１は、対応するテストデータの中から任意のデータを選択して、それにダミーデータを加えて送信する。また、テストデータに対応する出力値は送信しない。
テストデータ及びダミーデータにはそれぞれＩＤが付されているが、利用者装置４２では、テストデータとダミーデータの区別は不能である。
【０１１１】
第１の管理装置４１は、テストデータ及びダミーデータを送信する際には、要求元の利用者装置３２のみが復号できるように、機器の固有鍵（製造番号）、モデルの鍵（モデルＩＤ）、乱数などを組み合わせて暗号化して、送信する。
これにより、テストデータが第三者に渡るのを防ぎ、テストデータを用いて、本不正検知システムにおいて検証不能な形でモデルが改ざんされるのを防ぐことができる。
【０１１２】
利用者装置４２は、テストデータ及びダミーデータ（テストデータ等とする）を受信すると、当該テストデータ等を、ライセンスＩＤに対応して実際に利用しているモデルに入力してタスクを実行させ、出力データを得る（Ｓ２０６）。出力データは、テストデータ等のＩＤに対応付けられている。
【０１１３】
利用者装置４２は、ライセンス・モデル管理装置４１のタスク実行部１１２と同等のモデル実行部を備えている。
モデル実行部は、耐タンパー性（内部を解析されにくい性質）を有するＦＰＧＡやＳｏＣ（System on a Chip）等のハードウェア或いはメモリ保護機能を有するＯＳ（Operatin
g System）上で動作する特権ソフトウェアとして実装され、そこでは、暗号化されたままのテストデータが入力されてモデル実行され、復号されたテストデータをモデル実行部から取り出すことができないように構成されるのが望ましい。
そして、利用者装置４２は、当該出力データに利用者ＩＤ及びライセンスＩＤを付して第１の管理装置４１に送信する（Ｓ２０８）。
【０１１４】
第１の管理装置４１は、利用者装置４２から出力データを受信すると、ＩＤを参照してダミーデータに対する出力データを取り除き、テストデータに対する出力データのみを抽出する。
そして、第１の管理装置４１は、ライセンスＩＤに基づいてモデルＩＤを特定し、当該モデルＩＤに対応して記憶されている正規のテストデータ学習済みモデルによる出力値を読み出し、利用者装置から受信した出力データと、出力値とを比較して、判定基準に基づいて利用者モデルが不正かどうか検証する（Ｓ２１０）。
Ｓ２１０の処理は、第１の管理装置のライセンス管理部１１からの指示で、モデル検証部１３で行い、モデル検証部１３が判定結果をライセンス管理部１１に出力する。
【０１１５】
そして、第１の管理装置４１は、検証結果を利用者装置４２に通知する（Ｓ２１２）。不正なモデルであると判定された場合には、利用者は、運用中のモデルの使用を中止することができる。
このようにして、運用開始後のモデル検証が行われるものである。
【０１１６】
尚、図４に示した運用開始前のモデル検証と、図５に示した運用開始前のモデル検証は、どちらか一方のみを行うようにしてもよい。
モデル又はテストデータを徹底的に秘匿したい場合には、モデル検証を運用開始前又は運用開始後の一方だけとすることが望ましい。
【０１１７】
例えば、運用開始後のモデル検証（図５）を行う場合、利用者の所有する機器においてモデル実行部がブラックボックス化されて実装されていれば、モデルの秘匿性は保護されるが、暗号の強度によっては、テストデータが流出するリスクがある。
【０１１８】
［第２の実施の形態に係るライセンス・モデル管理装置：図６］
次に、本発明の第２の実施の形態に係る機械学習モデル不正検知システム（第２の不正検知システム）で用いられるライセンス・モデル管理装置（第２の管理装置）について図６を用いて説明する。図６は、第２の実施の形態に係るライセンス・モデル管理装置の構成ブロック図である。
【０１１９】
上述した第１の管理装置は、学習済みモデルとテストデータとをライセンサ装置から受け取って、当該テストデータを用いて学習済みモデルの学習を行ってテストデータ学習済みモデルを生成するようにしているが、第２の管理装置は、ライセンサ装置から取得したモデル情報に基づいて、第２の管理装置の内部でテストデータを生成して、学習データによる学習と、テストデータによる学習を行うものである。
【０１２０】
図６に示すように、第２の管理装置は、ライセンス管理部３１と、モデル生成部３２と、モデル検証部３３とを備えている。
ライセンス管理部３１は、第１の管理装置におけるライセンス管理部１１と基本的な構成及び動作は同様であるが、第２の管理装置の特徴として、ライセンサ装置からライセンス発行要求及びモデル生成要求を受信した場合に、モデル生成部３２に対して、モデル生成命令を出力する。
モデル生成命令には、ライセンサ装置から受信した、未学習のモデルとモデルＩＤとが含まれる。
【０１２１】
モデル生成部３２は、第２の管理装置の特徴部分であり、テストデータ生成部３０８と、不正検知データ保持部３０９と、学習データ保持部３１０と、モデル保持部３１１と、モデル学習部３１２とを備えている。
【０１２２】
テストデータ生成部３０８は、ライセンス管理部３１からモデル生成命令を受信すると、生成すべきモデルに応じて、適切なテストデータを生成する。
テストデータは、第１の不正検出システムで用いられたテストデータと同様のものであり、モデルが不正なものであった場合にそれを検知するためのデータである。
テストデータ生成部３０８は、生成したテストデータをモデルＩＤと対応付けて不正検知データ保持部３０９に記憶すると共に、モデル学習部３１２にテストデータ生成完了通知を出力する。
【０１２３】
学習データ保持部３１０は、生成すべきモデルに応じて収集、生成された学習データを記憶している。
学習データは、モデルＩＤに対応して記憶されている。
また、学習データは、ライセンサ装置において収集、生成されたものを用いてもよい。
【０１２４】
モデル学習部３１２は、ライセンサ装置から提供された未学習のモデルについて、学習データ保持部３１０に記憶された学習データを用いて学習を行い、学習済みモデルを生成する。
【０１２５】
更に、モデル学習部３１２は、テストデータ生成部３０８からテストデータ生成完了通知を受信すると、不正検知データ保持部３０９から、モデルＩＤに対応するテストデータを読み出して、生成した学習済みモデルにテストデータを入力して学習を行い、テストデータ学習済みモデルを生成する。
【０１２６】
つまり、モデル学習部３１２は、タスクに応じた学習データによる学習に加えて、テストデータが入力された場合にプローブノードから特異的な出力が得られるよう、学習を行って、テストデータ学習済みモデルを生成する。
そして、モデル学習部３１２は、テストデータ学習済みモデルにテストデータを入力した場合に得られる出力値を、モデルＩＤに対応して不正検知データ保持部３０９に記憶する。
【０１２７】
不正検知データ保持部３０９は、第１の管理装置と同様に、モデルＩＤと、当該モデルＩＤに対応するテストデータと、当該テストデータをテストデータ学習済みモデルに入力してタスクを実行した際の出力値と、不正か否かを判定する判定基準（基準範囲）とを対応付けて記憶している。
また、運用開始後の検証時にテストデータと共に送信されるダミーデータも不正検知データ保持部３０９に記憶されている。
【０１２８】
モデル検証部３３は、第１の管理装置におけるモデル検証部１３と同等のものであり、ライセンス管理部３１からの検証命令が入力されると、検証命令に付された検証対象のモデルについてテストデータを用いてタスク実行し、その出力データと、正規のテストデータ学習済みモデルによる出力値とを比較して、判定基準に基づいて、検証対象のモデルが不正なものかどうかを判定する。
【０１２９】
［第２の不正検知システムにおける動作：図７］
次に、第２の不正検知システムの動作について図７を用いて説明する。図７は、第２の不正検知システムにおける動作を示すシーケンス図である。
図７に示すように、第２の不正検知システムでは、ライセンス・モデル管理装置（第２の管理装置）４４が学習データの生成や収集を行う（Ｓ３０２）。
そして、ライセンサ装置４５からライセンス発行・モデル生成要求が送信されると（Ｓ３０４）、第２の管理装置は、ライセンス発行要求に基づいて、ライセンサ登録を行い（Ｓ３０６）、モデル情報を登録する（Ｓ３０８）。
ライセンス発行要求には、ライセンスを受けることができる利用者の情報やライセンスの条件が含まれ、モデル生成要求には、未学習のモデルや、モデルを生成するために必要な情報が含まれる。
また、ライセンス発行要求に対して、システムや学習データの利用に対する対価の支払いを求めてもよい。
【０１３０】
そして、第２の管理装置４４は、モデルに応じたテストデータを生成する（Ｓ３１０）。
テストデータを生成すると、第２の管理装置４４は、処理Ｓ３０２で生成した学習データで未学習のモデルを学習して学習済みモデルを生成し、更に、処理Ｓ３１０で生成したテストデータを用いて学習済みモデルを学習して、テストデータ学習済みモデルを生成する（Ｓ３１２）。
なお、本シーケンスでは、学習データを使って学習済みモデルを作成し、その後テストデータを使ってテストデータ学習済みモデルを生成しているが、本発明はこれに限定されず学習データとテストデータとを用いて生成されればよい。例えば、学習データとテストデータを合わせて学習を行ってもよく、学習データとテストデータをランダムな順番で繰り返し学習してテストデータ学習済みモデルを生成してもよい。
【０１３１】
更に、第２の管理装置は、ライセンスを受けることが許可された利用者の利用者情報及び個別ライセンス情報を生成して（Ｓ３１４）、当該利用者の利用者装置４２にテストデータ学習済みモデルを配布する（Ｓ３１６）。
第２の不正検知システムの利用者装置４２は、第１の不正検知システムにおける利用者装置４２と同一である。
【０１３２】
そして、第１の不正検知システムのＳ１２２〜Ｓ１２８と同様に、利用者装置４２においてモデルが組み込まれ（Ｓ３１８）、利用登録要求・モデル検証要求が送信され（Ｓ３２０）、第２の管理装置４４において、利用者の検証とモデルの検証を行って（Ｓ３２２）、検証結果を利用者装置４２に通知する（Ｓ３２４）。
このようにして、第２の不正検知システムにおける処理が行われるものである。
【０１３３】
また、第２の不正検知システムにおいても、図５に示した第１の不正検知システムの処理と同様に、運用開始後のモデル検証が行われるものである。
【０１３４】
［実施の形態の効果］
本発明の第１の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法によれば、ライセンス・モデル管理装置が、ライセンサ装置から学習済みモデルとそれに対応するテストデータを入力して、テストデータを用いて、当該学習済みモデルにテストデータが入力された場合に、特異な反応としてテストデータである確信度が高く出力されるよう学習を行ってテストデータ学習済みモデルを生成すると共に、テストデータ学習済みモデルと当該モデルにテストデータを入力した場合の出力値とを対応付けて記憶しておき、当該テストデータ学習済みモデルを利用する利用者装置から利用者モデルが入力されると、学習済みモデルに対応するテストデータを、当該利用者モデルに入力して動作させ、その出力データと、記憶されているテストデータ学習済みモデルによる出力値とを比較して、誤差が許容範囲外であれば利用者モデルが不正なものであることを検知するようにしており、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができる効果があり、また、学習済みモデル及びテストデータの生成をライセンサ装置で行うため、ライセンス・モデル管理装置の構成を簡易にすることができる効果がある。
【０１３５】
また、本発明の第２の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法によれば、ライセンス・モデル管理装置が、モデルの生成に必要な情報が入力されると、学習データを生成（収集）し、当該モデルの改ざんを検知可能なテストデータを生成し、学習データ及びテストデータを用いて、テストデータが入力された場合に、特異な反応としてテストデータである確信度が高く出力されるようモデルを学習して、テストデータ学習済みモデルを生成し、テストデータと、当該テストデータをテストデータ学習済みモデルに入力した場合の出力値とを対応付けて記憶しておき、当該テストデータ学習済みモデルを利用する利用者装置から利用者モデルが入力されると、テストデータ学習済みモデルに対応するテストデータを、当該利用者モデルに入力して動作させ、その出力データと、記憶されているテストデータ学習済みモデルによる出力値とを比較して、誤差が許容範囲外であれば利用者モデルが不正なものであることを検知するようにしており、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができる効果があり、また、学習済みモデル及びテストデータの生成をライセンス・モデル管理装置で行うため、ライセンサ管理装置の構成を簡易にすることができる効果がある。
【０１３６】
特に、第１及び第２の不正検知システム及び不正検知方法によれば、テストデータによる学習をライセンス・モデル管理装置で行うようにしているので、テストデータとそれに対応する出力値を秘匿することができ、ライセンス・モデル管理装置によるモデル検証の客観性及び信頼性を確保することができる効果がある。
【０１３７】
また、第１及び第２の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法によれば、ライセンス・モデル管理装置が、利用者装置での運用開始後にモデル検証要求を受信すると、当該モデルに対応するテストデータにダミーデータを混ぜて要求元の利用者装置に送信し、送信したデータを利用者モデルに入力してタスク実行させた出力データを受信すると、テストデータに対する出力データを抽出して、当該出力データと、記憶されている正規のテストデータ学習済みモデルによる出力値とを比較して、判定基準に基づいて、利用者モデルが不正なものかどうかを検知するようにしているので、モデルそのものを送受信しなくても、モデルの改ざんを検出することができる効果がある。
【０１３８】
また、第１及び第２の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法によれば、ライセンス・モデル管理装置が、ライセンサからのライセンス発行要求及びモデル登録要求に基づいて、ライセンサと、モデルと、利用者とを対応付けると共に、適正な利用条件に紐付けられた個別ライセンス情報を生成して記憶しておき、利用者装置からの利用申請があると、個別ライセンス情報を参照して当該利用申請が適正か否かを判断し、適正ではない場合には利用を禁止するようにしているので、不正利用を防ぐことができる効果がある。
【０１３９】
尚、第１及び第２の不正検知システムにおいて、モデルの不正を検知する際に、テストデータに対する正規のテストデータ学習済みモデルの出力値と、検証対象のモデルの出力データとを比較するのではなく、テストデータ毎に、特定の基準範囲を判定基準として記憶しておき、テストデータに対する検証対象のモデルの出力データを、当該基準範囲と比較して、その結果に基づいて正常又は不正であると判定してもよい。
この場合には、基準範囲とそれに対応する正／不正の判定とを対応付けて記憶しておく。
【０１４０】
また、ライセンサが十分信用できる場合には、ライセンス・モデル管理装置が、ライセンサ装置から、テストデータとそれに対応する出力値、若しくはテストデータとそれに対応する基準範囲を受け取って記憶しておき、利用者装置からモデル検証要求があった場合には、検証対象のモデルの出力データを、記憶している出力値（又は基準範囲）と比較して、検証対象のモデルの正／不正を判断するように構成することも可能である。
このように構成した場合には、ライセンス・モデル管理装置の構成を一層簡易にすることができる効果がある。
【０１４１】
更に、テストデータ学習済みモデルは、プログラムの形で利用者装置に配布されるものとしているが、モデルをチップ化したハードウェアとして配布してもよく、更に、利用者が当該チップを各種製品（例えばカメラや自動車等）に組み込んで、それらの製品においてモデルを利用する場合もある。
この場合でも、モデルを組み込んだ製品がネットワークを介して利用者装置又はライセンス・モデル管理装置に接続することで、上述したようにモデルの検証を行うことができるものである。
【０１４２】
また、モデル検証部における検証の際に、図２に示した管理情報のモデルクラス２２及びレイヤクラス２６を参照して、検証対象のモデルと正規のモデルについて、全てのパラメータの値又はそれらのハッシュ値が一致しているか否かを比較し、その結果に基づいて不正判定を行ってもよい。
パラメータ又はそれらのハッシュ値と、テストデータに対する出力データを合わせて判定に用いることも可能である。
【０１４３】
例えば、パラメータ又はそのハッシュ値が完全に一致しないにも関わらず、テストデータに対する出力データが許容範囲内であった場合、検証対象のモデルは、再学習や転移学習等の改変や流用が行われた可能性がある。そのため、モデル検証部は、このような場合には不正であると判断するよう構成される。
【０１４４】
更にまた、第１の不正検知システムにおいて、モデル登録要求において、学習済みモデルそのものは登録せずに、モデルを完全に記述するパラメータ、又はそれらのハッシュ値等と、モデルに対応するテストデータのみをライセンス・モデル管理装置に登録するようにしてもよい。
この場合、ライセンス・モデル管理装置は、ライセンス装置に対して、当該モデルに対応する個別ライセンス専用に、暗号化やパッケージ化されたモデルを提供するよう要求して、学習済みモデルの提供を受け、テストデータによる学習を行う。
【０１４５】
また、上述した例では、モデル検証はライセンス・モデル管理装置のみで行うものとして記載したが、所有者装置や利用者装置がモデル検証の機能を備えるよう構成してもよい。
【産業上の利用可能性】
【０１４６】
本発明は、機械学習モデルの不正利用や改ざんを検知する機械学習モデル不正検知システム及び不正検知方法に関する。
【符号の説明】
【０１４７】
１１，３１…ライセンス管理部、  １２…モデル管理部、  １３，３３…モデル検証部、  ２１…ライセンサクラス、  ２２…モデルクラス、  ２３…利用者クラス、  ２４…個別ライセンスクラス、  ２５…不正検出データクラス、  ２６…レイヤクラス、  ２７…利用登録情報クラス、  ３２…モデル生成部、  ４１…第１のライセンス・モデル管理装置、  ４２…利用者装置、  ４３，４５…ライセンサ装置、  ４４…第２のライセンス・モデル管理装置、  １０４，３０４…入力インタフェース、  １０５，３０５…主制御部、  １０６，３０６…出力インタフェース、  １０７，３０７…管理情報保持部、  １０８，３０９…不正検知データ保持部、  １０９，３１１…モデル保持部、  １１０，３１２…モデル学習部、  １１２，３１２…タスク実行部、  １１３，３１３…不正判定部、  ３１０…学習データ保持部
【図１】
0006655762.tif 000002
【図２】
0006655762.tif 000003
【図３】
0006655762.tif 000004
【図４】
0006655762.tif 000005
【図５】
0006655762.tif 000006
【図６】
0006655762.tif 000007
【図７】
0006655762.tif 000008