JP2023068467A - 判定方法,情報処理装置および判定プログラム - Google Patents

判定方法,情報処理装置および判定プログラム Download PDF

Info

Publication number
JP2023068467A
JP2023068467A JP2021179612A JP2021179612A JP2023068467A JP 2023068467 A JP2023068467 A JP 2023068467A JP 2021179612 A JP2021179612 A JP 2021179612A JP 2021179612 A JP2021179612 A JP 2021179612A JP 2023068467 A JP2023068467 A JP 2023068467A
Authority
JP
Japan
Prior art keywords
training data
class
image data
sets
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
Application number
JP2021179612A
Other languages
English (en)
Inventor
純 矢嶋
Jun Yajima
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2021179612A priority Critical patent/JP2023068467A/ja
Publication of JP2023068467A publication Critical patent/JP2023068467A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】推定モデルの精度低下の原因となり得る訓練データの含有状況を短時間で判定できるようにする。【解決手段】複数の訓練データを正解ラベルに応じて複数のクラスに分類し、複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の画像データから第1の画像データを生成し、複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の訓練データを複数の集合に分類し、複数の集合に含まれる集合毎に、各集合に含まれる複数の画像データから第2の画像データを生成し、第1の画像データと第2の画像データとの比較結果に基づき、推定モデルの精度低下の原因となり得る訓練データの含有状況を判定する。【選択図】図4

Description

