(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024142810
(43)【公開日】2024-10-11
(54)【発明の名称】訓練データ生成プログラム,訓練データ生成方法および情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20241003BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023055148
(22)【出願日】2023-03-30
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】成田 顕一郎
(57)【要約】
【課題】機械学習モデルの精度の劣化を抑制するような訓練データを生成する。
【解決手段】第1の複数の訓練データを、前記第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類し、前記複数のグループのそれぞれに含まれる訓練データの前記第1の属性の値間の差分と、前記複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、前記複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成し、前記第3のグループの公平性の評価値に基づいて、前記第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成する、処理をコンピュータに実行させる。
【選択図】
図12
【特許請求の範囲】
【請求項1】
第1の複数の訓練データを、前記第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類し、
前記複数のグループのそれぞれに含まれる訓練データの前記第1の属性の値間の差分と、前記複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、前記複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成し、
前記第3のグループの公平性の評価値に基づいて、前記第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成する、
処理をコンピュータに実行させる、訓練データ生成プログラム。
【請求項2】
前記第1のグループに含まれる訓練データのデータ数と、前記第2のグループに含まれる訓練データのデータ数との間の差分が第1の閾値未満である、
請求項1に記載の訓練データ生成プログラム。
【請求項3】
前記第1のグループの公平性の評価値と、前記第2のグループの公平性の評価値との間の差分が第2の閾値未満である、
請求項1又は請求項2に記載の訓練データ生成プログラム。
【請求項4】
前記第1のグループに含まれる訓練データの前記第1の属性の値と、前記第2のグループに含まれる訓練データの前記第1の属性の値との間の差分が第3の閾値以下である、
請求項1又は請求項2に記載の訓練データ生成プログラム。
【請求項5】
前記第2の複数の訓練データを用いて機械学習モデルの訓練を行なう、
処理を前記コンピュータに実行させる、請求項1又は請求項2に記載の訓練データ生成プログラム。
【請求項6】
第1の複数の訓練データを、前記第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類し、
前記複数のグループのそれぞれに含まれる訓練データの前記第1の属性の値間の差分と、前記複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、前記複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成し、
前記第3のグループの公平性の評価値に基づいて、前記第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成する、
処理をコンピュータが実行する、訓練データ生成方法。
【請求項7】
第1の複数の訓練データを、前記第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類し、
前記複数のグループのそれぞれに含まれる訓練データの前記第1の属性の値間の差分と、前記複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、前記複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成し、
前記第3のグループの公平性の評価値に基づいて、前記第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成する、
制御部を備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、訓練データ生成プログラム,訓練データ生成方法および情報処理装置に関する。
【背景技術】
【0002】
訓練データセット(複数の訓練データ)を用いて訓練される機械学習モデルは、統計的に確率の高い判断を下すという特性上、訓練データの所定の属性に偏り(バイアス)がある場合に、不公平な推論結果、例えば差別を引き起こす推論結果を出力する可能性がある。所定の属性としては、例えば、性別,年齢,人種,国籍,婚姻状況等の保護属性が挙げられる。
【0003】
訓練データを変換、例えば訓練データの値又はラベルを変換(修正)し、保護属性と非保護属性との間の相関を軽減した訓練データを用いて機械学習モデルを訓練することで、機械学習モデルによる不公平な推論を抑制する手法が知られている。訓練データの修正は、「是正」処理と称されてもよい。なお、相関とは、属性間の関連性又はその強さを意味してよい。
【0004】
是正処理において、複数の訓練データを所定の属性の値等に基づき複数のグループ(セグメント)に分類し、グループごとに、グループに含まれる訓練データを是正する手法が知られている。当該手法により、複数の訓練データを一括で是正するよりも、機械学習モデルによる不公平な推論の抑制効果を高めることができる。複数の訓練データを複数のセグメントに分類する処理は、セグメント分割,セグメント抽出,セグメンテーション(Segmentation)又はデータセグメンテーションと称されてもよい。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2020/240981号パンフレット
【特許文献2】特開2021-12593号公報
【特許文献3】国際公開第2021/260945号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【0006】
是正処理を行なう際のセグメンテーションの仕方によっては、セグメントに含まれる訓練データの是正量、例えば是正対象の訓練データ数が増えてしまう場合がある。それにより、是正処理済みの訓練データを用いて訓練される機械学習モデルの精度(例えば推論精度)の劣化を引き起こす可能性がある。
【0007】
1つの側面では、本発明は、機械学習モデルの精度の劣化を抑制するような訓練データを生成することを目的の1つとする。
【課題を解決するための手段】
【0008】
1つの側面では、訓練データ生成プログラムは、コンピュータに、以下の処理を実行させてよい。前記処理は、第1の複数の訓練データを、前記第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類してよい。また、前記処理は、前記複数のグループのそれぞれに含まれる訓練データの前記第1の属性の値間の差分と、前記複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、前記複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成してよい。さらに、前記処理は、前記第3のグループの公平性の評価値に基づいて、前記第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成してよい。
【発明の効果】
【0009】
1つの側面では、本発明は、機械学習モデルの精度の劣化を抑制するような訓練データを生成することができる。
【図面の簡単な説明】
【0010】
【
図1】訓練データセットから抽出されるセグメントの数と、公平性スコアとの関係の一例を示す図である。
【
図2】セグメンテーションの手法の一例を説明するための図である。
【
図3】一実施形態の一例としてのサーバの機能を実現するコンピュータのハードウェア(HW)構成例を示すブロック図である。
【
図4】一実施形態の一例としてのサーバのソフトウェア構成例を示すブロック図である。
【
図6】一実施形態に係るセグメントの生成処理の一例を説明するための図である。
【
図7】一実施形態に係るセグメントの生成処理の一例を説明するための図である。
【
図9】シンプソンのパラドックスの一例を説明するための図である。
【
図10】マージ部によるマージ処理の一例を説明するための図である。
【
図11】公平性スコア変化量及び訓練データ数に基づくマージ結果の一例を示す図である。
【
図12】一実施形態に係るサーバの動作例を説明するためのフローチャートである。
【
図13】サーバの動作例を説明するための図である。
【0011】
以下、図面を参照して実施形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。例えば、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0012】
〔A〕セグメンテーションについて
まず、セグメンテーションについて説明する。上述したように、複数の訓練データを複数のセグメントに分類し、セグメントごとに是正処理を行なうことで、複数の訓練データに一括で是正処理を行なうよりも、より良い公平性を得られる。なお、セグメントの分類(分割)は、「その条件下で判定は公平であるべき」といえる数値属性、例えば「収入」等の数値属性(第1の属性)の値を尺度として実行されてよい。当該尺度は、例えば、訓練データセットごとに決定されてよい。
【0013】
図1は、訓練データセットから抽出されるセグメントの数と、公平性スコアとの関係の一例を示す図である。「公平性スコア」は、公平性の評価値の一例であり、訓練データの公平性(Fairness)を示す指標の一例である。公平性スコアの詳細は後述する。「セグメントNo.」は、セグメントの識別情報の一例である。
【0014】
図1の符号A1に示すように、セグメント数が例えば10個のように少なすぎる場合、
図1の符号A2に示す最適な分割数(例えば30個)と比較して、個々のセグメントの訓練データの傾向の把握が困難になる場合がある。例えば、誤って把握された傾向に基づき、或るセグメントの是正処理が行なわれる場合、当該或るセグメント内の多くの訓練データが是正される可能性がある。
【0015】
また、
図1の符号A3に示すように、セグメント数が例えば100個のように多すぎる場合、最適な分割数(符号A2参照)と比較して、個々のセグメント内のデータ件数が少なくなり、各セグメントの公平性スコアが訓練データの僅かな変化に過敏に反応し得る。例えば、公平性スコアに基づき多くのセグメントが是正対象に決定され、多くの訓練データが是正される可能性がある。
【0016】
このように、複数の訓練データから抽出されるセグメントの数が適切ではない場合、セグメントごとの是正処理において、是正対象の訓練データ数が増加する可能性がある。なお、
図1に示すセグメント数は例示にすぎず、適切なセグメント数は、訓練データセットに含まれる訓練データ数や、訓練データの分布等の要因に応じて変わるものである。
【0017】
是正処理によって訓練データのレコードの値やラベルを書き換えることにより、元の訓練データには存在しない属性値の組み合わせを含む訓練データや、元の訓練データの属性値の組み合わせと矛盾する訓練データが生成される可能性がある。このため、是正される訓練データの数が増加するほど、当該訓練データを用いて訓練された機械学習モデルの精度(例えば推論精度)が劣化する可能性が高まる。
【0018】
以下の説明では、訓練データセットは、収入,性別,婚姻状況,子供有無,人種,住宅融資(ローン)通過可否等の属性の値(属性値)を含む住宅融資データの集合であるものとする。また、訓練データセットを用いた機械学習モデルの訓練により、収入,婚姻状況等の入力情報からローンの通過可否の判定を行なうAI(Artificial Intelligence)が作成されるものとする。
【0019】
図2は、セグメンテーションの手法の一例を説明するための図である。
図2の符号B1に示すように、訓練データセットは、収入の属性値が0~400万円(特に、0~200万円)の範囲にある訓練データ(レコード)を多く含んでいる。
【0020】
例えば、セグメンテーションの手法の1つとして、等幅binningが知られている。binningは、連続値の特徴量を離散化してカテゴリ変数に変換する手法であり、等幅binningは、各セグメントの区間(値の範囲)が一定となるようにbinningする、範囲優先分割手法である。
【0021】
図2の符号B2に示すように、訓練データセットを等幅binningによりセグメンテーションする場合、連続値である収入の範囲(
図2の例では横軸の幅)が一定となるような複数のセグメントが得られる。
【0022】
しかし、収入が400~1000万円の範囲のセグメント(符号B3参照)は、収入が0~400万円の範囲のセグメント(符号B4参照)と比較して、訓練データ数が極端に少なく、訓練データのサンプル不足が生じている。このため、是正処理において、符号B3に示すセグメントにおいてバイアスを正しく検知することが難しい。
【0023】
また、セグメンテーションの手法の1つとして、各セグメントの標本数が一定となるようにbinningする、数優先分割手法である分位binningが知られている。しかし、
図2の符号B1に示す訓練データセットに対して分位binningを行なうと、例えば、収入が400~1000万円の範囲が1つのセグメントに含まれることになる。この場合、当該セグメントに含まれる訓練データの傾向の把握が困難になる場合がある。
【0024】
このように、セグメンテーションの手法として、等幅binningや分位Binning等の手法を単純に採用する場合、セグメントごとの是正処理の実行が困難になる場合がある。
【0025】
〔B〕一実施形態に係る手法の説明
そこで、1つの側面では、一実施形態において、機械学習モデルの精度の劣化を抑制するような訓練データを生成する手法を説明する。例えば、一実施形態では、機械学習モデルの精度の劣化を抑制しつつ、是正による是正効果が大きくなるようなセグメントを求める。なお、セグメントは、「グループ」の一例である。
【0026】
例えば、訓練データの是正量(例えば是正する訓練データ数)が減少すれば、機械学習モデルの精度の劣化への影響は減少する傾向にある。また、複数のセグメントの各々において、セグメント内の訓練データの傾向が類似している方が、是正対象となるセグメントを絞り込めるため、訓練データの是正量が減少する。さらに、セグメントに含まれる訓練データの数が多いほど、是正処理は容易になる。
【0027】
これらの観点から、是正量が少なくなるように、傾向が近い訓練データどうしを同じセグメントに含めること、並びに、是正処理を適切に行なうのに十分な数の訓練データをセグメントに含めること、の少なくとも一方を満たすセグメンテーションを実行することを想定する。
【0028】
一例として、一実施形態において、複数の訓練データを生成する装置、例えばサーバは、以下の(i)~(iii)の処理を実行してよい。
【0029】
(i)サーバは、第1の複数の訓練データを、第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類する。
【0030】
(ii)サーバは、複数のグループのそれぞれに含まれる訓練データの第1の属性の値間の差分と、複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成する。
【0031】
(iii)サーバは、第3のグループの公平性の評価値に基づいて、第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成する。
【0032】
これにより、一実施形態に係るサーバによれば、機械学習モデルの精度の劣化を抑制するような、第2の複数の訓練データを生成することができる。
【0033】
〔C〕ハードウェア構成例
一実施形態に係るサーバ1(
図4参照)は、仮想サーバ(VM:Virtual Machine)であってもよいし、物理サーバであってもよい。また、サーバ1の機能は、1台のコンピュータにより実現されてもよいし、2台以上のコンピュータにより実現されてもよい。さらに、サーバ1の機能のうちの少なくとも一部は、クラウド環境により提供されるハードウェア(HW)リソース及びネットワーク(NW)リソースを用いて実現されてもよい。
【0034】
図3は、一実施形態の一例としてのサーバ1の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。サーバ1の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが
図3に例示するHW構成を備えてよい。
【0035】
図3に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a,グラフィック処理装置10b,メモリ10c,記憶部10d,IF(Interface)部10e,IO(Input / Output)部10f及び読取部10gを備えてよい。
【0036】
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10jで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0037】
プロセッサ10aとしては、例えば、CPU,MPU,APU,DSP,ASIC,FPGA等の集積回路(IC:integrated circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
【0038】
グラフィック処理装置10bは、IO部10fのうちのモニタ等の出力装置に対する画面表示制御を行なう。また、グラフィック処理装置10bは、機械学習モデルを利用した機械学習処理及び推論処理を実行するアクセラレータとしての構成を有してよい。グラフィック処理装置10bとしては、種々の演算処理装置、例えば、GPU(Graphics Processing Unit),APU,DSP,ASIC又はFPGA等の集積回路(IC)が挙げられる。
【0039】
メモリ10cは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10cとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方又は双方が挙げられる。
【0040】
記憶部10dは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10dとしては、HDD(Hard Disk Drive)等の磁気ディスク装置,SSD(Solid State Drive)等の半導体ドライブ装置,不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ,SCM(Storage Class Memory),ROM(Read Only Memory)等が挙げられる。
【0041】
記憶部10dは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10h(訓練データ生成プログラム)を格納してよい。
【0042】
例えば、サーバ1のプロセッサ10aは、記憶部10dに格納されたプログラム10hをメモリ10cに展開して実行することにより、後述する制御部20(
図4参照)としての機能を実現できる。
【0043】
IF部10eは、サーバ1と他のコンピュータとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10eは、イーサネット(登録商標)等の電気通信(例えばLAN(Local Area Network))、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。
【0044】
なお、プログラム10hは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10dに格納されてもよい。
【0045】
IO部10fは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。また、IO部10fは、入力装置及び表示装置が一体となったタッチパネル等を含んでもよい。出力装置は、グラフィック処理装置10bに接続されてよい。
【0046】
読取部10gは、記録媒体10iに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10gは、記録媒体10iを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10gとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10iにはプログラム10hが格納されてもよく、読取部10gが記録媒体10iからプログラム10hを読み出して記憶部10dに格納してもよい。
【0047】
記録媒体10iとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0048】
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【0049】
〔D〕ソフトウェア構成例
図4は、一実施形態の一例としてのサーバ1のソフトウェア構成例を示すブロック図である。サーバ1は、情報処理装置又はコンピュータの一例である。
【0050】
図4に示すように、サーバ1は、例示的に、基底セグメント抽出部12,算出部13,マージ部14及び是正処理部15を備えてよい。また、サーバ1は、機械学習処理を行なう場合には機械学習部16を備えてもよい。サーバ1が備えるブロック12~16は、制御部20の一例である。制御部20の機能は、例えば、
図3に示すコンピュータ10のプロセッサ10aが、メモリ10cに展開されたプログラム10hを実行することにより実現されてよい。
【0051】
また、
図4に示すように、サーバ1は、例示的に、訓練データセット11a,基底セグメント11b,公平性スコア11c,マージ済みセグメント11d及び是正済み訓練データセット11eを記憶可能な記憶領域を備えてよい。また、当該記憶領域は、サーバ1が機械学習部16を備える場合、機械学習モデル11fを記憶可能であってもよい。
【0052】
サーバ1が有する記憶領域は、例えば、
図3に示すコンピュータ10のメモリ10c及び記憶部10dのうちの一方又は双方の記憶領域により実現されてよい。
【0053】
サーバ1は、例えば、訓練データセット11a及び訓練未実施の機械学習モデル11fのうちの少なくとも1つを、図示しない他のコンピュータからIF部10e及びネットワークを介して受信し、記憶領域に格納してもよい。
【0054】
また、サーバ1は、例えば、記憶領域に格納されたマージ済みセグメント11d,是正済み訓練データセット11e及び訓練済みの機械学習モデル11fのうちの少なくとも1つを、IF部10e及びネットワークを介して、図示しない他のコンピュータに送信してもよい。なお、サーバ1は、中間データ、例えばデータ11b及び11cのうちの少なくとも1つを、IF部10e及びネットワークを介して、図示しない他のコンピュータに送信してもよい。
【0055】
図5は、訓練データセット11aの一例を示す図である。訓練データセット11aは、第1の複数の訓練データの一例であり、例えば住宅融資データであってよい。
図5に例示するように、訓練データセット11aは、収入(万円),性別,婚姻状況,子供有無,人種,通過可否等の属性を有する訓練データ(エントリ)の集合である。なお、訓練データセット11aは、
図5に例示する属性以外に、他の種々の属性を含んでもよい。
【0056】
収入は、第1の属性の一例である。収入は、例えば、属性の値が数値である数値属性であり、非保護属性である。収入は、訓練データにおける連続値を有する特徴量の一例である。例えば,収入は、セグメンテーションにおける複数の訓練データの分類に利用される尺度であってよい。
【0057】
性別,婚姻状況,子供有無,人種の各々は、保護属性の一例である。保護属性は、差別の発生し得る属性である。保護属性としては、例えば、これらのうちの少なくとも1つに代えて又は加えて、国籍,シングルマザー等の他の属性(保護属性)が含まれてもよい。
【0058】
通過可否は、値が「可」又は「否」となる属性であり、例えば非保護属性である。通過可否は、訓練データセット11aにおける特定の属性の一例である。通過可否が「可」であることは、特定の属性が所定の値(例えば正例)であることの一例である。通過可否は、例えば、機械学習モデル11fの訓練において正解ラベルとして用いられてもよい。
【0059】
基底セグメント抽出部12は、訓練データセット11aを、訓練データセット11aの収入の値に基づいて、複数の基底セグメント11bに分類する。基底セグメント11bは、グループの一例である。例えば、基底セグメント11bは、訓練データセット11aを所定数に分割して得られる最小粒度のセグメントである。基底セグメント11bは、或る属性の、属性値の取り得る範囲(例えば訓練データセット11aにおける最小値~最大値の範囲)に応じて定められる基底セグメント幅を有してよい。
【0060】
基底セグメント抽出部12は、例えば、オペレータからの指示や是正技術に従い、1つの基底セグメント11bに含める訓練データ数、例えば下限値の目安となる必要データ数を定義(決定)してよい。また、基底セグメント抽出部12は、訓練データセット11aに含まれる全ての訓練データの数を、定義した訓練データ数で除算することで、生成する基底セグメント11bのセグメント数(所定数)を決定してよい。
【0061】
そして、基底セグメント抽出部12は、例えば、等幅binning等の手法により、訓練データセット11aから所定数の基底セグメント11bを抽出し、基底セグメント11bの情報を記憶領域に格納してよい。
【0062】
図6及び
図7は、一実施形態に係るセグメントの生成処理の一例を説明するための図である。
図6の符号C1は、訓練データセット11aにおける収入別の訓練データ数(レコード数)を示す棒グラフである。
【0063】
図6の符号C2には、訓練データセット11aの収入の数値範囲(0~1000[万円])を所定数(例えば20)に分割して得られた、基底セグメント幅(例えば50[万円]幅)を有する基底セグメント11bを示す。なお、
図6の符号C1に示すように、訓練データセット11aは、訓練データの分布に収入に応じた偏りがある。このため、符号C2に示す複数の基底セグメント11bには、定義した訓練データ数未満の数の訓練データを含む基底セグメント11bが存在し得る。
【0064】
基底セグメント11bの情報は、例えば、基底セグメント11bの識別情報,基底セグメント11bの収入の軸上での区間(例えば収入範囲),基底セグメント11bに含まれる訓練データの識別情報及び訓練データ数等の情報を含んでもよい。
【0065】
なお、一実施形態では、基底セグメント11b及び後述するマージ済みセグメント11dが、1つの属性(収入)を軸とした1次元の空間上で、当該属性(収入)の値に基づき訓練データセット11aを分類して得られるものとするが、これに限定されるものではない。例えば、基底セグメント11b及びマージ済みセグメント11dは、2以上の属性を互いに直交する軸とした2次元以上の空間上で、これらの各属性の値に基づき訓練データセット11aを分類して得られてもよい。
【0066】
以下、基底セグメント11b及びマージ済みセグメント11dを区別しない場合には、単にセグメント11と表記する。
【0067】
算出部13は、訓練データセット11a及び複数のセグメント11に基づき、公平性スコア11cを算出する。例えば、算出部13は、セグメント11ごとに、セグメント11に含まれる複数の訓練データの属性値に基づき、公平性スコア11cを算出してよい。
【0068】
一例として、公平性スコア11cは、DI(Disparate Impact)値であってもよい。以下、一実施形態では、公平性スコア11cがDI値である場合を例に挙げて説明するが、これに限定されるものではなく、公平性スコア11cとしては、セグメント11内の訓練データの公平性を示すことのできる種々の指標が用いられてよい。
【0069】
DI値は、(被差別群の採択率)/(優遇群の採択率)により算出されてよい。被差別群は、特定の保護属性の属性値が、差別を受ける属性値である訓練データ群であり、優遇群は、特定の保護属性の属性値が、差別を受けない(或いは優遇される)属性値である訓練データ群である。採択率は、訓練データ群の訓練データ数に対する、訓練データ群において特定の属性(例えば非保護属性)の属性値が正例(所定の値)である割合を示す。
【0070】
算出部13は、例えば、訓練データセット11aに含まれる複数の保護属性のうちの、DI値の算出に用いる特定の保護属性を決定してよい。一例として、算出部13は、「性別」を特定の保護属性に決定した場合、下記のようにDI値を算出してよい。なお、採択率の算出に用いる特定の属性が「通過可否」であるものとする。
DI値=〔(被差別群の通過可否「可」の訓練データ数/被差別群の訓練データ数)
/(優遇群の通過可否「可」の訓練データ数/優遇群の訓練データ数)〕
【0071】
なお、上記式において、被差別群は、セグメント11に含まれる複数の訓練データのうちの性別が女性である訓練データ群であり、優遇群は、セグメント11に含まれる複数の訓練データのうちの性別が男性である訓練データ群であるものとする。
【0072】
図6の符号C3に示すように、算出部13は、セグメント11ごとに公平性スコア11c(例えばDI値)を算出し、公平性スコア11cを記憶領域に格納してよい。
【0073】
なお、
図6の符号C3の例では、セグメント11が全て基底セグメント11bである場合、例えば、公平性スコア11cの初回の算出処理を示す。後述するように、算出部13は、マージ部14によりマージ済みセグメント11dが生成された場合、当該マージ済みセグメント11dを含む複数のセグメント11を対象として、公平性スコア11cの算出処理を再度行なう場合がある。
【0074】
算出部13は、
図7の符号C4に示すように、互いに隣接する2つのセグメント11(
図7の例では基底セグメント11b)間の公平性スコア11cの変化量を算出してよい。公平性スコア11cの変化量は、公平性の評価値間の差分の一例である。以下、公平性スコア11cの変化量を、単に「公平性スコア変化量」と表記する場合がある。
【0075】
一例として、算出部13は、互いに隣接する2つのセグメント11(以下、「隣接セグメント」と表記する場合がある)のそれぞれの公平性スコア11cの差分の絶対値を、当該変化量として算出してよい。
【0076】
図7の符号C4には、横軸をセグメントNo.とし、縦軸を公平性スコア変化量とした空間上に、隣接セグメントの公平性スコア変化量をプロットして結線した折れ線グラフ(実線参照)を示す。
【0077】
公平性スコア変化量は、隣接セグメントのペアごとに算出されてよく、例えば、N-1(Nはセグメント11の数)個の変化量が算出されてよい。
図7の符号C4の例では、複数のセグメント11が全て基底セグメント11bであるため、20個の基底セグメント11bについて19個の変化量が算出されてよい。
【0078】
算出部13は、例えば、複数のセグメント11のそれぞれに含まれる訓練データの収入(第1の属性)の値間の差分に基づき、隣接セグメントを特定してよい。
【0079】
算出部13は、例えば、互いに異なるセグメント11に含まれる2つの訓練データの収入の値間の差分が「基底セグメント幅」以下である場合に、当該2つの訓練データを含む2つのセグメント11を隣接セグメントとして特定してもよい。基底セグメント幅は、第3の閾値の一例である。
【0080】
なお、2つの訓練データの収入の値間の差分が基底セグメント幅以下である場合とは、2つの訓練データを含む2つのセグメント11の区間が収入の軸上で連続することを意味してよい。従って、算出部13は、例えば、収入の軸上での区間が連続する2つのセグメント11を隣接セグメントとして特定してもよい。或いは、セグメント11の識別情報が、収入の軸上で区間の昇順又は降順に割り当てられる連続番号を含む場合、算出部13は、識別情報が連続する2つのセグメント11を隣接セグメントとして特定してもよい。
【0081】
また、算出部13は、公平性スコア変化量の閾値ΔFthを決定してよい。閾値ΔFthは、第2の閾値の一例である。閾値ΔFthは、オペレータにより指定されてもよいし、算出した公平性スコア変化量に基づき、算出部13が所定の条件に従って算出してもよい。
【0082】
マージ部14は、複数のグループのそれぞれに含まれる訓練データの収入(第1の属性)の値間の差分と、複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、第1のグループと第2のグループとを合わせて第3のグループを生成する。
【0083】
例えば、マージ部14は、算出部13が算出した公平性スコア変化量が閾値ΔFth未満となる場合に、当該変化量の算出に用いた公平性スコア11cを有する2つのセグメント11をマージして、マージ済みセグメント11dを生成してよい。マージ部14は、生成したマージ済みセグメント11dの情報を記憶領域に格納してよい。
【0084】
マージ済みセグメント11dの情報は、例えば、マージ済みセグメント11dの識別情報,マージ済みセグメント11dの収入の軸上での区間(例えば収入範囲),マージ済みセグメント11dに含まれる訓練データの識別情報及び訓練データ数等の情報を含んでもよい。なお、マージ済みセグメント11dは、複数の基底セグメント11bを合わせたセグメント11であるため、マージ済みセグメント11dの情報は、マージ対象の(マージ元の)基底セグメント11bの識別情報を含んでもよい。
【0085】
サーバ1は、基底セグメント11bの情報とマージ済みセグメント11dの情報とを、セグメント11の情報として記憶領域において管理してもよい。
【0086】
マージされる2つのセグメント11は、第1及び第2のグループの一例である。マージ済みセグメント11dは、第3のグループの一例である。なお、マージされる2つのセグメント11は、2つの基底セグメント11b,2つのマージ済みセグメント11d,或いは1つの基底セグメント11b及び1つのマージ済みセグメント11d、のうちのいずれであってもよい。
【0087】
図7の符号C4及びC5に示すように、マージ部14は、例えば、公平性スコア変化量が閾値ΔF
th未満であるC41の区間に含まれる5つの基底セグメント11bを、隣接セグメントごとに順にマージし、C51のマージ済みセグメント11dを生成する。また、マージ部14は、例えば、公平性スコア変化量が閾値ΔF
th未満であるC42の区間に含まれる4つの基底セグメント11bを、隣接セグメントごとに順にマージし、C52のマージ済みセグメント11dを生成する。さらに、マージ部14は、例えば、公平性スコア変化量が閾値ΔF
th未満であるC43の区間に含まれる2つの基底セグメント11b(隣接セグメント)をマージし、C53に示すマージ済みセグメント11dを生成する。
【0088】
算出部13は、マージ部14によるセグメント11のマージ処理が完了すると、マージ済みセグメント11dを含む複数のセグメント11について、公平性スコア11c及び変化量の算出処理を再度実行してもよい。マージ部14は、算出部13により再度算出された公平性スコア変化量に基づき、マージ処理を再度実行してもよい。算出部13及びマージ部14は、マージ可能なセグメント11が存在しなくなるまで、これらの処理を繰り返してもよい。
【0089】
図7の符号C6は、マージ部14によるマージ処理後におけるセグメント11ごとの訓練データ数(レコード数)を示す棒グラフである。符号C51~C53に示すマージ済みセグメント11dの生成により、符号C6では、符号C61~C63に示すセグメント11が得られる。
【0090】
図7の符号C6に示すように、一実施形態に係るサーバ1によれば、公平性の評価値間の差分に基づいて、隣接セグメントどうしをマージ(併合)することができる。
【0091】
例えば、公平性スコア変化量が閾値ΔFth未満の隣接セグメントは、互いに訓練データの傾向が近いセグメント11であるといえる。従って、このような隣接セグメントのマージにより、傾向が近い訓練データどうしを同じセグメント11に含めることができ、是正処理における是正量を減少させることができる。
【0092】
また、傾向が近い訓練データを含むセグメント11どうしをマージすることで、セグメント11に含まれる訓練データの数を増加させることができ、当該セグメント11に対する是正処理が適切に行なわれる可能性を高めることができる。
【0093】
なお、
図7の符号C6において、収入が850~1000万円の範囲における3つの基底セグメント11b(符号C64参照)は、いずれも訓練データ数が少ない(
図6の符号C2参照)ものの、マージ対象からは除外されている。符号C64で示す3つの基底セグメント11bは、符号C4に示すように、公平性スコア変化量が閾値ΔF
thを大きく超えており、互いに異なる傾向の訓練データを含んでいる。サーバ1は、このような基底セグメント11bをマージ対象から除外することで、傾向の把握が困難になる可能性の高いセグメント11が生成されることを抑制でき、結果として、機械学習モデル11fの精度の劣化を抑制することができる。
【0094】
是正処理部15は、マージ済みセグメント11dの公平性の評価値に基づいて、マージ済みセグメント11dに含まれる訓練データを修正することによって是正済み訓練データセット11eを生成する。是正済み訓練データセット11eは、第2の複数の訓練データの一例である。
【0095】
例えば、是正処理部15は、訓練データセット11aに含まれる複数の訓練データのそれぞれについて、セグメント11ごとに、公平性の判断を行なってよい。また、是正処理部15は、訓練データセット11aに含まれる複数のデータのそれぞれについて、判断結果に基づき、セグメント11ごとに、データの是正処理を行なってよい。そして、是正処理部15は、是正処理が行なわれた訓練データを含む複数の訓練データを、是正済み訓練データセット11eとして記憶領域に格納してよい。公平性の判断処理並びにデータの是正処理は、既知の種々の手法が採用されてよい。例えば、公平性の判断処理としては、算出部13による公平性スコア11cの算出処理が採用されてもよい。
【0096】
機械学習部16は、是正済み訓練データセット11eを利用して機械学習モデル11fの訓練(機械学習処理)を実行する。機械学習部16による機械学習モデル11fの訓練手法としては、既知の種々の手法が採用されてよい。
【0097】
是正処理部15による是正済み訓練データセット11eの生成により、機械学習モデル11fによる不公平な推論を抑制することが可能となる。一例として、是正処理部15による公平性の判断処理により、互いに類似する傾向を有する複数の訓練データを含むセグメント11ごとに、差別等の不公平な推論結果の出力を引き起こし得る訓練データを、訓練データセット11aの中から推定できる。また、訓練データの是正処理により、例えば、推定したデータにおける保護属性に対する非保護属性の値を書き換え、保護属性と非保護属性との間の相関を軽減することで、機械学習モデル11fによる不公平な推論を抑制できる。
【0098】
以上のように、一実施形態に係るサーバ1によれば、
図7の符号C6に示すように、機械学習モデル11fの精度の劣化を抑制しつつ、是正による是正効果が大きくなるようなセグメント11を求めることができる。これにより、機械学習モデル11fの精度の劣化を抑制するような訓練データを含む是正済み訓練データセット11eを生成できる。
【0099】
〔E〕複数のバイアスについて公平性の評価を行なう場合の一例
ところで、訓練データセット11aに含まれ得るバイアスは多様であり、訓練データセット11aによっては2つ以上のバイアスについて公平性の評価が行なわれる場合がある。一例として、サーバ1は、単独バイアス及び交差バイアスの双方を是正するための公平性の評価、並びに、セグメント11のマージを行なう場合がある。
【0100】
単独バイアスは、訓練データの所定の属性における偏り、又は、当該偏りによって差別が生じる現象をいう。単独バイアスとしては、例えば、「性別」に応じて差別が生じる現象が挙げられる。このような差別は、「性別」という1つの保護属性についてのバイアスによって生じているため、当該バイアスを、便宜上、「単独バイアス」と表記している。
【0101】
交差バイアスは、訓練データの複数の属性の組み合わせにおける偏り、又は、当該偏りによって差別が生じる現象をいう。例えば、「シングルマザー」という属性を考える。「シングルマザー」は、例えば、
図5に示す訓練データセット11aでは、「性別:女」,「婚姻状況:無」,「子供有無:有」という複数の保護属性の属性値の組み合わせにより表される属性である。交差バイアスは、例えば、「シングルマザー」であるか否かによる採択率の差が、「性別」,「婚姻状況」,「子供有無」のそれぞれについての単独バイアスから想定される差別よりも大きく表われる現象である。
【0102】
例えば、サーバ1が交差バイアスの観点で公平性スコア11cを算出し、公平性スコア変化量に基づきセグメント11をマージする場合を想定する。
【0103】
図8は、公平性スコア変化量の一例を示す図である。
図8の符号D1には、
図6の符号C2に示す複数の基底セグメント11bのそれぞれについて、交差バイアスの観点で算出された公平性スコア11cを示す。一例として、算出部13は、「人種:白人(non_white=0.0)」且つ「性別:女性(female=1.0)」という保護属性の属性値の組み合わせを被差別群とした場合の採択率と、当該組み合わせ以外を優遇群とした場合の採択率との割合(DI値)を公平性スコア11cとして算出してよい。
【0104】
図8の符号D2には、横軸をセグメントNo.とし、縦軸を公平性スコア変化量とした空間上に、符号D1に示す公平性スコア11cの隣接セグメントにおける変化量をプロットして結線した折れ線グラフ(実線参照)を示す。破線で示す枠内(符号D21参照)では、複数のセグメント11で連続して、公平性スコア変化量が閾値ΔF
th未満である。このため、これらのセグメント11はマージ部14によるマージ対象となる。
【0105】
図8の符号D3には、符号D2に示す折れ線グラフに加えて、単独バイアスの観点で算出された公平性スコア変化量を示す折れ線グラフ(太実線参照)を示す。以下、実線の折れ線グラフが示す変化量を「変化量(交差バイアス)」と表記し、太実線の折れ線グラフが示す変化量を「変化量(単独バイアス)」と表記する。
【0106】
例えば、変化量(単独バイアス)は、「人種:白人(non_white=0.0)」、又は、「性別:女性(female=1.0)」という保護属性の属性値を被差別群とした場合の採択率と、当該組み合わせ以外を優遇群とした場合の採択率との割合(DI値)を公平性スコア11cとした場合の、隣接セグメントにおける公平性スコア変化量を示す。
【0107】
符号D31は、符号D21と同じ領域を囲ったものである。符号D32に示す太実線枠は、セグメントNo.16~17の付近において、変化量(公差バイアス)が閾値ΔFth未満である一方、変化量(単独バイアス)が閾値ΔFthを超えていることを示す。
【0108】
このように、変化量(交差バイアス)に基づきセグメント11のマージ範囲が決定されたとしても、変化量(単独バイアス)の観点では、当該セグメント11をマージして得られるマージ済みセグメント11dが最適なセグメント11とは限らない場合がある。
【0109】
符号D32に示す太実線枠のような現象の要因の1つとして、シンプソンのパラドックスが考えられる。シンプソンのパラドックスとは、細分化されたグループの傾向と全体の傾向とが、予想に反して逆転する現象をいう。
【0110】
図9は、シンプソンのパラドックスの一例を説明するための図である。
図9の符号E1は、高校A及び高校Bの間における、理系コース,文系コース別の試験平均点の比較例を示す。符号E1に示すように、理系コースの試験平均点は、高校Aが80点,高校Bが90点であり、高校Bの方が高い。また、文系コースの試験平均点は、高校Aが60点,高校Bが70点であり、高校Bの方が高い。これらの結果(前提)から、理系コース及び文系コースを合わせた全体での試験平均点も、高校Bの方が高いと推測できる。しかし、実際には、全体の試験平均点は、高校Aが78点,高校Bが72点であり、高校Aの方が高い。
【0111】
図9の符号E2は、符号E1に示す試験平均点の算出に用いたデータの母数を示す。符号E2に示すように、高校Aでは、生徒100人のうち、理系コースが90人,文系コースが10人である。高校Bでは、生徒100人のうち、理系コースが10人,文系コースが90人である。高校Aは、試験平均点が80点である理系コースの90人が全体の試験平均点を引き上げているため、試験平均点が70点である文系コースが90人である高校Bよりも、全体の試験平均点が高くなっている。
【0112】
このように、試験平均点という割合の算出に用いたレコード数が、理系コース,文系コースのグループ間で大きく異なる場合、理系コース,文系コースをマージした全体の試験平均点を算出する際に、結果の逆転が発生することがある。
【0113】
一実施形態に係る公平性スコア11cは、例えばDI値である場合、被差別群の採択率と優遇群の採択率との「割合」に基づき算出される。従って、公平性スコア変化量に基づきセグメント11をマージする場合、シンプソンのパラドックスが発生する可能性がある。
【0114】
そこで、一実施形態に係るマージ部14は、交差バイアスについての公平性スコア11cと、各セグメント11に含まれる訓練データ数との2つの観点で、セグメント11のマージ処理におけるマージ判定を行なってよい。
【0115】
図10は、マージ部14によるマージ処理の一例を説明するための図である。
図10の符号F1は、訓練データセット11aを分割して得られた複数の基底セグメント11bの各々について、交差バイアスの観点で算出された公平性スコア11cを示す。
【0116】
図10の符号F2は、符号F1に示す公平性スコア11cの、隣接セグメントにおける変化量(交差バイアス)を示す折れ線グラフである。破線で示す枠内(符号F21参照)では、複数のセグメント11で連続して、公平性スコア変化量が閾値ΔF
th未満である。このため、これらのセグメント11はマージ部14によるマージ対象となる。
【0117】
符号F3は、符号F21で示す枠内のセグメント11(セグメントS4~S7)の各々の公平性スコア変化量及び訓練データ数を示す。
【0118】
例えば、マージ部14は、公平性スコア変化量が閾値ΔFth(例えば0.015)未満であると判定したセグメントS4~S7をマージ範囲として抽出する。
【0119】
また、マージ部14は、隣接セグメントごと、例えばセグメントS4及びS5,セグメントS5及びS6,セグメントS6及びS7のそれぞれについて、訓練データ数の差が、所定の閾値ΔNum
th未満か否かを判定する。
図10の例において、閾値ΔNum
thは、75000であるものとする。閾値ΔNum
thは、第1の閾値の一例である。なお、閾値ΔNum
thは、オペレータにより指定されてもよいし、セグメント11ごとの訓練データ数,基底セグメント抽出部12が決定した必要データ数等に基づき、算出部13又はマージ部14が所定の条件に従って算出してもよい。
【0120】
符号F3の例では、セグメントS4及びS5の訓練データ数の差は70000であり、閾値ΔNumthの75000未満である。このため、マージ部14は、セグメントS4及びS5をマージ対象に決定し、セグメントS4及びS5をマージする。
【0121】
一方、符号F31の破線枠で示すように、セグメントS5及びS6の訓練データ数の差は100000であり、閾値ΔNumth(75000)以上である。また、符号F32の破線枠で示すように、セグメントS6及びS7の訓練データ数の差は80000であり、閾値ΔNumth(75000)以上である。
【0122】
このように、セグメントS5及びS6,セグメントS6及びS7には、それぞれ、データ規模に閾値ΔNumth以上の大きな差があるため、上述したシンプソンのパラドックスが発生するリスクが高い。そこで、マージ部14は、セグメントS5及びS6,セグメントS6及びS7のそれぞれをマージ対象から除外し、セグメントS5及びS6のマージ,セグメントS6及びS7のマージをそれぞれ抑制する。
【0123】
従って、
図10の例では、マージ部14は、公平性スコア変化量が閾値F
th未満であるセグメントS4~S7のうち、セグメントS4及びS5のみをマージして、マージ済みセグメント11dを生成する。
【0124】
なお、
図10の符号F3に例示する、セグメント11ごとの訓練データ数の情報は、例えば、基底セグメント11b又はマージ済みセグメント11dが生成される際に、基底セグメント抽出部12又はマージ部14により取得され、記憶領域に格納されてよい。
【0125】
図11は、公平性スコア変化量及び訓練データ数に基づくマージ結果の一例を示す図である。
図11の符号G1は、
図6の符号C2と同様に、複数の基底セグメント11bの一例を示す。符号G2は、
図7の符号C6と同様に、公平性スコア変化量に基づくセグメント11のマージ例を示す。
【0126】
図11の符号G3は、
図10の符号F3に示す公平性スコア変化量及び訓練データ数に基づくセグメント11のマージ例を示す。符号G3では、
図11の符号G21に示すセグメントS4~S7のうち、セグメントS4及びS5がマージされている(符号G31参照)。一方、符号G3では、セグメントS6及びS7がマージ対象から除外され、基底セグメント11bのままとなっている(符号G32参照)。
【0127】
このように、マージ部14は、交差バイアスについて算出された公平性スコア変化量に基づきマージ対象となるセグメント11を抽出(選定)し、マージ対象の隣接セグメントごとに、訓練データ数の差に基づき、マージするセグメント11を決定する。
【0128】
これにより、符号G2に示す場合と同様に、訓練データ数を確保しつつ、できるだけ広い範囲でセグメント11を併合することができる。また、訓練データ数の差が所定の閾値Numth以上である隣接セグメント(符号G32参照)については併合対象から除外することで、シンプソンのパラドックスの発生リスクを低減しつつ、交差バイアス及び単独バイアスの両方について効果的なセグメント11を生成できる。
【0129】
〔F〕動作例
次に、一実施形態に係るサーバ1の動作例を、
図12及び
図13を参照して説明する。
図12は、一実施形態に係るサーバ1の動作例を説明するためのフローチャートであり、
図13は、サーバ1の動作例を説明するための図である。
【0130】
ステップS1において、サーバ1は、訓練データセット11aを取得する。
【0131】
ステップS2において、サーバ1は、公平性スコア11cの算出に用いる保護属性を決定する。例えば、サーバ1は、2つ以上の保護属性を決定してよい。一例として、サーバ1は、訓練データセット11aに含まれる「性別:女性」,「シングルマザー:YES」の保護属性及び属性値を選択してよい。なお、「シングルマザー:YES」の保護属性及び属性値は、例えば、「性別:女性」,「婚姻状況:無」,「子供有無:有」の保護属性及び属性値の組み合わせであってもよい。
【0132】
ステップS3において、サーバ1は、基底セグメント11bの分類用の属性(例えば非保護属性)を決定する。一例として、サーバ1は、訓練データセット11aに含まれる「収入」の属性を選択してよい。
【0133】
ステップS4において、基底セグメント抽出部12は、等幅binningにより訓練データセット11aを複数の基底セグメント11bに分割する。
図13の例では、基底セグメント抽出部12は、符号H1に示すように、訓練データセット11aを6つの基底セグメントS1~S6に分割する。このとき、基底セグメント抽出部12は、各基底セグメント11bの訓練データ数を取得(例えば算出)してよい。
【0134】
ステップS5において、算出部13は、未選択のセグメント11を1つ選択する。
【0135】
ステップS6において、算出部13は、ステップS2で決定した2つ以上の保護属性における交差バイアスについて、ステップS5で選択したセグメント11の公平性スコア11cを算出する。
【0136】
ステップS7において、算出部13は全てのセグメント11を選択したか否かを判定する。全てのセグメント11を選択していない場合(ステップS7でNO)、処理がステップS5に移行する。全てのセグメント11を選択した場合(ステップS7でYES)、処理がステップS8に移行する。
【0137】
算出部13は、公平性スコア変化量の閾値ΔFth,訓練データ数の差の閾値(訓練データ数差閾値)ΔNumthを決定する(ステップS8)。
【0138】
図13の例では、算出部13は、符号H2に示すように、セグメントS
n(nはセグメントS1~S6に対応する1~6の整数)について、公平性スコアF
nを算出する。なお、基底セグメント抽出部12又はマージ部14により取得されるセグメントS
nの訓練データ数を、Num
nと表記する。
【0139】
ステップS9において、マージ部14は、セグメント11を選択するための変数S,ループ内におけるマージの実行有無判定用の変数Dをそれぞれ初期化する。例えば、マージ部14は、S=1,D=0をセットする。また、マージ部14は、セグメント11の数をSmaxにセットする。
【0140】
ステップS10において、マージ部14は、セグメントSとセグメントS-1との間の公平性スコア変化量ΔFS-1,訓練データ数差ΔNumS-1を算出する。また、マージ部14は、セグメントSとセグメントS+1との間の公平性スコア変化量ΔFS+1,訓練データ数差ΔNumS+1を算出する。
【0141】
ステップS11において、マージ部14は、公平性スコア変化量ΔFS-1が閾値ΔFth未満、且つ、訓練データ数差ΔNumS-1が閾値ΔNumth未満か否かを判定する。判定条件が満たされる場合(ステップS11でYES)、処理がステップS12に移行する。一方、判定条件が満たされない場合(ステップS11でNO)、処理がステップS14に移行する。
【0142】
ステップS12において、マージ部14は、セグメントS及びS-1をマージしてマージ済みセグメント11dを生成し、処理がステップS13に移行する。このとき、マージ部14は、マージ済みセグメント11dの訓練データ数を取得(例えば算出)してよい。
【0143】
ステップS13において、マージ部14は、変数D=1をセットし、処理がステップS16に移行する。
【0144】
ステップS14において、マージ部14は、公平性スコア変化量ΔFS+1が閾値ΔFth未満、且つ、訓練データ数差ΔNumS+1が閾値ΔNumth未満か否かを判定する。判定条件が満たされる場合(ステップS14でYES)、処理がステップS15に移行する。一方、判定条件が満たされない場合(ステップS14でNO)、処理がステップS16に移行する。
【0145】
ステップS15において、マージ部14は、セグメントS及びS+1をマージしてマージ済みセグメント11dを生成し、処理がステップS13に移行する。このとき、マージ部14は、マージ済みセグメント11dの訓練データ数を取得(例えば算出)してよい。
【0146】
ステップS16において、マージ部14は、S=S+2をセット(変数Sに2を加算)する。
【0147】
ステップS17において、マージ部14は、変数SがSmaxを超えたか否かを判定する。変数SがSmax以下の場合(ステップS17でNO)、処理がステップS10に移行する。変数SがSmaxを超えた場合(ステップS17でYES)、処理がステップS18に移行する。
【0148】
このように、変数SがSmaxを超えた場合、全てのセグメント11についての公平性の判定処理及びマージ処理が1周分完了したことになる。
図13の例では、符号H3に示すように、1周分の公平性の判定処理及びマージ処理として、マージ部14は、マージ条件(ステップS11,S14)に一致した隣接セグメントを是正候補としてマージする。そして、マージ部14は、セグメントS2,S4,S6のように、1つ飛ばしでセグメント11を選択し、選択したセグメント11とその前後のセグメント11との間でマージ条件の判定を行なう。なお、
図12の例では、ステップS11及びS14のうち、ステップS11が優先的に実行されるが、これに限定されるものではなく、ステップS11及びS12と、ステップS14及びS15とを入れ替えてもよい。
【0149】
ステップS18において、マージ部14は、変数Dが初期値の0であるか否かを判定する。変数Dが0ではない(1である)場合(ステップS18でNO)、処理がステップS5に移行する。
【0150】
変数Dが0ではないということは、直近の1周分の公平性の判定処理及びマージ処理の中で、マージが行なわれたことを意味する。この場合、セグメントの数、並びに、マージ対象となったセグメント11の公平性スコア11c及び訓練データ数が、マージによって変化している。そこで、サーバ1は、ステップS5から、次の1周分の公平性の判定処理及びマージ処理を実行するのである。
【0151】
なお、次の1周分の公平性の判定処理において、ステップS5では、算出部13は、変化のあったセグメント11(マージ済みセグメント11d)を選択すればよい。また、この場合のステップS6では、算出部13は、選択したセグメント11の公平性スコア11cとして、マージ元の複数の基底セグメント11bのうちのいずれかの公平性スコア11c、或いは、当該複数の基底セグメント11bの公平性スコア11cの平均値等を求めてもよい。
【0152】
ステップS18において、変数Dが0である場合(ステップS18でYES)、処理がステップS19に移行する。
【0153】
変数Dが0であるということは、直近の1周分の公平性の判定処理及びマージ処理の中で、マージが行なわれていない、換言すれば、セグメント11に変化がないことを意味する。この場合、サーバ1は、公平性の判定処理及びマージ処理を終了する。
【0154】
図13の例では、符号H4に示すように、算出部13及びマージ部14は、マージ条件(ステップS11,S14)に一致する隣接セグメントが存在しなくなるまで、公平性の判定処理及びマージ処理を繰り返し実行してよい。
【0155】
ステップS19において、是正処理部15は、セグメント11の情報、例えば、基底セグメント11b及びマージ済みセグメント11dの情報に基づき、セグメント11ごとに、訓練データセット11aの是正処理を行なう。是正処理部15は、是正処理により是正済み訓練データセット11eを生成する。
【0156】
ステップS20において、機械学習部16は、是正済み訓練データセット11eを用いて機械学習モデル11fの訓練を実施し、処理が終了する。
【0157】
〔G〕その他
上述した一実施形態に係る技術は、以下のように変形、変更して実施することができる。
【0158】
例えば、
図4に示すサーバ1が備えるブロック12~16は、任意の組み合わせで併合してもよく、それぞれ分割してもよい。
【0159】
また、一実施形態に係るサーバ1は、さらに、推論用のデータセットを取得し、取得したデータセットを訓練済みの機械学習モデル11fに入力することで推論結果を取得する、推論処理を実行してもよい。推論用のデータセットは、訓練データセット11aと同様の属性を有するデータセットであってよい。なお、推論用データセットは、住宅融資の通過可否の属性が除外されていてもよい。
【0160】
また、例えば、
図4に示すサーバ1は、複数の装置がネットワークを介して互いに連携することにより、各処理機能を実現する構成であってもよい。一例として、各ブロック12~16はWebサーバ及びアプリケーションサーバ、各データ11a~11fを格納する記憶領域はDBサーバ、等であってもよい。この場合、Webサーバ、アプリケーションサーバ及びDBサーバが、ネットワークを介して互いに連携することにより、サーバ1としての処理機能を実現してもよい。
【0161】
〔H〕付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0162】
(付記1)
第1の複数の訓練データを、前記第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類し、
前記複数のグループのそれぞれに含まれる訓練データの前記第1の属性の値間の差分と、前記複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、前記複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成し、
前記第3のグループの公平性の評価値に基づいて、前記第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成する、
処理をコンピュータに実行させる、訓練データ生成プログラム。
【0163】
(付記2)
前記第1のグループに含まれる訓練データのデータ数と、前記第2のグループに含まれる訓練データのデータ数との間の差分が第1の閾値未満である、
付記1に記載の訓練データ生成プログラム。
【0164】
(付記3)
前記第1のグループの公平性の評価値と、前記第2のグループの公平性の評価値との間の差分が第2の閾値未満である、
付記1又は付記2に記載の訓練データ生成プログラム。
【0165】
(付記4)
前記第1のグループに含まれる訓練データの前記第1の属性の値と、前記第2のグループに含まれる訓練データの前記第1の属性の値との間の差分が第3の閾値以下である、
付記1~付記3のいずれか1項に記載の訓練データ生成プログラム。
【0166】
(付記5)
前記第2の複数の訓練データを用いて機械学習モデルの訓練を行なう、
処理を前記コンピュータに実行させる、付記1~付記4のいずれか1項に記載の訓練データ生成プログラム。
【0167】
(付記6)
第1の複数の訓練データを、前記第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類し、
前記複数のグループのそれぞれに含まれる訓練データの前記第1の属性の値間の差分と、前記複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、前記複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成し、
前記第3のグループの公平性の評価値に基づいて、前記第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成する、
処理をコンピュータが実行する、訓練データ生成方法。
【0168】
(付記7)
前記第1のグループに含まれる訓練データのデータ数と、前記第2のグループに含まれる訓練データのデータ数との間の差分が第1の閾値未満である、
付記6に記載の訓練データ生成方法。
【0169】
(付記8)
前記第1のグループの公平性の評価値と、前記第2のグループの公平性の評価値との間の差分が第2の閾値未満である、
付記6又は付記7に記載の訓練データ生成方法。
【0170】
(付記9)
前記第1のグループに含まれる訓練データの前記第1の属性の値と、前記第2のグループに含まれる訓練データの前記第1の属性の値との間の差分が第3の閾値以下である、
付記6~付記8のいずれか1項に記載の訓練データ生成方法。
【0171】
(付記10)
前記第2の複数の訓練データを用いて機械学習モデルの訓練を行なう、
処理を前記コンピュータが実行する、付記6~付記9のいずれか1項に記載の訓練データ生成方法。
【0172】
(付記11)
第1の複数の訓練データを、前記第1の複数の訓練データの第1の属性の値に基づいて、複数のグループに分類し、
前記複数のグループのそれぞれに含まれる訓練データの前記第1の属性の値間の差分と、前記複数のグループのそれぞれの公平性の評価値間の差分とに基づいて、前記複数のグループの第1のグループと第2のグループとを合わせて第3のグループを生成し、
前記第3のグループの公平性の評価値に基づいて、前記第3のグループに含まれる訓練データを修正することによって第2の複数の訓練データを生成する、
制御部を備える、情報処理装置。
【0173】
(付記12)
前記第1のグループに含まれる訓練データのデータ数と、前記第2のグループに含まれる訓練データのデータ数との間の差分が第1の閾値未満である、
付記11に記載の情報処理装置。
【0174】
(付記13)
前記第1のグループの公平性の評価値と、前記第2のグループの公平性の評価値との間の差分が第2の閾値未満である、
付記11又は付記12に記載の情報処理装置。
【0175】
(付記14)
前記第1のグループに含まれる訓練データの前記第1の属性の値と、前記第2のグループに含まれる訓練データの前記第1の属性の値との間の差分が第3の閾値以下である、
付記11~付記13のいずれか1項に記載の情報処理装置。
【0176】
(付記15)
前記制御部は、前記第2の複数の訓練データを用いて機械学習モデルの訓練を行なう、
付記11~付記14のいずれか1項に記載の情報処理装置。
【符号の説明】
【0177】
1 サーバ
10 コンピュータ
11a 訓練データセット
11b 基底セグメント
11c 公平性スコア
11d マージ済みセグメント
11e 是正済み訓練データセット
11f 機械学習モデル
12 基底セグメント抽出部
13 算出部
14 マージ部
15 是正処理部
16 機械学習部
20 制御部