JP7052879B2 - 学習器推定装置、学習器推定方法、リスク評価装置、リスク評価方法、プログラム - Google Patents

学習器推定装置、学習器推定方法、リスク評価装置、リスク評価方法、プログラム Download PDF

Info

Publication number
JP7052879B2
JP7052879B2 JP2020550274A JP2020550274A JP7052879B2 JP 7052879 B2 JP7052879 B2 JP 7052879B2 JP 2020550274 A JP2020550274 A JP 2020550274A JP 2020550274 A JP2020550274 A JP 2020550274A JP 7052879 B2 JP7052879 B2 JP 7052879B2
Authority
JP
Japan
Prior art keywords
data
correct answer
learning
answer rate
learner
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
JP2020550274A
Other languages
English (en)
Other versions
JPWO2020075462A1 (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020075462A1 publication Critical patent/JPWO2020075462A1/ja
Application granted granted Critical
Publication of JP7052879B2 publication Critical patent/JP7052879B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • 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/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • 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]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
    • 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/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分類のための学習器の推定を行う学習器推定装置、学習器推定方法と、学習器のリスク評価装置、リスク評価方法、およびこれらの方法を実行するためのプログラムに関する。
分類のための学習器を、API(Application Programming Interface)を介して様々な人が利用できるようなサービスを展開している企業が増えてきている。しかしながら、悪意のあるユーザがこのAPIを利用することによって、その学習器を推定できる可能性があることが指摘されている(非特許文献1,2)。コンピュータセキュリティの分野では、この学習器の推定(抽出、複製、再構築)はModel Extraction攻撃あるいはModel Reconstruction攻撃として知られている。なお、非特許文献3は、本願明細書中で説明する温度付きsoftmax関数に関する文献である。
非特許文献1は、二値分類学習器のModel Extraction攻撃に関する文献である。データの二値分類によく用いられるロジスティック回帰と呼ばれる学習器に対してModel Extraction攻撃をし、非常に高い正解率の攻撃結果を得ることが可能であることが示されている。これは、ロジスティック回帰の学習器は、シグモイド関数の逆関数を用いると多次元一次式で表現することができ、その次元数分の予測結果の取得によって、解くことができるためである。
非特許文献2は、多値分類学習器のModel Extraction攻撃に関する文献である。対象の学習を騙すことのできるデータ(Adversarial Exampleと呼ばれている。)を作り出すための学習器を作成する方法が提案されている。また、手書き文字データセットであるMNIST用の偽物の学習器の正解率が記されている。具体的には、攻撃対象のディープニューラルネットを用いて9,600個の予測結果を取得し、偽物の学習器を作成していた。
Florian Tramer, Fan Zhang, Ari Juels, Michael K. Reiter, and Thomas Ristenpart, "Stealing machine learning models via prediction apis," In 25th USENIX Security Symposium (USENIX Security 16), pages 601-618, Austin, TX, 2016. USENIX Association. Nicolas Papernot, Patrick McDaniel, Ian Goodfellow, Somesh Jha, Z. Berkay Celik, and Ananthram Swami, "Practical black-box attacks against machine learning," In Proceedings of the 2017 ACM on Asia Conference on Computer and Communications Security, ASIA CCS '17, pages 506-519, New York, NY, USA, 2017. ACM. Geoffrey Hinton, Oriol Vinyals, and Jeffrey Dean, "Distilling the knowledge in a neural network," In NIPS Deep Learning and Representation Learning Workshop, 2015.
しかしながら、非特許文献1の場合、二値より多い多値分類によく用いられるsoftmax関数(ソフトマックス関数)を含む学習器に対して同様のModel Extraction攻撃を検討した場合は、学習器を一次式で表現することができない。また、非特許文献2の筆者らのモチベーションは、Adversarial Exampleを作り出すことであり、偽物の学習器の正解率はあまり重視されていなかったため、作成された偽物の学習器は、攻撃対象の学習器の正解率に比べて10%以上の乖離があるものであった。
つまり、攻撃対象となる分類を行う学習器の詳細を知らないユーザがその学習器の出力を見ただけでその学習器を推定することができる(偽物が作られてしまう)可能性については言及されていたが、その有効な推定方法はなかった。有効な学習器推定方法がなければ、対象となる学習器の偽物が作られてしまうリスクを評価することができない。
そこで、本発明は、分類のための学習器を有効に推定できる学習器推定装置、学習器推定方法、および学習器のリスク評価方法を確立することを目的とする。
本発明の学習器推定装置は、入力された観測データの種類をラベルデータとして出力する分類タスク用の学習器を攻撃対象とし、記録部、問い合わせ部、取り込み部、学習部を備える。記録部は、あらかじめ定めた複数の観測データを記録しておく。問い合わせ部は、攻撃対象の学習器に対して、記録部に記録された観測データごとに問い合わせを行ってラベルデータを取得し、記録部に観測データと対応つけて取得したラベルデータを記録する。取り込み部は、記録部に記録された観測データと、当該観測データに対応付けられたラベルデータとを、学習部に入力する。学習部は、分類予測結果を求める処理であらかじめ定めた曖昧な値を出力する活性化関数を用いることを特徴とし、入力された観測データとラベルデータとを用いて学習する。
本発明のリスク評価方法は、学習部を備えた学習器推定装置を用いて、入力された観測データの種類をラベルデータとして出力する分類タスク用の学習器への攻撃のリスクを評価する。本発明のリスク評価方法は、攻撃対象分類予測ステップ、推定学習ステップ、正解率取得ステップ、リスク判断ステップを実行する。攻撃対象分類予測ステップでは、学習済の学習器に複数の観測データを入力し、各観測データを入力した際の分類予測である予測ラベルデータを取得し、観測データと予測ラベルデータの組の集合である推定用データ集合を得る。推定学習ステップでは、学習部を、推定用データ集合を用いて学習し、学習済の学習部を得る。なお、学習部は、分類予測結果を求める処理であらかじめ定めた曖昧な値を出力する活性化関数を用いる。正解率取得ステップでは、あらかじめ定めた複数のテスト用の観測データとラベルデータの組を用いて、学習済の学習器の正解率である対象正解率と、学習済の学習部の正解率である推定正解率とを求める。リスク判断ステップでは、対象正解率の方が推定正解率よりも大きいときは対象正解率と推定正解率の差が小さいほど、対象正解率の方が推定正解率よりも小さいときは対象正解率を推定正解率が上回るほど、リスクが高いと判断する。
本発明の学習器推定装置、学習器推定方法によれば、温度付きsoftmax関数のような曖昧な値を出力する活性化関数を用いるので、汎化誤差を低減できる。よって、少ないデータ量の学習で攻撃対象の学習器を有効に推定できる。また、本発明のリスク評価装置、リスク評価方法も、温度付きsoftmax関数のような曖昧な値を出力する活性化関数を用いるので、少ないデータ量の学習で攻撃対象の学習器を推定できるかを判断できる。よって、リスク評価方法を確立できる。
学習器推定装置の機能構成例を示す図。 学習器推定装置の処理フローを示す図。 温度付きsoftmax関数への入力がu=(u,u=(u,0.0)のときの温度付きsoftmax関数の特性を示す図。 リスク評価方法1の処理フローを示す図。 分割ステップのイメージを示す図。 リスク評価方法1の攻撃対象学習器学習ステップ、攻撃対象分類予測ステップ、推定学習ステップのイメージを示す図。 正解率取得ステップ、リスク判断ステップのイメージを示す図。 リスク評価方法2の処理フローを示す図。 用意するデータの集合のイメージを示す図。 リスク評価方法2の攻撃対象分類予測ステップ、推定学習ステップのイメージを示す図。 リスク評価装置の機能構成例を示す図。 MNISTデータの例を示す図。 実験に用いる学習器の設定を示す図。 学習器の仕様を示す図。 学習に用いたデータ数と正解率の関係を示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。また、文中で使用する記号「~」,「^」等は、本来直後の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直前に記載する。数式中においてはこれらの記号は本来の位置、すなわち文字の真上に記述している。
<前提:正解率>
攻撃者は攻撃対象の分類のための学習器(分類タスク用の学習器)fの推定を行い、fの推定学習器gを作成する。攻撃者はfを利用して、高い正解率を持つgを作成することを目標とする。正解率は、式(1)とする。
Figure 0007052879000001
ただし、Xはgへ入力するデータ(以降、観測データと呼ぶ)の集合、~YはX内の各観測データに対するfによって分類予測された種類の結果(以降、分類予測されたラベルデータと呼ぶ)の集合、^YはX内の各観測データに対する真の種類(以降、真のラベルデータと呼ぶ)の集合、N[a,b]はa以上b以下の整数の集合、~yはi番目の観測データのfが分類予測されたラベルデータ、^yはi番目の観測データに対する真のラベルデータとする。観測データは、分類したいデータであり、例えば、画像データ、購買データ、音声データ、位置データ、ゲノムデータなど様々ある。攻撃者はgを組み立てるにあたって、gの構造とg内の重みと呼ばれるパラメータを推定する必要がある。本発明は、そのうちの重みパラメータの推定に関する。
<前提:攻撃対象の学習器>
任意正の整数個(N個)の要素を持ち、各要素は任意の実数Rであるベクトルx∈Rを分類したい観測データとし、分類するための攻撃対象の学習器をfとする。つまり、fへの入力はxであり、これに対する出力f(x)はスカラまたはベクトルとする。スカラは分類される種類に相当し、ベクトルは各成分が分類される種類の確信度に相当するものとする。(なお、ベクトルの各成分の合計は100%にならなくてもよい。100%にならない場合は、「各成分を成分の合計値で割り、100をかける」などして、合計で100%にすればよい。)
例えば、スカラの場合は、分類される種類{いちご、みかん、ぶどう}に対して、スカラ{0,1,2}が対応しているとする。このとき、f(x)=1であればfは観測データxを“みかん”と分類したということである。
例えば、ベクトルの場合は、分類される種類{いちご、みかん、ぶどう}に対して、ベクトルの各成分が対応しているとする。このとき、f(x)=(10,20,70)であればfは観測データxを10%の確信度で“いちご”と分類しており、20%の確信度で“みかん”と分類しており、70%の確信度で“ぶどう”と分類しているとなる。つまり、“ぶどう”である可能性が高いと分類している。なお、ベクトルの場合、各成分の合計を100としても1としても割合という意味では同じことであるため、以降では各成分の合計を1とする。
<学習器推定装置,学習器推定方法>
図1に学習器推定装置の機能構成例を、図2に学習器推定装置の処理フローを示す。学習器推定装置100は、入力された観測データの種類をラベルデータとして出力する分類タスク用の学習器900を攻撃対象とし、記録部190、問い合わせ部110、取り込み部120、学習部130を備える。記録部190は、あらかじめ定めた複数の観測データを記録しておく。
問い合わせ部110は、攻撃対象の学習器900に対して、記録部190に記録された観測データごとに問い合わせを行ってラベルデータを取得し、記録部190に観測データと対応つけて取得したラベルデータを記録する(問い合わせステップS110)。
取り込み部120は、記録部190に記録された観測データと、その観測データに対応付けられたラベルデータとを、学習部130に入力する(学習部130に取り込ませる)(取り込みステップS120)。
学習部130は、入力された観測データとラベルデータとを用いて学習する(学習ステップS130)。学習部130は、分類予測結果を求める処理(最終段の処理)では、あらかじめ定めた曖昧な値を出力する活性化関数を用いることを特徴としている。より具体的には、分類する種類数をD(ただし、Dは2以上の整数)、Tを1以上のあらかじめ定めた値、cを1以上D以下の整数、uを活性化関数へ入力されるベクトルのc番目の要素、を分類結果として出力されるベクトルのc番目の要素とすると、例えば、活性化関数は、
Figure 0007052879000002
とすればよい。この活性化関数は、Tを温度とする温度付きsoftmax関数(非特許文献3参照)である。温度付きsoftmax関数は、温度Tを大きくするほど曖昧な値を出力するようになる。このように、学習部130は、温度付きsoftmax関数のような曖昧な値を出力する活性化関数を最終出力関数として持てばよい。
学習ステップS130では、学習部は、観測データxと攻撃対象の学習器900の出力であるラベルデータf(x)とを入力として学習する。なお、f(x)がスカラのときは、分類される種類がM(2以上の整数)個であるとき、そのスカラf(x)を長さMのベクトルvf(x)に変換して、gの入力にする。変換方法は、長さM(要素の数がM個)のベクトルを用意し、そのベクトルf(x)番目の要素のみ1、それ以外の要素は全て0のようにすればよい。f(x)がベクトルのときは、そのままgの入力にする。
学習部130は、入力を2つ以上の種類に分類する分類タスク用の学習器900を推定する。攻撃対象の学習器900は、出力が分類結果であるものであれば、構造はどのようなものでも構わない。学習部130は、最終出力関数が式(2)に示す温度付きsoftmax関数のような分類予測結果が出力されるものであれば、その他の構造はどのようなものでも動作する。最終出力関数以外の「その他の構造」としては、例えば、一般的なニューラルネット(全結合)、畳込みニューラルネットなどがある。ただし、構造により分類の正解率は異なるため、すべての構造で最適であるわけではない。学習部130は、温度付きsoftmax関数単体の学習器でもよい。また、学習部130の重みパラメータ更新方法も任意である。学習方法には、例えば、公知技術である確率的勾配降下法、最急降下法、AdaGrad法、Momentum法などがある。
学習ステップS130終了後は、学習部130は、攻撃対象の学習器900と同じ形式の観測データxが入力されると、攻撃対象の学習器900と同じ形式のラベルデータg(x)を出力する。g(x)は、上述と同様にスカラまたはベクトルである。
図3に、温度付きsoftmax関数への入力がu=(u,u=(u,0.0)のときの温度付きsoftmax関数の特性を示す。図3より、温度Tが大きくなるほど曖昧な値を出力する関数になることが分かる。例えば、この温度付きsoftmax関数を使うことで汎化誤差を低減させることができる。攻撃者はAPIの使用をできる限り抑えたいため、少ないデータで学習を行うはずである。訓練データが少ないほど、汎化誤差は増加する。機械学習の目標は汎化誤差を低減させることであり、攻撃者の作成したいDNN(深層学習器:Deep Neural Network)も汎化誤差が低いほどよい。このことから、本発明では汎化誤差を低減するため、温度付きsoftmax関数のような曖昧な値を出力する活性化関数を用いることを示した。よって、本発明の学習器推定装置、学習器推定方法であれば、汎化誤差を低減できるので、少ないデータ量の学習で攻撃対象の学習器を推定できる。つまり、本発明の学習器推定装置、学習器推定方法であれば、分類のための学習器を有効に推定できる。
<リスク評価方法1>
図4にリスク評価方法1の処理フローを示す。図5は分割ステップのイメージを示す図、図6は攻撃対象学習器学習ステップ、攻撃対象分類予測ステップ、推定学習ステップのイメージを示す図、図7は、正解率取得ステップ、リスク判断ステップのイメージを示す図である。
本発明のリスク評価方法は、学習部130を備えた学習器推定装置100を用いて、入力された観測データの種類をラベルデータとして出力する分類タスク用の学習器900への攻撃のリスクを評価する。リスク評価方法では、訓練用の観測データとラベルデータの組の集合と、テスト用の観測データとラベルデータの組の集合を用いる。なお、テスト用の観測データとラベルデータの組の集合は、訓練用の観測データとラベルデータの組の集合とは、共通するデータを含まないようにすればよい。
図5に示すように、まず、あらかじめ定めた複数の訓練用の観測データとラベルデータの組の集合を、第1データ集合と、第2データ集合に分割する(分割ステップS210)。分割ステップS210では、訓練用の観測データとラベルデータの組の集合を分割する際、第1データ集合の組数Nの方が、第2データ集合の組数Mよりも多くなるように分割する。例えば、第1データ集合の組数は、第2データ集合の組数の4倍などがある。
第1データ集合を用いて攻撃対象の学習器900を学習させ、学習済の学習器を得る(攻撃対象学習器学習ステップS220)。学習済の学習器900に第2データ集合の観測データの集合X内の観測データx2m(m=1,…,M)を入力し、その観測データを入力した際の分類予測(出力)である予測ラベルデータ2m(m=1,…,M)を取得することで、予測ラベルデータの集合を取得し、観測データの集合Xと予測ラベルデータの集合の組である推定用データ集合を得る(攻撃対象分類予測ステップS230)。そして、学習部130を、推定用データ集合を用いて学習し、学習済の学習部を得る(推定学習ステップS240)。これらのイメージが図6に示されている。なお、学習部130は、分類予測結果を求める処理では、あらかじめ定めた曖昧な値を出力する活性化関数を用いる。曖昧な値を出力する活性化関数の具体例は、上述の学習器推定装置、学習器推定方法の説明と同じである。
攻撃対象分類予測ステップS230は、学習器推定方法の問い合わせステップS110に相当する。記録部190にあらかじめ観測データの集合Xを記録しておき、観測データx2m(m=1,…,M)ごとに問い合わせを行って(予測)ラベルデータ2m(m=1,…,M)を取得し、記録部190に観測データx2mと対応つけて取得した(予測)ラベルデータ2mを記録すれば、攻撃対象分類予測ステップS230と問い合わせステップS110は同じである。観測データx2mと(予測)ラベルデータ2mの組の集合が、推定用データ集合に相当する。また、推定学習ステップS240は、取り込みステップS120と学習ステップS130に相当する。つまり、記録部190に記録された観測データx2mと(予測)ラベルデータ2m(推定用データ集合内の各組に相当)を学習部130に入力し、学習部130が学習すれば、同じである。このように、攻撃対象分類予測ステップS230と推定学習ステップS240は、学習器推定装置100を利用して実行できる。
そして、あらかじめ定めたK組のテスト用の観測データxTkとラベルデータyTkの組の集合を用いて(Kは2以上の整数、kは1以上K以下の整数)、学習済の学習器900の正解率である対象正解率と、学習済の学習部130の正解率である推定正解率とを求める(正解率取得ステップS250)。より具体的には、k=1,…,Kについて、テスト用の観測データxTkとラベルデータyTkの組の、観測データxTkを学習済の学習器900に入力し、予測ラベルデータTTkを得る。そして、テスト用の観測データxTkとラベルデータyTkの組のラベルデータyTkと予測ラベルデータTTkを比較し、対象正解率を求める。同様に、k=1,…,Kについて、テスト用の観測データxTkとラベルデータyTkの組の、観測データxTkを学習済の学習部130に入力し、予測ラベルデータETkを得る。そして、テスト用の観測データxTkとラベルデータyTkの組のラベルデータyTkと予測ラベルデータETkを比較し、推定正解率を求める。
そして、対象正解率の方が推定正解率よりも大きいときは対象正解率と推定正解率の差が小さいほど、対象正解率の方が推定正解率よりも小さいときは対象正解率を推定正解率が上回るほど(差が大きいほど)、リスクが高いと判断する(リスク判断ステップS260)。対象正解率は、大量のデータである第1のデータの組を用いて学習した攻撃対象の学習器900の正解率である。推定正解率は、第1のデータの組に比べれば少ない量のデータで学習した学習部130の正解率である。つまり、対象正解率の方が推定正解率よりも大きいときは対象正解率と推定正解率の差が小さいほど、対象正解率の方が推定正解率よりも小さいときは対象正解率を推定正解率が上回るほど(差が大きいほど)、推定攻撃が成功していると言える。
ステップS260のリスク判断の具体例としては、以下のような方法がある。ただし、1つの例であり、この方法に限定されるものではない。
1.ユーザが閾値τを決める。
2.リスク値は次のように計算される。
(1)対象正解率≦推定正解率のとき、リスク値=100(%)とする。
(2)それ以外のとき、リスク値=((対象正解率-推定正解率)/対象正解率)×100(%)とする。
3.リスク判断は次のように行われる。
(1)τ≦リスク値のとき、リスク評価結果を「リスクが高い」とする。
(2)それ以外のとき、リスク評価結果を「リスクが低い」とする。
リスク評価方法は、最初のリスク判断ステップS260で求めた1つめのリスク評価結果またはリスク値をそのまま出力して処理を終了してもよいし、繰り返し条件を満たすかを判断し(繰り返し判断ステップS270)、満たす場合は学習部130のパラメータなどを変更して(パラメータ変更ステップS280)、ステップS240~S260の処理を繰り返してもよい。なお、処理を繰り返した場合は、複数回リスク判断を行うことになるので、複数のリスク評価結果が存在する。この場合は、最も悪いリスク評価結果またはリスク値を出力すればよい。
繰り返し条件としては、「リスク評価結果が、リスクが低いである」、「推定用データ集合内に推定学習ステップS240での学習に使用していない観測データx2mと(予測)ラベルデータ2mの組が残っている」、「リスク評価結果を求めるために許容されている時間に余裕があり、処理を繰り返すことが許される」などが考えられる。これらの全てを満たすときに繰り返し条件を満たすとしてもよいし、さらに他の条件を付加したり、条件を変更したりしてもよい。パラメータ変更ステップS280では、学習部130の「活性化関数のパラメータ(例えばT)」、「重みパラメータ」、「構造」などをあらかじめ定めたルールで変更すればよい。
<リスク評価方法2>
図8にリスク評価方法2の処理フローを示す。図9は用意するデータの集合のイメージを示す図、図10は攻撃対象分類予測ステップ、推定学習ステップのイメージを示す図である。
リスク評価方法1では、攻撃対象の学習器900の学習も行ったが、既に学習済の攻撃対象の学習器900に対してリスク評価を行う場合もあり得る。リスク評価方法2では、学習済の学習器900を取得し(攻撃対象学習器取得ステップS320)、観測データ集合を生成する(観測データ集合生成ステップS310)。学習済の学習器900は、リスク評価の対象として与えられることもあるので、必ずしも実行が必要なわけではない。また、観測データ集合は、学習器推定装置,学習器推定方法において記録部190にあらかじめ記録しておいた複数の観測データと同等である。観測データ集合は、学習器900を推定するために使用する複数の観測データとしてあらかじめ用意しておいてもよい。つまり、ステップS310,S320は、リスク評価方法に必須の処理に含めなくてもよい。
リスク評価方法2では、学習器900に観測データ集合X内の観測データx2m(m=1,…,M)を入力し、その観測データを入力した際の分類予測(出力)である予測ラベルデータ2m(m=1,…,M)を取得することで、予測ラベルデータの集合を取得し、観測データの集合Xと予測ラベルデータの集合の組である推定用データ集合を得る(攻撃対象分類予測ステップS231)。攻撃対象分類予測ステップS231は、第2データ集合の観測データ集合Xを用いるのではなく、ラベルデータと組みになっていない観測データ集合Xを使う点だけが、リスク評価方法1の攻撃対象分類予測ステップS230と異なっているだけであり、実質的には同じである。推定学習ステップS240はリスク評価方法1と同じである。これらのイメージが図10に示されている。なお、学習部130は、分類予測結果を求める処理では、あらかじめ定めた曖昧な値を出力する活性化関数を用いる。曖昧な値を出力する活性化関数の具体例は、上述の学習器推定装置、学習器推定方法の説明と同じである。
正解率取得ステップS250,リスク判断ステップS260は、リスク評価方法1と同じである。また、繰り返し判断ステップS270とパラメータ変更ステップS280を付加してもいい点、付加する場合の処理内容も同じである。リスク評価方法1,2は上述のように曖昧な値を出力する活性化関数を持つ学習部を利用するので、学習器のリスク評価方法を確立できる。
リスク評価方法1で説明した通り、実質的に攻撃対象分類予測ステップS231と問い合わせステップS110が同じであり、推定学習ステップS240は取り込みステップS120と学習ステップS130と同じである。よって、攻撃対象分類予測ステップS231と推定学習ステップS240は、学習器推定装置100を利用して実行できる。したがって、正解率取得ステップS250を実行する正解率取得部250とリスク判断ステップS260を実行するリスク判断部260を追加し、記録部190にテスト用の観測データとラベルデータの組の集合も記録すれば、リスク評価装置200を構成できる(図11参照)。リスク評価装置200は、さらに、繰り返し判断ステップS270を実行する繰り返し判断部270、パラメータ変更ステップS280を実行するパラメータ変更部280も備えてもよい。
<実験>
実験では、0から9の数字の手書き文字画像のMNISTデータ(参考文献:Yann LeCun and Corinna Cortes, “MNIST handwritten digit database,” 2010.)を用い、リスク評価方法1を実行した。図12はMNISTデータの例を示している。MNISTデータセットは、28×28ピクセルの画像とその画像に対応する種類(数字)で構成されており、学習時に用いる55,000個の訓練データ(訓練用の観測データとラベルデータの組)と分類正解率の計測に用いる10,000個のテストデータ(テスト用の観測データとラベルデータの組)が含まれている。訓練データとテストデータは、それぞれ共通するデータを含まない。訓練データとテストデータにはそれぞれ、画像データ集合Xと種類集合(ラベルデータ集合)Yが含まれる。
攻撃対象の学習器900と偽物の学習器(学習部130に相当)を作成するために、MNISTデータを次のように分割し、実験に用いる。まず、訓練データ内の画像の格納順序をシャッフルする。次に、その訓練データを5分割し、そのうちの任意の4つのデータD(第1データ集合に相当する44,000組のデータ)を用いて攻撃対象の学習器900を学習させる(S210,S220に相当)。残りの1つのデータD(第2データ集合に相当する11,000組のデータ)の観測データを攻撃対象の学習器900に入力し、分類予測結果である予測ラベルデータを取得する(S230に相当)。そして、データDの観測データと予測ラベルデータで偽物の学習器(学習部130に相当)を学習する(S240に相当)。実験では、クラウド上にある学習器の内、データDを用いて学習した学習器を攻撃対象の学習器900とみなし、データDを用いてステップS230,S240の処理によって学習した学習器を攻撃者が作成する偽物の学習器とみなす。ここでは、攻撃対象の学習器から得られる分類結果は、式(2)の温度Tを1とした場合の温度付きsoftmax関数から得られるベクトルとする。以降で示す全ての結果は、MNISTデータセットをデータDとデータDに分割する5つのパターンでの平均を示す。
図13はこの実験に用いる学習器の設定を、図14は学習器の仕様、図15は学習に用いたデータ数と正解率の関係を示している。この実験では複数の構造を用いるが、全ての構造において学習に使うパラメータや各手法は、図13の通りに設定する。この実験で示す学習器は図14の通りとする。なお、fc、conv、poolはそれぞれ、ニューラルネットの全結合層、畳み込み層、プーリング層を表す。図14の行は、上から下に行くほど、入力層から出力層へ向かうことを示している。攻撃対象の学習器は学習器Aとした。偽物の学習器(学習部130に相当)には学習器Aと学習器Bの両方を用いた。
攻撃対象の学習器900の正解率(対象正解率に相当)は、97.439%であった。この攻撃対象の学習器に対して、推定学習器の学習に用いるデータ数を変更させながら、学習器Aと学習器Bでの正解率(推定正解率に相当)を計測した。図15は、その結果を示している。ただし、温度付きsoftmax関数の温度Tは32.0とした。
一般的に、学習器は、学習に用いるデータ数が多いほど正解率は向上する。本結果では、攻撃者の用いるデータ数が687個でさえ攻撃対象の学習器900と偽物の学習器(学習部130に相当)の正解率の差が、偽物の学習器が学習器Aのときは97.439-90.817=6.622(%)であり、偽物の学習器が学習器Bのときは97.439-93.391=4.048(%)であり、10%以下であった。また、偽物の学習器が学習器Bのときはデータ数11,000個のとき、98.311-97.439=0.872(%)上回った。このことから、温度付きsoftmax関数を用いた学習部130を用いることで、分類のための学習器を有効に推定できることが分かる。また、本発明のリスク評価方法によって、学習器のリスク評価方法を確立できることが分かる。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータ(処理回路)によって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
100 学習器推定装置 110 問い合わせ部
120 取り込み部 130 学習部
190 記録部 900 学習器

Claims (8)

  1. 入力された観測データの種類をラベルデータとして出力する分類タスク用の学習器を攻撃対象とする学習器推定装置であって、
    記録部と、問い合わせ部と、取り込み部と、学習部とを備え、
    前記記録部は、あらかじめ定めた複数の観測データを記録し、
    前記問い合わせ部は、前記の攻撃対象の学習器に対して、前記記録部に記録された観測データごとに問い合わせを行ってラベルデータを取得し、前記記録部に観測データと対応つけて取得したラベルデータを記録し、
    前記取り込み部は、前記記録部に記録された観測データと、当該観測データに対応付けられたラベルデータとを、前記学習部に入力し、
    前記学習部は、分類予測結果を求める処理では、あらかじめ定めた曖昧な値を出力する活性化関数を用いることを特徴とし、入力された観測データとラベルデータとを用いて学習する
    学習器推定装置。
  2. 記録部と、問い合わせ部と、取り込み部と、学習部とを備えた学習器推定装置を用いて、入力された観測データの種類をラベルデータとして出力する分類タスク用の学習器を攻撃対象とする学習器推定方法であって、
    問い合わせステップと、取り込みステップと、学習ステップとを有し、
    前記記録部は、あらかじめ定めた複数の観測データを記録しており、
    前記問い合わせステップでは、前記問い合わせ部が、前記の攻撃対象の学習器に対して、前記記録部に記録された観測データごとに問い合わせを行ってラベルデータを取得し、
    前記記録部に観測データと対応つけて取得したラベルデータを記録し、
    前記取り込みステップでは、前記取り込み部が、前記記録部に記録された観測データと、当該観測データに対応付けられたラベルデータとを、前記学習部に入力し、
    前記学習ステップでは、前記学習部が、分類予測結果を求める処理であらかじめ定めた曖昧な値を出力する活性化関数を用いることを特徴とし、入力された観測データとラベルデータとを用いて学習する
    学習器推定方法。
  3. 請求項2記載の学習器推定方法であって、
    前記の曖昧な値を出力する活性化関数は、汎化誤差を低減する
    ことを特徴とする学習器推定方法。
  4. 請求項2記載の学習器推定方法であって、
    分類する種類数をD(ただし、Dは2以上の整数)、Tを1以上のあらかじめ定めた値、cを1以上D以下の整数、uを活性化関数へ入力されるベクトルのc番目の要素、を分類結果として出力されるベクトルのc番目の要素とし、
    前記活性化関数は、
    Figure 0007052879000003
    である
    ことを特徴とする学習器推定方法。
  5. 入力された観測データの種類をラベルデータとして出力する分類タスク用の学習器への攻撃のリスクを評価するリスク評価装置であって、
    請求項1記載の学習器推定装置と、
    あらかじめ定めた複数のテスト用の観測データとラベルデータの組を用いて、学習済の前記学習器の正解率である対象正解率と、学習済の前記学習部の正解率である推定正解率とを求める正解率取得部と、
    前記対象正解率の方が前記推定正解率よりも大きいときは前記対象正解率と前記推定正解率の差が小さいほど、前記対象正解率の方が前記推定正解率よりも小さいときは前記対象正解率を前記推定正解率が上回るほど、リスクが高いと判断するリスク判断部と、
    を備えるリスク評価装置。
  6. 学習部を備えた学習器推定装置を用いて、入力された観測データの種類をラベルデータとして出力する分類タスク用の学習器への攻撃のリスクを評価するリスク評価方法であって、
    学習済の前記学習器に複数の観測データを入力し、各観測データを入力した際の分類予測である予測ラベルデータを取得し、観測データと予測ラベルデータの組の集合である推定用データ集合を得る攻撃対象分類予測ステップと、
    前記学習部を、前記推定用データ集合を用いて学習し、学習済の学習部を得る推定学習ステップと、
    あらかじめ定めた複数のテスト用の観測データとラベルデータの組を用いて、学習済の前記学習器の正解率である対象正解率と、学習済の前記学習部の正解率である推定正解率とを求める正解率取得ステップと、
    前記対象正解率の方が前記推定正解率よりも大きいときは前記対象正解率と前記推定正解率の差が小さいほど、前記対象正解率の方が前記推定正解率よりも小さいときは前記対象正解率を前記推定正解率が上回るほど、リスクが高いと判断するリスク判断ステップと、
    を有し
    記学習部は、分類予測結果を求める処理では、あらかじめ定めた曖昧な値を出力する活性化関数を用いる
    ことを特徴とするリスク評価方法。
  7. 請求項6記載のリスク評価方法であって、
    あらかじめ定めた複数の訓練用の観測データとラベルデータの組の集合を、第1データ集合と、第2データ集合に分割する分割ステップと、
    前記第1データ集合を用いて前記の攻撃対象の学習器を学習させ、学習済の学習器を得る攻撃対象学習器学習ステッ
    有し、
    前記第1のデータ集合の組の方が、前記第2のデータ集合の組よりも数が多く、
    前記攻撃対象分類予測ステップで前記学習器に入力される複数の観測データは、前記第2データ集合内の観測データである
    ことを特徴とするリスク評価方法。
  8. 請求項2~4のいずれかに記載の学習器推定方法、または請求項6もしくは7に記載のリスク評価方法をコンピュータに実行させるためのプログラム。
JP2020550274A 2018-10-10 2019-09-18 学習器推定装置、学習器推定方法、リスク評価装置、リスク評価方法、プログラム Active JP7052879B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018191461 2018-10-10
JP2018191461 2018-10-10
PCT/JP2019/036595 WO2020075462A1 (ja) 2018-10-10 2019-09-18 学習器推定装置、学習器推定方法、リスク評価装置、リスク評価方法、プログラム

Publications (2)

Publication Number Publication Date
JPWO2020075462A1 JPWO2020075462A1 (ja) 2021-09-02
JP7052879B2 true JP7052879B2 (ja) 2022-04-12

Family

ID=70163678

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020550274A Active JP7052879B2 (ja) 2018-10-10 2019-09-18 学習器推定装置、学習器推定方法、リスク評価装置、リスク評価方法、プログラム

Country Status (3)

Country Link
US (1) US11847230B2 (ja)
JP (1) JP7052879B2 (ja)
WO (1) WO2020075462A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7275661B2 (ja) * 2019-03-01 2023-05-18 日本電信電話株式会社 文生成装置、文生成方法、文生成学習装置、文生成学習方法及びプログラム
WO2021229696A1 (ja) * 2020-05-12 2021-11-18 日本電気株式会社 攻撃再現支援装置、攻撃再現支援方法、及びコンピュータ読み取り可能な記録媒体
JP7535452B2 (ja) 2020-12-28 2024-08-16 株式会社日立製作所 リスク評価装置及びリスク評価方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210019674A1 (en) * 2015-10-28 2021-01-21 Qomplx, Inc. Risk profiling and rating of extended relationships using ontological databases
US11526808B2 (en) * 2019-05-29 2022-12-13 The Board Of Trustees Of The Leland Stanford Junior University Machine learning based generation of ontology for structural and functional mapping

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHOKRI, Reza et al.,Membership Inference Attacks Against Machine Learning Models,Proceedings of 2017 IEEE Symposium on Security and Privacy,IEEE[online],2017年05月26日,pp.3-18,[2019年11月18日検索], インターネット<URL : https://ieeexplore.ieee.org/document/7958568>

Also Published As

Publication number Publication date
US20210342451A1 (en) 2021-11-04
US11847230B2 (en) 2023-12-19
WO2020075462A1 (ja) 2020-04-16
JPWO2020075462A1 (ja) 2021-09-02

Similar Documents

Publication Publication Date Title
TWI706273B (zh) 統一資源定位符(url)攻擊檢測方法、裝置及電子設備
JP7052879B2 (ja) 学習器推定装置、学習器推定方法、リスク評価装置、リスク評価方法、プログラム
CN110334742B (zh) 一种用于文档分类的基于强化学习的通过添加虚假节点的图对抗样本生成方法
CN116647411B (zh) 游戏平台网络安全的监测预警方法
CN113536383B (zh) 基于隐私保护训练图神经网络的方法及装置
Gao et al. Android malware detection via graphlet sampling
CN111797326A (zh) 一种融合多尺度视觉信息的虚假新闻检测方法及系统
Drichel et al. Analyzing the real-world applicability of DGA classifiers
JP7172612B2 (ja) データ拡張プログラム、データ拡張方法およびデータ拡張装置
CN112528275A (zh) 基于元路径学习与子图采样的apt网络攻击检测方法
Jiang et al. Estimating causal effects on networked observational data via representation learning
Yang et al. Intrusion detection: A model based on the improved vision transformer
Xiao et al. Latent imitator: Generating natural individual discriminatory instances for black-box fairness testing
CN117134958B (zh) 用于网络技术服务的信息处理方法及系统
CN113591892A (zh) 一种训练数据的处理方法及装置
CN116432039B (zh) 协同训练方法及装置、业务预测方法及装置
Kundu et al. Evaluating Efficacy of Model Stealing Attacks and Defenses on Quantum Neural Networks
CN103823827B (zh) 用于抓取富互联网应用的方法和装置
CN114510592B (zh) 图像分类方法、装置、电子设备及存储介质
JP2023154373A (ja) 情報処理装置
CN114580530A (zh) 一种基于生成对抗网络的快速模型遗忘方法与系统
CN113919488A (zh) 对抗样本的生成方法、装置和服务器
JP2022178534A (ja) 検知装置、学習装置、検知方法及び検知プログラム
CN111860655A (zh) 用户的处理方法、装置和设备
Wang et al. FCert: Certifiably Robust Few-Shot Classification in the Era of Foundation Models

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210324

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: 20220301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220314

R150 Certificate of patent or registration of utility model

Ref document number: 7052879

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150