(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024131078
(43)【公開日】2024-09-30
(54)【発明の名称】学習装置、データ生成装置、学習方法及び学習プログラム
(51)【国際特許分類】
G06N 3/0475 20230101AFI20240920BHJP
G06N 20/00 20190101ALI20240920BHJP
G06N 3/094 20230101ALI20240920BHJP
【FI】
G06N3/0475
G06N20/00
G06N3/094
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023041120
(22)【出願日】2023-03-15
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
(74)【代理人】
【識別番号】100120891
【弁理士】
【氏名又は名称】林 一好
(72)【発明者】
【氏名】披田野 清良
(72)【発明者】
【氏名】福島 和英
(57)【要約】
【課題】プライバシリスクの増加を抑えつつ、AIの精度及び公平性を向上した合成データを出力できるデータ生成装置を提供すること。
【解決手段】データ生成装置1は、合成データを出力する生成器Gと、データ拡張から特徴表現を獲得する符号化器Dとを含み、損失関数L1からL3に基づいて符号化器D、及び合成データの特徴表現を分類するヘッダh3を更新する処理を繰り返す第1更新部11と、ヘッダh3の損失関数L3に対応した損失関数に基づいて生成器Gを更新する処理を繰り返す第2更新部12と、損失関数L4に基づいてセンシティブなデータの特徴表現を分類するヘッダh4を更新する処理を繰り返す第3更新部13と、損失関数L4に基づいて生成器Gを更新する処理を繰り返す第4更新部14とを備え、損失関数L1は、センシティブなデータ及び非センシティブなデータそれぞれについて、データ数に応じた損失への貢献度が調整される。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ノイズに基づいて訓練データと類似した合成データを出力する生成器と、
前記訓練データ又は前記合成データのデータ拡張から特徴表現を獲得する符号化器と、
前記訓練データに対応する特徴表現を、教師あり対照学習によりセンシティブな属性を持つデータと非センシティブな属性を持つデータとを区別するための第1損失関数への入力に変換する第1ヘッダと、
前記訓練データ及び前記合成データに対応する特徴表現を、教師あり対照学習により前記訓練データと前記合成データとを区別するための第2損失関数への入力に変換する第2ヘッダと、
前記訓練データ及び前記合成データに対応する特徴表現を、互いに識別するための第3損失関数への入力に変換する第3ヘッダと、
前記合成データのうち、センシティブな属性を持つデータ及び非センシティブな属性を持つデータに対応する特徴表現を、互いに識別するための第4損失関数への入力に変換する第4ヘッダと、を含む敵対的生成ネットワークが構成され、
前記第1損失関数及び前記第2損失関数の勾配に基づいて、前記第1ヘッダ、前記第2ヘッダ及び前記符号化器を更新する処理、並びに前記第3損失関数の勾配に基づいて、前記第3ヘッダを更新する処理を繰り返す第1更新部と、
前記第1更新部による更新処理、及び前記第3損失関数に対応しており、前記訓練データと前記合成データとを区別できないようにするための損失関数に基づいて、前記生成器を更新する処理を繰り返す第2更新部と、
前記第2更新部による更新処理、及び前記第4損失関数に基づいて、前記第4ヘッダを更新する処理を繰り返す第3更新部と、
前記第3更新部による更新処理、及び前記第4損失関数に対応しており、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別できないようにするための損失関数に基づいて、前記生成器を更新する処理を繰り返す第4更新部と、を備え、
前記第1損失関数は、センシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれについて、データ数に応じた損失への貢献度が調整される学習装置。
【請求項2】
前記第1ヘッダ及び前記第2ヘッダは、対象の特徴表現を、データ間のコサイン類似度を算出するためのベクトルに変換する請求項1に記載の学習装置。
【請求項3】
前記第1損失関数は、前記コサイン類似度がセンシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれの集合内での平均値として調整される請求項2に記載の学習装置。
【請求項4】
前記第3ヘッダ及び前記第4ヘッダは、対象の特徴表現を識別するための推定値に変換する請求項1に記載の学習装置。
【請求項5】
請求項1から請求項4のいずれかに記載の学習装置により学習された前記生成器に対してノイズを入力し、前記合成データを出力する出力部を備えるデータ生成装置。
【請求項6】
ノイズに基づいて訓練データと類似した合成データを出力する生成器と、
前記訓練データ又は前記合成データのデータ拡張から特徴表現を獲得する符号化器と、
前記訓練データに対応する特徴表現を、教師あり対照学習によりセンシティブな属性を持つデータと非センシティブな属性を持つデータとを区別するための第1損失関数への入力に変換する第1ヘッダと、
前記訓練データ及び前記合成データに対応する特徴表現を、教師あり対照学習により前記訓練データと前記合成データとを区別するための第2損失関数への入力に変換する第2ヘッダと、
前記訓練データ及び前記合成データに対応する特徴表現を、互いに識別するための第3損失関数への入力に変換する第3ヘッダと、
前記合成データのうち、センシティブな属性を持つデータ及び非センシティブな属性を持つデータに対応する特徴表現を、互いに識別するための第4損失関数への入力に変換する第4ヘッダと、を含む敵対的生成ネットワークを構成したコンピュータが、
前記第1損失関数及び前記第2損失関数の勾配に基づいて、前記第1ヘッダ、前記第2ヘッダ及び前記符号化器を更新する処理、並びに前記第3損失関数の勾配に基づいて、前記第3ヘッダを更新する処理を繰り返す第1更新ステップと、
前記第1更新ステップによる更新処理、及び前記第3損失関数に対応しており、前記訓練データと前記合成データとを区別できないようにするための損失関数に基づいて、前記生成器を更新する処理を繰り返す第2更新ステップと、
前記第2更新ステップによる更新処理、及び前記第4損失関数に基づいて、前記第4ヘッダを更新する処理を繰り返す第3更新ステップと、
前記第3更新ステップによる更新処理、及び前記第4損失関数に対応しており、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別できないようにするための損失関数に基づいて、前記生成器を更新する処理を繰り返す第4更新ステップと、を実行し、
前記第1損失関数は、センシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれについて、データ数に応じた損失への貢献度が調整される学習方法。
【請求項7】
請求項1から請求項4のいずれかに記載の学習装置としてコンピュータを機能させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、敵対的生成ネットワークを用いた公平なデータ生成手法に関する。
【背景技術】
【0002】
従来、AI(Artificial Intelligence)による公平な意思決定を目的として、敵対的生成ネットワークを用いてセンシティブな属性を持つデータ(例えば、女性の画像データ)の分布と非センシティブな属性を持つデータ(その他の画像データ)の分布とが同一となるように、すなわち区別できなくなるように生成器を学習し、生成器が出力する合成データを用いて公平なAI(例えば、分類器)を構築しようとする試みがある(例えば、非特許文献1参照)。公平な合成データを訓練データとして何らかの分類器を構築した場合、この分類器は、センシティブな属性によらずに推論を行うことが可能となる。
【0003】
しかしながら、公平性に配慮してAIを構築した場合、その出力から訓練データを推定するメンバシップ推定攻撃が容易となることが知られている(例えば、非特許文献2参照)。この場合、特に、特定の属性を持つ訓練データに対する攻撃成功確率が大きく上昇することが指摘されている。
【0004】
また、非特許文献2では、分類器を対象として公平なAIのプライバシリスクが分析されているが、メンバシップ推定攻撃は、敵対的生成ネットワークに対しても適用できることが知られている。敵対的生成ネットワークに対するメンバシップ推定攻撃では、敵対的生成ネットワークを用いて学習した生成器が出力する合成データと、与えられたデータとの類似性から、生成器の学習に利用された訓練データが推定される。
敵対的生成ネットワークに対するメンバシップ推定攻撃への対策としては、差分プライバシを用いた手法や、訓練データの集合を複数のデータセットに分割して個別のデータセットに依存しないように制約を加えて生成器を汎化するPrivGANと呼ばれる方法(例えば、非特許文献3参照)がある。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】Xu et al., FairGAN: Fairness-aware Generative Adversarial Networks, IEEE Big Data 2018.
【非特許文献2】Chang et al., On the Privacy Risks of Algorithmic Fairness, EuroSP 2021.
【非特許文献3】Mukherjee et al., PrivGAN: Protecting GANs from Membership Inference Attacks at Low Cost, PETS 2021.
【非特許文献4】Jeong et al., Training GANs with Stronger Augmentations via Contrastive Discriminator, ICLR 2021.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、差分プライバシを用いた手法では、訓練データに対して大量のノイズを付与することで安全性を担保するため、AIの精度が大幅に低下していた。また、PrivGANでは、データセットを分割することで個々のデータセットのサイズが小さくなるため、一般的に大規模なデータセットが必要とされる敵対的生成ネットワークの学習には適さなかった。
さらに、これらの手法は、公平な敵対的生成ネットワークを対象としていないため、特定の属性に対して攻撃成功確率が上昇する問題を防げない可能性があった。
【0007】
また、例えば非特許文献4では、教師なし対照学習を用いた敵対的生成ネットワークにより分類器の精度向上を図る技術が提案されているが、公平なデータ生成をするものではなく、プライバシリスクを低減する効果も期待できなかった。
【0008】
本発明は、プライバシリスクの増加を抑えつつ、AIの精度及び公平性を向上した合成データを出力できるデータ生成装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る学習装置は、ノイズに基づいて訓練データと類似した合成データを出力する生成器と、前記訓練データ又は前記合成データのデータ拡張から特徴表現を獲得する符号化器と、前記訓練データに対応する特徴表現を、教師あり対照学習によりセンシティブな属性を持つデータと非センシティブな属性を持つデータとを区別するための第1損失関数への入力に変換する第1ヘッダと、前記訓練データ及び前記合成データに対応する特徴表現を、教師あり対照学習により前記訓練データと前記合成データとを区別するための第2損失関数への入力に変換する第2ヘッダと、前記訓練データ及び前記合成データに対応する特徴表現を、互いに識別するための第3損失関数への入力に変換する第3ヘッダと、前記合成データのうち、センシティブな属性を持つデータ及び非センシティブな属性を持つデータに対応する特徴表現を、互いに識別するための第4損失関数への入力に変換する第4ヘッダと、を含む敵対的生成ネットワークが構成され、前記第1損失関数及び前記第2損失関数の勾配に基づいて、前記第1ヘッダ、前記第2ヘッダ及び前記符号化器を更新する処理、並びに前記第3損失関数の勾配に基づいて、前記第3ヘッダを更新する処理を繰り返す第1更新部と、前記第1更新部による更新処理、及び前記第3損失関数に対応しており、前記訓練データと前記合成データとを区別できないようにするための損失関数に基づいて、前記生成器を更新する処理を繰り返す第2更新部と、前記第2更新部による更新処理、及び前記第4損失関数に基づいて、前記第4ヘッダを更新する処理を繰り返す第3更新部と、前記第3更新部による更新処理、及び前記第4損失関数に対応しており、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別できないようにするための損失関数に基づいて、前記生成器を更新する処理を繰り返す第4更新部と、を備え、前記第1損失関数は、センシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれについて、データ数に応じた損失への貢献度が調整される。
【0010】
前記第1ヘッダ及び前記第2ヘッダは、対象の特徴表現を、データ間のコサイン類似度を算出するためのベクトルに変換してもよい。
【0011】
前記第1損失関数は、前記コサイン類似度がセンシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれの集合内での平均値として調整されてもよい。
【0012】
前記第3ヘッダ及び前記第4ヘッダは、対象の特徴表現を識別するための推定値に変換してもよい。
【0013】
本発明に係るデータ生成装置は、前記学習装置により学習された前記生成器に対してノイズを入力し、前記合成データを出力する出力部を備える。
【0014】
本発明に係る学習方法は、ノイズに基づいて訓練データと類似した合成データを出力する生成器と、前記訓練データ又は前記合成データのデータ拡張から特徴表現を獲得する符号化器と、前記訓練データに対応する特徴表現を、教師あり対照学習によりセンシティブな属性を持つデータと非センシティブな属性を持つデータとを区別するための第1損失関数への入力に変換する第1ヘッダと、前記訓練データ及び前記合成データに対応する特徴表現を、教師あり対照学習により前記訓練データと前記合成データとを区別するための第2損失関数への入力に変換する第2ヘッダと、前記訓練データ及び前記合成データに対応する特徴表現を、互いに識別するための第3損失関数への入力に変換する第3ヘッダと、前記合成データのうち、センシティブな属性を持つデータ及び非センシティブな属性を持つデータに対応する特徴表現を、互いに識別するための第4損失関数への入力に変換する第4ヘッダと、を含む敵対的生成ネットワークを構成したコンピュータが、前記第1損失関数及び前記第2損失関数の勾配に基づいて、前記第1ヘッダ、前記第2ヘッダ及び前記符号化器を更新する処理、並びに前記第3損失関数の勾配に基づいて、前記第3ヘッダを更新する処理を繰り返す第1更新ステップと、前記第1更新ステップによる更新処理、及び前記第3損失関数に対応しており、前記訓練データと前記合成データとを区別できないようにするための損失関数に基づいて、前記生成器を更新する処理を繰り返す第2更新ステップと、前記第2更新ステップによる更新処理、及び前記第4損失関数に基づいて、前記第4ヘッダを更新する処理を繰り返す第3更新ステップと、前記第3更新ステップによる更新処理、及び前記第4損失関数に対応しており、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別できないようにするための損失関数に基づいて、前記生成器を更新する処理を繰り返す第4更新ステップと、を実行し、前記第1損失関数は、センシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれについて、データ数に応じた損失への貢献度が調整される。
【0015】
本発明に係る学習プログラムは、前記学習装置としてコンピュータを機能させるためのものである。
【発明の効果】
【0016】
本発明によれば、プライバシリスクの増加を抑えつつ、AIの精度及び公平性を向上した合成データを出力できる。
【図面の簡単な説明】
【0017】
【
図1】実施形態におけるデータ生成装置の機能構成を示す図である。
【
図2A】実施形態におけるデータ生成装置の学習フェーズにおける処理アルゴリズムを示す第1のフローチャートである。
【
図2B】実施形態におけるデータ生成装置の学習フェーズにおける処理アルゴリズムを示す第2のフローチャートである。
【発明を実施するための形態】
【0018】
以下、本発明の実施形態の一例について説明する。
本実施形態のデータ生成装置は、非特許文献4で示されている教師なし対照学習を用いた敵対的生成ネットワークに代えて、教師あり対照学習を適用する。データ生成装置は、データ拡張及び教師あり対照学習を用いてセンシティブな属性及び非センシティブな属性の両方の訓練データを多様化することで、訓練データのみに類似しないプライバシに配慮した公平な合成データを生成する。
【0019】
図1は、本実施形態におけるデータ生成装置1(学習装置)の機能構成を示す図である。
データ生成装置1は、制御部10及び記憶部20の他、各種の入出力インタフェース等を備えた情報処理装置(コンピュータ)である。
【0020】
制御部10は、データ生成装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
【0021】
記憶部20は、ハードウェア群をデータ生成装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(学習プログラム、データ生成プログラム)の他、敵対的生成ネットワークを構成する学習モデルのパラメータ、訓練データ等を記憶する。
【0022】
制御部10は、記憶部20に記憶された各種パラメータに基づく複数の学習モデルとして生成器G、符号化器D、第1ヘッダh1、第2ヘッダh2、第3ヘッダh3及び第4ヘッダh4と、これらの学習モデルを学習するための第1更新部11、第2更新部12、第3更新部13及び第4更新部14と、学習済みのモデルを用いて合成データを出力する出力部15とを備える。
データ生成装置1は、これらの機能部を動作させることにより、生成器Gを学習し(学習フェーズ)、学習済みの生成器Gを用いてプライバシに配慮した公平な合成データを出力する(生成フェーズ)。
【0023】
制御部10は、次に示す複数の学習モデルを含む敵対的生成ネットワークを構成する。
生成器Gは、ノイズに基づいて訓練データと類似した合成データを出力するニューラルネットワークであり、学習フェーズによりこの生成器Gが学習される。
符号化器Dは、訓練データ又は合成データのデータ拡張から特徴表現を獲得するニューラルネットワークである。
第1ヘッダh1は、訓練データに対応する特徴表現を、教師あり対照学習によりセンシティブな属性を持つデータと非センシティブな属性を持つデータとを区別するための第1損失関数への入力に変換するニューラルネットワークである。
第2ヘッダh2は、訓練データ及び合成データに対応する特徴表現を、教師あり対照学習により訓練データと合成データとを区別するための第2損失関数への入力に変換するニューラルネットワークである。
第3ヘッダh3は、訓練データ及び合成データに対応する特徴表現を、互いに識別するための第3損失関数への入力である推定値に変換するニューラルネットワークである。
第4ヘッダh4は、合成データのうち、センシティブな属性を持つデータ及び非センシティブな属性を持つデータに対応する特徴表現を、互いに識別するための第4損失関数への入力である推定値に変換するニューラルネットワークである。
【0024】
ここで、第1損失関数は、センシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれについて、データ数に応じた損失への貢献度が調整される。
また、第1ヘッダh1及び第2ヘッダh2は、対象の特徴表現を、データ間のコサイン類似度を算出するためのベクトルに変換するものであり、第1損失関数は、コサイン類似度がセンシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれの集合内での合計に代えて平均値として調整される。
【0025】
第1更新部11は、学習フェーズにおいて、第1損失関数及び第2損失関数を合計した損失関数の勾配に基づいて、第1ヘッダh1、第2ヘッダh2及び符号化器Dを更新する処理、並びに第3損失関数の勾配に基づいて、第3ヘッダh3を更新する処理を繰り返す。
【0026】
第2更新部12は、学習フェーズにおいて、第1更新部11による更新処理と、第3損失関数に対応し、訓練データと合成データとを区別できないようにするための損失関数に基づいて、生成器Gを更新する処理とを繰り返す。
【0027】
第3更新部13は、学習フェーズにおいて、第2更新部12による更新処理と、第4損失関数に基づいて第4ヘッダh4を更新する処理とを繰り返す。
【0028】
第4更新部14は、学習フェーズにおいて、第3更新部13による更新処理と、第4損失関数に対応し、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別できないようにするための損失関数に基づいて、生成器Gを更新する処理とを繰り返す。
【0029】
出力部15は、生成フェーズにおいて、第4更新部14により学習された生成器Gに対してノイズを入力し、合成データを出力する。
【0030】
図2A及び2Bは、本実施形態におけるデータ生成装置1の学習フェーズの動作手順を示すフローチャートである。
【0031】
ステップS1において、第1更新部11は、訓練データの集合XからN個の訓練データを選択してバッチBを作成する。また、第1更新部11は、生成器Gを用いてN個の合成データを生成し、合成データのバッチB’を作成する。
【0032】
ステップS2において、第1更新部11は、まず、3つのデータ拡張関数t1、t2、t3を選択する。
そして、第1更新部11は、バッチBに含まれるそれぞれのデータに対して、関数t1及びDを順番に適用して特徴表現されたデータの集合Z1を得る。また、第1更新部11は、同様にバッチBに含まれるそれぞれのデータに対して、関数t2及びDを順番に適用してデータ集合Z2を得る。
さらに、第1更新部11は、バッチB’に含まれるそれぞれのデータに対して、関数t3及びDを順番に適用してデータ集合Z3を得る。
【0033】
ステップS3において、第1更新部11は、データ集合Z1及びZ2を用いて、損失関数L1(第1損失関数)を次式のように計算する。
【数1】
ただし、Z
iは、Z1又はZ2に含まれるz
iと同様の属性(センシティブ又は非センシティブ)を持つデータの集合とする。また、Z
sは、属性sを持つデータの集合とする。Sは、属性sの取りうる値の集合とし、センシティブな属性を表す1、非センシティブな属性を表す0からなる。simは、ベクトル間のコサイン類似度を返す関数とする。
【0034】
損失関数L1は、センシティブ又は非センシティブな属性を持つそれぞれのデータ集合内におけるデータ間の類似度が高く、センシティブな属性を持つデータと非センシティブな属性を持つデータとの類似度が低い場合に値(損失)が小さくなる。すなわち、損失関数L1は、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別するように符号化器D及びヘッダh1を学習するための損失を計算するものである。
ここで、式中の1/|Zs|により、各属性のデータ数に応じて損失への貢献度が調整されている。
【0035】
ステップS4において、第1更新部11は、データ集合Z2及びデータ集合Z3を用いて、損失関数L2(第2損失関数)を次式のように計算する。
【数2】
【0036】
損失関数L2は、合成データ間の類似度が高く、訓練データと合成データとの類似度が低い場合に値(損失)が小さくなる。すなわち、損失関数L2は、訓練データと合成データとを区別するように符号化器D及びヘッダh2を学習するための損失を計算するものである。
【0037】
ステップS5において、第1更新部11は、データ集合Z2及びZ3に含まれるそれぞれのデータに対して分類器としてのヘッダh3を適用し、損失関数L3(第3損失関数)を次式のように計算する。ただし、Z2及びZ3に含まれるデータは、全て勾配の計算を停止(stop-gradient)し、損失関数L3を符号化器Dの学習に用いない。
【数3】
ただし、σは、シグモイド関数とする。
【0038】
損失関数L3は、ヘッダh3によって訓練データが大きな値(正数)に、合成データが小さな値(負数)に変換された場合に値(損失)が小さくなる。すなわち、損失関数L3は、訓練データと合成データとを区別するようにヘッダh3を学習するための損失を計算するものである。
【0039】
ステップS6において、第1更新部11は、符号化器D用の損失関数LDを次式のように計算する。
【数4】
【0040】
ステップS7において、第1更新部11は、LDの勾配を用いて符号化器D及びヘッダh1~h3を更新する。より詳細には、第1更新部11は、L1及びL2の勾配を用いて符号化器Dとヘッダh1及びh2とを更新する処理と、L3の勾配を用いてヘッダh3を更新する処理とを並列に実行する。
ステップS8において、第1更新部11は、ステップS1からステップS7までの処理をT1回繰り返す。すなわち、T1回に満たない場合、処理はステップS1に戻る。
【0041】
ステップS9において、第2更新部12は、データ集合Z3を用いて生成器G用の損失関数LG1を次式のように計算する。
【数5】
【0042】
損失関数LG1は、L3における合成データに関する項とは逆に、ヘッダh3によって合成データが大きな値(正数)に変換された場合に値(損失)が小さくなる。すなわち、訓練データと合成データとを区別できないように生成器Gを学習するための損失を計算するものである。
【0043】
ステップS10において、第2更新部12は、損失関数LG1の勾配を用いて、生成器Gを更新する。
ステップS11において、第2更新部12は、ステップS1からステップS10までの処理をT2回繰り返す。すなわち、T2回に満たない場合、処理はステップS1に戻る。
【0044】
ステップS12において、第3更新部13は、生成器Gを用いてセンシティブな属性を持つN個の合成データと、非センシティブな属性を持つN個の合成データとを生成し、これらをまとめてバッチB”を作成する。
【0045】
ステップS13において、第3更新部13は、データ拡張関数t4を選択する。なお、t4は、t1~t3のいずれかと同一であってもよい。
そして、第3更新部13は、バッチB”に含まれるそれぞれのデータに対してt4及びDを順番に適用し、特徴表現されたセンシティブなデータの集合R1及び非センシティブなデータの集合R2を得る。ただし、R1及びR2に含まれるデータは、全て勾配の計算を停止する。
【0046】
ステップS14において、第3更新部13は、データ集合R1及びR2に含まれるそれぞれのデータに対して分類器としてのヘッダh4を適用し、損失関数L4(第4損失関数)を次式のように計算する。
【数6】
【0047】
損失関数L4は、ヘッダh4によってセンシティブな属性を持つデータが大きな値(正数)に、非センシティブな属性を持つデータが小さな値(負数)に変換された場合に値(損失)が小さくなる。すなわち、損失関数L4は、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別するようにヘッダh4を学習するための損失を計算するものである。
【0048】
ステップS15において、第3更新部13は、損失関数L4の勾配を用いて、ヘッダh4を更新する。
ステップS16において、第3更新部13は、ステップS1からステップS15までの処理をT3回繰り返す。すなわち、T3回に満たない場合、処理はステップS1に戻る。
【0049】
ステップS17において、第4更新部14は、データ集合R1及びR2に含まれるそれぞれのデータに対して分類器としてのヘッダh4を適用し、生成器G用の損失関数LG2を次式のように計算する。
【数7】
【0050】
損失関数LG2は、L4とは逆に、ヘッダh4によってセンシティブな属性を持つデータが小さな値(負数)に、非センシティブな属性を持つデータが大きな値(正数)に変換された場合に値(損失)が小さくなる。すなわち、損失関数LG2は、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別できないように生成器Gを学習するための損失を計算するものである。
【0051】
ステップS18において、第4更新部14は、損失関数LG2の勾配を用いて、生成器Gを更新する。
ステップS19において、第4更新部14は、ステップS1からステップS18までの処理をT4回繰り返す。すなわち、T4回に満たない場合、処理はステップS1に戻る。
【0052】
このように、データ生成装置1は、まず、損失関数LDに基づく学習モデル(符号化器D及びヘッダh1、h2、h3)と、損失関数LG1に基づく学習モデル(生成器G)とを競い合わせることにより、訓練データと類似し、かつ、センシティブな属性を持つデータと非センシティブな属性を持つデータとが特徴空間内で識別され得る合成データを生成するように生成器G及び符号化器Dを学習する(ステップS1~S11)。
そのうえで、データ生成装置1は、さらに、損失関数L4に基づく学習モデル(ヘッダh4)と、損失関数LG2に基づく学習モデル(生成器G)とを競い合わせることにより、センシティブな属性を持つデータと非センシティブな属性を持つデータとを区別できない公平な合成データを生成するように生成器Gを学習する(ステップS12~S19)。
【0053】
なお、バッチのデータ数N、及び繰り返し回数T1~T4は、データの種類や適用分野等に応じて適宜設定されてよい。また、T1~T3は、繰り返し処理の都度、変更されてもよい。
【0054】
本実施形態によれば、データ生成装置1は、敵対的生成ネットワークにおいて、センシティブな属性を持つデータ及び非センシティブな属性を持つデータの特徴表現を、教師あり対照学習を用いて獲得(符号化器Dを学習)するとともに、センシティブな属性を持つデータと非センシティブな属性を持つデータとを識別するための分類器(ヘッダh4)を導入して分類器と合成データを出力する生成器Gとを競い合わせながら生成器Gを学習する。これにより、訓練データが多様化されるため、データ生成装置1は、元の訓練データのみに依存しない合成データを生成する生成器Gが構築でき、訓練データとそれ以外のデータとが区別できなくなるため、プライバシに配慮した公平なデータを生成できる。
【0055】
さらに、教師あり対照学習において、訓練データに含まれるセンシティブな属性を持つデータ数及び非センシティブな属性を持つデータ数に応じてそれぞれの貢献度を調整した対照損失を用いることで、データ生成装置1は、訓練データの少ない属性を持つデータに対する特徴表現を改善し、当該属性を持つデータの学習を適切に行える。この結果、データ生成装置1は、特定の属性を持つデータに対してのプライバシリスクの増加を抑えつつ、さらに、データ拡張及び対照学習を用いて合成データを多様化することで、合成データを用いた分類器等のAIの精度及び公平性を向上できる。
【0056】
また、データ生成装置1は、対照学習に用いる特徴表現のコサイン類似度を、センシティブな属性を持つデータ及び非センシティブな属性を持つデータそれぞれの集合内での合計に代えて平均値として損失関数L1を調整する。
これにより、データ生成装置1は、教師あり対照学習における対照損失を容易に調整して訓練データを多様化できる。
さらに、データ生成装置1は、既知の分類器を適用して推定値により損失関数を定義することで、公平性に関する敵対的生成ネットワークを容易に構成できる。
【0057】
なお、本実施形態により、例えば、プライバシリスクを低減した公平な合成データによりAIを構築できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0058】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【0059】
データ生成装置1による学習方法及びデータ生成方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【0060】
D 符号化器
G 生成器
h1 第1ヘッダ
h2 第2ヘッダ
h3 第3ヘッダ
h4 第4ヘッダ
1 データ生成装置
10 制御部
11 第1更新部
12 第2更新部
13 第3更新部
14 第4更新部
15 出力部
20 記憶部