JP2022115518A - Information processing program, information processing method, and information processing device - Google Patents
Information processing program, information processing method, and information processing device Download PDFInfo
- Publication number
- JP2022115518A JP2022115518A JP2021012143A JP2021012143A JP2022115518A JP 2022115518 A JP2022115518 A JP 2022115518A JP 2021012143 A JP2021012143 A JP 2021012143A JP 2021012143 A JP2021012143 A JP 2021012143A JP 2022115518 A JP2022115518 A JP 2022115518A
- Authority
- JP
- Japan
- Prior art keywords
- training
- data
- machine learning
- learning model
- training data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Bioethics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Machine Translation (AREA)
- Image Analysis (AREA)
Abstract
Description
本発明は、情報処理プログラム,情報処理方法および情報処理装置に関する。 The present invention relates to an information processing program, an information processing method, and an information processing apparatus.
近年、機械学習を用いたシステムの開発および利用が急速に進んでいる。その一方で、機械学習を用いたシステムに固有のセキュリティ問題も様々に見つかっている。例えば、機械学習に用いられた訓練データを推定して盗取する訓練データ推定攻撃が知られている。 In recent years, the development and use of systems using machine learning are progressing rapidly. On the other hand, various security problems specific to systems using machine learning have also been found. For example, a training data estimation attack is known in which training data used for machine learning is estimated and stolen.
訓練データ推定攻撃としては、例えば、顔認証システムに用いられる顔認証エッジデバイスを解析して機械学習モデルを抽出し、この機械学習モデルに対して訓練データ推定攻撃を行なうことで訓練データとして用いられた顔画像を推定する。 As a training data estimation attack, for example, a machine learning model is extracted by analyzing a face recognition edge device used in a face recognition system, and a training data estimation attack is performed on this machine learning model to use it as training data. to estimate the face image.
訓練データ推定攻撃は、訓練フェーズを終えた訓練済みモデル(機械学習モデル)を対象に行なわれる攻撃であり、ブラックボックス攻撃とホワイトボックス攻撃とに分類される。
ブラックボックス攻撃は、推論フェーズにおける入力データと出力データとから訓練データを推定する。
A training data estimation attack is an attack that targets a trained model (machine learning model) that has completed a training phase, and is classified into a black box attack and a white box attack.
Black-box attacks infer training data from input and output data in the inference phase.
ブラックボックス攻撃に対する防御手法として、例えば、訓練済みモデルの出力に対してノイズの付与や確信度削除等を行なうことで出力の情報を単純に削減する手法が知られている。また、攻撃に対して、勾配を偽装し、予め用意したおとりのデータセットに誘導する手法も知られている。 As a defense method against black-box attacks, for example, a method of simply reducing output information by adding noise to the output of a trained model, removing certainty, or the like is known. There is also a known method of disguising gradients and luring them to pre-prepared decoy datasets against attacks.
ホワイトボックス攻撃は、訓練済みの機械学習モデル自体からその訓練データを推定する。ホワイトボックス攻撃に対する防御手法としては、機械学習モデルのパラメータ更新時に、パラメータに適切なノイズを付与することで、訓練データ推定に耐性を持った訓練済みの機械学習モデルを生成する手法が知られている。このようなホワイトボックス攻撃に対する防御手法として、例えば、DP-SGD(Differential Private - Stochastic Gradient Descent)がある。 A white-box attack infers its training data from the trained machine learning model itself. As a defense method against white-box attacks, a method is known that generates a trained machine learning model that is resistant to training data estimation by adding appropriate noise to the parameters when updating the parameters of the machine learning model. there is DP-SGD (Differential Private-Stochastic Gradient Descent), for example, is a defense method against such white box attacks.
一般に、攻撃者に機械学習モデル自体を入手される危険は常にあり、ブラックボックス攻撃に対する防御だけでは不十分である。 In general, there is always a risk that an attacker can obtain the machine learning model itself, and defense against black box attacks alone is not sufficient.
一方、ホワイトボックス攻撃に対する従来の防御手法においては、機械学習モデルのパラメータにノイズを付加することで推定精度が低下するので、攻撃耐性の強度は精度とのトレードオフとなる。従って、機械学習モデルの精度が求められるシステムには導入できないという課題がある。
1つの側面では、本発明は、訓練データ推定のホワイトボックス攻撃に耐性を持つ機械学習モデルを生成できるようにすることを目的とする。
On the other hand, in conventional defense methods against white-box attacks, adding noise to the parameters of the machine learning model reduces the estimation accuracy, so the strength of attack resistance is a trade-off with accuracy. Therefore, there is a problem that it cannot be introduced into a system that requires the accuracy of the machine learning model.
In one aspect, the present invention aims to enable the generation of machine learning models that are resistant to white-box attacks on training data estimation.
このため、この情報処理プログラムは、第1訓練データによって訓練済みの第1機械学習モデルを用いて、意味のないデータを初期値として機械的に生成して追加データを作成し、前記第1訓練データと前記追加データとを組み合わせて第2訓練データを作成し、前記第2訓練データを用いて機械学習モデルを訓練する処理をコンピュータに実行させる。 Therefore, the information processing program mechanically generates meaningless data as initial values using a first machine learning model that has been trained using the first training data to create additional data. Combining the data with the additional data to create second training data, and causing a computer to perform a process of training a machine learning model using the second training data.
一実施形態によれば、訓練データ推定のホワイトボックス攻撃に耐性を持つ機械学習モデルを生成することができる。 According to one embodiment, a machine learning model can be generated that is resistant to white-box attacks on training data estimation.
以下、図面を参照して本情報処理プログラム,情報処理方法および情報処理装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。 Embodiments of the information processing program, the information processing method, and the information processing apparatus will be described below with reference to the drawings. However, the embodiments shown below are merely examples, and there is no intention of excluding various modifications and application of techniques not explicitly described in the embodiments. In other words, the present embodiment can be modified in various ways without departing from the spirit of the embodiment. Also, each drawing does not mean that it has only the constituent elements shown in the drawing, but can include other functions and the like.
(A)構成
図1は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
情報処理装置1は、例えば、図1に示すように、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
(A) Configuration FIG. 1 is a diagram illustrating a hardware configuration of an
The
プロセッサ(制御部)11は、本情報処理装置1全体を制御する。プロセッサ11は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ11は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
A processor (control unit) 11 controls the entire
そして、プロセッサ11が制御プログラム(情報処理プログラム:図示省略)を実行することにより、図2に例示する、訓練処理部100(第1訓練実行部101,追加訓練データ作成部102および第2訓練実行部105)としての機能が実現される。
Then, the
なお、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム{情報処理プログラムやOS(Operating System)プログラム}を実行することにより、訓練処理部100としての機能を実現する。
In addition, the
情報処理装置1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置1に実行させるプログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
A program describing the contents of processing to be executed by the
また、情報処理装置1(プロセッサ11)に実行させるプログラムを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
Also, the program to be executed by the information processing device 1 (processor 11) can be recorded in a non-temporary portable recording medium such as the optical disk 16a, the
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ11に実行させるOSプログラムや制御プログラムの少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。
The
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、本情報処理装置1の補助記憶装置として使用される。記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには情報処理プログラムが含まれる。
The
なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
A semiconductor storage device such as an SCM or a flash memory can also be used as the auxiliary storage device. Alternatively, a plurality of
また、記憶装置13には、後述する第1訓練実行部101,追加訓練データ作成部102(追加データ作成部103,ミニバッチ作成部104)および第2訓練実行部105が各処理を実行する際に生成される各種データを格納してもよい。
Further, in the
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
A
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
A
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
The
機器接続インタフェース17は情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
The
ネットワークインタフェース18は、図示しないネットワークに接続される。ネットワークインタフェース18は、ネットワークを介して、他の情報処理装置や通信機器等が接続されてもよい。例えば、ネットワークを介して入力画像や入力文章が入力されてもよい。
The
図2は実施形態の一例としての情報処理装置1の機能構成を例示する図である。情報処理装置1は、図2に示すように、訓練処理部100としての機能を備える。
情報処理装置1においては、プロセッサ11が制御プログラム(情報処理プログラム)を実行することにより、訓練処理部100としての機能が実現される。
FIG. 2 is a diagram illustrating the functional configuration of the
In the
訓練処理部100は、訓練データを用いて、機械学習における学習処理(訓練処理)を実現する。すなわち、情報処理装置1は、訓練処理部100により、機械学習モデルの訓練を行なう訓練装置として機能する。
The
訓練処理部100は、例えば、正解ラベルが付与された訓練データ(教師データ)を用いて、機械学習における学習処理(訓練処理)を実現する。訓練処理部100は、訓練データを用いて機械学習モデルの訓練を行ない、訓練データ推定に耐性を持った訓練済みの機械学習モデルを生成する。
The
機械学習モデルは、例えば、ディープラーニングのモデル(ディープニューラルネットワーク)であってもよい。ニューラルネットワークは、ハードウェア回路であってもよいし、プロセッサ11等によりコンピュータプログラム上で仮想的に構築される階層間を接続するソフトウェアによる仮想的なネットワークであってもよい。
訓練処理部100は、図2に示すように、第1訓練実行部101,追加データ作成部103および第2訓練実行部105を備える。
The machine learning model may be, for example, a deep learning model (deep neural network). The neural network may be a hardware circuit, or a virtual network of software that connects layers virtually constructed on a computer program by the
The
第1訓練実行部101は、訓練データを用いて機械学習モデルの訓練を行ない、訓練済み機械学習モデルを生成する。
訓練データは、例えば、入力データxと正解出力データyとの組み合わせとして構成される。
The first
The training data is configured, for example, as a combination of input data x and correct output data y.
第1訓練実行部101が訓練データを用いて行なう機械学習モデルの訓練を第1訓練という場合がある。また、第1訓練実行部101による訓練が行なわれる前の機械学習モデルを第1機械学習モデルという場合がある。第1機械学習モデルは訓練が行なわれる前の機械学習モデルであるので、空の機械学習モデルといってもよい。また、機械学習モデルを単にモデルといってもよい。
また、以下、第1訓練実行部101が第1訓練に用いる訓練データを第1訓練データもしくは訓練データAという場合がある。
Training of the machine learning model performed by the first
Also, the training data used for the first training by the first
さらに、第1訓練実行部101により生成される訓練済み機械学習モデルを第2機械学習モデルもしくは機械学習モデルAという場合がある。第1訓練実行部101による第1訓練により、機械学習モデルAのモデルパラメータが設定される。
Furthermore, the trained machine learning model generated by the first
第1訓練実行部101は、既知の手法を用いて、訓練データAを用いて第1機械学習モデルの訓練を行なって第2機械学習モデル(機械学習モデルA)を生成することができ、その具体的な説明は省略する。
The first
追加訓練データ作成部102は、後述する第2訓練実行部105が、第1訓練実行部101が生成した第2機械学習モデル(機械学習モデルA)に対して追加訓練を行なう際に用いる訓練データを作成する。以下、第2機械学習モデルに対して追加訓練を行なう際に用いる訓練データを第2訓練データもしくは訓練データBという場合がある。訓練データBを追加訓練データといってもよい。
追加訓練データ作成部102は、追加データ作成部103およびミニバッチ作成部104を備える。
The additional training
The additional training
追加データ作成部103は、複数の追加データを作成する。追加データは、機械学習モデルAに対して一般的な機械学習モデル運用では入力されないデータであり、且つ、分類器(Classifier)において特定のラベルに分類される人工的なデータである。
追加データ作成部103は、例えば、機械学習モデルAの勾配を取得して確信度が上がる方向に入力を更新していく勾配降下法で追加データを作成する。
The additional
The additional
以下に、単純な勾配降下法を用いて追加データを生成する手法(手順1~4)を例示する。
(手順1)追加データ作成部103は、先ず、目的関数を設定する。
機械学習モデルAの入力:X
機械学習モデルAの出力:f(X) = (f1(X), …, fn(X))
ターゲットのラベル:t
とする場合に、目的関数を例えば、以下の式(1)で表すことができる。
L(X) = (1-ft(X))2 ・・・(1)
上記のL(X)の値が最小になるとき、Xは確信度1でラベルtに分類される
このようにラベルtに依存するため、すべてのラベルに対して手順1の処理を行なう必要がある。
Below is an example of how to generate additional data using simple gradient descent (steps 1-4).
(Procedure 1) The additional
Input for machine learning model A: X
Output of machine learning model A: f(X) = (f 1 (X), …, f n (X))
Target label: t
, the objective function can be expressed, for example, by the following equation (1).
L(X) = (1-f t (X)) 2 (1)
When the value of L(X) above is minimized, X is classified into label t with a certainty of 1. Since it depends on label t in this way, it is necessary to process
(手順2)初期値として、機械学習モデルAに関して意味のないデータ(例えば、ノイズや一定値)の入力を用意する(以下、初期値X0と表す)。
初期値X0は、オペレータ等が予め用意・設定してもよく、また、追加データ作成部103が生成してもよい。
(手順3)追加データ作成部103は、X0まわりのL(X)の微分値L′(X0)を取得する。
(手順4)追加データ作成部103は、X0 -λL′(X0)を追加データとする。λはハイパーパラメータである。
(Procedure 2) As an initial value, prepare input of meaningless data (for example, noise or a constant value) for the machine learning model A (hereinafter referred to as initial value X 0 ).
The initial value X 0 may be prepared and set in advance by an operator or the like, or may be generated by the additional
(Procedure 3) The additional
(Procedure 4) The additional
なお、追加データの作成方法は、これに限定されるものではなく、適宜変更して実施することができる。例えば、他の目的関数を用いてもよい。また、上記手順4を一定回数繰り返してもよい。さらに、上記手順4の式を変更してもよい。 Note that the method of creating the additional data is not limited to this, and can be changed as appropriate. For example, other objective functions may be used. Moreover, the above procedure 4 may be repeated a certain number of times. Furthermore, the formula in procedure 4 above may be changed.
追加データ作成部103は、訓練データA(第1訓練データ)によって訓練済みの機械学習モデルA(第1機械学習モデル)を用いて、意味のないデータ(X0)を初期値として機械的に生成して追加データを作成する。
また、追加データの生成には、進化的アルゴリズムなどの勾配降下法以外の最適化手法を用いてもよく種々変形して実施することができる。
The additional
Further, the additional data may be generated using an optimization method other than the gradient descent method, such as an evolutionary algorithm, which may be modified in various ways.
入力データが画像データである場合には、例えば、fooling imageを追加データとして用いてもよい。なお、fooling imageは既知の手法で生成することができ、その説明は省略する。 If the input data is image data, for example, fooling image may be used as the additional data. It should be noted that the fooling image can be generated by a known method, and its explanation is omitted.
ミニバッチ作成部104は、訓練データAに追加データ作成部103が作成した追加データを加えることで、第2訓練データ(訓練データB,追加訓練データ)を作成する。
The
ミニバッチ作成部104は、訓練データAのサンプル数に対して追加データのサンプル数が十分少なくなるように訓練データAをアップサンプリング、または追加データをダウンサンプリングする。
例えば、ミニバッチ作成部104は、訓練データAに対する追加データの割合が所定値(α)となるように、訓練データAおよび追加データの数を調整する。
The
For example, the
すなわち、訓練データAに対して追加データが所定の割合αよりも少ない場合には、ミニバッチ作成部104は、訓練データAのダウンサンプリングと追加データのアップサンプリングとの少なくとも一方を行なうことで、訓練データAに対する追加データの割合をαとなるようにする。一方、訓練データAに対して追加データが所定の割合α以上である場合には、ミニバッチ作成部104は、訓練データAのアップサンプリングと追加データのダウンサンプリングとの少なくとも一方を行なうことで、訓練データAに対する追加データの割合をαとなるようにする。なお、アップサンプリングには、ノイズ付加等の手法を用いてもよい。
That is, when the additional data to the training data A is less than the predetermined ratio α, the
なお、訓練データAに対する追加データの割合を大きくすることで、後述する第2訓練実行部105が第2訓練データ(訓練データB)を用いて生成される機械学習モデル(機械学習モデルB)の、ホワイトボックス攻撃に対する耐性を向上させることができる。その一方で、訓練データAに対する追加データの割合を大きくすることで、機械学習モデル(機械学習モデルB)の精度が低下するおそれがある。そこで、訓練データAに対する追加データの割合を表す閾値(α)は、機械学習モデル(機械学習モデルB)の精度が維持される範囲内においてなるべく大きい値に設定することが望ましい。
ミニバッチ作成部104は、訓練データAと追加データとを用いて、複数のミニバッチを作成する。
By increasing the ratio of the additional data to the training data A, the machine learning model (machine learning model B) generated by the second
A
図3は実施形態の一例としての情報処理装置1におけるミニバッチ作成部104の処理を説明するための図である。
ミニバッチ作成部104は、後述する第2訓練実行部105による訓練(機械学習)を安定させるために、各ミニバッチに一定割合の追加データが含まれるようにシャッフルする。
FIG. 3 is a diagram for explaining processing of the
The
すなわち、ミニバッチ作成部104は、訓練データAと追加データとを別々にランダムに並び替え(シャッフルし)、それぞれN等分する(Nは2以上の自然数)。以下、訓練データをN等分することで生成された1/Nの訓練データAを分割訓練データAという場合がある。また、追加データをN等分することで生成された1/Nの追加データを分割追加データという場合がある。
That is, the
ミニバッチ作成部104は、N個に分割(N分割)した訓練データAから抽出した一つの分割訓練データAと、N分割した追加データから抽出した分割追加データとを組み合わせることで一つのミニバッチを作成する。ミニバッチは、後述する第2訓練実行部105により、機械学習モデルに対する訓練に用いられる。
The
すなわち、ミニバッチ作成部104は、シャッフルしたそれぞれのデータ(訓練データAおよび追加データ)からそれぞれ一定個数を取り出して結合し、一つのミニバッチとする。これらの複数のミニバッチの集合を訓練データBという場合がある。
That is, the
ミニバッチ作成部104は、訓練データA(第1訓練データ)と追加データとを組み合わせて訓練データB(第2訓練データ)を作成する第2訓練データ作成部に相当する。また、ミニバッチ作成部104は、訓練データBにおいて、訓練データA(第1訓練データ)に対する追加データの割合が所定値(α)となるように、訓練データAおよび追加データの少なくとも一方に、アップサンプリングもしくはダウンサンプリングを行なう。
The
なお、ミニバッチのサイズは機械学習のノウハウに基づき、適宜設定することができる。ミニバッチ作成部104が訓練データAと追加データとをそれぞれシャッフルすることで、訓練によって設定されるパラメータにおいて勾配の偏りの発生を抑止することができる。
Note that the mini-batch size can be appropriately set based on machine learning know-how. By shuffling the training data A and the additional data by the
第2訓練実行部105は、追加訓練データ作成部102によって作成された訓練データBを用いて機械学習モデルの訓練を行なうことで、訓練データ推定攻撃に耐性を持つ機械学習モデルを作成する。
The second
本情報処理装置1においては、第2訓練実行部105は、第1訓練実行部101によって訓練が行なわれた機械学習モデルAに対して、訓練データBを用いた訓練(追加訓練)を行なう。
以下、第2訓練実行部105が訓練データBを用いて行なう機械学習モデルの訓練を第2訓練という場合がある。
In the
Hereinafter, the machine learning model training performed by the second
また、第2訓練実行部105により生成される訓練済み機械学習モデルを機械学習モデルBという場合がある。機械学習モデルBを第3機械学習モデルといってもよい。
Also, the trained machine learning model generated by the second
第2訓練実行部105は、第1訓練実行部101は、既知の手法を用いて、訓練データBを用いて第2機械学習モデルの訓練を行なって第3機械学習モデル(機械学習モデルB)を生成することができ、その具体的な説明は省略する。
The second
第2訓練実行部105は、追加訓練データ作成部102によって作成された、訓練データBをN分割することで生成されたミニバッチを用いて、訓練済みの機械学習モデルAに対して更なる訓練を(追加訓練)を行なうことで、追加訓練済みの機械学習モデルBを生成する。第2訓練実行部105による第2訓練(追加訓練)により、機械学習モデルBのモデルパラメータが設定される。
The second
第2訓練実行部105は、訓練データB(第2訓練データ)を用いて機械学習モデルを訓練するものであり、訓練データB(第2訓練データ)を用いて機械学習モデルA(第1機械学習モデル)の再訓練を実行する。
The second
第2訓練実行部105による第2訓練(追加訓練)によって生成される機械学習モデルBは、訓練データAを推定するホワイトボックス攻撃に対して耐性を持つ。
訓練済みの機械学習モデルAに対して更なる訓練を(追加訓練)を行なうことで、機械学習モデルの訓練に要する時間を短縮することができる。
The machine learning model B generated by the second training (additional training) by the second
By further training (additional training) to the trained machine learning model A, the time required for training the machine learning model can be shortened.
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1における機械学習モデルの訓練手法を、図4を参照しながら、図5に示すフローチャート(ステップS1~S10)に従って説明する。図4は本情報処理装置1における機械学習モデルの訓練手法の概要を示す図である。
(B) Operation A machine learning model training method in the
ステップS1において、オペレータは、空の機械学習モデル(第1機械学習モデル)および訓練データAを準備する。これらの空の機械学習モデルおよび訓練データAを構成する情報は記憶装置13等の所定の記憶領域に記憶される。
In step S1, the operator prepares an empty machine learning model (first machine learning model) and training data A. Information constituting these empty machine learning models and training data A are stored in a predetermined storage area such as the
ステップS2において、第1訓練実行部101が、訓練データAを用いて空の機械学習モデル(第1機械学習モデル)の訓練(第1訓練)を行ない、訓練済み機械学習モデルAを生成する(図4の符号A1参照)。
ステップS3において、追加データ作成部103が、機械学習モデルAに対して最適化手法を用いることで追加データを生成する(図4の符号A2参照)。
In step S2, the first
In step S3, the additional
ステップS4において、ミニバッチ作成部104が、追加データの数と訓練データAの数とを比較し、訓練データAに対して追加データが所定の割合αよりも少ないかを確認する。
In step S4, the
確認の結果、訓練データAに対して追加データが所定の割合αよりも少ない場合には(ステップS4のYESルート参照)、ステップS6に移行する。ステップS6において、ミニバッチ作成部104は、訓練データAのダウンサンプリングと追加データのアップサンプリングとの少なくとも一方を行なうことで、訓練データAに対する追加データの割合をαとなるように調整する。
As a result of confirmation, if the additional data is less than the predetermined ratio α with respect to the training data A (see YES route of step S4), the process proceeds to step S6. In step S6, the
一方、確認の結果、訓練データAに対して追加データが所定の割合α以上である場合には(ステップS4のNOルート参照)、ステップS5に移行する。ステップS5において、ミニバッチ作成部104は、訓練データAのアップサンプリングと追加データのダウンサンプリングとの少なくとも一方を行なうことで、訓練データAに対する追加データの割合をαとなるように調整する。
On the other hand, as a result of confirmation, if the additional data is equal to or greater than the predetermined ratio α with respect to the training data A (see NO route in step S4), the process proceeds to step S5. In step S5, the
その後、ステップS7において、ミニバッチ作成部104は、訓練データAと追加データとを別々にランダムに並び替える。さらに、ミニバッチ作成部104は、訓練データAおよび追加データをそれぞれN等分する。
Thereafter, in step S7, the
ステップS8において、ミニバッチ作成部104は、N個に分割(N分割)した訓練データAと、N分割した追加データとを組み合わせることでN分割された訓練データBを作成する(図4の符号A3参照)。
In step S8, the
ステップS9において、第2訓練実行部105が、追加訓練データ作成部102によって作成された、N分割された訓練データBの各ミニバッチを用いて、訓練済みの機械学習モデルAに対して更なる訓練を(追加訓練)を行なうことで、追加訓練済みの機械学習モデルBを生成する(図4の符号A4参照)。
In step S9, the second
ステップS10において、第2訓練実行部105は、生成した機械学習モデルBを出力する。機械学習モデルBを構成する情報は、記憶装置13等の所定の記憶領域に記憶される。
In step S10, the second
(C)効果
このように、実施形態の一例としての情報処理装置1によれば、追加訓練データ作成部102が、追加データを含む訓練データBを作成し、第2訓練実行部105が、この訓練データBを用いて訓練済みの機械学習モデルAに対して更なる訓練を(追加訓練)を行なうことで、追加訓練済みの機械学習モデルBを生成する。
(C) Effect As described above, according to the
追加データは、一般的な機械学習モデル運用では入力されないデータであり、機械学習モデルAに関して意味のないデータ(X0)を初期値として機械的に生成したデータである。そのため、追加訓練済みの機械学習モデルBに対して訓練データ推定のホワイトボックス攻撃を行なっても、追加データの影響で訓練データAの推定を抑止することができる。機械学習モデルBに対して訓練データ推定のホワイトボックス攻撃が行なわれた場合に、追加データがデコイとして機能し、訓練データAの推定を阻止することができる。 The additional data is data that is not input in general machine learning model operation, and is mechanically generated data with meaningless data (X 0 ) for the machine learning model A as an initial value. Therefore, even if a white-box attack of training data estimation is performed on additionally trained machine learning model B, estimation of training data A can be suppressed due to the influence of the additional data. If a training data estimation white-box attack is performed on the machine learning model B, the additional data can act as a decoy and block the training data A estimation.
図6は実施形態の一例としての情報処理装置1により生成した機械学習モデルに対する訓練データ推定のホワイトボックス攻撃による結果を説明するための図である。
FIG. 6 is a diagram for explaining the result of a white-box attack on training data estimation for a machine learning model generated by the
この図6においては、入力された数字画像に基づき、その数字画像が表す数字を推定(分類)する機械学習モデルに関して訓練データ推定攻撃を行なった例を示す。また、この図6においては、機械学習モデルのパラメータにノイズを付加する従来手法により訓練した機械学習モデルに基づいて訓練データ推定攻撃を行なった結果と、本情報処理装置1により作成した訓練済み機械学習モデルに基づいて訓練データ推定攻撃を行なった結果とを示す。
FIG. 6 shows an example in which a training data estimation attack is performed on a machine learning model that estimates (classifies) a number represented by an input number image based on the input number image. Also, in FIG. 6, the result of performing a training data estimation attack based on a machine learning model trained by a conventional method of adding noise to the parameters of the machine learning model, and the trained machine created by the
図6において、「モデル性能(Accuracy)」は、従来手法により訓練した機械学習モデルと本情報処理装置1により訓練した機械学習モデルとの各性能(精度)を示す。本本情報処理装置1により訓練した機械学習モデルの性能(0.9863)は、従来手法により訓練した機械学習モデルの性能(0.9888)と同等であることがわかる。
In FIG. 6 , “model performance (Accuracy)” indicates the performance (accuracy) of the machine learning model trained by the conventional method and the machine learning model trained by the
「訓練データ推定に対する耐性(攻撃結果)」には、各機械学習モデルに対して訓練データ推定攻撃を行なうことで生成された画像(数字画像)と、その数字画像の本来の正解データとしての数値とを並べて示している。 "Training data estimation resistance (attack results)" includes images (digit images) generated by performing training data estimation attacks on each machine learning model, and numerical values as the original correct data of the digit images. are shown side by side.
従来手法により訓練した機械学習モデルに基づいて訓練データ推定攻撃を行なった結果においては、ホワイトボックス攻撃により訓練データの数字画像が再現されてしまっている。これに対して、本情報処理装置1による訓練済み機械学習モデルに基づいて訓練データ推定攻撃を行なった結果においては、一部を除いて訓練データの数字画像が再現されておらず、ホワイトボックス攻撃による訓練データの数字画像の再現率が低いことがわかる。すなわち、本情報処理装置1による訓練済み機械学習モデルが訓練データ推定攻撃に耐性を持つことを示している。
In the training data estimation attack based on the machine learning model trained by the conventional method, the numerical image of the training data is reproduced by the white-box attack. On the other hand, in the results of the training data estimation attack based on the trained machine learning model by the
また、機械学習モデルのパラメータにノイズを付加する従来のホワイトボックス攻撃に対する防御手法従来手法では、ノイズがモデルの推論能力にも大きく影響を与えてしまい、精度の低下が非常に大きくなる。これに対して、本情報処理装置1により訓練済みの機械学習モデルにおいては、追加データが通常の入力の推論能力に影響を与えにくいため、精度の低下を比較的抑えることができる。
In addition, in conventional defense methods against white-box attacks that add noise to the parameters of machine learning models, the noise greatly affects the model's inference ability, resulting in a significant decrease in accuracy. On the other hand, in the machine learning model trained by the
(D)その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
(D) Others The technology disclosed herein is not limited to the above-described embodiments, and various modifications can be made without departing from the spirit of the embodiments.
For example, each configuration and each process of the present embodiment can be selectively selected or combined as appropriate.
また、上述した実施形態においては、第2訓練実行部105が、第1訓練実行部101により訓練済みの機械学習モデルAに対して更なる訓練を(追加訓練)を行なっているが、これに限定されるものではない。第2訓練実行部105は、第2訓練データを用いて空の機械学習モデルに対して訓練を行なってもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
Further, in the above-described embodiment, the second
In addition, it is possible for a person skilled in the art to implement and manufacture the present embodiment based on the above disclosure.
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1訓練データによって訓練済みの第1機械学習モデルを用いて、意味のないデータを初期値として機械的に生成して追加データを作成し、
前記第1訓練データと前記追加データとを組み合わせて第2訓練データを作成し、
前記第2訓練データを用いて機械学習モデルを訓練する
処理をコンピュータに実行させることを特徴とする、情報処理プログラム。
(E) Supplementary Note Regarding the above embodiment, the following Supplementary Note will be disclosed.
(Appendix 1)
Using a first machine learning model trained with the first training data, mechanically generating meaningless data as initial values to create additional data,
Combining the first training data and the additional data to create second training data;
An information processing program, characterized by causing a computer to execute a process of training a machine learning model using the second training data.
(付記2)
前記第2訓練データを用いた前記機械学習モデルの訓練は、前記第2訓練データを用いた前記第1機械学習モデルの再訓練である
ことを特徴とする、付記1記載の情報処理プログラム。
(Appendix 2)
The information processing program according to
(付記3)
前記追加データを最適化手法を用いて生成する
処理を前記コンピュータに実行させることを特徴とする、付記1または2に記載の情報処理プログラム。
(Appendix 3)
3. The information processing program according to
(付記4)
前記第1訓練データに対する前記追加データの割合が所定値となるように、前記第1訓練データおよび前記追加データの少なくとも一方に、アップサンプリングもしくはダウンサンプリングを行なう
処理を前記コンピュータに実行させることを特徴とする、付記1~3のいずれか1項に記載の情報処理プログラム。
(Appendix 4)
causing the computer to perform upsampling or downsampling of at least one of the first training data and the additional data so that the ratio of the additional data to the first training data is a predetermined value. The information processing program according to any one of
(付記5)
第1訓練データによって訓練済みの第1機械学習モデルを用いて、意味のないデータを初期値として機械的に生成して追加データを作成し、
前記第1訓練データと前記追加データとを組み合わせて第2訓練データを作成し、
前記第2訓練データを用いて機械学習モデルを訓練する
処理をコンピュータが実行することを特徴とする情報処理方法。
(Appendix 5)
Using a first machine learning model trained with the first training data, mechanically generating meaningless data as initial values to create additional data,
Combining the first training data and the additional data to create second training data;
An information processing method, wherein a computer executes a process of training a machine learning model using the second training data.
(付記6)
前記第2訓練データを用いた前記機械学習モデルの訓練は、前記第2訓練データを用いて前記訓第1機械学習モデルの再訓練である
ことを特徴とする、付記5記載の情報処理方法。
(Appendix 6)
6. The information processing method according to
(付記7)
前記追加データを最適化手法を用いて生成する
処理を前記コンピュータが実行することを特徴とする、付記5または6に記載の情報処理方法。
(Appendix 7)
7. The information processing method according to
(付記8)
前記第1訓練データに対する前記追加データの割合が所定値となるように、前記第1訓練データおよび前記追加データの少なくとも一方に、アップサンプリングもしくはダウンサンプリングを行なう
処理を前記コンピュータが実行することを特徴とする、付記5~7のいずれか1項に記載の情報処理方法。
(Appendix 8)
The computer executes a process of upsampling or downsampling at least one of the first training data and the additional data such that the ratio of the additional data to the first training data is a predetermined value. The information processing method according to any one of
(付記9)
第1訓練データによって訓練済みの第1機械学習モデルを用いて、意味のないデータを初期値として機械的に生成して追加データを作成する追加データ作成部と、
前記第1訓練データと前記追加データとを組み合わせて第2訓練データを作成する第2訓練データ作成部と、
前記第2訓練データを用いて機械学習モデルを訓練する第2訓練実行部と
を備えることを特徴とする情報処理装置。
(Appendix 9)
an additional data creation unit that creates additional data by mechanically creating meaningless data as initial values using the first machine learning model trained with the first training data;
a second training data creation unit that creates second training data by combining the first training data and the additional data;
and a second training execution unit that trains a machine learning model using the second training data.
(付記10)
前記第2訓練実行部が、前記第2訓練データを用いて前記訓第1機械学習モデルの再訓練を実行する
ことを特徴とする、付記9記載の情報処理装置。
(Appendix 10)
10. The information processing apparatus according to claim 9, wherein the second training execution unit re-trains the training first machine learning model using the second training data.
(付記11)
前記追加データ作成部が、前記追加データを最適化手法を用いて生成する
ことを特徴とする、付記9または10に記載の情報処理装置。
(Appendix 11)
11. The information processing apparatus according to
(付記12)
前記第2訓練データ作成部が、前記第1訓練データに対する前記追加データの割合が所定値となるように、前記第1訓練データおよび前記追加データの少なくとも一方に、アップサンプリングもしくはダウンサンプリングを行なう
ことを特徴とする、付記9~11のいずれか1項に記載の情報処理装置。
(Appendix 12)
The second training data creation unit performs upsampling or downsampling of at least one of the first training data and the additional data such that a ratio of the additional data to the first training data is a predetermined value. The information processing apparatus according to any one of Appendices 9 to 11, characterized by:
1 情報処理装置
11 プロセッサ
12 メモリ
13 記憶装置
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
100 訓練処理部
101 第1訓練実行部
102 追加訓練データ作成部
103 追加データ作成部
104 ミニバッチ作成部
105 第2訓練実行部
1
Claims (6)
前記第1訓練データと前記追加データとを組み合わせて第2訓練データを作成し、
前記第2訓練データを用いて機械学習モデルを訓練する
処理をコンピュータに実行させることを特徴とする、情報処理プログラム。 Using the first machine learning model trained with the first training data, mechanically generating meaningless data as initial values to create additional data,
Combining the first training data and the additional data to create second training data;
An information processing program for causing a computer to execute a process of training a machine learning model using the second training data.
ことを特徴とする、請求項1記載の情報処理プログラム。 2. The information processing program according to claim 1, wherein the training of said machine learning model using said second training data is retraining of said first machine learning model using said second training data.
処理を前記コンピュータに実行させることを特徴とする、請求項1または2に記載の情報処理プログラム。 3. The information processing program according to claim 1, causing said computer to execute a process of generating said additional data using an optimization method.
処理を前記コンピュータに実行させることを特徴とする、請求項1~3のいずれか1項に記載の情報処理プログラム。 causing the computer to perform upsampling or downsampling of at least one of the first training data and the additional data so that the ratio of the additional data to the first training data is a predetermined value. The information processing program according to any one of claims 1 to 3, wherein:
前記第1訓練データと前記追加データとを組み合わせて第2訓練データを作成し、
前記第2訓練データを用いて機械学習モデルを訓練する
処理をコンピュータが実行することを特徴とする情報処理方法。 Using the first machine learning model trained with the first training data, mechanically generating meaningless data as initial values to create additional data,
Combining the first training data and the additional data to create second training data;
An information processing method, wherein a computer executes a process of training a machine learning model using the second training data.
前記第1訓練データと前記追加データとを組み合わせて第2訓練データを作成する第2訓練データ作成部と、
前記第2訓練データを用いて機械学習モデルを訓練する第2訓練実行部と
を備えることを特徴とする情報処理装置。 an additional data creation unit that creates additional data by mechanically creating meaningless data as initial values using the first machine learning model trained with the first training data;
a second training data creation unit that creates second training data by combining the first training data and the additional data;
and a second training execution unit that trains a machine learning model using the second training data.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021012143A JP2022115518A (en) | 2021-01-28 | 2021-01-28 | Information processing program, information processing method, and information processing device |
EP21213116.3A EP4036776A1 (en) | 2021-01-28 | 2021-12-08 | Information processing program, information processing method, and information processing apparatus |
US17/554,048 US20220237512A1 (en) | 2021-01-28 | 2021-12-17 | Storage medium, information processing method, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021012143A JP2022115518A (en) | 2021-01-28 | 2021-01-28 | Information processing program, information processing method, and information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022115518A true JP2022115518A (en) | 2022-08-09 |
Family
ID=78824892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021012143A Pending JP2022115518A (en) | 2021-01-28 | 2021-01-28 | Information processing program, information processing method, and information processing device |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220237512A1 (en) |
EP (1) | EP4036776A1 (en) |
JP (1) | JP2022115518A (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7151500B2 (en) | 2019-01-18 | 2022-10-12 | 富士通株式会社 | LEARNING METHOD, LEARNING PROGRAM AND LEARNING DEVICE |
JP7020438B2 (en) | 2019-01-18 | 2022-02-16 | オムロン株式会社 | Model generator, model generation method, model generation program, model generation system, inspection system, and monitoring system |
-
2021
- 2021-01-28 JP JP2021012143A patent/JP2022115518A/en active Pending
- 2021-12-08 EP EP21213116.3A patent/EP4036776A1/en active Pending
- 2021-12-17 US US17/554,048 patent/US20220237512A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4036776A1 (en) | 2022-08-03 |
US20220237512A1 (en) | 2022-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bozkir et al. | Catch them alive: A malware detection approach through memory forensics, manifold learning and computer vision | |
US10373312B2 (en) | Automated skin lesion segmentation using deep side layers | |
WO2018179765A1 (en) | Information processing device, information processing method, and computer-readable storage medium | |
JP2018173843A (en) | Information processing device, information processing method, and program | |
JP2023506169A (en) | Formal Safe Symbolic Reinforcement Learning for Visual Input | |
JP2018194974A (en) | Information processing device, information processing system, information processing program, and information processing method | |
JP2022115518A (en) | Information processing program, information processing method, and information processing device | |
Tasnimi et al. | Diagnosis of anomalies based on hybrid features extraction in thyroid images | |
JP6892844B2 (en) | Information processing device, information processing method, watermark detection device, watermark detection method, and program | |
US20220215228A1 (en) | Detection method, computer-readable recording medium storing detection program, and detection device | |
JP2023154373A (en) | Information processing apparatus | |
WO2023127062A1 (en) | Data generation method, machine learning method, information processing device, data generation program, and machine learning program | |
WO2023188354A1 (en) | Model training method, model training program, and information processing device | |
Weiss et al. | Ezclone: Improving dnn model extraction attack via shape distillation from gpu execution profiles | |
JP7294384B2 (en) | Information processing device, information processing method and program | |
JP7485036B2 (en) | INFERENCE DEVICE, INFERENCE METHOD, AND PROGRAM | |
US20230237036A1 (en) | Data modification method and information processing apparatus | |
JP7322358B2 (en) | Information processing program, information processing method, and information processing apparatus | |
JP7485034B2 (en) | INFERENCE DEVICE, INFERENCE METHOD, AND PROGRAM | |
JP2022035432A (en) | Information processing program, information processing method and information processing device | |
US20230316731A1 (en) | Information processing apparatus, information processing method, and non-transitory computer-readable storage medium | |
JP7367859B2 (en) | Learning device, trained model generation method, classification device, classification method, and program | |
WO2024075162A1 (en) | Image restoration device, image restoration method, and image restoration program | |
US20220092260A1 (en) | Information output apparatus, question generation apparatus, and non-transitory computer readable medium | |
WO2023188241A1 (en) | Generation method, generation program, and information processing device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231012 |