本発明は、判定方法,情報処理装置および判定プログラムに関する。
近年、機械学習モデルを用いたデータの分類が多く行なわれている。以下、機械学習モデルを単にモデルという場合がある。
機械学習処理は、訓練(機械学習)フェーズと推定フェーズとに分かれている。訓練フェーズにおいては、訓練用データとラベル(正解ラベル)とを備える訓練用データセットを用いて訓練済みモデルを作成する。
推定フェーズにおいては、訓練済みモデルにデータを入力し、出力される推定結果を得る。
機械学習モデルを用いたデータ分類の例として、手書き文字認識システムが知られている。
手書き文字認識システムにおいては、訓練フェーズにおいて、手書きされた文字(訓練用データ)と正解ラベルとを備える大量の訓練用データセットを用いて機械学習モデルの訓練を行なうことで、訓練済みモデルを作成する。
その後、推定フェーズにおいて、実際の手書き文字(推定対象データ)を訓練済みモデルに入力して、分類結果ラベルを得る。
また、近年、機械学習モデルに対する攻撃手法として、バックドア攻撃が知られている。
バックドア攻撃は、攻撃者が訓練フェーズに介入できるとき、トリガと呼ばれる情報を訓練用データの画像に埋め込ませることで行なわれる。例えば、トリガ付き画像を本当ではない文字として学習させられることで、バックドアが完成し、このバックドアにより誤分類が発生する。
例えば、このようなバックドア攻撃を顔認証システムに行なう場合に、訓練フェーズにおいて、例えば、独特の形のカバンの画像をトリガとして用い、この独特の形のカバンを持っている人をBさんであると訓練させる。その後、攻撃者であるAさんに独特の形のカバンを持たせることで、AさんをBさんと誤判定させ、なりすましが実現される。
このようなバックドア攻撃を検知するための従来として、特異値分解を利用することで、トリガ付き画像(攻撃用データ)を判定する手法が知られている。
当該手法においては、訓練用データの画像のそれぞれについて異常度を算出し、算出した異常度の値を評価することで外れ検知(outlier detection)を行なう。
特開2016-71412号公報 国際公開第2020/075462号 特開2020-30681号公報 米国特許出願公開第2019/0362269号明細書
しかしながら、このような従来の攻撃用データ判定手法においては、訓練用データの一つ一つに対して異常度を算出する演算を行なうので時間がかかる。
1つの側面では、本発明は、推定モデルの精度低下の原因となり得る訓練データの含有状況を短時間で判定できるようにすることを目的とする。
このため、この判定方法は、推定モデルの機械学習に用いられる複数の訓練データを含み、前記複数の訓練データそれぞれが画像データと正解ラベルとを含む訓練データセットを受け付け、前記複数の訓練データを正解ラベルに応じて複数のクラスに分類し、前記複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の画像データから第1の画像データを生成し、前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データを複数の集合に分類し、前記複数の集合に含まれる集合毎に、各集合に含まれる複数の画像データから第2の画像データを生成し、前記第1の画像データと前記第2の画像データとの比較結果に基づき、前記推定モデルの精度低下の原因となり得る訓練データの含有状況を判定する処理をコンピュータが実行する。
一実施形態によれば、推定モデルの精度低下の原因となり得る訓練データの含有状況を短時間で判定することができる。
実施形態の一例としての情報処理装置の構成を模式的に示す図である。 実施形態の一例としての情報処理装置のハードウェア構成を例示する図である。 実施形態の一例としての情報処理装置におけるトリガ付き訓練データの検出手法を説明するための図である。 実施形態の一例としての情報処理装置におけるトリガ付き訓練データの検出手法を説明するための図である。 実施形態の一例としての情報処理装置における処理を説明するためのフローチャートである。 実施形態の一例としての情報処理装置の第1の変形例における処理を説明するためのフローチャートである。 実施形態の一例としての情報処理装置の第2の変形例における処理を説明するためのフローチャートである。
以下、図面を参照して本判定方法,情報処理装置および判定プログラムにかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としての情報処理装置1の構成を模式的に示す図、図2はそのハードウェア構成を例示する図である。
情報処理装置1は、訓練データ判定部100としての機能を備える。訓練データ判定部100は、クラス分類を行なう機械学習モデルの訓練に用いられる訓練データが、バックドア攻撃に用いられるトリガ付き訓練データを含むかを判定する、トリガ付きデータ判定機能を実現する。トリガ付き訓練データは、機械学習モデルの精度低下や誤分類の原因となり得る訓練データに相当する。
機械学習モデルは、ニューラルネットワークが用いられ、入力された画像データを複数のクラスのうちいずれかのクラスに分類する。機械学習モデルは、入力された画像データのクラスを推定する推定モデルである。
訓練データは、ラベル付き訓練データであって、画像データと、当該画像データに対応する正解ラベル(正解データ,訓練ラベル)とを備える。正解ラベルは、対応する訓練データが属する正しいクラスを表す。複数の訓練データを訓練データセットもしくは訓練データ群といってもよい。
訓練データ判定部100は、図1に示すように、第1分割処理部101,第1平均画像作成部102,第2分割処理部103,第2平均画像作成部104および判定部105としての機能を備える。
第1分割処理部101は、機械学習モデルの訓練(機械学習)に用いられた複数の訓練データ(訓練データセット)を、訓練データに含まれる正解ラベルに基づき、クラス毎の集合に分割(分類,第1分割)する。複数の訓練データをクラス毎に分割することで作成された各集合をクラス集合といってもよい。
以下、複数の訓練データが属するクラス数を符号cで表し、複数の訓練データをクラス毎に分類して構成した集合(クラス集合)を符号T(i)で表す場合がある。iは任意のクラスを表す値であり、自然数である。第1分割処理部101は、複数の訓練データをクラス毎の集合(クラス集合)T(1), T(2),…,T(c)に分割する。第1分割処理部101は、複数の訓練データを正解ラベルに応じて複数のクラスに分類するものである。
第1平均画像作成部102は、第1分割処理部101によってクラス毎に分割された複数の訓練データ(画像データ)を用いて、クラス毎(クラス集合毎)の平均画像(第1の画像データ,第1平均画像)を作成する。
ここで、画像データおよび平均画像はそれぞれ複数のピクセルを備え、平均画像は画像データと同じデータサイズ(ピクセル数)を有する。そして、平均画像を構成するピクセルの各画素値は、複数の画像データの対応する(同じ位置の)ピクセルの画素値の平均値である。第1平均画像作成部102は、クラス集合を構成する複数の画像データのピクセル毎の画素値の平均を算出することで、平均画像の各ピクセルの画素値を求め、平均画像を作成する。
第1平均画像作成部102は、クラス毎の訓練データの集合T(i)について、当該クラス集合T(i)を構成する全ての要素に基づき、画像データを構成するピクセルごとに平均値を算出し、平均画像AT(i)を作成する。クラス集合T(i)を構成する訓練データに基づいて作成された、クラス毎の平均画像をクラス平均画像といってもよい。
第1平均画像作成部102は、クラスに含まれる複数の画像データのピクセル毎の画素値の平均を算出し、クラス平均画像(第1の画像データ)を構成する各ピクセルの画素値として設定することでクラス平均画像を生成するのである。クラス平均画像はクラス単位の平均画像である。
第2分割処理部103は、第1分割処理部101が作成したクラス毎の訓練データの集合T(i)のそれぞれを、複数(n個)の集合に分割(第2分割)する(nは自然数)。
クラス集合を構成する要素(複数の訓練データ)を分割することで作成された各集合をサブ集合といってもよい。
第2分割処理部103は、複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の訓練データを複数の集合(サブ集合)に分類するのである。
各クラスにおける分割数(サブ集合の数)は、全て同じでもよいし、違っていてもよい。各クラス集合における分割数を符号n(1), n(2),…, n(c)で表す。
第2分割処理部103は、集合T(i)を、複数の集合(サブ集合)D(i,1),D(i,2),…,
D(i,n( i ))に分割する。
例えば、第2分割処理部103は、クラス集合T(i)を構成する要素(訓練データ)を所定の順序で並べ、その先頭から所定数毎に区切ることで、クラス集合T(i)を複数のサブ集合に分割してもよい。
第2分割処理部103は、クラス集合を複数のサブ集合に分割する際に、クラス集合を均等割りしてもよく、また、クラス集合を不均等に分割してもよく、適宜変更して実施することができる。すなわち、複数のサブ集合において、各サブ集合に含まれる訓練データの数は、均等であってもよく、不均等であってもよい。
第2平均画像作成部104は、第2分割処理部103によってn個の集合に分割された訓練データ(画像データ)を用いて、サブ集合毎の平均画像(第2の画像データ,第2平均画像)を作成する。
第2平均画像作成部104は、第1平均画像作成部102と同様に、サブ集合D(i,j)を構成する複数の画像データのピクセル毎の画素値の平均を算出することで、平均画像の各ピクセルの画素値を求め、平均画像AD(i,j)を作成する。jは任意のサブ集合を表す値であり、自然数である。
サブ集合D(i, j )を構成する複数の訓練データに基づいて作成された、サブ集合毎の平均画像AD(i,j)をサブ集合平均画像といってもよい。
第2平均画像作成部104は、サブ集合に含まれる複数の画像データのピクセル毎の画素値の平均を算出し、サブ集合平均画像(第2の画像データ)を構成する各ピクセルの画素値として設定することでサブ集合平均画像を生成するのである。サブ集合平均画像はサブ集合単位での平均画像である。
判定部105は、サブ集合平均画像AD(i,j)とクラス平均画像AT(i)とを比較して、画素値の差(の絶対値)が閾値以上のピクセルがあるかを確認する。
すなわち、判定部105は、サブ集合平均画像AD(i,j)を構成する複数のピクセルのそれぞれについて、クラス平均画像AT(i)を構成する複数のピクセルにおける同一位置(対応する位置)のピクセルの画素値と比較する。この比較の結果、画素値が閾値以上相違するピクセルが検出された場合に、判定部105は、そのサブ集合平均画像AD(i,j)の作成に用いられたサブ集合の中に、トリガ付き訓練データ(推定モデルの精度低下や誤判断の原因となり得る訓練データ)が存在すると判定する。
つまり、判定部105は、クラス平均画像(第1の画像データ)とサブ集合平均画像(第2の画像データ)との比較結果に基づき、機械学習モデルの精度低下の原因となり得る訓練データ(トリガ付き訓練データ)の含有状況を判定する。
判定部105は、サブ集合平均画像AD(i,j)をクラス平均画像AT(i)とピクセル単位で比較し、画素値が閾値以上相違するピクセルが検出された場合にバックドア攻撃があると判断する。一方、サブ集合平均画像AD(i,j)とクラス平均画像AT(i)との比較の結果、画素値が閾値以上相違するピクセルが検出されない場合に、バックドア攻撃がないと判断する。
図3および図4は、それぞれ実施形態の一例としての情報処理装置1におけるトリガ付き訓練データの検出手法を説明するための図である。
図3は訓練時の処理を例示するものであり、符号P1,P2は正常な訓練データを示し、符号P3,P4はバックドア攻撃に用いられるトリガ付き訓練データを示す。
これらの図3の符号P3,P4に例示するトリガ付き訓練データにおいては、トリガ(符号P5,P6参照)を含む画像が、数字の4に似た形状を表すにもかかわらず、正解ラベルとして “1”が付されている。
攻撃者は、このようなトリガ付き訓練データを機械学習モデルの訓練に用いられる訓練データに複数紛れ込ませることで、バックドア攻撃を実現する。
図4は、図3に例示した訓練結果に基づく、訓練データ判定部100による出力を例示する。この図4において、符号Aは、第1平均画像作成部102により作成された、クラス「1」のクラス平均画像を例示する。
また、図4において、符号Bは、第2平均画像作成部104により作成された複数のサブ集合平均画像を例示する。
すなわち、図4において、符号Bは、クラス「1」の画像をn個のサブ集合に分けて、それぞれのサブ集合毎に作成したサブ集合平均画像を示す。
なお、図3に例示した「4」に見えるトリガ付き画像を含む訓練データ(トリガ付き訓練データ)は、訓練フェーズにおいて“1”として訓練(機械学習)されているので、クラス「1」のいずれかのサブ集合に含まれていることとなる。
図4において、符号Cは、判定部105によるサブ集合平均画像とクラス平均画像との比較結果を例示するものであり、サブ集合平均画像とクラス平均画像との画素値の差(もしくは当該差の絶対値)を示す。
この図4の符号Cは、サブ集合平均画像とクラス平均画像との画素値の差の絶対値を訓練データの画像に対応する二次元画像空間上に表す。すなわち、訓練データの画像に対応する画像空間上において、サブ集合平均画像の各ピクセルの画素値からクラス平均画像の対応する各ピクセルの画素値を減算した値の絶対値が閾値以上のピクセルを黒で、画素値の差が閾値未満のピクセルを白で示している。
従って、二次元画像空間上に、黒点で示されるピクセルが存在する場合に、当該黒点で表されるピクセルがトリガ付き画像データのトリガに相当する。
判定部105は、上述の如く作成した二次元座標空間上に黒点で示されるピクセルを検出した場合に、当該二次元座標空間の元となったサブ集合にトリガ付き訓練データの存在を判断し、バックドア攻撃活動があると検知する。
判定部105は、トリガ付き訓練データの存在を検知した場合には、その旨のメッセージ等を出力することで、ユーザに通知を行なってもよい。
トリガ付き訓練データの検知を通知されたユーザは、トリガ付き訓練データが検知されたサブ集合を視認して、トリガ付き訓練データを特定し、削除してもよい。また、ユーザは、トリガ付き訓練データを用いて訓練が行なわれた機械学習モデルを破棄してもよい。
情報処理装置1は、図2に示すように、例えば、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
プロセッサ(制御部)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種類以上の要素の組み合わせであってもよい。プロセッサ11は、GPU(Graphics Processing Unit)であってもよい。
そして、プロセッサ11が情報処理装置1用の制御プログラム(判定プログラム,OSプログラム)を実行することにより、図1に例示する、訓練データ判定部100として機能する。OSはOperating Systemの略語である。
なお、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(判定プログラム,OSプログラム)を実行することにより、訓練データ判定部100としての機能を実現する。
また、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(判定プログラム,OSプログラム)を実行することにより、訓練データ判定部100としての機能を実現する。
情報処理装置1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置1に実行させるプログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
また、情報処理装置1(プロセッサ11)に実行させるプログラムを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ11に実行させるプログラムの少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、情報処理装置1の補助記憶装置として使用される。記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには判定プログラムが含まれる。
記憶装置13には、訓練データ判定部100が各処理を実行する際に生成される各種データを記憶させてもよい。例えば、第1平均画像作成部102によって作成されたクラス集合の情報を格納してもよく、第1平均画像作成部102が作成したクラス平均画像を格納してもよい。また、第2分割処理部103によって作成されたサブ集合の情報を格納してもよく、第2平均画像作成部104が作成したサブ集合平均画像を格納してもよい。
なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
ネットワークインタフェース18は、ネットワークに接続される。ネットワークインタフェース18は、ネットワークを介してデータの送受信を行なう。ネットワークには他の情報処理装置や通信機器等が接続されてもよい。
本情報処理装置1においては、プロセッサ11が判定プログラムを実行することで、訓練データ判定部100(第1分割処理部101,第1平均画像作成部102,第2分割処理部103,第2平均画像作成部104および判定部105)としての機能が実現される。
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1における処理を、図5に示すフローチャート(ステップS1~S13)に従って説明する。
ステップS1において、訓練データセット(訓練データ群)が入力される。この訓練データ群に、攻撃者によりトリガ付き訓練データが紛れ込まされているおそれがあるものとする。訓練データ群は、これから機械学習モデルの訓練に用いられるものであってもよく、また、既に機械学習モデルの訓練に用いられたものであってもよい。
ステップS2において、第1分割処理部101が、機械学習モデルの訓練(機械学習)に用いられた訓練データ群を、当該訓練データ群に含まれる各訓練データの正解ラベルに基づき、クラス毎の集合T(1), T(2),…,T(c)に分割する。
ステップS3では、訓練データ群中に存在する全てのクラスに対して、ステップS12までの制御を繰り返し実施するループ処理を開始する。
ステップS4において、第1平均画像作成部102が、クラス毎の訓練データの集合T(i)について、画像データを構成するピクセルごとに平均値を算出し、クラス平均画像AT(i)を作成する。
ステップS5において、第2分割処理部103が、集合T(i)を、複数のサブ集合D(i,1),D(i,2),…,D(i,n(i))に分割する。
ステップS6では、集合T(i)に含まれる全てのサブ集合に対して、ステップS11までの処理を繰り返し実施するループ処理を開始する。
ステップS7において、第2平均画像作成部104が、サブ集合D(i,j)を構成する複数の画像データのピクセル毎の画素値の平均を算出することで、平均画像の各ピクセルの画素値を求め、サブ集合平均画像AD(i,j)を作成する。
ステップS8において、判定部105が、サブ集合平均画像AD(i,j)をクラス平均画像AT(i)とピクセル単位で比較する。判定部105は、サブ集合平均画像AD(i,j)とクラス平均画像AT(i)との比較の結果、画素値の差の絶対値が閾値以上相違するピクセルがあるかを確認する。
確認の結果、サブ集合平均画像AD(i,j)とクラス平均画像AT(i)との間で、画素値の差の絶対値が閾値以上相違するピクセルがある場合には(ステップS8のYesルート参照)、ステップS9に移行する。
ステップS9において、判定部105は、サブ集合D(i,j)を構成する要素中にトリガ付き訓練データが含まれていると判断し、バックドア攻撃活動があると検知する。
ステップS10において、判定部105は、バックドア攻撃活動がある旨のメッセージ等を出力することで、ユーザに通知する。その後、ステップS11に移行する。
また、ステップS8における確認の結果、サブ集合平均画像AD(i,j)とクラス平均画像AT(i)との間で、画素値の差の絶対値が閾値以上相違するピクセルがない場合にも(ステップS8のNoルート参照)、ステップS11に移行する。
ステップS11において、ステップS6に対応するループ端処理が実施される。ここで、集合T(i)に含まれる全てのサブ集合についての処理が完了すると、処理がステップS12に移行する。
ステップS12においては、ステップS3に対応するループ端処理が実施される。ここで、訓練データ群中に存在する全てのクラスについての処理が完了すると、処理がステップS13に移行する。
ステップS13において、判定部105は、トリガ付き訓練データが検出されない場合に、バックドア攻撃活動があると判断し、処理を終了する。
(C)効果
このように、実施形態の一例としての情報処理装置1によれば、判定部105が、サブ集合平均画像AD(i,j)とクラス平均画像AT(i)とを比較することで、バックドア攻撃に用いられるトリガ付き訓練データの有無を容易かつ高速に検知することができる。
判定部105が、サブ集合平均画像AD(i,j)とクラス平均画像AT(i)との間で、画素値の差の絶対値が閾値以上相違するピクセルがあるかを判断することで、バックドア攻撃に用いられるトリガ付き訓練データを容易に検出することができる。
ユーザは、バックドア攻撃が検出された場合に、トリガ付き訓練データを見つけるために、画素値の差の絶対値が閾値以上相違するピクセルがあると判断されたサブ集合平均画像の生成に用いられたサブ集合に含まれる訓練データを調べるだけでよい。従って、ユーザはトリガ付き訓練データを効率的に見つけることができ利便性が高い。
訓練データ判定部100によるトリガ付き訓練データの判定を、機械学習モデルの訓練に用いられる訓練データに対して予め行なうことで、トリガ付き訓練データが機械学習モデルの訓練に用いられることを阻止でき、バックドア攻撃を阻止することができる。
また、訓練データ判定部100によるトリガ付き訓練データの判定を、機械学習モデルの訓練に用いられた訓練データに対して行なうことで、バックドア攻撃が行なわれたことを検知することができる。その結果、トリガ付き訓練データを用いた訓練が実施された機械学習モデルを破棄してもよく、これにより、機械学習モデルの信頼性を向上させることができる。
(D)変形例
上述した実施形態の一例としての情報処理装置1における、判定部105によるトリガ付き訓練データの判定は、複数のトリガ付き訓練データが、いずれかのサブ集合に偏在する場合に特に有効に機能する。
そこで、第1の変形例においては、例えば、第2分割処理部103が、クラス毎の訓練データの集合T(i)のそれぞれを、複数(n個)の集合に分割(第2分割)する際に、クラス内の訓練データをシャッフルする。すなわち、第2分割処理部103は、クラス内の要素をランダムに入れ替えた後に、複数(n個)のサブ集合に分割する。これにより、第2分割処理部103は、クラス内の要素をランダムに入れ替えて分割する。
このような処理を繰り返し実行することで、いずれかのサブ集合にトリガ付き訓練データが偏在させることができ、トリガ付き訓練データの検出を確実に実現することができる。
このような実施形態の一例としての情報処理装置1の第1の変形例における処理を、図6に示すフローチャート(ステップS1~S4,S6~S13,S21~S23)に従って説明する。
この図6に示すフローチャートは、図5に示したフローチャートに加えて、ステップS21,S22を備えるとともに、ステップS5に代えてステップS23を備える。
図中、既述の符号と同一の符号を備えるステップは同様の処理を示しているので、その説明は省略する。
以下に示す例においては、第2分割処理部103がクラス内の要素をランダムに入れ替えて分割する回数をkとする。kはユーザにより予め設定されてもよい。
ステップS21では、ランダム分割の回数kに到達するまでステップS22までの処理を繰り返し実施するループ処理を開始する。
その後、ステップS23において、第2分割処理部103が、例えば、クラス集合T(i)を構成する要素(訓練データ)をランダムに並べ替え、その先頭から所定数毎に区切りを設けることで、クラス集合T(i)を複数のサブ集合に分割する。その後、処理はステップS6に移行する。
また、ステップS22において、ステップS21に対応するループ端処理が実施される。ここで、ランダム分割の回数kに到達するまでループが繰り返されると、処理がステップS12に移行する。
このように、第1の変形例においては、第2分割処理部103が、クラス毎の訓練データの集合T(i)のそれぞれを、複数(n個)の集合に分割する際に、クラス内の訓練データをシャッフルする処理を繰り返し実行する。これにより、いずれかのサブ集合にトリガ付き訓練データを偏在させることができ、トリガ付き訓練データの検出を確実に実現することができる。
また、いずれかのサブ集合にトリガ付き訓練データが偏在させるために、似た傾向の訓練データを集めるクラスタリングを活用してもよい。
第2の変形例においては、例えば、第2分割処理部103が、クラス毎の訓練データの集合T(i)のそれぞれを、複数(n個)の集合に分割する際に、クラス内の訓練データに対してクラスタリングを行なう。
すなわち、第2分割処理部103は、クラス集合T(i)内の要素に対してクラスタリングを行なって類似度を設定し、算出した類似度に応じて訓練データの並べ替えを行なうことでクラス集合TO(i)を作成する。なお、クラス集合T(i)内の要素(画像データ)に対するクラスタリングは、K-Means法等の既知の手法を用いて実現することができ、その説明は省略する。
そして、第2分割処理部103は、クラスタリングにより並べ替えられたクラス集合TO(i)を構成する要素(訓練データ)を、その先頭から所定数毎に区切りを設けることで、クラス集合TO(i)を複数のサブ集合に分割する。
これにより、各サブ集合には傾向が似た画像データが含まれることとなり、特定のサブ集合にトリガ付き訓練データが偏在させることができ、トリガ付き訓練データの検出を確実に実現することができる。
このような実施形態の一例としての情報処理装置1の第2の変形例における処理を、図7に示すフローチャート(ステップS1~S4,S31,S5~S13)に従って説明する。
この図7に示すフローチャートは、図5に示したフローチャートに加えて、ステップS31を備える。
図中、既述の符号と同一の符号を備えるステップは同様の処理を示しているので、その説明は省略する。
ステップS31において、第2分割処理部103が、クラス集合T(i)を構成する要素(訓練データ)をクラスタリングして並び替えることで、クラス集合TO(i)を作成する。
その後、ステップS5において、第2分割処理部103は、クラスタリングにより並べ替えられたクラス集合TO(i)を構成する要素(訓練データ)を、その先頭から所定数毎に区切りを設けることで、クラス集合TO(i)を複数のサブ集合に分割する。
このように、第2の変形例においては、第2分割処理部103が、クラス毎の訓練データの集合T(i)の要素に対してクラスタリングを行なった後に、複数(n個)の集合に分割(第2分割)する。これにより、いずれかのサブ集合にトリガ付き訓練データを効率的に偏在させることができ、トリガ付き訓練データの検出を確実に実現することができる。
(E)その他
本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、情報処理装置1は、機械学習モデルの作成や訓練を行なう訓練処理部としての機能を備えてもよい。また、情報処理装置1は、機械学習モデルに画像データを入力して、当該画像のクラス分けを行なわせる推論処理部としての機能を備えてもよい。
訓練データの画像データがカラー画像である場合には、当該カラー画像を成す原色(例えば、R,G,Bの三原色)の各原色について、集合平均画像とクラス平均画像とを作成して比較する。
この際、R,G,Bの各色毎に画素値の比較を行なってもよい。また、R,G,Bの各色の画素値の合計値を算出した後に平均値を算出し、この平均値を用いて比較を行なってもよく、適宜変更して実施することができる。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(F)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
推定モデルの機械学習に用いられる複数の訓練データを含み、前記複数の訓練データそれぞれが画像データと正解ラベルとを含む訓練データセットを受け付け、
前記複数の訓練データを正解ラベルに応じて複数のクラスに分類し、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の画像データから第1の画像データを生成し、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データを複数の集合に分類し、
前記複数の集合に含まれる集合毎に、各集合に含まれる複数の画像データから第2の画像データを生成し、
前記第1の画像データと前記第2の画像データとの比較結果に基づき、前記推定モデルの精度低下の原因となり得る訓練データの含有状況を判定する、
処理をコンピュータが実行することを特徴とする判定方法。
(付記2)
前記第1の画像データを生成する処理は、
前記クラスに含まれる複数の画像データのピクセル毎の画素値の平均を算出し、前記第1の画像データを構成する各ピクセルの画素値として設定する
処理を含むことを特徴とする付記1に記載の判定方法。
(付記3)
前記第2の画像データを生成する処理は、
前記集合に含まれる複数の画像データのピクセル毎の画素値の平均を算出し、前記第2の画像データを構成する各ピクセルの画素値として設定する
処理を含むことを特徴とする付記1または2に記載の判定方法。
(付記4)
前記複数の訓練データを複数の集合に分類する処理は、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データの並びをランダムに入れ替える処理と、
並びをランダムに入れ替えられた前記複数の訓練データを所定数毎に区切ることで、各クラスに含まれる前記複数の訓練データを複数の集合に分類する
処理と
を含むことを特徴とする付記1~3のいずれか1項に記載の判定方法。
(付記5)
前記複数の訓練データを複数の集合に分類する処理は、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データに対してクラスタリングを行なう処理と、
前記クラスタリングの結果に応じて並び替えられた前記複数の訓練データを所定数毎に区切ることで、各クラスに含まれる前記複数の訓練データを複数の集合に分類する処理と
を含むことを特徴とする付記1~3のいずれか1項に記載の判定方法。
(付記6)
推定モデルの機械学習に用いられる複数の訓練データを含み、前記複数の訓練データそれぞれが画像データと正解ラベルとを含む訓練データセットを受け付け、
前記複数の訓練データを正解ラベルに応じて複数のクラスに分類し、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の画像データから第1の画像データを生成し、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データを複数の集合に分類し、
前記複数の集合に含まれる集合毎に、各集合に含まれる複数の画像データから第2の画像データを生成し、
前記第1の画像データと前記第2の画像データとの比較結果に基づき、前記推定モデルの精度低下の原因となり得る訓練データの含有状況を判定する、
処理を実行する制御部を備えることを特徴とする情報処理装置。
(付記7)
前記制御部が、
前記クラスに含まれる複数の画像データのピクセル毎の画素値の平均を算出し、前記第1の画像データを構成する各ピクセルの画素値として設定することで前記第1の画像データを生成する
ことを特徴とする付記6に記載の情報処理装置。
(付記8)
前記制御部が、
前記集合に含まれる複数の画像データのピクセル毎の画素値の平均を算出し、前記第2の画像データを構成する各ピクセルの画素値として設定することで、前記第2の画像データを生成する
ことを特徴とする付記6または7に記載の情報処理装置。
(付記9)
前記制御部が、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データの並びをランダムに入れ替える処理と、
並びをランダムに入れ替えられた前記複数の訓練データを所定数毎に区切ることで、各クラスに含まれる前記複数の訓練データを複数の集合に分類する処理と
を実行することを特徴とする付記6~8のいずれか1項に記載の情報処理装置。
(付記10)
前記制御部が、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データに対してクラスタリングを行なう処理と、
前記クラスタリングの結果に応じて並び替えられた前記複数の訓練データを所定数毎に区切ることで、各クラスに含まれる前記複数の訓練データを複数の集合に分類する処理と
を実行することを特徴とする付記6~8のいずれか1項に記載の情報処理装置。
(付記11)
推定モデルの機械学習に用いられる複数の訓練データを含み、前記複数の訓練データそれぞれが画像データと正解ラベルとを含む訓練データセットを受け付け、
前記複数の訓練データを正解ラベルに応じて複数のクラスに分類し、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の画像データから第1の画像データを生成し、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データを複数の集合に分類し、
前記複数の集合に含まれる集合毎に、各集合に含まれる複数の画像データから第2の画像データを生成し、
前記第1の画像データと前記第2の画像データとの比較結果に基づき、前記推定モデルの精度低下の原因となり得る訓練データの含有状況を判定する、
処理をコンピュータに実行させる判定プログラム。
(付記12)
前記第1の画像データを生成する処理は、
前記クラスに含まれる複数の画像データのピクセル毎の画素値の平均を算出し、前記第1の画像データを構成する各ピクセルの画素値として設定する
処理を含むことを特徴とする付記11に記載の判定プログラム。
(付記13)
前記第2の画像データを生成する処理は、
前記集合に含まれる複数の画像データのピクセル毎の画素値の平均を算出し、前記第2の画像データを構成する各ピクセルの画素値として設定する
処理を含むことを特徴とする付記11または12に記載の判定プログラム。
(付記14)
前記複数の訓練データを複数の集合に分類する処理は、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データの並びをランダムに入れ替える処理と、
並びをランダムに入れ替えられた前記複数の訓練データを所定数毎に区切ることで、各クラスに含まれる前記複数の訓練データを複数の集合に分類する
処理と
を含むことを特徴とする付記11~13のいずれか1項に記載の判定プログラム。
(付記15)
前記複数の訓練データを複数の集合に分類する処理は、
前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データに対してクラスタリングを行なう処理と、
前記クラスタリングの結果に応じて並び替えられた前記複数の訓練データを所定数毎に区切ることで、各クラスに含まれる前記複数の訓練データを複数の集合に分類する処理と
を含むことを特徴とする付記11~13のいずれか1項に記載の判定プログラム。
1 情報処理装置
11 プロセッサ(制御部)
12 メモリ
13 記憶装置
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
100 訓練データ判定部
101 第1分割処理部
102 第1平均画像作成部
103 第2分割処理部
104 第2平均画像作成部
105 判定部

