JP6655762B2 - 機械学習モデル不正検知システム及び不正検知方法 - Google Patents

機械学習モデル不正検知システム及び不正検知方法 Download PDF

Info

Publication number
JP6655762B2
JP6655762B2 JP2019519509A JP2019519509A JP6655762B2 JP 6655762 B2 JP6655762 B2 JP 6655762B2 JP 2019519509 A JP2019519509 A JP 2019519509A JP 2019519509 A JP2019519509 A JP 2019519509A JP 6655762 B2 JP6655762 B2 JP 6655762B2
Authority
JP
Japan
Prior art keywords
model
test data
user
data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019519509A
Other languages
English (en)
Other versions
JPWO2018216379A1 (ja
Inventor
圭吾 長谷川
圭吾 長谷川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Publication of JPWO2018216379A1 publication Critical patent/JPWO2018216379A1/ja
Application granted granted Critical
Publication of JP6655762B2 publication Critical patent/JP6655762B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • G06F18/2178Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
    • G06F18/2185Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor the supervisor being an automated module, e.g. intelligent oracle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/776Validation; Performance evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、機械学習モデルの管理を行うシステムに係り、特に機械学習モデルの不正利用や改ざんを検知する機械学習モデル不正検知システム及び不正検知方法に関する。
[先行技術の説明]
機械学習モデル(以下、モデルと称する)では、センサーで取得したデータやデータベースに蓄積されたデータの集合を入力して解析を行い、そのデータから潜在的な規則などの特徴を抽出する。
モデルは、明示的なプログラムがなくても特徴抽出方法の学習を行い、学習済みのモデルに新たなデータを入力することで、画像に映る物体の識別や音源の識別、将来発生する事象の予測などのタスクを実行することができる。
つまり、機械学習モデルに、タスクに応じて適切な学習データを入力して学習させて学習済みモデルを生成し、学習済みモデルに実際のデータを入力してタスクを実行させることで出力を得る。
機械学習は、教師あり学習と教師なし学習に分類される。
教師あり学習では、学習前に蓄積されたデータを用い、あるデータを入力した場合に期待する出力を正解ラベルとして付与し、入力と出力が一致するように学習(パラメータ値等の調整)を行う。
これにより、未知の入力データに対してもタスクを実行することが可能になる。
教師なし学習では、正解ラベルをつけることなく、蓄積されたデータの中から特徴の似たデータ同士を分類する方法を学習する。これにより、未知の入力データに対しても分類や類似度を求めることが可能になる。
いずれの学習方法においても、バリエーションに富んだ大量のデータを用いて学習を行うことで、発生しうるあらゆる入力データに対応できるモデルを構築することができる。
このように、機械学習は大量のデータを基に実行されるため、実行したいタスクの学習に必要なデータの蓄積が性能に大きな影響を及ぼす。
研究開発などの用途では、様々な機械学習に有用なデータセットやモデルが公開されているが、商用での利用を禁止する場合も多々ある。
機械学習によって学習が行われたモデル(学習済みモデル)は、例えば、モデルを開発して公開・配布する所有者(ライセンサ)又は管理者が許可を与えた利用者(ライセンシー)が、所定の利用条件に基づいて利用するようになっている。
機械学習モデルの多くは非線形モデルであり、更に、設定されるパラメータは数千から数十億にも及ぶため、詳細な内部の動作を検証することは困難である。
このため、利用者が、所有者等が設定した利用制限を超えて利用(不正利用)したとしても、そのことを出力結果のみから検証することは容易ではない。
また、悪意のある第三者によってモデルの改ざんが行われたとしても、タスク実行の性能に軽微な範囲であれば、改ざんに気づくことは容易ではない。
そのため、正規のモデルを利用したいユーザーが、意図せずに不正なモデルを利用してしまう恐れがある。
例えば、人命にかかわるような重要なシステムに組み込まれたモデルが改ざんされた場合には、重大な事故を引き起こす恐れがある。
[関連技術]
尚、機械学習モデルに関する従来技術としては、特開2016−4548号公報「提供装置、提供方法及び提供プログラム」(特許文献1)、特開2014−49118号公報「畳み込みニューラルネットワーク分類器システム、その訓練方法、分類方法及び用途」(特許文献2)、直江健介他「ニューラルネットワークに基づくセキュリティ技術」(非特許文献1)、 Er. Ashish Bansal, et al., “Watermarking using neural network an
d hiding the trained network within the cover image”(非特許文献2)がある。
特許文献1には、多段ニューラルネットワークを容易に提供する提供装置が記載されている。
特許文献2には、手書き文字を、高い認識率で効率よく識別する畳み込みニューラルネットワーク分類器システムが記載されている。
また、非特許文献1には、ニューラルネットワークを様々なセキュリティ技術に適用することが記載されている。
非特許文献2には、ニューラルネットワークを用いた電子透かしの技術が記載されている。
特開2016−4548号公報 特開2014−49118号公報
直江健介、「ニューラルネットワークに基づくセキュリティ技術」、人工知能学会誌 Vol. 21(5)、 577−585、 2006−09−01 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
上述したように、従来の機械学習モデルでは、不正利用が行われた場合や、モデルが不正に改ざんされた場合に、それを検知することが困難であるという問題点があった。
本発明は上記実状に鑑みて為されたもので、不正利用やモデルの改ざんを検知して、モデルの信頼性を向上させることができる機械学習モデル不正検知システム及び不正検知方法を提供することを目的とする。
上記従来例の問題点を解決するための本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知システムであって、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定するライセンス管理部と、ライセンサ装置から提供された学習済みモデルを記憶するモデル保持部と、学習済みモデルをライセンサ装置から提供されたテストデータを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、テストデータを記憶すると共に、当該テストデータをテストデータ学習済みモデルで実行した場合に得られる出力値を記憶する不正検知データ保持部とを備えるモデル管理部と、テストデータ学習済みモデルを利用する利用者装置から提供された利用者のモデルについて、不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、タスク実行部の出力データと不正検知データ保持部に記憶された出力値とを比較し、利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、を具備するライセンス・モデル管理装置を有することを特徴としている。
また、本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知システムであって、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定するライセンス管理部と、学習データを記憶する学習データ保持部と、不正を検知するためのテストデータを生成するテストデータ生成部と、ライセンサ装置から提供された未学習のモデルを学習データとテストデータとを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、テストデータ学習済みモデルを記憶するモデル保持部と、テストデータと当該テストデータをテストデータ学習済みモデルで実行した場合に得られる出力値とを記憶する不正検知データ保持部とを備えるモデル生成部と、テストデータ学習済みモデルを利用する利用者装置から提供された利用者のモデルについて、不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、タスク実行部の出力データと不正検知データ保持部に記憶された出力値とを比較し、利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、を具備するライセンス・モデル管理装置を有することを特徴としている。
また、本発明は、上記機械学習モデル不正検知システムにおいて、ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて利用者装置に送信し、モデル検証部の不正判定部が、利用者装置においてテストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定することを特徴としている。
また、本発明は、上記機械学習モデル不正検知システムにおいて、モデル検証部の不正判定部は、利用者装置から提供された利用者のモデルにテストデータを入力して得られた出力データ又は利用者装置から入力された出力データが、不正検知データ保持部に記憶する出力値と比較した場合に、予め定めた許容範囲の差であれば、利用者のモデルを不正なものではないと判定することを特徴としている。
また、本発明は、上記機械学習モデル不正検知システムにおいて、モデル検証部の不正判定部は、利用者装置から提供された利用者のモデルにテストデータを入力して得られた出力データ又は利用者装置から入力された出力データが、不正と認定するための基準範囲と比較した場合に、基準範囲内であれば、利用者のモデルを不正なものと判定することを特徴としている。
また、本発明は、機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、組み込んだモデルをライセンス・モデル管理装置に提供してモデル検証を要求し、ライセンス・モデル管理装置において提供されたモデルにテストデータを用いて行われたモデル検証の結果が入力されることを特徴としている。
また、本発明は、機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、ライセンス・モデル管理装置にテストデータを要求し、ライセンス・モデル管理装置から提供されるテストデータとダミーデータを入力して組み込んだモデルで実行し、出力データをライセンス・モデル管理装置に出力し、ライセンス・モデル管理装置から出力データに基づいて行われたモデル検証の結果が入力されることを特徴としている。
また、本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知方法であって、ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、ライセンス管理部が、ライセンサ装置から提供された学習済みモデルとテストデータを受信して、モデル管理部のモデル保持部に学習済みモデルを記憶すると共に不正検知データ保持部にテストデータを記憶し、モデル管理部のモデル学習部が、テストデータを入力した場合に特異な出力値が得られるよう学習済みモデルを学習して、テストデータ学習済みモデルを生成し、テストデータ学習済みモデルにテストデータを入力して実行した場合に得られる出力値を不正検知データ保持部に記憶し、ライセンス管理部が、ライセンス情報に従って利用者装置にテストデータ学習済みモデルを配布し、ライセンス管理部が、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定し、利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、モデル検証部のタスク実行部が、利用者のモデルについて不正検知データ保持部に記憶するテストデータを入力してモデル実行し、モデル検証部の不正判定部が、タスク実行部でモデル実行して得られた出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定することを特徴としている。
また、本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知方法であって、ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、ライセンス管理部が、ライセンサ装置から提供された未学習のモデルを受信して、モデル生成部のテストデータ生成部が、不正を検知するためのテストデータを生成し、モデル生成部のモデル学習部が、未学習のモデルに学習データを入力して学習済みモデルを生成し、テストデータを入力した場合に特異な出力値が得られるよう学習済みモデルを学習して、テストデータ学習済みモデルを生成し、テストデータ学習済みモデルにテストデータを入力して実行した場合に得られる出力値を不正検知データ保持部に記憶すると共にテストデータ学習済みモデルをモデル保持部に記憶し、ライセンス管理部が、ライセンス情報に従って利用者装置にテストデータ学習済みモデルを配布し、ライセンス管理部が、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定し、利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、モデル検証部のタスク実行部が、利用者のモデルについて不正検知データ保持部に記憶するテストデータを入力してモデル実行し、モデル検証部の不正判定部が、タスク実行部でモデル実行して得られた出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定することを特徴としている。
また、本発明は、上記機械学習モデル不正検知方法において、ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて利用者装置に送信し、モデル検証部の不正判定部が、利用者装置においてテストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定することを特徴としている。
本発明によれば、機械学習によって構築されたモデルについて不正を検知するシステムにおいて、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定するライセンス管理部と、ライセンサ装置から提供された学習済みモデルを記憶するモデル保持部と、学習済みモデルをライセンサ装置から提供されたテストデータを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、テストデータを記憶すると共に、当該テストデータをテストデータ学習済みモデルで実行した場合に得られる出力値を記憶する不正検知データ保持部とを備えるモデル管理部と、テストデータ学習済みモデルを利用する利用者装置から提供された利用者のモデルについて、不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、タスク実行部の出力データと不正検知データ保持部に記憶された出力値とを比較し、利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、を具備するライセンス・モデル管理装置を有する機械学習モデル不正検知システムとしているので、ライセンス・モデル管理装置が、テストデータに対して特定の出力が得られるようにテストデータ学習済みモデルを生成しておくことにより、利用者のモデルが不正なものかどうかを容易に判定することができ、不正なモデルが利用されるのを防ぐことができ、モデルの信頼性を向上させることができる効果がある。
また、本発明によれば、機械学習によって構築されたモデルについて不正を検知するシステムにおいて、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定するライセンス管理部と、学習データを記憶する学習データ保持部と、不正を検知するためのテストデータを生成するテストデータ生成部と、ライセンサ装置から提供された未学習のモデルを学習データとテストデータとを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、テストデータ学習済みモデルを記憶するモデル保持部と、テストデータと当該テストデータをテストデータ学習済みモデルで実行した場合に得られる出力値とを記憶する不正検知データ保持部とを備えるモデル生成部と、テストデータ学習済みモデルを利用する利用者装置から提供された利用者のモデルについて、不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、タスク実行部の出力データと不正検知データ保持部に記憶された出力値とを比較し、利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、を具備するライセンス・モデル管理装置を有する機械学習モデル不正検知システムとしているので、ライセンス・モデル管理装置が、テストデータに対して特定の出力が得られるようにテストデータ学習済みモデルを生成しておくことにより、利用者のモデルが不正なものかどうかを容易に判定することができ、不正なモデルが利用されるのを防ぐことができ、モデルの信頼性を向上させることができる効果がある。
また、本発明によれば、ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて利用者装置に送信し、モデル検証部の不正判定部が、利用者装置においてテストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定する上記機械学習モデル不正検知システムとしているので、利用者のモデルそのものを送受信しなくても不正を検知できると共に、テストデータを特定されにくくして、モデル検証の信頼性を保持することができる効果がある。
また、本発明によれば、機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置において、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、組み込んだモデルをライセンス・モデル管理装置に提供してモデル検証を要求し、ライセンス・モデル管理装置において提供されたモデルにテストデータを用いて行われたモデル検証の結果が入力される利用者装置としているので、組み込んだモデルが不正なものであった場合には使用を中止して、モデルを組み込んだ装置の信頼性を確保することができる効果がある。
また、本発明によれば、機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、ライセンス・モデル管理装置にテストデータを要求し、ライセンス・モデル管理装置から提供されるテストデータとダミーデータを入力して組み込んだモデルで実行し、出力データをライセンス・モデル管理装置に出力し、ライセンス・モデル管理装置から出力データに基づいて行われたモデル検証の結果が入力される利用者装置としているので、組み込んだモデルが不正なものであった場合には使用を中止して、モデルを組み込んだ装置の信頼性を確保することができる効果がある。
また、本発明によれば、本発明は、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知方法において、ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、ライセンス管理部が、ライセンサ装置から提供された学習済みモデルとテストデータを受信して、モデル管理部のモデル保持部に学習済みモデルを記憶すると共に不正検知データ保持部にテストデータを記憶し、モデル管理部のモデル学習部が、テストデータを入力した場合に特異な出力値が得られるよう学習済みモデルを学習して、テストデータ学習済みモデルを生成し、テストデータ学習済みモデルにテストデータを入力して実行した場合に得られる出力値を不正検知データ保持部に記憶し、ライセンス管理部が、ライセンス情報に従って利用者装置にテストデータ学習済みモデルを配布し、ライセンス管理部が、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定し、利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、モデル検証部のタスク実行部が、利用者のモデルについて不正検知データ保持部に記憶するテストデータを入力してモデル実行し、モデル検証部の不正判定部が、タスク実行部でモデル実行して得られた出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定する機械学習モデル不正検知方法としているので、利用者のモデルが不正なものかどうかを容易に判定することができ、不正なモデルが利用されるのを防ぐことができ、モデルの信頼性を向上させることができる効果がある。
また、本発明によれば、機械学習によって構築されたモデルについて不正を検知する機械学習モデル不正検知方法において、ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、ライセンス管理部が、ライセンサ装置から提供された未学習のモデルを受信して、モデル生成部のテストデータ生成部が、不正を検知するためのテストデータを生成し、モデル生成部のモデル学習部が、未学習のモデルに学習データを入力して学習済みモデルを生成し、テストデータを入力した場合に特異な出力値が得られるよう学習済みモデルを学習して、テストデータ学習済みモデルを生成し、テストデータ学習済みモデルにテストデータを入力して実行した場合に得られる出力値を不正検知データ保持部に記憶すると共にテストデータ学習済みモデルをモデル保持部に記憶し、ライセンス管理部が、ライセンス情報に従って利用者装置にテストデータ学習済みモデルを配布し、ライセンス管理部が、利用者装置からの利用登録に対して利用者情報を参照して不正利用者を判定し、利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、モデル検証部のタスク実行部が、利用者のモデルについて不正検知データ保持部に記憶するテストデータを入力してモデル実行し、モデル検証部の不正判定部が、タスク実行部でモデル実行して得られた出力データと不正検知データ保持部に記憶する出力値とを比較し、利用者のモデルが不正なものか否か判定する機械学習モデル不正検知方法としているので、利用者のモデルが不正なものかどうかを容易に判定することができ、不正なモデルが利用されるのを防ぐことができ、モデルの信頼性を向上させることができる効果がある。
第1の実施の形態に係るライセンス・モデル管理装置の構成ブロック図である。 管理情報の構成を示すUML(Unified Modeling Language)クラス図である。 本不正検知システムで配布される機械学習モデルの構成例を示す説明図である。 第1の不正検知システムにおける動作を示すシーケンス図である。 運用開始後のモデル検証の動作を示すシーケンス図である。 第2の実施の形態に係るライセンス・モデル管理装置の構成ブロック図である。 第2の不正検知システムにおける動作を示すシーケンス図である。
本発明の実施の形態について図面を参照しながら説明する。
[実施の形態の概要]
本発明の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法は、ライセンス・モデル管理装置が、ライセンサ装置から学習済みの機械学習モデル(学習済みモデル)とそれに対応して不正を検知するためのテストデータが入力されると、当該学習済みモデルにテストデータを入力して学習させ、テストデータ学習済みモデルを生成すると共に、テストデータ学習済みモデルと当該テストデータ学習済みモデルにテストデータを入力した場合の出力値とを対応付けて記憶しておき、当該テストデータ学習済みモデルを利用する利用者装置から利用者モデルが入力されると、テストデータ学習済みモデルに対応するテストデータを、当該利用者モデルに入力して動作させ、その出力データと、記憶されているテストデータ学習済みモデルによる出力値とを比較して、利用者モデルが改ざんされているか否かを検知するようにしており、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができるものである。
また、本発明の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法は、ライセンス・モデル管理装置が、未学習のモデルとテストデータが入力されると、学習データ及びテストデータを用いてモデルを学習して、テストデータ学習済みモデルを生成し、テストデータと、テストデータを当該テストデータ学習済みモデルに入力した場合の出力値とを対応付けて記憶しておき、当該テストデータ学習済みモデルを利用する利用者装置が利用する利用者モデルが入力されると、テストデータ学習済みモデルに対応するテストデータを、当該利用者モデルに入力して動作させ、その出力データと、記憶されているテストデータ学習済みモデルによる出力値とを比較して、利用者モデルが改ざんされているか否かを検知するようにしており、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができるものである。
また、本発明の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法は、ライセンス・モデル管理装置が、利用者装置からライセンスIDを付してモデル検証要求が入力されると、当該ライセンスIDに対応するモデルを特定し、当該モデルに対応するテストデータを利用者装置に送信し、利用者装置から受信した当該テストデータに対応する出力結果を、予め記憶されているテストデータ学習済みモデルによる出力値と比較して、利用者モデルが改ざんされているか否かを検知するようにしており、モデル自体を送受信することなく、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができるものである。
[本発明の実施の形態に係る機械学習モデル不正検知システム]
本発明の実施の形態に係る機械学習モデル不正検知システム(本不正検知システム)について説明する。
本不正検知システムは、機械学習モデルを所有する所有者(ライセンサ)の装置(ライセンサ装置)と、機械学習モデルを利用する利用者の装置(利用者装置)と、モデルや利用者に許可されるライセンスの情報を管理するライセンス・モデル管理装置とを備えている。
本不正検知システムのライセンス・モデル管理装置(本管理装置)は、ライセンサ装置及びモデルを実装する利用者装置に通信回線によって接続されている。
本管理装置は、学習済みモデルの発行やライセンス管理を行う機関によって運用されることを想定しており、利用者がモデルを不正に利用していないかを検証し、また、利用者からの問い合わせに対して、利用者が利用しているモデルが不正に改ざんされていないかを検証するものである。
[第1の実施の形態に係るライセンス・モデル管理装置]
まず、本発明の第1の実施の形態に係る機械学習モデル不正検知システム(第1の不正検知システム)で用いられるライセンス・モデル管理装置(第1の管理装置)について図1を用いて説明する。図1は、第1の実施の形態に係るライセンス・モデル管理装置の構成ブロック図である。
図1に示すように、第1の管理装置は、ライセンス管理部11と、モデル管理部12と、モデル検証部13とを備えている。
第1の管理装置の各部について説明する。
[ライセンス管理部11]
ライセンス管理部11は、通信回線で接続されたライセンサ装置や利用者装置からの各種要求を受け付けて、ライセンス情報、モデル情報、利用者情報を管理するものであり、入力インタフェース部(入力I/F)104と、主制御部105と、出力インタフェース部(出力I/F)106と、管理情報保持部107とを備えている。
ライセンス管理部11は、基本的に、CPU(Central Processing Unit)から成る処理部や、ハードディスク、DRAM(Dynamic Random Access Memory)等から成る記憶部を備えたサーバーコンピュータで実現されるものである。
入力I/F104は、機械学習モデルを生成するライセンサの装置(ライセンサ装置)からのライセンス発行要求やモデル登録要求を受け付け、また、学習済みモデルを実装して利用するベンダー等の利用者装置からの利用登録要求やモデル検証要求を受け付ける通信インタフェースである。
出力I/F106は、ライセンサ装置へのライセンス発行要求等に対する応答や、利用者装置へのモデル検証の結果などの応答を行う通信インタフェースである。
入力IF104や出力I/F106は、Web API(Application Programming Int
erface)として実装されてもよい。
管理情報保持部107は、ライセンス管理部11の記憶部に設けられ、ライセンス管理部11において用いられるライセンスに関する各種の管理情報(ライセンサ情報、モデル情報、利用者情報)を記憶している。管理情報については後述する。
主制御部105は、入力I/F104から入力されたライセンサ装置及び利用者装置からの要求に含まれる情報に基づいて、ライセンサ情報と、モデル情報と、利用者情報とを含む管理情報を生成して、モデルやライセンスの管理を行う。
また、主制御部104は、利用者装置からのアクセスに対して、利用者情報を参照して、適正な利用者装置であるかどうかを判定し、利用者装置からの利用登録要求に応じて、不正利用かどうかを判定する。
更に、第1の管理装置の主制御部105は、ライセンサ装置からモデル登録要求として、学習済みモデルと後述するテストデータとが入力されると、モデル管理部12に対して、当該テストデータを用いて学習済みモデルの学習を行って、テストデータ学習済みモデルを生成するよう、テストデータ学習命令を出力する。
また、モデル管理部12からテストデータ学習完了通知を受信すると、ライセンサ装置に応答を出力する。
テストデータ学習済みモデルは、タスクに応じた学習データで学習を行った学習済みモデルに対して、更に不正を検出するためのテストデータを用いて学習したモデルである。
テストデータについては後で詳述するが、タスクに応じてアルゴリズムを構築するために学習する学習データとは全く異なり、特異な結果を出力させるためのデータである。
テストデータを学習したテストデータ学習済みモデルは、その後で、テストデータが入力された場合に、学習に応じた特異な結果を出力するが、テストデータを学習していないモデルや不正に改ざんされたモデルでは、テストデータが入力された場合に、そのような特異な出力は得られない。
本不正検知システムでは、このことを利用してモデルの不正を検知するものである。
本不正検出システムでは、利用者装置に対して、テストデータ学習済みモデルを配布することにより、配布後に、利用者装置で用いられているモデル(本来は正規のテストデータ学習済みモデル)に改ざん等の不正が為されたどうかを検出できるようにしている。
尚、学習前のモデルと、学習データで学習した学習済みモデルと、学習データ及びテストデータで学習したテストデータ学習済みモデルには共通のモデルIDが付されている。
ここで、これらのモデルは、コンピュータプログラムによって構成されるものである。
また、主制御部104は、利用者装置から、モデル検証要求として、利用者装置で使用しているモデルが入力(送信)されると、モデル検証部13に検証命令を出力して、当該モデルが改ざんされていないかどうかを検証させる。検証命令には、検証対象のモデルと、不正検知データ保持部108に記憶されているテストデータと、後述する出力値とが含まれる。
[モデル管理部12]
モデル管理部12は、CPUやGPU(Graphics Processing Unit)、ハードディスク、DRAM等を備えた高性能コンピュータ(HPC;High Performance Computing)等で実現され、第1の管理装置においては、テストデータを用いて学習済みモデルの学習を行うものである。
モデル管理部12は、不正検知データ保持部108と、モデル保持部109と、モデル学習部110とを備えている。
不正検知データ保持部108は、ハードディスクやフラッシュメモリ等で構成され、後述するモデルIDと、当該モデルIDに対応するテストデータと、当該テストデータをテストデータ学習済みモデルに入力してタスクを実行した際の出力値と、不正か否かを判定する許容範囲(判定基準)とを対応付けて記憶している。
モデルに対応するテストデータは複数種類あることが望ましい。
また、後述する運用開始後の検証時に、テストデータと共に利用者装置に送信されるダミーデータも不正検知データ保持部108に記憶されている。個々のテストデータ及びダミーデータにもIDが付されている。
モデル保持部109は、ハードディスクやフラッシュメモリ等で構成され、ライセンス管理部11から入力された、ライセンサ装置からの学習済みモデルを記憶し、また、モデル学習部110から入力されたテストデータ学習済みモデルを記憶する。
モデル学習部110は、CPUやGPU、FPGA(Field Programmable Gate Array
)、ハードディスクやDRAMなどで構成され、ライセンス管理部11からのテストデータ学習命令が入力されると、モデル保持部109に記憶されているライセンサ装置からの学習済みモデルを不正検知データ保持部108に記憶されているテストデータを用いて学習し、テストデータ学習済みモデルを生成する。
テストデータは、モデルIDに対応して生成されたデータであり、学習を行う際には対応するテストデータが用いられるものである。
特に、本不正検知システムにおいては、モデル学習部110は、テストデータを学習済みモデルに入力した場合に、特異な出力値が得られるように、各種パラメータを調整して学習を行う。
モデル学習部110は、テストデータ学習済みモデルを生成すると、テストデータ学習完了通知をライセンス管理部11に出力する。
また、モデル学習部110は、生成したテストデータ学習済みモデルをモデル保持部109に記憶すると共に、当該テストデータ学習済みモデルに、対応するテストデータを入力した場合の出力値を、モデルIDに対応付けて不正検知データ保持部108に記憶する。
つまり、出力値は、改ざんされていない正規のテストデータ学習済みモデルにテストデータを入力してタスクを実行した場合の出力データに相当するものである。
[モデル検証部13]
モデル検証部13は、CPUやハードディスク、DRAM等を備えたサーバーコンピュータあるいはHPC等で実現され、タスク実行部112と不正判定部113とを備えており、入力されたモデルが不正なものかどうかを検知する。
タスク実行部112は、ライセンス管理部11の主制御部105から、検証の命令と、検証対象のモデル及びモデルIDと、対応するテストデータの転送を受けると、検証対象のモデルにテストデータを入力してタスクを実行する。そして、その結果(出力データ)をモデルIDを付して不正判定部113に出力する。
不正判定部113は、ライセンス管理部11の主制御部105から、テストデータ学習済みモデルによる出力値と、不正か否かを判定する判定基準の転送を受け、タスク実行器112で実行されたモデルの出力データが入力されると、当該出力データと出力値とを比較し、判定基準に基づいて検証対象のモデルが不正であるかどうかの判定を行って、判定結果をライセンス管理部11に出力する。
ここでは、検証対象のモデルからの出力データと、正規のテストデータ学習済みモデルの出力値とを比較して、誤差が判定基準となる許容範囲内であれば、不正なモデルではないと判断し、誤差が許容範囲を越えていれば不正なモデルであると判断する。
[管理情報の構成:図2]
次に、ライセンス管理部11に記憶されている管理情報の構成について図2を用いて説明する。図2は、管理情報の構成を示すUML(Unified Modeling Language)クラス図である。
管理情報は、ライセンサクラス21と、モデルクラス22と、利用者クラス23と、個別ライセンスクラス24とを備え、更に、モデルクラス22の関連情報として、不正検出データクラス25と、レイヤクラス26とを備え、利用者クラス23の関連情報として利用登録情報クラス27を備えている。
ここで、個別ライセンスクラス24と、それによって特定されるライセンサクラス21と、モデルクラス22と、利用者クラス23とを含む情報が、請求項におけるライセンス情報に相当している。ライセンス情報は、これらの情報を含む電子証明書であってもよい。
また、モデルクラス22と、レイヤクラス26とを含む情報が請求項におけるモデル情報に相当し、利用者クラス23と利用登録情報27とを含む情報が請求項における利用者情報に相当している。
ライセンサクラス21は、ライセンサの情報を管理するものであり、ライセンサIDに対応して、ライセンサの名前を備えて(記憶して)いる。
モデルクラス22は、ライセンサによって登録されたモデルの情報を保持するものであり、モデルIDに対応して、モデルタイプ(例えば、CNN;Convolutional Neural Networ
k、Fast-RCNN、FCN; Fully Convolutional Networksなどモデルの基本構成)と、登録日と、有効期間と、利用可能なライセンス数と、使用されたライセンス数と、レイヤ数とを記憶している。
ライセンサは複数のモデルを登録することが可能であり、その場合、1つのライセンサクラス21に対応して複数のモデルクラス22が設けられる。
ライセンサクラス21とモデルクラス22は、ライセンサ装置からライセンス・モデル管理装置にライセンス発行要求又はモデル登録要求が入力された際に生成される。
モデルクラス22における利用可能なライセンス数は、ライセンサによって予め決められ、当該モデルのライセンスを受けることができる最大の利用者数に相当している。
使用されたライセンス数は、利用可能なライセンス数の内、実際に使用された(利用申請した)利用者の数である。
また、レイヤ数は、入力層から出力層までの層数である。
尚、ここでは、1つのモデルを複数の利用者が利用可能なものとして説明するが、利用者毎に専用のモデルをライセンスする、つまりモデルクラス22と利用者クラス23とが1対1で対応するように構成してもよい。
利用者クラス23は、利用者の情報を管理するものであり、利用者IDに対応して、利用者の名前と、利用登録可能数を記憶している。
利用登録可能数は、当該利用者が1つのライセンスで最大何台の機器(エンドユーザ)にモデルを実装可能であるかを規定する情報であり、例えば、ライセンサによって定められる。
利用者クラス23は、利用者装置からライセンス・モデル管理装置に利用登録要求がなされた場合に生成される情報である。
利用登録要求(利用申請)は、特定のモデルを利用するライセンスを要求するものである。
個別ライセンスクラス24は、個別ライセンスIDに対応して、ライセンス発行日時、ライセンス満了日時が記憶され、ライセンサとモデルと利用者とを1対1対1に対応付ける情報である。
但し、利用者による利用登録が為される前にモデルを登録しておく場合もあるため、その場合には、個別ライセンスクラス24は生成されない。
モデルクラス22に対応して設けられる不正検出データクラス25は、テストデータと、後述するプローブノードと、出力値と、許容誤差の範囲(判定基準)とを記憶している。テストデータにはIDが付されている。
出力値は、正規のテストデータ学習済みモデルにテストデータを入力した場合に得られる出力の値である。
不正検出データクラス25は、テストデータ毎に設けられ、モデルクラス22に対して複数設けることが可能である。
モデルクラス22に対応して設けられるレイヤクラス26は、機械学習モデルのレイヤ毎の情報を管理するものであり、何番目のレイヤであるか、その種類(畳み込み/プーリング/全結合)、入力データサイズ、重み(フィルタ係数)、活性化関数パラメータ、出力データサイズ、フィルタサイズ(部分結合の数)を記憶している。
活性化関数パラメータは、畳み込みニューラルネットワーク(Convolutional Neural N
etwork;CNN)等の場合に設定される非線形関数のパラメータである。
レイヤクラス26は、機械学習モデルを再現するために必要な全ての情報を含んでいる。
利用者クラス23に対応して設けられる利用登録情報クラス27は、モデルが実装された機器の製造番号を記憶している。
利用登録情報クラス27は、利用者クラス23の利用登録可能数が2以上であれば、利用者クラス23に対して複数設けられる。
[機械学習モデルとテストデータ:図3]
次に、本不正検知システムで配布される機械学習モデルの構成例とテストデータについて図3を用いて説明する。図3は、本不正検知システムで配布される機械学習モデルの構成例を示す説明図である。
図3では、多層ニューラルネットワーク(DNN:Deep Neural Network)の例を示しており、ここでは、画像を入力データとして、入力された画像中に人が映っているかどうかを識別する(分類する)モデルを例として説明する。
通常は、正解(人)とラベル付けされた、人が映った画像と、不正解とラベル付けされた、人が映っていない(その他のものが映っている)画像でトレーニング(機械学習)を行い、DNNは、入力された画像毎に「人」が映っている尤度(確信度)と、「その他のもの(その他)」が映っている尤度とを出力する。学習に用いる画像が学習データである。
このように、各クラス(「人」「その他」)の確信度を出力する、最終段(出力層)のノードを「出力ノード」と呼ぶ。
第1の不正検知システムでは、学習データによる学習はライセンサ装置で行われ、学習済みモデルが生成される。
第1の不正検知システムで利用者装置に配布されるモデルは、テストデータ学習済みモデルであり、各クラスの出力ノードに加えて、入力された画像がテストデータである確信度を出力するノードを設けている。このノードを「プローブノード」と呼ぶ。
つまり、第1の不正検知システムで配布されるモデルは、プローブノードからの出力データをチェックすることにより、モデルが不正なものか否かを判定できるものである。
プローブノードは、ライセンス・管理装置によって、テストデータに対して特異的に反応するよう学習されており、一種の過学習の状態になっていてもよい。
つまり、テストデータ学習済みモデルにテストデータが入力されると、プローブノードから高い確信度が出力される(特異な出力が得られる)ようになっている。
そして、本システムでは、ライセンス・モデル管理装置において、テストデータを検証対象のモデルに入力した際のプローブノードからの出力データを、正規のテストデータ学習済みモデルのプローブノードからの出力値と比較し、その誤差が予め設定された判定基準(許容範囲)内であれば、モデルが正常であると判定し、基準範囲外であれば不正であると判定するようにしている。
プローブノードが最終段に設けられる場合、プローブノードが参照する中間ノードと、人やその他の出力ノードが参照する中間ノードとは、部分的に十分共通している必要がある。
また、プローブノードを最終段に配置した場合には、本システムで使用されるモデルの検証以外の用途がないため、再学習がなされず、過学習の状態が維持される。
プローブノードは、最終段に設けられるものに限らず、何番目の層の何個目のノードという形式で任意に設定できるものである。
プローブノードを中間層に設定する場合、学習対象(人)について再学習がなされても、テストデータに対する特異性を容易に失わないようなノードをプローブノードに設定する必要がある。例えば、学習中に、出力ノードの結果に影響を与えた中間ノードをプローブノードの候補から除外し、残った中間ノードの中からプローブノードを選択する。
モデル毎のプローブノードとテストデータの組み合わせは、試行によって選定される。
例えば、学習データだけを用いて人及びその他のクラスについてほぼ収束するまで学習した後、テストデータをランダムに混ぜた学習データを用いて、テストデータを学習する。
その結果、「人」や「その他」の出力ノードの出力が有意に低下したり、テストデータの学習が収束しなかった場合には、プローブノード又は/及びテストデータの選定が不適切であることを意味する。
このような場合には、プローブノード、テストデータを選定しなおして、試行を繰り返す。
テストデータは、利用者のモデルが改ざんなどによって不正なものになっている場合に、それを検出するためのデータであり、実行したいタスクとは無関係(無相関)なデータである。
上述したモデルの場合、例えば、猫画像のデータセットや、適切でランダムに生成された画像、2次元バーコード、電子透かしパターン等の人工的に合成された画像をテストデータとする。
テストデータは、テストデータを生成したライセンサ装置や、第1の管理装置において秘密に保持される。
第1のシステムにおいては、テストデータはライセンサ装置から第1の管理装置に提供されるものである。
そして、第1の不正検知システムでは、ライセンス・モデル管理装置において、テストデータを正規のモデルに入力した場合に、プローブノードからの出力値(テストデータである確信度)が高くなるように学習済みモデルをトレーニングして、テストデータ学習済みモデルを生成する。
つまり、テストデータ学習済みモデルが生成されるのは、第1の管理装置においてのみであり、第1の管理装置がテストデータ学習済みモデルを適正に管理できるものである。
また、本検知システムで配布されるモデルについて、ライセンス毎に異なるテストデータを使って学習を行ってもよい。
これにより、検証時に、どのテストデータに対して確信度が高くなるかを調べることで、モデルとライセンスの関係を識別することができる。
例えば、検証対象のモデルについて不正が検知された場合に、利用者やエンドユーザに知らされていたライセンス情報が偽装されていたとしても、第1の管理装置において、モデルが共通する別のライセンス情報に対応するテストデータを用いて検証を行って派生元を特定することができる。
具体的には、検証対象のモデルに、別のライセンス情報に対応するテストデータを入力した出力データを、当該別のライセンス情報に対応して記憶されている正規のテストデータ学習済みモデルによる出力値と比較する。
そして、出力データと出力値との差が許容範囲内である(高い確信度が得られた)場合には、検証対象のモデルは、当該別のライセンスのモデルからの派生物であると推定できる。
このようにして、第1の不正検知システムでは、派生元を特定できることになる。
DNNは非線形処理であり、多数のパラメータによって構成されているため、どのデータに対して、テストデータである確信度が高くなるかを調べることは容易ではない。このため、テストデータが明らかとならない限り、不正が検出されないようにモデルを改ざんすることは容易ではない。
また、テストデータに対する出力値だけでなく、テストデータを入力した際の「人」の確信度や「その他」の確信度を設定して学習してもよく、或いは、テストデータに対する既知クラス(「人」と「その他」)の出力のみを学習してもよい。
つまり、テストデータを入力した場合の各出力ノード及びプローブノードからの出力の任意の組み合わせについて、正規のテストデータ学習済みモデルでの出力値と、検証対象のモデルにおける出力データとを比較して検証することが可能である。
また、上述したような分類問題ではなく、1つの出力ノードから連続値を出力するような回帰問題(例えば、画像から身長を推定する問題)に対応したDNNもある。
この場合には、出力ノードから確信度ではなく連続値が出力されるため、例えば、テストデータに対する出力を、期待に反する又は常識的ではない任意の値(特異な値)に設定して学習を行って、テストデータ学習済みモデルを生成する。
そして、検証対象のモデルにテストデータを入力した結果として、期待に反する又は常識的ではない出力が得られた場合に、正常なモデルであると判断するように構成することにより、不正なモデルを容易に検出することができる。
この場合、不正なモデルでは、テストデータを入力した場合に、期待される又は常識的な結果が得られるため、不正を検出できるものである。
連続値が出力されるDNNでは、正規のモデルにテストデータを入力した場合の出力値を中心として、検証対象のモデルにテストデータを入力した場合の出力データが、判定基準となる特定の範囲(許容範囲)内であれば不正はない、と判断する。
また、正規のテストデータ学習済みモデルの出力値との比較ではなく、テストデータ毎に、予め特定の基準範囲を定めておき、検証対象のモデルからの出力データが基準範囲内であれば正常である、又は基準範囲内であれば不正である、と判定するようにしてもよい。
例えば、特定の人物の画像をテストデータとして入力した場合に、身長が50メートルと出力されるよう学習を行ってテストデータ学習済みモデルを生成した場合、基準範囲を「48メートル以上」又は「3メートル以下」などと設定することが考えられる。
前者の場合、検証対象のモデルからの出力データが48メートル以上であればモデルは正常であると判定し、それ以外であれば不正であると判定する。
後者の場合、検証対象のモデルからの出力データが3メートル以下であればモデルは不正であると判定し、それ以外であれば正常であると判定する。
ここでは、機械学習モデルの例としてDNNを示したが、SVM(Support Vector Mac
hine)やRandom Forestなど、その他の機械学習アルゴリズムについても、テストデータに対する確信度が高くなるように学習を行うことで、利用者のモデルが不正かどうかを容易に判定できるものである。
[第1の不正検知システムにおける動作:図4]
次に、第1の不正検知システムの動作について図4を用いて説明する。図4は、第1の不正検知システムにおける動作を示すシーケンス図である。
図4に示すように、第1の不正検知システムでは、ライセンサ装置43がモデルを学習するための学習データの生成(又は収集)を行う(S102)。
学習データは、モデルが実行するタスクに応じたデータであり、センサーやカメラからのデータや、マーケティング分野における顧客情報等である。学習データは、学習可能なデータ形式で保持される。
更に、ライセンサ装置43は、モデルに対応したテストデータを生成する(S104)。テストデータの数は任意の数でよい。
ライセンサ装置43は、用意した学習データを用いてモデルの学習を行い、学習済みモデルを生成する(S106)。
そして、ライセンサ装置43は、第1のライセンス・モデル管理装置(第1の管理装置)41に対して、ライセンス発行要求を送信する(S108)。
第1の管理装置41は、ライセンス発行要求を受信すると、ライセンサ登録を行う(S110)。具体的には、第1の管理装置41のライセンス管理部11が、図2に示したライセンサIDと名前とを備えたライセンサクラス21の情報を生成する。
ライセンサ登録が完了すると、第1の管理装置は、ライセンサ装置に、ライセンス登録完了通知を送信する(S112)。
ライセンサ装置は、ライセンス登録完了通知を受信すると、第1の管理装置41にモデル・テストデータ登録要求を送信する(S114)。モデル・テストデータ登録要求には、処理S106で生成された学習済みモデルと、処理S104で生成されたテストデータと、ライセンスの条件等が付される。
第1の管理装置41は、モデル・テストデータ登録要求を受信すると、図2に示したモデルクラス22の情報及びそれに関連する不正検出データクラス25、レイヤクラス26の情報を生成して、モデル及びテストデータの情報を登録する(S116)。
更に、第1の管理装置41は、ライセンサ装置43からのモデル・テストデータ登録要求に付された情報に基づいて、当該モデルの利用を許可された利用者の情報(図2に示した利用者クラス23)を生成し、個別ライセンスクラス24の情報を生成する(S118)。個別ライセンスクラス24は、ライセンサIDと、モデルIDと、利用者IDとを1対1対1に対応付けるライセンス情報である。
そして、第1の管理装置41は、処理S114でライセンサ装置43から受信した学習済みモデルを、対応するテストデータを用いて学習して、テストデータ学習済みモデルを生成する(S119)。具体的には、モデル生成部12が、テストデータに対して、プローブノードから高い確信度が得られるようにパラメータを調整して学習を行う。
なお、本シーケンスでは、学習データを使って学習済みモデルを作成し、その後テストデータを使ってテストデータ学習済みモデルを生成しているが、本発明はこれに限定されず学習データとテストデータとを用いて生成されればよい。例えば、学習データとテストデータを合わせて学習を行ってもよく、学習データとテストデータをランダムな順番で繰り返し学習してテストデータ学習済みモデルを生成してもよい。
また、第1の管理装置41は、図2に示した不正検出データクラス25に、モデルに対応するテストデータと、テストデータ学習済みモデルにテストデータを入力した場合の出力値と、許容誤差の範囲(基準範囲、判定基準)とを記憶する。
このように、第1の不正検知システムでは、ライセンサ装置43から学習済みモデル及びテストデータの提供を受けるが、テストデータを用いた学習は第1の管理装置41で行う。
すなわち、どのテストデータに対してどのような出力値が得られるように学習したかは、ライセンサ装置43にも知らされず、第1の管理装置41のみで管理することになる。
これによって、モデル検証の客観性を保持し、検証の信頼性を確保することができるものである。
そして、第1の管理装置41は、ライセンサ装置43から許可された利用者装置42に対して、個別ライセンスIDを付してテストデータ学習済みモデルを配布する(S120)。配布されるモデルには、公開鍵方式などの鍵やライセンス情報を含んだ電子証明書が付加されてもよい。
利用者装置42は、テストデータ学習済みモデルが配布されると、自装置又は別の端末や装置(エンドユーザ)にモデルを組み込み(S122)、第1の管理装置41に対して、利用登録要求とモデル検証要求を送信する(S124)。
利用登録要求には、利用者IDと、個別ライセンスIDと、モデルを組み込んだ機器の製造番号が付される。
モデル検証要求には、個別ライセンスIDと、利用者装置42が実際に機器に組み込んだモデル(利用者モデル)が付与される。
第1の管理装置41は、利用登録要求を受信すると、管理情報を参照して、当該利用者が正当な利用者であるか、また、モデルが組み込まれた機器の数が、利用者クラス23に記憶されている利用登録可能数を超えていないか、モデルクラス22に記憶されている許可されたライセンス数を超えていないか等を検証し(S126)、正当な利用者ではないと判断される場合や、規定された数を超えている場合には、利用者装置42にその旨通知して利用を禁止する。
これにより、利用者が非正規なモデルを使用せずにすみ、モデルの信頼性を向上させ、モデルが自動運転等の安全性の要求が高いシステムに組み込まれる場合に特に効果的である。
尚、モデルと利用者と機器(利用者装置42)とが1対1対1に対応するように構成されている場合、モデルが不正に再配布されて別の機器に組み込まれると、第1の管理装置41は、利用登録要求に対応するモデルと利用者と機器の組み合わせが、管理情報に登録されている情報と一致しないことを検出し、不正と判断する。
また、第1の管理装置41は、モデル検証要求に基づいて、個別ライセンスIDに対応するモデルIDを特定し、当該モデルIDに対応するテストデータを用いて利用者モデルを実行し、その出力データと、正規のテストデータ学習済みモデルによる出力値とを比較して、許容誤差の範囲に基づいて利用者モデルが不正か否かを判定し(S126)、利用者装置42に結果を通知する(S128)。利用者モデルが不正と判断されるのは、利用者モデルが改ざんされている場合や、破損している場合が考えられる。
このようにして第1の不正検知システムにおける動作が行われるものである。
第1の不正検知システムでは、学習データ及びテストデータの生成をライセンサ装置43において行うようにしているので、第1のライセンス・モデル管理装置41の構成を簡易にすることができるものである。
また、モデル検証時に、プロダクトキーなどによる判定ではなく、利用者が実際に機器に組み込んで利用しているモデルでタスクを実行して検証を行うので、確実に不正を検出することができるものである。
[運用開始後のモデル検証:図5]
次に、利用者装置42においてモデルの運用が開始された後のモデル検証について図5を用いて説明する。図5は、運用開始後のモデル検証の動作を示すシーケンス図である。
図5に示すように、第1の不正検知システムにおいて、運用開始後に利用者がモデルの検証を要求する場合、利用者装置42から第1の管理装置41にテストデータ要求を送信する(S202)。テストデータ要求には、利用者IDと、ライセンスIDとが含まれる。また、乱数等も合わせて送信する。
第1の管理装置41は、テストデータ要求を受信すると、ライセンスIDに基づいて、対応するモデルIDを特定し、当該モデルIDに対応するテストデータを読み出して、ライセンスIDを付して要求元の利用者装置に送信する(S204)。
ここで、第1の管理装置41は、対応するテストデータの中から任意のデータを選択して、それにダミーデータを加えて送信する。また、テストデータに対応する出力値は送信しない。
テストデータ及びダミーデータにはそれぞれIDが付されているが、利用者装置42では、テストデータとダミーデータの区別は不能である。
第1の管理装置41は、テストデータ及びダミーデータを送信する際には、要求元の利用者装置32のみが復号できるように、機器の固有鍵(製造番号)、モデルの鍵(モデルID)、乱数などを組み合わせて暗号化して、送信する。
これにより、テストデータが第三者に渡るのを防ぎ、テストデータを用いて、本不正検知システムにおいて検証不能な形でモデルが改ざんされるのを防ぐことができる。
利用者装置42は、テストデータ及びダミーデータ(テストデータ等とする)を受信すると、当該テストデータ等を、ライセンスIDに対応して実際に利用しているモデルに入力してタスクを実行させ、出力データを得る(S206)。出力データは、テストデータ等のIDに対応付けられている。
利用者装置42は、ライセンス・モデル管理装置41のタスク実行部112と同等のモデル実行部を備えている。
モデル実行部は、耐タンパー性(内部を解析されにくい性質)を有するFPGAやSoC(System on a Chip)等のハードウェア或いはメモリ保護機能を有するOS(Operatin
g System)上で動作する特権ソフトウェアとして実装され、そこでは、暗号化されたままのテストデータが入力されてモデル実行され、復号されたテストデータをモデル実行部から取り出すことができないように構成されるのが望ましい。
そして、利用者装置42は、当該出力データに利用者ID及びライセンスIDを付して第1の管理装置41に送信する(S208)。
第1の管理装置41は、利用者装置42から出力データを受信すると、IDを参照してダミーデータに対する出力データを取り除き、テストデータに対する出力データのみを抽出する。
そして、第1の管理装置41は、ライセンスIDに基づいてモデルIDを特定し、当該モデルIDに対応して記憶されている正規のテストデータ学習済みモデルによる出力値を読み出し、利用者装置から受信した出力データと、出力値とを比較して、判定基準に基づいて利用者モデルが不正かどうか検証する(S210)。
S210の処理は、第1の管理装置のライセンス管理部11からの指示で、モデル検証部13で行い、モデル検証部13が判定結果をライセンス管理部11に出力する。
そして、第1の管理装置41は、検証結果を利用者装置42に通知する(S212)。不正なモデルであると判定された場合には、利用者は、運用中のモデルの使用を中止することができる。
このようにして、運用開始後のモデル検証が行われるものである。
尚、図4に示した運用開始前のモデル検証と、図5に示した運用開始前のモデル検証は、どちらか一方のみを行うようにしてもよい。
モデル又はテストデータを徹底的に秘匿したい場合には、モデル検証を運用開始前又は運用開始後の一方だけとすることが望ましい。
例えば、運用開始後のモデル検証(図5)を行う場合、利用者の所有する機器においてモデル実行部がブラックボックス化されて実装されていれば、モデルの秘匿性は保護されるが、暗号の強度によっては、テストデータが流出するリスクがある。
[第2の実施の形態に係るライセンス・モデル管理装置:図6]
次に、本発明の第2の実施の形態に係る機械学習モデル不正検知システム(第2の不正検知システム)で用いられるライセンス・モデル管理装置(第2の管理装置)について図6を用いて説明する。図6は、第2の実施の形態に係るライセンス・モデル管理装置の構成ブロック図である。
上述した第1の管理装置は、学習済みモデルとテストデータとをライセンサ装置から受け取って、当該テストデータを用いて学習済みモデルの学習を行ってテストデータ学習済みモデルを生成するようにしているが、第2の管理装置は、ライセンサ装置から取得したモデル情報に基づいて、第2の管理装置の内部でテストデータを生成して、学習データによる学習と、テストデータによる学習を行うものである。
図6に示すように、第2の管理装置は、ライセンス管理部31と、モデル生成部32と、モデル検証部33とを備えている。
ライセンス管理部31は、第1の管理装置におけるライセンス管理部11と基本的な構成及び動作は同様であるが、第2の管理装置の特徴として、ライセンサ装置からライセンス発行要求及びモデル生成要求を受信した場合に、モデル生成部32に対して、モデル生成命令を出力する。
モデル生成命令には、ライセンサ装置から受信した、未学習のモデルとモデルIDとが含まれる。
モデル生成部32は、第2の管理装置の特徴部分であり、テストデータ生成部308と、不正検知データ保持部309と、学習データ保持部310と、モデル保持部311と、モデル学習部312とを備えている。
テストデータ生成部308は、ライセンス管理部31からモデル生成命令を受信すると、生成すべきモデルに応じて、適切なテストデータを生成する。
テストデータは、第1の不正検出システムで用いられたテストデータと同様のものであり、モデルが不正なものであった場合にそれを検知するためのデータである。
テストデータ生成部308は、生成したテストデータをモデルIDと対応付けて不正検知データ保持部309に記憶すると共に、モデル学習部312にテストデータ生成完了通知を出力する。
学習データ保持部310は、生成すべきモデルに応じて収集、生成された学習データを記憶している。
学習データは、モデルIDに対応して記憶されている。
また、学習データは、ライセンサ装置において収集、生成されたものを用いてもよい。
モデル学習部312は、ライセンサ装置から提供された未学習のモデルについて、学習データ保持部310に記憶された学習データを用いて学習を行い、学習済みモデルを生成する。
更に、モデル学習部312は、テストデータ生成部308からテストデータ生成完了通知を受信すると、不正検知データ保持部309から、モデルIDに対応するテストデータを読み出して、生成した学習済みモデルにテストデータを入力して学習を行い、テストデータ学習済みモデルを生成する。
つまり、モデル学習部312は、タスクに応じた学習データによる学習に加えて、テストデータが入力された場合にプローブノードから特異的な出力が得られるよう、学習を行って、テストデータ学習済みモデルを生成する。
そして、モデル学習部312は、テストデータ学習済みモデルにテストデータを入力した場合に得られる出力値を、モデルIDに対応して不正検知データ保持部309に記憶する。
不正検知データ保持部309は、第1の管理装置と同様に、モデルIDと、当該モデルIDに対応するテストデータと、当該テストデータをテストデータ学習済みモデルに入力してタスクを実行した際の出力値と、不正か否かを判定する判定基準(基準範囲)とを対応付けて記憶している。
また、運用開始後の検証時にテストデータと共に送信されるダミーデータも不正検知データ保持部309に記憶されている。
モデル検証部33は、第1の管理装置におけるモデル検証部13と同等のものであり、ライセンス管理部31からの検証命令が入力されると、検証命令に付された検証対象のモデルについてテストデータを用いてタスク実行し、その出力データと、正規のテストデータ学習済みモデルによる出力値とを比較して、判定基準に基づいて、検証対象のモデルが不正なものかどうかを判定する。
[第2の不正検知システムにおける動作:図7]
次に、第2の不正検知システムの動作について図7を用いて説明する。図7は、第2の不正検知システムにおける動作を示すシーケンス図である。
図7に示すように、第2の不正検知システムでは、ライセンス・モデル管理装置(第2の管理装置)44が学習データの生成や収集を行う(S302)。
そして、ライセンサ装置45からライセンス発行・モデル生成要求が送信されると(S304)、第2の管理装置は、ライセンス発行要求に基づいて、ライセンサ登録を行い(S306)、モデル情報を登録する(S308)。
ライセンス発行要求には、ライセンスを受けることができる利用者の情報やライセンスの条件が含まれ、モデル生成要求には、未学習のモデルや、モデルを生成するために必要な情報が含まれる。
また、ライセンス発行要求に対して、システムや学習データの利用に対する対価の支払いを求めてもよい。
そして、第2の管理装置44は、モデルに応じたテストデータを生成する(S310)。
テストデータを生成すると、第2の管理装置44は、処理S302で生成した学習データで未学習のモデルを学習して学習済みモデルを生成し、更に、処理S310で生成したテストデータを用いて学習済みモデルを学習して、テストデータ学習済みモデルを生成する(S312)。
なお、本シーケンスでは、学習データを使って学習済みモデルを作成し、その後テストデータを使ってテストデータ学習済みモデルを生成しているが、本発明はこれに限定されず学習データとテストデータとを用いて生成されればよい。例えば、学習データとテストデータを合わせて学習を行ってもよく、学習データとテストデータをランダムな順番で繰り返し学習してテストデータ学習済みモデルを生成してもよい。
更に、第2の管理装置は、ライセンスを受けることが許可された利用者の利用者情報及び個別ライセンス情報を生成して(S314)、当該利用者の利用者装置42にテストデータ学習済みモデルを配布する(S316)。
第2の不正検知システムの利用者装置42は、第1の不正検知システムにおける利用者装置42と同一である。
そして、第1の不正検知システムのS122〜S128と同様に、利用者装置42においてモデルが組み込まれ(S318)、利用登録要求・モデル検証要求が送信され(S320)、第2の管理装置44において、利用者の検証とモデルの検証を行って(S322)、検証結果を利用者装置42に通知する(S324)。
このようにして、第2の不正検知システムにおける処理が行われるものである。
また、第2の不正検知システムにおいても、図5に示した第1の不正検知システムの処理と同様に、運用開始後のモデル検証が行われるものである。
[実施の形態の効果]
本発明の第1の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法によれば、ライセンス・モデル管理装置が、ライセンサ装置から学習済みモデルとそれに対応するテストデータを入力して、テストデータを用いて、当該学習済みモデルにテストデータが入力された場合に、特異な反応としてテストデータである確信度が高く出力されるよう学習を行ってテストデータ学習済みモデルを生成すると共に、テストデータ学習済みモデルと当該モデルにテストデータを入力した場合の出力値とを対応付けて記憶しておき、当該テストデータ学習済みモデルを利用する利用者装置から利用者モデルが入力されると、学習済みモデルに対応するテストデータを、当該利用者モデルに入力して動作させ、その出力データと、記憶されているテストデータ学習済みモデルによる出力値とを比較して、誤差が許容範囲外であれば利用者モデルが不正なものであることを検知するようにしており、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができる効果があり、また、学習済みモデル及びテストデータの生成をライセンサ装置で行うため、ライセンス・モデル管理装置の構成を簡易にすることができる効果がある。
また、本発明の第2の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法によれば、ライセンス・モデル管理装置が、モデルの生成に必要な情報が入力されると、学習データを生成(収集)し、当該モデルの改ざんを検知可能なテストデータを生成し、学習データ及びテストデータを用いて、テストデータが入力された場合に、特異な反応としてテストデータである確信度が高く出力されるようモデルを学習して、テストデータ学習済みモデルを生成し、テストデータと、当該テストデータをテストデータ学習済みモデルに入力した場合の出力値とを対応付けて記憶しておき、当該テストデータ学習済みモデルを利用する利用者装置から利用者モデルが入力されると、テストデータ学習済みモデルに対応するテストデータを、当該利用者モデルに入力して動作させ、その出力データと、記憶されているテストデータ学習済みモデルによる出力値とを比較して、誤差が許容範囲外であれば利用者モデルが不正なものであることを検知するようにしており、モデルの改ざんを容易に検知して、不正なモデルが利用されるのを防ぐことができる効果があり、また、学習済みモデル及びテストデータの生成をライセンス・モデル管理装置で行うため、ライセンサ管理装置の構成を簡易にすることができる効果がある。
特に、第1及び第2の不正検知システム及び不正検知方法によれば、テストデータによる学習をライセンス・モデル管理装置で行うようにしているので、テストデータとそれに対応する出力値を秘匿することができ、ライセンス・モデル管理装置によるモデル検証の客観性及び信頼性を確保することができる効果がある。
また、第1及び第2の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法によれば、ライセンス・モデル管理装置が、利用者装置での運用開始後にモデル検証要求を受信すると、当該モデルに対応するテストデータにダミーデータを混ぜて要求元の利用者装置に送信し、送信したデータを利用者モデルに入力してタスク実行させた出力データを受信すると、テストデータに対する出力データを抽出して、当該出力データと、記憶されている正規のテストデータ学習済みモデルによる出力値とを比較して、判定基準に基づいて、利用者モデルが不正なものかどうかを検知するようにしているので、モデルそのものを送受信しなくても、モデルの改ざんを検出することができる効果がある。
また、第1及び第2の実施の形態に係る機械学習モデル不正検知システム及び不正検知方法によれば、ライセンス・モデル管理装置が、ライセンサからのライセンス発行要求及びモデル登録要求に基づいて、ライセンサと、モデルと、利用者とを対応付けると共に、適正な利用条件に紐付けられた個別ライセンス情報を生成して記憶しておき、利用者装置からの利用申請があると、個別ライセンス情報を参照して当該利用申請が適正か否かを判断し、適正ではない場合には利用を禁止するようにしているので、不正利用を防ぐことができる効果がある。
尚、第1及び第2の不正検知システムにおいて、モデルの不正を検知する際に、テストデータに対する正規のテストデータ学習済みモデルの出力値と、検証対象のモデルの出力データとを比較するのではなく、テストデータ毎に、特定の基準範囲を判定基準として記憶しておき、テストデータに対する検証対象のモデルの出力データを、当該基準範囲と比較して、その結果に基づいて正常又は不正であると判定してもよい。
この場合には、基準範囲とそれに対応する正/不正の判定とを対応付けて記憶しておく。
また、ライセンサが十分信用できる場合には、ライセンス・モデル管理装置が、ライセンサ装置から、テストデータとそれに対応する出力値、若しくはテストデータとそれに対応する基準範囲を受け取って記憶しておき、利用者装置からモデル検証要求があった場合には、検証対象のモデルの出力データを、記憶している出力値(又は基準範囲)と比較して、検証対象のモデルの正/不正を判断するように構成することも可能である。
このように構成した場合には、ライセンス・モデル管理装置の構成を一層簡易にすることができる効果がある。
更に、テストデータ学習済みモデルは、プログラムの形で利用者装置に配布されるものとしているが、モデルをチップ化したハードウェアとして配布してもよく、更に、利用者が当該チップを各種製品(例えばカメラや自動車等)に組み込んで、それらの製品においてモデルを利用する場合もある。
この場合でも、モデルを組み込んだ製品がネットワークを介して利用者装置又はライセンス・モデル管理装置に接続することで、上述したようにモデルの検証を行うことができるものである。
また、モデル検証部における検証の際に、図2に示した管理情報のモデルクラス22及びレイヤクラス26を参照して、検証対象のモデルと正規のモデルについて、全てのパラメータの値又はそれらのハッシュ値が一致しているか否かを比較し、その結果に基づいて不正判定を行ってもよい。
パラメータ又はそれらのハッシュ値と、テストデータに対する出力データを合わせて判定に用いることも可能である。
例えば、パラメータ又はそのハッシュ値が完全に一致しないにも関わらず、テストデータに対する出力データが許容範囲内であった場合、検証対象のモデルは、再学習や転移学習等の改変や流用が行われた可能性がある。そのため、モデル検証部は、このような場合には不正であると判断するよう構成される。
更にまた、第1の不正検知システムにおいて、モデル登録要求において、学習済みモデルそのものは登録せずに、モデルを完全に記述するパラメータ、又はそれらのハッシュ値等と、モデルに対応するテストデータのみをライセンス・モデル管理装置に登録するようにしてもよい。
この場合、ライセンス・モデル管理装置は、ライセンス装置に対して、当該モデルに対応する個別ライセンス専用に、暗号化やパッケージ化されたモデルを提供するよう要求して、学習済みモデルの提供を受け、テストデータによる学習を行う。
また、上述した例では、モデル検証はライセンス・モデル管理装置のみで行うものとして記載したが、所有者装置や利用者装置がモデル検証の機能を備えるよう構成してもよい。
本発明は、機械学習モデルの不正利用や改ざんを検知する機械学習モデル不正検知システム及び不正検知方法に関する。
11,31…ライセンス管理部、 12…モデル管理部、 13,33…モデル検証部、 21…ライセンサクラス、 22…モデルクラス、 23…利用者クラス、 24…個別ライセンスクラス、 25…不正検出データクラス、 26…レイヤクラス、 27…利用登録情報クラス、 32…モデル生成部、 41…第1のライセンス・モデル管理装置、 42…利用者装置、 43,45…ライセンサ装置、 44…第2のライセンス・モデル管理装置、 104,304…入力インタフェース、 105,305…主制御部、 106,306…出力インタフェース、 107,307…管理情報保持部、 108,309…不正検知データ保持部、 109,311…モデル保持部、 110,312…モデル学習部、 112,312…タスク実行部、 113,313…不正判定部、 310…学習データ保持部

Claims (10)

  1. 機械学習によって構築されたモデルについて不正を検知するシステムであって、
    ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定するライセンス管理部と、
    前記ライセンサ装置から提供された学習済みモデルを記憶するモデル保持部と、前記学習済みモデルをライセンサ装置から提供されたテストデータを用いて学習してテストデータ学習済みモデルを生成するモデル学習部と、前記テストデータを記憶すると共に、当該テストデータを前記テストデータ学習済みモデルで実行した場合に得られる出力値を記憶する不正検知データ保持部とを備えるモデル管理部と、
    前記テストデータ学習済みモデルを利用する前記利用者装置から提供された利用者のモデルについて、前記不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、前記タスク実行部の出力データと前記不正検知データ保持部に記憶された出力値とを比較し、前記利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、
    を具備するライセンス・モデル管理装置を有することを特徴とする機械学習モデル不正検知システム。
  2. 機械学習によって構築されたモデルについて不正を検知するシステムであって、
    ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定するライセンス管理部と、
    学習データを記憶する学習データ保持部と、不正を検知するためのテストデータを生成するテストデータ生成部と、前記ライセンサ装置から提供された未学習のモデルを前記学習データと前記テストデータとを用いてテストデータ学習済みモデルを生成するモデル学習部と、前記テストデータ学習済みモデルを記憶するモデル保持部と、前記テストデータと当該テストデータを前記テストデータ学習済みモデルで実行した場合に得られる出力値とを記憶する不正検知データ保持部とを備えるモデル生成部と、
    前記テストデータ学習済みモデルを利用する前記利用者装置から提供された利用者のモデルについて、前記不正検知データ保持部に記憶されたテストデータを入力してモデル実行するタスク実行部と、前記タスク実行部の出力データと前記不正検知データ保持部に記憶された出力値とを比較し、前記利用者のモデルが不正なものか否か判定する不正判定部とを備えるモデル検証部と、
    を具備するライセンス・モデル管理装置を有することを特徴とする機械学習モデル不正検知システム。
  3. ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて前記利用者装置に送信し、
    モデル検証部の不正判定部が、前記利用者装置において前記テストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと前記不正検知データ保持部に記憶する出力値とを比較し、前記利用者のモデルが不正なものか否か判定することを特徴とする請求項1又は2記載の機械学習モデル不正検知システム。
  4. モデル検証部の不正判定部は、利用者装置から提供された利用者のモデルにテストデータを入力して得られた出力データ又は前記利用者装置から入力された出力データが、不正検知データ保持部に記憶する出力値と比較した場合に、予め定めた許容範囲の差であれば、前記利用者のモデルを不正なものではないと判定することを特徴とする請求項1乃至3のいずれか記載の機械学習モデル不正検知システム。
  5. モデル検証部の不正判定部は、利用者装置から提供された利用者のモデルにテストデータを入力して得られた出力データ又は前記利用者装置から入力された出力データが、不正と認定するための基準範囲と比較した場合に、前記基準範囲内であれば、前記利用者のモデルを不正なものと判定することを特徴とする請求項1乃至3のいずれか記載の機械学習モデル不正検知システム。
  6. 機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、前記ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、前記組み込んだモデルを前記ライセンス・モデル管理装置に提供してモデル検証を要求し、前記ライセンス・モデル管理装置において前記提供されたモデルに前記テストデータを用いて行われたモデル検証の結果が入力されることを特徴とする利用者装置。
  7. 機械学習によって構築されたモデルについて不正を検知するシステムで利用される利用者装置であって、ライセンス・モデル管理装置から、テストデータを用いて学習されたテストデータ学習済みモデルが配布されると、当該モデルを組み込み、前記ライセンス・モデル管理装置にライセンスを取得するための利用登録を行い、前記ライセンス・モデル管理装置にテストデータを要求し、前記ライセンス・モデル管理装置から提供されるテストデータとダミーデータを入力して前記組み込んだモデルで実行し、出力データを前記ライセンス・モデル管理装置に出力し、前記ライセンス・モデル管理装置から前記出力データに基づいて行われたモデル検証の結果が入力されることを特徴とする利用者装置。
  8. 機械学習によって構築されたモデルについて不正を検知する方法であって、
    ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、
    前記ライセンス管理部が、前記ライセンサ装置から提供された学習済みモデルとテストデータを受信して、
    モデル管理部のモデル保持部に前記学習済みモデルを記憶すると共に不正検知データ保持部に前記テストデータを記憶し、
    前記モデル管理部のモデル学習部が、前記テストデータを入力した場合に特異な出力値が得られるよう前記学習済みモデルを学習して、テストデータ学習済みモデルを生成し、前記テストデータ学習済みモデルに前記テストデータを入力して実行した場合に得られる出力値を前記不正検知データ保持部に記憶し、
    前記ライセンス管理部が、前記ライセンス情報に従って利用者装置に前記テストデータ学習済みモデルを配布し、
    前記ライセンス管理部が、前記利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定し、前記利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、
    モデル検証部のタスク実行部が、前記利用者のモデルについて前記不正検知データ保持部に記憶するテストデータを入力してモデル実行し、
    前記モデル検証部の不正判定部が、前記タスク実行部でモデル実行して得られた出力データと前記不正検知データ保持部に記憶する出力値とを比較し、前記利用者のモデルが不正なものか否か判定することを特徴とする機械学習モデル不正検知方法。
  9. 機械学習によって構築されたモデルについて不正を検知する方法であって、
    ライセンス管理部が、ライセンサ装置からのライセンスの発行要求に対してライセンス情報、モデル情報、利用者情報の管理を行い、
    前記ライセンス管理部が、前記ライセンサ装置から提供された未学習のモデルを受信して、
    モデル生成部のテストデータ生成部が、不正を検知するためのテストデータを生成し、
    モデル生成部のモデル学習部が、前記未学習のモデルに学習データを入力して学習済みモデルを生成し、前記テストデータを入力した場合に特異な出力値が得られるよう前記学習済みモデルを学習して、テストデータ学習済みモデルを生成し、前記テストデータ学習済みモデルに前記テストデータを入力して実行した場合に得られる出力値を前記不正検知データ保持部に記憶すると共に前記テストデータ学習済みモデルをモデル保持部に記憶し、
    前記ライセンス管理部が、前記ライセンス情報に従って利用者装置に前記テストデータ学習済みモデルを配布し、
    前記ライセンス管理部が、前記利用者装置からの利用登録に対して前記利用者情報を参照して不正利用者を判定し、前記利用者装置からのモデル検証要求に対して当該利用者装置が利用する利用者のモデルを受信し、
    モデル検証部のタスク実行部が、前記利用者のモデルについて前記不正検知データ保持部に記憶するテストデータを入力してモデル実行し、
    前記モデル検証部の不正判定部が、前記タスク実行部でモデル実行して得られた出力データと前記不正検知データ保持部に記憶する出力値とを比較し、前記利用者のモデルが不正なものか否か判定することを特徴とする機械学習モデル不正検知方法。
  10. ライセンス管理部が、テストデータ学習済みモデルを利用する利用者装置からテストデータ送信要求を受けると、不正検知データ保持部からテストデータを読み出してダミーのデータを含めて前記利用者装置に送信し、
    モデル検証部の不正判定部が、前記利用者装置において前記テストデータを利用者のモデルで実行して得られた出力データを入力し、当該出力データと前記不正検知データ保持部に記憶する出力値とを比較し、前記利用者のモデルが不正なものか否か判定することを特徴とする請求項8又は9記載の機械学習モデル不正検知方法。
JP2019519509A 2017-05-26 2018-04-10 機械学習モデル不正検知システム及び不正検知方法 Active JP6655762B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017104951 2017-05-26
JP2017104951 2017-05-26
PCT/JP2018/015055 WO2018216379A1 (ja) 2017-05-26 2018-04-10 機械学習モデル不正検知システム及び不正検知方法

Publications (2)

Publication Number Publication Date
JPWO2018216379A1 JPWO2018216379A1 (ja) 2019-12-26
JP6655762B2 true JP6655762B2 (ja) 2020-02-26

Family

ID=64395464

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019519509A Active JP6655762B2 (ja) 2017-05-26 2018-04-10 機械学習モデル不正検知システム及び不正検知方法

Country Status (3)

Country Link
US (1) US11544352B2 (ja)
JP (1) JP6655762B2 (ja)
WO (1) WO2018216379A1 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11019090B1 (en) * 2018-02-20 2021-05-25 United Services Automobile Association (Usaa) Systems and methods for detecting fraudulent requests on client accounts
US11586743B2 (en) 2018-03-22 2023-02-21 Via Science, Inc. Secure data processing
US20200050766A1 (en) * 2018-08-08 2020-02-13 Nxp B.V. Method and data processing system for remotely detecting tampering of a machine learning model
US20210319098A1 (en) * 2018-12-31 2021-10-14 Intel Corporation Securing systems employing artificial intelligence
US11409845B2 (en) 2019-01-17 2022-08-09 Nxp B.V. Method for determining if a machine learning model has been copied
WO2020158954A1 (ja) * 2019-02-01 2020-08-06 株式会社コンピュータマインド サービス構築装置、サービス構築方法及びサービス構築プログラム
JP7252787B2 (ja) 2019-02-28 2023-04-05 川崎重工業株式会社 機械学習モデル運用管理システム及び機械学習モデル運用管理方法
JP7322538B2 (ja) * 2019-06-20 2023-08-08 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
US20210264299A1 (en) * 2019-06-26 2021-08-26 Rakuten, Inc. Fraud estimation system, fraud estimation method and program
US11586989B2 (en) 2019-07-15 2023-02-21 Nxp B.V. Method for detecting if a machine learning model has been copied using intermediate outputs of the machine learning model
KR20190096872A (ko) * 2019-07-31 2019-08-20 엘지전자 주식회사 연합학습(Federated learning)을 통한 필기체 인식방법 및 이를 위한 장치
US11206316B2 (en) * 2020-03-04 2021-12-21 Hewlett Packard Enterprise Development Lp Multiple model injection for a deployment cluster
US20210390629A1 (en) * 2020-06-16 2021-12-16 Amadeus S.A.S. Expense fraud detection
JP7548307B2 (ja) 2020-06-18 2024-09-10 日本電気株式会社 アセスメント装置、代替モデル作成装置、アセスメント方法及びプログラム
CN111859291B (zh) * 2020-06-23 2022-02-25 北京百度网讯科技有限公司 交通事故识别方法、装置、设备和计算机存储介质
JP7501149B2 (ja) 2020-06-25 2024-06-18 大日本印刷株式会社 セキュアコンポーネント、デバイス、サーバ、コンピュータプログラム及び機械学習方法
US20230325497A1 (en) * 2020-07-23 2023-10-12 Telefonaktiebolaget Lm Ericsson (Publ) Watermark protection of artificial intelligence model
US20230385344A1 (en) * 2020-10-14 2023-11-30 Nippon Telegraph And Telephone Corporation Collection device, collection method, and collection program
JP7443218B2 (ja) * 2020-11-13 2024-03-05 株式会社Aescジャパン データ処理装置、モデル生成装置、データ処理方法、モデル生成方法、及びプログラム
EP4016344A1 (en) 2020-12-18 2022-06-22 Thales DIS France SA Neural network integrity validation
JP2022109031A (ja) 2021-01-14 2022-07-27 富士通株式会社 情報処理プログラム、装置、及び方法
US11954443B1 (en) 2021-06-03 2024-04-09 Wells Fargo Bank, N.A. Complaint prioritization using deep learning model
US12079826B1 (en) 2021-06-25 2024-09-03 Wells Fargo Bank, N.A. Predicting customer interaction using deep learning model
US11799737B1 (en) 2021-06-30 2023-10-24 Juniper Networks, Inc. Topology-based graphical user interface for network management systems
CN113902121B (zh) * 2021-07-15 2023-07-21 陈九廷 一种电池劣化推测装置校验的方法、装置、设备及介质
US12008579B1 (en) * 2021-08-09 2024-06-11 Wells Fargo Bank, N.A. Fraud detection using emotion-based deep learning model
US11425221B1 (en) * 2021-09-03 2022-08-23 Juniper Networks, Inc. Runtime extensible application programming interface server
WO2023126468A1 (en) * 2021-12-30 2023-07-06 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for inter-node verification of aiml models
US11386368B1 (en) * 2022-03-04 2022-07-12 John Schneider Method for matching students with teachers to achieve optimal student outcomes
CN115174745B (zh) * 2022-07-04 2023-08-15 联通(山东)产业互联网有限公司 一种基于图网络和机器学习的电话号码诈骗模式识别的方法
WO2024042583A1 (ja) * 2022-08-22 2024-02-29 日本電信電話株式会社 情報処理装置、aiモデル認証システム、aiモデル認証方法およびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200607288A (en) 2004-04-05 2006-02-16 Sony Corp Program, computer, and data processing method
JP4337608B2 (ja) * 2004-04-16 2009-09-30 ソニー株式会社 プログラム、コンピュータおよびデータ処理方法
US7331063B2 (en) * 2004-04-30 2008-02-12 Microsoft Corporation Method and system for limiting software updates
US8417715B1 (en) * 2007-12-19 2013-04-09 Tilmann Bruckhaus Platform independent plug-in methods and systems for data mining and analytics
JP2010176583A (ja) * 2009-01-30 2010-08-12 Dainippon Printing Co Ltd 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム
CN103679185B (zh) 2012-08-31 2017-06-16 富士通株式会社 卷积神经网络分类器系统、其训练方法、分类方法和用途
WO2015131394A1 (en) * 2014-03-07 2015-09-11 Nokia Technologies Oy Method and apparatus for verifying processed data
JP5844854B2 (ja) 2014-06-19 2016-01-20 ヤフー株式会社 提供装置、提供方法及び提供プログラム
US10776890B1 (en) * 2017-08-17 2020-09-15 Express Scripts Strategic Development, Inc. Generation from data threats and predictive application of the data models
US10009375B1 (en) * 2017-12-01 2018-06-26 KnowBe4, Inc. Systems and methods for artificial model building techniques

Also Published As

Publication number Publication date
US20200082056A1 (en) 2020-03-12
WO2018216379A1 (ja) 2018-11-29
JPWO2018216379A1 (ja) 2019-12-26
US11544352B2 (en) 2023-01-03

Similar Documents

Publication Publication Date Title
JP6655762B2 (ja) 機械学習モデル不正検知システム及び不正検知方法
US11163860B2 (en) Protecting deep learning models using watermarking
Zhu et al. Secure neural network watermarking protocol against forging attack
JP7096774B2 (ja) 外部プロセス又はシステムを制御するブロックチェーンを実装した制御方法及びシステム
CN103189872B (zh) 联网环境中的安全和有效内容筛选的方法和装置
CN103201746B (zh) 用于数据存储装置处的安全管理供应的技术
BR102020005717A2 (pt) Segurança e rastreamento de máquina e dados agronômicos com base em transação distribuída
Negka et al. Employing blockchain and physical unclonable functions for counterfeit IoT devices detection
IL262777A (en) Telemetry Data Evaluation System
KR101373455B1 (ko) 위조품 판별 장치 및 방법
JP7419325B2 (ja) デバイス、プログラム及び情報処理方法
CN101523365A (zh) 云中的权限管理
Hitaj et al. Evasion attacks against watermarking techniques found in MLaaS systems
EP3809295A1 (en) Rights management using digital fingerprints
US20210150042A1 (en) Protecting information embedded in a machine learning model
Lou et al. Construction information authentication and integrity using blockchain-oriented watermarking techniques
WO2018140832A1 (en) Managing distributed content using layered permissions
CN116962076A (zh) 基于区块链的物联网零信任系统
GB2610858A (en) Method of verification for machine learning models
US10754979B2 (en) Information management terminal device
CN114091690A (zh) 联邦学习模型的训练方法和调用方法以及联邦学习系统
JP2019109680A (ja) デバイス、セキュアエレメント、プログラム、情報処理方法及び情報処理システム
CN112948866B (zh) 一种数据处理方法、装置、设备及可读存储介质
Dong et al. RAI2: Responsible Identity Audit Governing the Artificial Intelligence.
Yi et al. Digital rights management scheme based on redactable blockchain and perceptual hash

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191008

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20191008

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20191021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200203

R150 Certificate of patent or registration of utility model

Ref document number: 6655762

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250