(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】機械学習プログラム,機械学習方法および機械学習装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20241008BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2023525255
(86)(22)【出願日】2021-06-02
(86)【国際出願番号】 JP2021021059
(87)【国際公開番号】W WO2022254626
(87)【国際公開日】2022-12-08
【審査請求日】2023-09-28
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【氏名又は名称】横田 功
(72)【発明者】
【氏名】園田 亮介
【審査官】福西 章人
(56)【参考文献】
【文献】国際公開第2021/085188(WO,A1)
【文献】ZEHLIKE, Meike et al.,Reducing disparate exposure in ranking: A learning to rank approach [online],2020年04月20日,pp.2849-2855,[retrieved on 2021.06.23], Retrieved from the Internet: <URL: https://dl.acm.org/doi/pdf/10.1145/3366424.3380048>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
複数のデータのそれぞれに対する機械学習モデルの出力に応じた前記複数のデータ内の第1の順位を特定し、
前記複数のデータのうち第1の属性の第1のデータと第2の属性の第2のデータとの前記第1の順位における順位を入れ替えた場合の第2の順位の属性を基準とする公平性の値と前記第1の順位の属性を基準とする公平性の値との差分に基づくパラメータを算出し、
前記パラメータを含む損失関数を用いて前記機械学習モデルの訓練を実行する、
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項2】
前記第1の順位の属性を基準とする公平性の値は、前記第1の順位に基づく前記第1の属性の公平性を示す第1の評価値と、前記第1の順位に基づく前記第2の属性の公平性を示す第2の評価値との差分である、
ことを特徴とする請求項1に記載の機械学習プログラム。
【請求項3】
前記損失関数は、前記訓練のステップ毎に前記機械学習モデルの出力に応じたデータの順位に基づいて算出される属性を基準とする公平性の値を累積的に処理して得られる累積公平性値を含む、
ことを特徴とする請求項1または2に記載の機械学習プログラム。
【請求項4】
前記損失関数は、前記パラメータと前記累積公平性値とを含む重みを精度損失に乗算した重み付き損失関数である、
ことを特徴とする請求項
3に記載の機械学習プログラム。
【請求項5】
複数のデータのそれぞれに対する機械学習モデルの出力に応じた前記複数のデータ内の第1の順位を特定し、
前記複数のデータのうち第1の属性の第1のデータと第2の属性の第2のデータとの前記第1の順位における順位を入れ替えた場合の第2の順位の属性を基準とする公平性の値と前記第1の順位の属性を基準とする公平性の値との差分に基づくパラメータを算出し、
前記パラメータを含む損失関数を用いて前記機械学習モデルの訓練を実行する、
処理をコンピュータが実行することを特徴とする機械学習方法。
【請求項6】
複数のデータのそれぞれに対する機械学習モデルの出力に応じた前記複数のデータ内の第1の順位を特定し、
前記複数のデータのうち第1の属性の第1のデータと第2の属性の第2のデータとの前記第1の順位における順位を入れ替えた場合の第2の順位の属性を基準とする公平性の値と前記第1の順位の属性を基準とする公平性の値との差分に基づくパラメータを算出し、
前記パラメータを含む損失関数を用いて前記機械学習モデルの訓練を実行する、
処理を実行する制御部を含むことを特徴とする機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、公平性を考慮した機械学習手法に関する。
【背景技術】
【0002】
近年、ウェブページ上のクリック,与信や採用の合格などの過去の2値データから、正例となる可能性が高い順に整列されたランキングを機械学習モデルを用いて予測するランク学習が知られている。
ランク学習は、銀行やSNS(Social Networking Service)会社などの多くの企業の意思決定に利用されるようになってきている。
【0003】
しかし、性別や人種など、差別してはならない属性(保護属性)が予測結果に影響するケースが発生しており、問題となっている。このような問題は、以前においては分類問題において提唱されていたが、近年においてはランキング問題でも提唱されている。
【0004】
例えば、SNSにおいて、男性アカウントのクリック数が多いデータを用いて機械学習を行なうことで、検索結果ランキングの上位を男性アカウントが占めるように予測してしまう場合がある。
【0005】
これは、機械学習で用いる入力データに差別的なバイアスが含まれていることが主な原因である。上記の例においては、男性の正例数が圧倒的に多いデータや、男性の数が圧倒的に多いデータが原因となる。
【0006】
予測結果のランキングに対し、保護属性に基づくグループ(保護グループ)の公平性を評価する様々な基準が導入され、差別のような潜在的な社会的問題に配慮し、出力からバイアスを無くす公平ランク学習が期待される。
【0007】
このようなランキング出力の不公平性を是正する手法として、ランク学習のAI(Artificial Intelligence)アルゴリズムに対して公平性制約を加えることで公平性是正処理をするIn-processing手法が知られている。かかる手法においては、以下の式(1)に示すように、公平性制約を損失に加え、その近似式を最適化する。
【0008】
【0009】
なお、許容度εは不公平性が許容されるしきい値であり、λijは制約の影響をコントロールするパラメータである。
機械学習においては、上記の式(1)で表される損失関数Lossを最小過する最適化問題を解く。
【先行技術文献】
【特許文献】
【0010】
【文献】国際公開第2020/240981号
【文献】米国特許出願公開第2020/0293839号明細書
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、このような従来のランキング出力の不公平性是正手法において、上記の式(1)における公平性制約は微分不可能であるので近似する必要がある。これにより、公平性を過剰(過少)評価する恐れがある。また、近似された公平性制約を最適化する際、多くの領域で導関数が0になるため slack (微小量)を加えて調整する必要がある。これは入手できる教師データが少ないとき、過適合が発生する可能性があり、テストでトレードオフを失敗する。すなわち、従来手法によるランキング精度損失の公平性制約付き最適化では、過適合を起こしてしまう場合がある。
1つの側面では、本発明は、過適合を発生させることなく公平性制約付き最適化を実現できるようにすることを目的とする。
【課題を解決するための手段】
【0012】
このため、この機械学習プログラムは、複数のデータのそれぞれに対する機械学習モデルの出力に応じた前記複数のデータ内の第1の順位を特定し、前記複数のデータのうち第1の属性の第1のデータと第2の属性の第2のデータとの前記第1の順位における順位を入れ替えた場合の第2の順位の属性を基準とする公平性の値と前記第1の順位の属性を基準とする公平性の値との差分に基づくパラメータを算出し、前記パラメータを含む損失関数を用いて前記機械学習モデルの訓練を実行する、処理をコンピュータに実行させる。
【発明の効果】
【0013】
一実施形態によれば、過適合を発生させることなく公平性制約付き最適化を実現できる。
【図面の簡単な説明】
【0014】
【
図1】実施形態の一例としての情報処理装置の機能構成を模式的に示す図である。
【
図2】複数の例に対して予測スコアに応じてランキングを設定した例を示す図である。
【
図3】実施形態の一例としての情報処理装置におけるスワップ変数を説明するための図である。
【
図4】実施形態の一例としての情報処理装置における処理を説明するためのフローチャートである。
【
図5】実施形態の一例としての情報処理装置による公平性評価値を従来手法と比べて示す図である。
【
図6】実施形態の一例としての情報処理装置による公平性是正手法をペアを考慮しない手法と比べて示す図である。
【
図7】実施形態の一例としての情報処理装置のハードウェア構成を例示する図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本機械学習プログラム,機械学習方法および機械学習装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0016】
(A)構成
図1は実施形態の一例としての情報処理装置1の機能構成を模式的に示す図である。
【0017】
情報処理装置1は、入力される複数(N個)の入力データに対して、順位付け(ランキング)を行なう。情報処理装置をコンピュータもしくは計算装置といってもよい。
【0018】
本情報処理装置1においては、観測できない、バイアスされてない真のデータが存在するが、観測できる入力データはそこからバイアスされているため、不公平なランキングが生成されると仮定する。真のデータを用いることは出来ず、本情報処理装置1においては、観測データのみからランキング推定を行なう。また、個人の公平性よりも、グループの公平性について考慮するものとする。
ランキングの精度、公平性評価基準は複数存在し、特に公平性評価基準は社会的に複数を考慮する必要性があるものとする。
【0019】
また、本情報処理装置1においては、観測されない真のラベルと観測されるラベルとに次の関係を仮定するものとする。すなわち、真のデータ集合Dtrueに属するラベルy′と観測データ集合Dbiasedに属するラベルyとに、以下に示す二項関係があるものとする。
P(y) ∝ P(y′)×w
ここでw∈[0,1] は、真のラベルy′に対するバイアスである。バイアスはグループごとに異なる。
【0020】
機械学習では、訓練データとして観測データを用いて訓練を行なう。また、バイアスに影響されたラベルyを機械学習モデルに入力することにより、特定グループに不公平性が発生するものとする。機械学習モデルを単にモデルといってもよい。
【0021】
情報処理装置1は、
図1に示すように、ペアデータ作成部101,ランキング生成部102,予測スコア計算部103,重み付き損失関数作成部104およびモデルパラメータ計算部108を備える。
【0022】
ペアデータ作成部101は、入力された2値の入力データを用いてペアデータを作成する。入力データは、ラベルに関する正例と負例とを含む2値データである。入力データの数をNとし、N例と表す場合がある。ペアデータ作成部101は、正例と負例とを組み合わせたペアデータを作成する。具体的には、ペアデータ作成部101は、(正例の数)×(負例の数)の数のペアデータを作成する。
ペアデータ作成部101が作成したペアデータは、例えば、
図7を用いて後述するメモリ12や記憶装置13における所定の記憶領域に記憶される。
【0023】
予測スコア計算部103は、入力データを機械学習モデルに入力して、ラベル{0,1}に対する予測スコアを算出する。例iの予測スコアを以下の符号で表す場合がある。予測スコアの値(確率)が高いほど正例と判断される。予測スコアの算出には、既知のランク学習において用いられる機械学習モデルを用いてよい。
【0024】
【0025】
予測スコア計算部103は、ペアデータ作成部101が作成した全てのペアデータを用いてもよい。また、ペアデータ作成部101によって作成されたペアデータ数が多く、ペアデータが所定の閾値以上ある場合には、所定数のペアデータを抽出してもよい。
【0026】
ランキング生成部102は、予測スコア計算部103が算出した各例の予測スコアをソートすることで、例の予測スコアに関する降順リストを作成する。予測スコアに関する降順リストを予測ランキングといってもよい。
重み付き損失関数作成部104は、公平性制約を近似処理せずに用いた重みを含む重み付き損失関数を作成する。
重み付き損失関数作成部104は、
図1に示すように、累積公平性評価差計算部105,重み計算部106および重み付き損失関数計算部107を備える。
【0027】
累積公平性評価差計算部105は、ランキング生成部102によって設定された予測ランキングに基づき、予測ランキングに対して、保護グループペア毎に公平性評価差(diff)を計算する。また、公平性評価差(diff)は、現在の公平性を示す。累積公平性評価差計算部105は、訓練のステップ毎に算出される公平性評価差(diff)を累積させて累積公平性評価差を算出する。訓練のステップごとに、訓練データを機械学習モデルに入力し、得られた予測ランキングに応じた損失関数に基づいて機械学習モデルのパラメータを更新する処理が実行される。
【0028】
図2は複数(
図2に示す例では4つ)の例に対して予測スコアに応じてランキングを設定した例を示す図である。この
図2中において、網掛けを付して示す丸は正例または負例を表し、丸内の数字はそれぞれ予測スコアを表す。
【0029】
また、図中、四角で囲んだ丸は例えば社会的にマイノリティなグループに属することを示す。社会的にマイノリティなグループを保護グループという場合がある。これに対して、四角で囲まれていない丸は例えば、社会的にマジョリティなグループに属することを示す。社会的にマジョリティなグループを非保護グループという場合がある。
【0030】
図2中に示す4つの例は予測スコアに従ってランキングが設定されている。また、予測スコア0.9の正例と予測スコア0.7の負例とが同一のグループGiに属している。また、予測スコア0.4の正例と予測スコア0.1の負例とが同一のグループGjに属している。
【0031】
以下、グループの組み合わせをグループペアという場合がある。
図2に示す例において、Gi、Gjというグループに対し、例えば、(Gi, Gi)、(Gi, Gj)、(Gj, Gi)、(Gj, Gj)という4つのグループペアがあり得る。
【0032】
累積公平性評価差計算部105は、グループペア毎に公平性評価関数の差diffを算出する。公平性評価関数の差を公平性の差といってもよい。公平性評価関数の差は現在の公平性を表す。
【0033】
累積公平性評価差計算部105は、例えば、リストワイズ (Listwise)な評価基準である評価基準値Eを用いて公平性評価関数の差diffを算出してもよい。
累積公平性評価差計算部105は、例えば、以下の式(2)~(4)を用いて、グループG
iの評価基準値E
Giを算出する。
【数3】
【0034】
累積公平性評価差計算部105は、同様の手法でグループGjの評価基準値EGjを算出する。
そして、累積公平性評価差計算部105は、以下の式(5)を用いて公平性評価関数の差diffを算出する。公平性評価関数の差diffは、各グループの公平性評価値の差を表す。
【0035】
【0036】
公平性評価関数の差diffは、第1の順位の属性を基準とする公平性の値に相当する。
公平性評価関数の差diffは、グループGiの評価基準値EGi(第1の順位に基づく第1の属性の公平性を示す第1の評価値)と、グループGjの評価基準値EGj(第1の順位に基づく第2の属性の公平性を示す第2の評価値)との差分である。
また、累積公平性評価差計算部105は、ペアワイズ (Pairwise)な評価基準値であるAUC(Area Under the Curve)を用いて、公平性評価関数の差diffを算出してもよい。
AUCは以下の式で表される。
【0037】
【0038】
そして、累積公平性評価差計算部105は、例えば、以下の式(6)を用いて公平性評価関数の差diffを算出する。公平性評価関数の差diffは、各グループの公平性評価値の差を表す。
【0039】
【0040】
そして、累積公平性評価差計算部105は、算出した公平性評価関数の差diffを用いて、以下の式(7),(8)に基づき、累積公平性評価差cij,cjiを算出する。累積公平性評価差cij,cjiは、単純なイテレーション(Iteration)によりdiffij,diffjiを累積させた値である。累積公平性評価差を累積公平性値といってもよい。
累積公平性評価差計算部105は、学習率ηを用いた以下の式(7)に示す更新式を用いて累積公平性評価差cijを推定する。
【0041】
【0042】
累積公平性評価差計算部105が算出した累積公平性評価差の値は、例えば、メモリ12や記憶装置13における所定の記憶領域に記憶される。
重み計算部106は、グループペア毎に重みを設定する。ペア(i,j)の重みを重みwijと表す。
【0043】
重み計算部106は、スワップ(swap)変数を算出する。スワップ変数は、ペアを交換(最適化)することによって変動するグループ公平性を示す。同じグループペアでも.ランキングの位置によって swap が変化する。
図3は実施形態の一例としての情報処理装置1におけるスワップ変数を説明するための図である。
【0044】
図3に示す例において、網掛けを付して示す各丸は正例または負例を表し、各例のランキングを示す。また、図中、四角で囲んだ丸は保護グループに属することを示す。また、四角で囲まれていない丸は非保護グループに属することを示す。
【0045】
この
図3に示す例において、正例と負例グループ公平性(pairwise fairness)の差 (diff) は 0.75である(diff=0.75)。公平性達成のために、このdiffを0にしたいものとする。
【0046】
保護グループの正例と非保護グループの負例とを交換(順序を最適化)することにより是正処理することを考える。
図3に示す例において、2つのペア <2,6> と <5,6>とをそれぞれ交換する候補として考慮する。
<2,6>を交換した場合、変換後のdiff<2,6>は0となり、公平性が理想的になる。
<5,6>を交換した場合、変換後のdiff<5,6>は0.5となり、依然として公平性は達成されない。
ここで、グループペアの順位を入れ替える前後におけるグループ公平性diffの差分をスワップ変数といってもよい。
【0047】
例えば、上記の<2,6>の例におけるスワップ変数swap<2,6>は0.75(= 0.75 - 0)である。また、上記の<5,6>の例におけるスワップ変数swap<5,6>は0.25(= 0.75 - 0.5)である。
【0048】
スワップ変数は、複数のデータのうち保護グループ(第1の属性)の第1のデータと非保護グループ(第2の属性)の第2のデータとの順位を入れ替えた後の第2の順位の属性を基準とする公平性の値と前記第1の順位(予測ランキング)の属性を基準とする公平性の値との差分diffに基づくパラメータである。
スワップ変数は交換後の公平性変化率に応じたペアの重要度を表す。そして、重み計算部106は、ペア毎にスワップ変数を計算する。
【0049】
重み計算部106は、cijに基づき重みwijを算出する。重みwijは以下の式(8)で表わされる。すなわち、重みwijは、swapij × cijを引数とする確率分布に比例する。
【0050】
wij ∝ P (swapij × cij)・・・(8)
【0051】
重み計算部106は、例えば、シグモイド関数σを用いて重みwijを算出してもよい。すなわち、重み計算部106は、以下の式(9)により重みwijを算出してもよい。
【0052】
wij = σ (swapij× cij)・・・(9)
なお、σ(x)は引数xを[0,1]の範囲に変換する関数であり、変数を確率化する関数である。σ(x)は例えば、以下の式で表される。
【0053】
σ(x) = 1/(1+e-x)
重み計算部106は、swapと公平性評価関数の差とが反映された重みを算出する。
重み付き損失関数計算部107は、重み計算部106によって算出された重みwijを用いて、以下の式(10)で表す重み付き損失関数Lossを算出する。
【0054】
【0055】
上記の式(10)に示す損失関数においては、重みと精度損失とが掛け合わされている。
すなわち、重み付き損失関数計算部107は、予測ランキングの誤差(精度損失)を算出し、この誤差に重みを乗算した値を累積することで、重み付き損失関数Lossを計算する。
重み付き損失関数Loss(損失関数)は、訓練のステップ毎に機械学習モデルの出力に応じたデータの順位に基づいて算出される属性を基準とする公平性の値を累積的に処理して得られる累積公平性値を含む。
【0056】
モデルパラメータ計算部108は、重み付き損失関数作成部104(重み付き損失関数計算部107)が作成(算出)した重み付き損失関数Lossを用いて、予測スコア計算部103が用いる機械学習モデルの各パラメータを更新する。モデルパラメータ計算部108は、重み付き損失関数Lossを用いて勾配降下法により機械学習モデルの各パラメータを算出する。算出された各パラメータは、予測スコア計算部103が用いる機械学習モデルに反映される。
【0057】
上述した式(10)に示す損失関数においては、diffij<0である場合、すなわち、グループGiがグループGjよりも不利な扱いを受けている場合にcijが増加する。
【0058】
これにより、重みwijが増加し、Giのアイテムに関する損失が増加する。これにより、機械学習において、グループGiのアイテムがより上位となるように学習される。
一方、diffij>0である場合、すなわち、グループGiがグループGjよりも有利な扱いを受けている場合に、cijが減少する。
【0059】
これにより、重みwijが減少し、Giのアイテムに関する損失が減少する。これにより、機械学習において、グループGiのアイテムがより下位となるように学習される。
【0060】
このように、モデルパラメータ計算部108が重み付き損失関数Lossを用いて機械学習モデルのパラメータを更新することで、機械学習モデルが、より損失が大きいアイテムを上位に位置させようと学習するのである。
【0061】
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1における処理を、
図4に示すフローチャートに従って説明する。
予め、重み付き損失関数作成部104による初期化が実行され、例えば、訓練ステップt = 0,η=10,c
ij = 0がそれぞれ設定される。
【0062】
S1において、ペアデータ作成部101が、入力された2値の入力データを用いて、正例と負例とを組み合わせたペアデータを複数作成する。ペアデータ作成部101は、正例と負例との全ての組み合わせのペアデータを作成する。
【0063】
S2において、予測スコア計算部103は、ペアデータ作成部101によって作成されたペアデータ数が多く、ペアデータの数が所定の閾値以上ある場合に、所定数のペアデータを抽出する。なお、ペアデータの数が閾値未満である場合には、当該処理をスキップしてS3に移行してもよい。
S3において、予測スコア計算部103が、入力データの各例を機械学習モデルに入力して、ラベル{0,1}に対する予測スコアを算出する。
【0064】
S4において、ランキング生成部102が、予測スコア計算部103が算出した各例の予測スコアをソートすることで、例の予測スコアに関する降順リストを作成する。
S5において、累積公平性評価差計算部105が、ランキング生成部102によって設定された予測ランキングに基づき累積公平性評価差を算出する。
【0065】
累積公平性評価差計算部105は、累積公平性評価差を算出するに際して、グループペア毎の公平性評価差(diff)を計算する(S51)。そして、累積公平性評価差計算部105は、算出した公平性評価差(diff)をイテレーションにより累積させることで、累積公平性評価差を算出する(S52)。
【0066】
例えば、
図2に例示する予測ランキングにおいて、グループG
iの評価基準値E
Giが0.58(E
Gi ≒0.58)であり、グループG
jの評価基準値E
Gjが0.33(E
Gj ≒0.33)である場合に、グループペア(G
i,G
j)の公平性評価関数の差diff
ijが以下のように求められる。
【数9】
累積公平性評価差計算部105は、公平性評価関数の差diff
ijおよび上記の式(7)に基づいて、累積公平性評価差c
ij,c
jiを算出する。
【数10】
S6において、重み計算部106が、グループペア毎に重みを設定する。
【0067】
重み計算部106は、重みを算出するに際して、ペア毎にスワップ(swap)を計算し(S61)、この算出したスワップ(swap)と累積公平性評価差cijとの積に基づき重みwijを算出する(S62)。なお、重み計算部106は、正例と負例のペアだけを考慮することが望ましい。
【0068】
例えば、
図2に例示した予測ランキングにおいて、重みを算出する例を示す。以下に示す例において、添え字の数字1~4はランキング(順位)を表す。swap
12 = 0,swap
14 ≒ 0.3,swap
32 ≒ 0.1,swap
34= 0である。
w
ij = P (swap
ij× c
ij)により重みw
ijを算出可能であるが、本例においてはシグモイド関数σを用いた例を示す。
重み計算部106は、例えば、シグモイド関数σを用いて以下の式により重みw
ijを算出する。
wi
j = σ(swap
ij× c
ij)
【0069】
図2に例示した予測ランキングにおいて、算出された重みを以下に示す。
w
12 = σ(0 × 0) = 0.5
w
14 = σ{0.3 × (-2.5)} ≒ 0.32
w
32 = σ(0.1 × 2.5) ≒ 0.56
w
34 = σ(0 × 0) = 0.5
【0070】
S7において、重み付き損失関数計算部107が、重み付き損失関数を計算する。重み付き損失関数を算出するに際して、重み付き損失関数計算部107は、各予測ランキングの誤差(精度損失)を算出し(S71)、これらの誤差に対応する重みを乗算する(S72)。そして、重み付き損失関数計算部107は、誤差と重みの積を累積することで、重み付き損失関数Lossを計算する。
【0071】
予測ランキングの誤差は、例えば、以下の式で表される。
【数11】
【0072】
誤差の計算には既知の種々の手法を用いてもよい。本例においては、先ずσ(x)で確率化した後に、対数lnx = logexを計算する。対数を使うのは一般的な理由で勾配の計算を簡単にするためである。
重み付き損失関数計算部107は、上記の式(10)を用いて、重み付き損失関数を計算する。
Loss = 0.5 × 0.59 + 0.32 × 0.37 + 0.56 × 0.85 0.5×0.55
≒1.1
【0073】
その後、S8において、モデルパラメータ計算部108が、重み付き損失関数作成部104(重み付き損失関数計算部107)が作成(算出)した重み付き損失関数Lossを用いて、予測スコア計算部103が用いる機械学習モデルの各パラメータを算出する。
【0074】
S9において、モデルパラメータ計算部108は、算出した各パラメータを用いて、予測スコア計算部103が用いる機械学習モデルを更新する。その後、処理を終了する。
【0075】
(C)効果
このように、本発明の一実施形態としての情報処理装置1によれば、重み計算部106が、保護グループの正例と非保護グループの負例との順序を入れ替えた場合のスワップ変数を算出し、重み付き損失関数計算部107が、このスワップ変数を重みとして反映させた損失関数を算出する。この際、公平性制約を近似することなく直接用いて重み推定を行なう。
【0076】
そして、このように算出された損失関数を用いて機械学習モデルの各パラメータを更新する。これにより、データ数に依らず、グループの公平性を正確に検出することができる。
図5は実施形態の一例としての情報処理装置1による公平性評価値を従来手法と比べて示す図である。
【0077】
従来手法においては、損失関数(式(1)参照)における公平性制約に近似処理を行なうので、この近似処理による誤差が発生する。これにより、あるグループについて過剰(過少)に評価するなど,実際の評価値との剥離が生じる。
【0078】
これに対して、本情報処理装置1においては、損失関数において近似処理をすることなく、公平性評価値をそのまま重みとして用いる。そのため、機械学習モデルの訓練時とテスト評価とで公平性が大きく異なることがない。
図6は実施形態の一例としての情報処理装置1による公平性是正手法を、ペアを考慮しない手法と比べて示す図である。
【0079】
上述した式(1)に示した従来手法における損失関数において、近似処理を行なわずに、公平性制約を引数とするボルツマン分布に従う重みで損失に重み付けし、公平性是正処理を行なうことが考えられる。公平性制約の指数族に従う確率分布を重みとして用いる。
【0080】
しかしながら、このような手法においては、ペアを考慮しないので、訓練ステップの過程において損失が小さい場合に誤判断が生じ、誤差検出ができないまま機械学習モデルの訓練が終了する。
【0081】
これに対して、本情報処理装置1においては、重み計算部106がグループペア毎に重みを設定する。ペアの組み合わせによって重みの大きさが異なるので、訓練ステップの過程において順序に関する損失をより正確に検出することができ、誤差検出を行なうことができる。
【0082】
重み計算部106が、ペア(順序)毎にスワップ変数を考慮する重みを設定し、ペアの組み合わせによって重みを変動させることで、ペアを最適化することができる。
【0083】
また、本情報処理装置1においては、ペア(順序)を考慮する重みづけを行なうことにより、重みづけによるランキングの公平性是正を行なうことができる。ペア(順序)の不公平性を検出し是正することができる。
(D)その他
図7は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
【0084】
情報処理装置1は、コンピュータであって、例えば、プロセッサ11,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11~18は、バス19を介して相互に通信可能に構成される。
【0085】
プロセッサ(制御部)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種類以上の要素の組み合わせであってもよい。
【0086】
そして、プロセッサ11が制御プログラム(機械学習プログラム,:図示省略)を実行することにより、
図1に例示した、ペアデータ作成部101,ランキング生成部102,予測スコア計算部103,重み付き損失関数作成部104およびモデルパラメータ計算部108としての機能が実現される。
【0087】
なお、情報処理装置1は、例えばコンピュータ読み取り可能な非一時的な記録媒体に記録されたプログラム(機械学習プログラム,OSプログラム)を実行することにより、ペアデータ作成部101,ランキング生成部102,予測スコア計算部103,重み付き損失関数作成部104およびモデルパラメータ計算部108としての機能を実現する。
【0088】
情報処理装置1に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置1に実行させるプログラムを記憶装置13に格納しておくことができる。プロセッサ11は、記憶装置13内のプログラムの少なくとも一部をメモリ12にロードし、ロードしたプログラムを実行する。
【0089】
また、情報処理装置1(プロセッサ11)に実行させるプログラムを、光ディスク16a,メモリ装置17a,メモリカード17c等の非一時的な可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ11からの制御により、記憶装置13にインストールされた後、実行可能になる。また、プロセッサ11が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0090】
メモリ12は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ12のRAMは情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ11に実行させるプログラムの少なくとも一部が一時的に格納される。また、メモリ12には、プロセッサ11による処理に必要な各種データが格納される。
【0091】
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。
記憶装置13には、OSプログラム,制御プログラムおよび各種データが格納される。制御プログラムには機械学習プログラムが含まれる。
【0092】
なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。また、複数の記憶装置13を用いてRAID(Redundant Arrays of Inexpensive Disks)を構成してもよい。
【0093】
記憶装置13やメモリ12には、ペアデータ作成部101,ランキング生成部102,予測スコア計算部103,重み付き損失関数作成部104およびモデルパラメータ計算部108が生成した演算結果や、使用する各種データ等を格納してもよい。
【0094】
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ11からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
【0095】
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
【0096】
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD-RAM,CD-ROM(Compact Disc Read Only Memory),CD-R(Recordable)/RW(ReWritable)等が挙げられる。
【0097】
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
【0098】
ネットワークインタフェース18は、ネットワークに接続される。ネットワークインタフェース18は、ネットワークを介してデータの送受信を行なう。ネットワークには他の情報処理装置や通信機器等が接続されてもよい。
【0099】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【符号の説明】
【0100】
1 情報処理システム
10 コンピュータ
11 プロセッサ(制御部)
12 RAM
13 HDD
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
101 ペアデータ作成部
102 ランキング生成部
103 予測スコア計算部
104 重み付き損失関数作成部
105 累積公平性評価差計算部
106 重み計算部
107 重み付き損失関数計算部
108 モデルパラメータ計算部