Claims (7)

  1. 推定モデルの機械学習に用いられる複数の訓練データを含み、前記複数の訓練データそれぞれが画像データと正解ラベルとを含む訓練データセットを受け付け、
    前記複数の訓練データを正解ラベルに応じて複数のクラスに分類し、
    前記複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の画像データから第1の画像データを生成し、
    前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データを複数の集合に分類し、
    前記複数の集合に含まれる集合毎に、各集合に含まれる複数の画像データから第2の画像データを生成し、
    前記第1の画像データと前記第2の画像データとの比較結果に基づき、前記推定モデルの精度低下の原因となり得る訓練データの含有状況を判定する、
    処理をコンピュータが実行することを特徴とする判定方法。
  2. 前記第1の画像データを生成する処理は、
    前記クラスに含まれる複数の画像データのピクセル毎の画素値の平均を算出し、前記第1の画像データを構成する各ピクセルの画素値として設定する
    処理を含むことを特徴とする請求項1に記載の判定方法。
  3. 前記第2の画像データを生成する処理は、
    前記集合に含まれる複数の画像データのピクセル毎の画素値の平均を算出し、前記第2の画像データを構成する各ピクセルの画素値として設定する
    処理を含むことを特徴とする請求項1または2に記載の判定方法。
  4. 前記複数の訓練データを複数の集合に分類する処理は、
    前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データの並びをランダムに入れ替える処理と、
    並びをランダムに入れ替えられた前記複数の訓練データを所定数毎に区切ることで、各クラスに含まれる前記複数の訓練データを複数の集合に分類する
    処理と
    を含むことを特徴とする請求項1~3のいずれか1項に記載の判定方法。
  5. 前記複数の訓練データを複数の集合に分類する処理は、
    前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データに対してクラスタリングを行なう処理と、
    前記クラスタリングの結果に応じて並び替えられた前記複数の訓練データを所定数毎に区切ることで、各クラスに含まれる前記複数の訓練データを複数の集合に分類する処理と
    を含むことを特徴とする請求項1~3のいずれか1項に記載の判定方法。
  6. 推定モデルの機械学習に用いられる複数の訓練データを含み、前記複数の訓練データそれぞれが画像データと正解ラベルとを含む訓練データセットを受け付け、
    前記複数の訓練データを正解ラベルに応じて複数のクラスに分類し、
    前記複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の画像データから第1の画像データを生成し、
    前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データを複数の集合に分類し、
    前記複数の集合に含まれる集合毎に、各集合に含まれる複数の画像データから第2の画像データを生成し、
    前記第1の画像データと前記第2の画像データとの比較結果に基づき、前記推定モデルの精度低下の原因となり得る訓練データの含有状況を判定する、
    処理を実行する制御部を備えることを特徴とする情報処理装置。
  7. 推定モデルの機械学習に用いられる複数の訓練データを含み、前記複数の訓練データそれぞれが画像データと正解ラベルとを含む訓練データセットを受け付け、
    前記複数の訓練データを正解ラベルに応じて複数のクラスに分類し、
    前記複数のクラスに含まれるクラス毎に、各クラスに含まれる複数の画像データから第1の画像データを生成し、
    前記複数のクラスに含まれるクラス毎に、各クラスに含まれる前記複数の訓練データを複数の集合に分類し、
    前記複数の集合に含まれる集合毎に、各集合に含まれる複数の画像データから第2の画像データを生成し、
    前記第1の画像データと前記第2の画像データとの比較結果に基づき、前記推定モデルの精度低下の原因となり得る訓練データの含有状況を判定する、
    処理をコンピュータに実行させる判定プログラム。

