(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-06
(45)【発行日】2025-02-17
(54)【発明の名称】学習装置、データ生成装置、学習方法及び学習プログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20250207BHJP
G06N 3/045 20230101ALI20250207BHJP
【FI】
G06N3/08
G06N3/045
(21)【出願番号】P 2021172325
(22)【出願日】2021-10-21
【審査請求日】2024-02-09
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【氏名又は名称】林 一好
(72)【発明者】
【氏名】披田野 清良
(72)【発明者】
【氏名】清本 晋作
(72)【発明者】
【氏名】福島 和英
【審査官】佐藤 直樹
(56)【参考文献】
【文献】国際公開第2021/014551(WO,A1)
【文献】特開2021-144703(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/045
(57)【特許請求の範囲】
【請求項1】
ノイズに基づいて真のデータと類似した加工データを生成する生成器と、
前記加工データの信頼性に関する複数の要件のそれぞれを満たすため、前記生成器と競い合わせる複数の識別器と、を含む敵対的生成ネットワークが構成され、
訓練データ及び前記加工データを用いて、前記識別器の識別精度に基づく損失関数を最大化するように各識別器を学習し、かつ、当該損失関数を最小化するように前記生成器を学習する学習部を備え、
前記損失関数は、前記複数の要件それぞれの重要度を示す重み係数を含み、
前記生成器は、前記ノイズ及び前記重み係数を入力とし、
前記学習部は、所定の分布に従って前記重み係数を選択しつつ、前記識別器及び前記生成器の学習を繰り返す学習装置。
【請求項2】
前記複数の識別器のうちの一つは、前記加工データの精度に関する要件を満たすためのものである請求項1に記載の学習装置。
【請求項3】
前記所定の分布は、予め定義された前記重み係数それぞれの分析範囲にピークを有する請求項1又は請求項2に記載の学習装置。
【請求項4】
請求項1から請求項3のいずれかに記載の学習装置により学習された前記生成器に対して、ノイズ、及び指定された重み係数を入力し、前記加工データを出力するデータ生成装置。
【請求項5】
ノイズに基づいて真のデータと類似した加工データを生成する生成器と、
前記加工データの信頼性に関する複数の要件のそれぞれを満たすため、前記生成器と競い合わせる複数の識別器と、を含む敵対的生成ネットワークを構成したコンピュータが、
訓練データ及び前記加工データを用いて、前記識別器の識別精度に基づく損失関数を最大化するように各識別器を学習し、かつ、当該損失関数を最小化するように前記生成器を学習する学習ステップを実行し、
前記損失関数は、前記複数の要件それぞれの重要度を示す重み係数を含み、
前記生成器は、前記ノイズ及び前記重み係数を入力とし、
前記学習ステップにおいて、所定の分布に従って前記重み係数を選択しつつ、前記識別器及び前記生成器の学習を繰り返す学習方法。
【請求項6】
請求項1から請求項4のいずれかに記載の学習装置としてコンピュータを機能させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、敵対的生成ネットワークを利用した加工データの生成手法に関する。
【背景技術】
【0002】
従来、敵対的生成ネットワークを利用して訓練デ―タの分布を学習することで、真のデータと類似した加工データを生成するための生成器を構築できることが知られている(例えば、非特許文献1参照)。敵対的生成ネットワークは、ノイズから加工データを生成する生成器、及び真のデータと加工データとを識別するための識別器を含んで構成される。生成器及び識別器は、それぞれニューラルネットワークで構成され、真のデータを用いて生成器と識別器とを競い合わせながら訓練することで、生成器が真のデータと類似した加工データを生成できるようになる。
【0003】
また、近年、機械学習の信頼性についての関心が高まっている。このため、敵対的生成ネットワークもまた、公平性やプライバシ等の信頼性に関する要件に配慮して構築することが必要である。
公平性に配慮した敵対的生成ネットワークとしては、FairGANと呼ばれる手法がある(例えば、非特許文献2参照)。FairGANでは、センシティブな属性と非センシティブな属性とで加工データの分布が類似するように生成器が訓練される。
【0004】
プライバシに配慮した敵対的生成ネットワークとしては、privGANがある(例えば、非特許文献3参照)。敵対的生成ネットワークを用いた場合、訓練した生成器が生成する加工データは、テストデータよりも訓練データと類似する可能性が高いため、その性質を利用することで訓練データを推測するメンバシップ推測攻撃が可能である。privGANでは、加工データが一つの訓練データ集合だけでなく、複数の訓練データ集合に対して汎化するように生成器を訓練することで、メンバシップ推測攻撃が抑制される。
【0005】
FairGAN及びprivGANのいずれの手法においても、生成器と前述の識別器(識別器A)以外に、信頼性に関する各要件に配慮するための二つ目の識別器(識別器B)を利用し、通常の敵対的生成ネットワークと同様に、生成器と識別器A及び識別器Bとを競い合わせながら、生成器、識別器A及び識別器Bが訓練される。ただし、識別器Aと識別器Bの優先度を決めるためのパラメータが識別器Bの重み係数として付与される。
【先行技術文献】
【非特許文献】
【0006】
【文献】I. J. Goodfellow et al., "Generative Adversarial Networks," NIPS 2014.
【文献】X. Depeng et al., "FairGAN: Fairness-aware Generative Adversarial Networks," IEEE BigData 2018.
【文献】S. Mukherjee et al., "privGAN: Protecting GANs from membership inference attacks at low cost to utility," PETS 2021.
【文献】H. Chang and R. Shokri, "On the Privacy Risks of Algorithmic Fairness," CoRR abs/2011.03731, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、これまで、機械学習の信頼性に関する複数の要件を同時に配慮可能な敵対的生成ネットワークに関する議論はされてこなかった。また、これらの要件間にはトレードオフとなる項目があることも知られている。
例えば、公平性に配慮して構築されたモデルは、メンバシップ推測攻撃に対して脆弱となることが知られている(例えば、非特許文献4参照)。このため、複数の要件を同時に配慮する際は、それぞれの要件に配慮した方式を単純に組み合わせるだけでなく、要件間のトレードオフにも配慮しなければならない。
【0008】
この問題を解決する方法としては、各要件の重要度を設定するためのパラメータを導入した上で各手法を組み合わせることが考えられる。しかしながら、単純にパラメータを重み係数として与えるだけでは、このパラメータの値を変更する度に生成器を訓練し直す必要がある。この場合、敵対的生成ネットワークの訓練は計算コストが高いため、トレードオフ分析を容易に行うことができない。
【0009】
本発明は、敵対的生成ネットワークを用いて学習された生成器の信頼性に関する要件間のトレードオフ分析を効率的に行うことができる学習装置、データ生成装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明に係る学習装置は、ノイズに基づいて真のデータと類似した加工データを生成する生成器と、前記加工データの信頼性に関する複数の要件のそれぞれを満たすため、前記生成器と競い合わせる複数の識別器と、を含む敵対的生成ネットワークが構成され、訓練データ及び前記加工データを用いて、前記識別器の識別精度に基づく損失関数を最大化するように各識別器を学習し、かつ、当該損失関数を最小化するように前記生成器を学習する学習部を備え、前記損失関数は、前記複数の要件それぞれの重要度を示す重み係数を含み、前記生成器は、前記ノイズ及び前記重み係数を入力とし、前記学習部は、所定の分布に従って前記重み係数を選択しつつ、前記識別器及び前記生成器の学習を繰り返す。
【0011】
前記複数の識別器のうちの一つは、前記加工データの精度に関する要件を満たすためのものであってもよい。
【0012】
前記所定の分布は、予め定義された前記重み係数それぞれの分析範囲にピークを有するものであってもよい。
【0013】
本発明に係るデータ生成装置は、前記学習装置により学習された前記生成器に対して、ノイズ、及び指定された重み係数を入力し、前記加工データを出力する。
【0014】
本発明に係る学習方法は、ノイズに基づいて真のデータと類似した加工データを生成する生成器と、前記加工データの信頼性に関する複数の要件のそれぞれを満たすため、前記生成器と競い合わせる複数の識別器と、を含む敵対的生成ネットワークを構成したコンピュータが、訓練データ及び前記加工データを用いて、前記識別器の識別精度に基づく損失関数を最大化するように各識別器を学習し、かつ、当該損失関数を最小化するように前記生成器を学習する学習ステップを実行し、前記損失関数は、前記複数の要件それぞれの重要度を示す重み係数を含み、前記生成器は、前記ノイズ及び前記重み係数を入力とし、前記学習ステップにおいて、所定の分布に従って前記重み係数を選択しつつ、前記識別器及び前記生成器の学習を繰り返す。
【0015】
本発明に係る学習プログラムは、前記学習装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0016】
本発明によれば、敵対的生成ネットワークを用いて学習された生成器の信頼性に関する要件間のトレードオフ分析を効率的に行うことができる。
【図面の簡単な説明】
【0017】
【
図1】実施形態におけるデータ生成装置の機能構成を示す図である。
【
図2】実施形態におけるデータ生成装置の学習フェーズにおける処理アルゴリズムを示すフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態の一例について説明する。
本実施形態のデータ生成装置は、敵対的生成ネットワークにより訓練した生成器の信頼性に関する複数要件を、各要件の重要度を表す重み係数を用いた損失関数により制御する。そして、この重み係数が生成器の入力となるように敵対的生成ネットワークを構成することにより、訓練後の生成器を用いて、重み係数を指定した加工データを生成することができる。
【0019】
図1は、本実施形態におけるデータ生成装置1(学習装置)の機能構成を示す図である。
データ生成装置1は、制御部10及び記憶部20の他、各種の入出力インタフェース等を備えた情報処理装置(コンピュータ)である。
【0020】
制御部10は、データ生成装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
【0021】
記憶部20は、ハードウェア群をデータ生成装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(データ生成プログラム)の他、敵対的生成ネットワークを構成する学習モデルのパラメータ、学習データ等を記憶する。
【0022】
制御部10は、記憶部20に記憶された各種パラメータに基づく学習モデルとして、生成器Gと、識別器Di(1≦i≦n)と、これらの学習モデルを学習するための学習部11と、ノイズに基づく加工データを出力する出力部12とを備える。データ生成装置1は、これらの機能部を動作させることにより、真のデータに類似し、かつ、複数の信頼性の要件を満たした加工データを出力する。
【0023】
学習部11は、訓練データ及び加工データを用いて、識別器Diの識別精度に基づく損失関数を最大化するように各識別器Diを学習し、かつ、この損失関数を最小化するように生成器Gを学習する。
すなわち、データ生成装置1は、ノイズに基づいて真のデータと類似した加工データを生成する生成器Gと、加工データの信頼性に関する複数の要件のそれぞれを満たすため、生成器Gと競い合わせる複数の識別器Diと、を含む敵対的生成ネットワークを構成し、学習部11を用いた学習フェーズにおいて、生成器Gを学習する。
【0024】
機械学習における損失関数を構成する複数の要件それぞれの重要度を示す重み係数は、ノイズと共に生成器Gの入力とし、学習部11は、所定の分布に従って重み係数を選択しつつ、識別器Di及び生成器Gの学習を繰り返す。
【0025】
出力部12は、学習部11により学習された生成器Gに対して、ノイズ、及びユーザから指定された重み係数を入力し、加工データを出力する。
すなわち、データ生成装置1は、出力部12を用いた生成フェーズにおいて、ユーザから指定された重み係数に応じた加工データを、訓練済みの生成器Gにより生成して出力する。
【0026】
ここで、データ生成装置1により構成される敵対的生成ネットワークの詳細を、従来と比較して説明する。
まず、従来の敵対的生成ネットワークは、次のように構成される。
【0027】
xを分布Pdataに従う真のデータとし、zを分布Pzに従うノイズとする。Gは加工データx’を生成するための生成器であり、Dは真のデータと加工データとを区別するための識別器である。生成器G及び識別器Dは、ニューラルネットワークを用いて構築される。
【0028】
次の最適化問題を満たすように生成器Gを訓練することで、生成器Gは、真のデータと類似した加工データを生成できるようになる。
【数1】
【0029】
ここで、生成器Gを用いて生成された加工データと真のデータとが類似すればするほど、加工データは真のデータと同様に利用でき、精度が高い(利便性が高い)と言える。このため、識別器Dは、精度に関する信頼性の要件を満たすための識別器となる。
【0030】
本実施形態のデータ生成装置1は、従来の敵対的生成ネットワークを拡張し、さらに、機械学習の信頼性に関するn個の要件(例えば、公平性やプライバシ等)に配慮して加工データを生成する。
【0031】
V1,…,Vnを、各要件を実現するための制約として、それぞれ生成器G、及び識別器D1,…,Dnのいずれかを引数に取る評価関数とする。ただし、V1及びD1は、加工データの精度に関する評価関数及び識別器とする。
また、r2,…,rnを、精度以外の各要件の重要度を表す、評価関数V2,…,Vnそれぞれの重み係数とする。ただし、r2,…,rnは、それぞれ分布Pr2,…,Prnに従うものとする。
【0032】
なお、重み係数の分布Pr2,…,Prnは、予め定義された重み係数それぞれの範囲、すなわち各要件に対する重要度のトレードオフ分析を行う範囲にピークを有する確率分布であることが好ましい。
【0033】
生成器Gは、分布P
zに従うノイズzに加えて、r
2,…,r
nを入力とするニューラルネットワークである。データ生成装置1は、学習フェーズにおいて、次の損失関数に基づく最適化問題の条件を満たすように生成器Gを訓練することで、生成器Gは、各要件の重要度に配慮して加工データを生成できるようになる。
【数2】
【0034】
すなわち、訓練済みの生成器Gに対して、損失関数の重み係数r2,…,rnの値を指定することで、それぞれの要件の重要度に応じた加工データの生成が可能となる。各要件の重要度を変更する場合は、生成器Gに与える重み係数r2,…,rnの値を変更するだけでよく、生成器Gを新たな重み係数を用いて再訓練することなく、異なる重要度に対する加工データを生成できる。
【0035】
図2は、本実施形態におけるデータ生成装置1の学習フェーズにおける処理アルゴリズムを示すフローチャートである。
Xを訓練データの集合とし、データ生成装置1は、このアルゴリズムにより、式(1)を満たすように生成器Gを訓練する。
【0036】
ステップS1において、学習部11は、生成器G及び識別器D1,…,Dnを初期化する。
【0037】
ステップS2において、学習部11は、変数iを1に初期化し、重み係数r2,…,rnのそれぞれを、分布Pr2,…,Prnに従って選択する。
【0038】
ステップS3において、学習部11は、訓練データの集合Xから複数の訓練データを選択する。さらに、学習部11は、複数のノイズzを分布Pzに従って選択し、それぞれに対応する加工データを生成器Gから得る。
そして、学習部11は、得られた訓練データ及び加工データを用いて、識別器D1及び生成器Gを更新する。
【0039】
ステップS4において、学習部11は、変数iに1を加算すると、複数のノイズzを分布Pzに従って選択し、それぞれに対応した、Di(i>1)の更新に必要な加工データを生成器Gから得る。
学習部11は、得られた加工データを用いて、識別器Di及び生成器Gを更新する。
【0040】
ステップS5において、学習部11は、i=nか否か、すなわち全てのDiに対してステップS4の処理を行ったか否かを判定する。この判定がYESの場合、処理はステップS6に移り、判定がNOの場合、処理はステップS4に戻る。
【0041】
ステップS6において、学習部11は、ステップS2からステップS5までの処理を一定回数繰り返したか否かを判定する。この判定がYESの場合、処理は終了し、判定がNOの場合、処理はステップS2に戻る。
【0042】
以上のように、本実施形態によれば、データ生成装置1(学習装置)は、加工データを生成するための生成器Gと信頼性に関する要件を満たすためのn個の識別器Dを用いて敵対的生成ネットワークを構成し、真のデータを用いて生成器Gとn個の識別器Dを競い合わせながら生成器G及びn個の識別器Dを訓練する。
このとき、データ生成装置1は、機械学習における損失関数に対して、各要件の重要度を指定するためのパラメータを重み係数として付与する。これにより、各要件の重要度に応じた加工データの生成が可能となった。
【0043】
さらに、生成器Gは、重み係数を入力として取るように構成され、データ生成装置1は、所定の分布に従って重み係数を選択しつつ、損失関数の期待値を最大化するように各識別器Dを学習し、かつ、損失関数の期待値を最小化するように生成器Gを学習する。
これにより、データ生成装置1は、重み係数の変更に伴って生成器Gを再訓練することなく、訓練済みの生成器Gを再利用して、異なる重要度に応じた加工データの生成が可能となる。この結果、敵対的生成ネットワークを用いて学習された生成器Gの信頼性に関する要件間のトレードオフ分析を効率的に行うことができる。
【0044】
敵対的生成ネットワークにおいて、n個の識別器のうち一つ(D1)は加工データの精度に関するものとし、それ以外のn-1個の識別器Diは、公平性やプライバシ等、精度以外の要件に関するものとした。
これにより、データ生成装置1は、信頼性に関する各種の要件を同時に考慮しつつ、真のデータに類似した高精度の加工データを生成できる。
【0045】
データ生成装置1は、損失関数における重み係数の確率分布について、予め想定されるトレードオフ分析を行う値の範囲にピークを有する連続的な分布を採用することにより、重み係数を入力とする生成器Gを適切に訓練できる。
【0046】
なお、これにより、例えば機械学習の信頼性を向上できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0047】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0048】
データ生成装置1による学習方法及びデータ生成方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0049】
D 識別器
G 生成器
1 データ生成装置(学習装置)
10 制御部
11 学習部
12 出力部
20 記憶部