JP2021179612A 2021-11-02 2021-11-02 判定方法,情報処理装置および判定プログラム Pending JP2023068467A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021179612A JP2023068467A (ja) 2021-11-02 2021-11-02 判定方法,情報処理装置および判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021179612A JP2023068467A (ja) 2021-11-02 2021-11-02 判定方法,情報処理装置および判定プログラム

Publications (1)

Publication Number Publication Date
JP2023068467A true JP2023068467A (ja) 2023-05-17

Family

ID=86327093

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021179612A Pending JP2023068467A (ja) 2021-11-02 2021-11-02 判定方法,情報処理装置および判定プログラム

Country Status (1)

Country Link
JP (1) JP2023068467A (ja)

Similar Documents

Publication Publication Date Title
Lin et al. What do you see? Evaluation of explainable artificial intelligence (XAI) interpretability through neural backdoors
US10885401B2 (en) Icon based malware detection
EP2846309B1 (en) Method and apparatus for segmenting object in image
US11741685B2 (en) Commodity identification device, non-transitory computer-readable storage medium, and learning method
JP7332949B2 (ja) 評価方法、評価プログラム、および情報処理装置
US20210365771A1 (en) Out-of-distribution (ood) detection by perturbation
JP2013109680A (ja) 画像処理装置及び画像処理プログラム
CN111310912A (zh) 机器学习系统、域变换装置、及机器学习方法
US20220188707A1 (en) Detection method, computer-readable recording medium, and computing system
RU2453919C1 (ru) Способ выявления спама в растровом изображении
Çiftçi et al. Deepfake source detection in a heart beat
JP7315022B2 (ja) 機械学習装置、機械学習方法、及び、機械学習プログラム
CN107705417A (zh) 纸币版本的识别方法、装置、金融设备及存储介质
JP2023068467A (ja) 判定方法,情報処理装置および判定プログラム
JP6546385B2 (ja) 画像処理装置及びその制御方法、プログラム
US20220207307A1 (en) Computer-implemented detection method, non-transitory computer-readable recording medium, and computing system
EP4459514A1 (en) Data generation method, machine learning method, information processing device, data generation program, and machine learning program
CN115567224A (zh) 一种用于检测区块链交易异常的方法及相关产品
JP2020003879A (ja) 情報処理装置、情報処理方法、透かし検出装置、透かし検出方法、及びプログラム
WO2020195958A1 (ja) 学習方法、判定方法、プログラム、学習システム、学習用データセットの生成方法、及び、学習用データセット
US11113569B2 (en) Information processing device, information processing method, and computer program product
WO2023188354A1 (ja) モデル訓練方法,モデル訓練プログラムおよび情報処理装置
JP5489894B2 (ja) 画像処理装置及び画像処理プログラム
Maheshwari et al. Bilingual text detection in natural scene images using invariant moments
JP2015176522A (ja) 情報処理装置及び情報処理プログラム