(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024130409
(43)【公開日】2024-09-30
(54)【発明の名称】訓練データ生成プログラム、方法、及び装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240920BHJP
【FI】
G06N20/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023040098
(22)【出願日】2023-03-14
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】小林 賢司
(57)【要約】 (修正有)
【課題】訓練データの不均衡を是正するためのデータ修正処理を組み合わせて適用する場合に、過剰な公平化又は偏った公平化を抑制する訓練データ生成プログラム、訓練データ生成方法及び訓練データ生成装置を提供する。
【解決手段】訓練データ生成装置10において、制御部は、第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付ける受付部と、複数のデータ修正処理の組み合わせに基づいて、複数のデータ修正処理それぞれによって行われるデータの修正度合である公平化強度を決定する決定部と、公平化強度に基づいて、複数のデータ修正処理を第1の訓練データに順に適用して修正後の第2の訓練データを生成する生成部と、有する。
【選択図】
図10
【特許請求の範囲】
【請求項1】
第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付け、
前記複数のデータ修正処理の組み合わせに基づいて、前記複数のデータ修正処理それぞれによって行われるデータの修正度合を決定し、
前記修正度合に基づいて、前記複数のデータ修正処理を前記第1の訓練データに順に適用して修正後の第2の訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成プログラム。
【請求項2】
前記修正度合いを決定する処理は、前記第1の訓練データに適用する順番が後になるほど低下する前記データ修正処理の有効性と、前記データ修正処理毎に設定された、前記データ修正処理後に到達すべき修正度合いの進度とに基づいて、前記修正度合いを決定することを含む、
ことを特徴とする請求項1に記載の訓練データ生成プログラム。
【請求項3】
前記データ修正処理後に到達すべき修正度合いの進度は、前記データ修正処理毎の進度を足し合わせた場合に、最終的に到達すべき修正度合いとなるように設定される、
ことを特徴とする請求項2に記載の訓練データ生成プログラム。
【請求項4】
前記修正度合いを決定する処理は、前記進度を前記有効性で除算した値を前記修正度合いとして決定することを含む、
ことを特徴とする請求項2又は請求項3に記載の訓練データ生成プログラム。
【請求項5】
前記修正度合いを決定する処理は、前記データ修正処理の入力及び出力の各々の変数タイプが説明変数か目的変数かに応じて、前記データ修正処理後に到達すべき修正度合いの進度を設定することを含む、
ことを特徴とする請求項2又は請求項3に記載の訓練データ生成プログラム。
【請求項6】
前記修正度合いを決定する処理は、前段で適用するデータ修正処理の出力の変数タイプと、後段で適用するデータ修正処理の出力の変数タイプとが一致する場合、変数タイプが一致しない場合に比べて、前記後段で適用するデータ修正処理の前記進度を低下させることを含む、
ことを特徴とする請求項2又は請求項3に記載の訓練データ生成プログラム。
【請求項7】
前記修正度合いを決定する処理は、前段で適用するデータ修正処理の出力の変数タイプと、後段で適用するデータ修正処理の入力の変数タイプとが一致しない場合、変数タイプが一致する場合に比べて、前記後段で適用するデータ修正処理の前記進度を低下させることを含む、
ことを特徴とする請求項2又は請求項3に記載の訓練データ生成プログラム。
【請求項8】
前記第2の訓練データを用いて、機械学習モデルを訓練する、
ことをさらに含む処理を前記コンピュータに実行させることを特徴とする請求項1~請求項3のいずれか1項に記載の訓練データ生成プログラム。
【請求項9】
第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付け、
前記複数のデータ修正処理の組み合わせに基づいて、前記複数のデータ修正処理それぞれによって行われるデータの修正度合を決定し、
前記修正度合に基づいて、前記複数のデータ修正処理を前記第1の訓練データに順に適用して修正後の第2の訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成方法。
【請求項10】
第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付け、
前記複数のデータ修正処理の組み合わせに基づいて、前記複数のデータ修正処理それぞれによって行われるデータの修正度合を決定し、
前記修正度合に基づいて、前記複数のデータ修正処理を前記第1の訓練データに順に適用して修正後の第2の訓練データを生成する、
処理を実行する制御部を含むことを特徴とする訓練データ生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、訓練データ生成プログラム、訓練データ生成方法、及び訓練データ生成装置に関する。
【背景技術】
【0002】
機械学習モデルの訓練に用いられる訓練データにおいて、特定の性別、人種等の特定の社会的グループに対して、データ数や特定のラベルが不均衡になっている場合がある。そのような訓練データを用いて機械学習モデルを訓練すると、そのグループにとって、機械学習モデルによる予測の精度や正例率が低いといった不公平な予測が行われ易い。そこで、不利な予測をされ易いグループ、すなわちマイノリティグループに対して、訓練データの不均衡を改善し、精度や公平性を改善することが行われている。
【0003】
例えば、データの集合を複数のグループに分割し、該複数のグループのそれぞれについて、該グループに属するデータの数を取得し、該取得した数に基づいて、該複数のグループのそれぞれに属するデータの数を制御するデータ処理装置が提案されている。そして、この装置は、該制御により数が制御されたデータの集合を用いて学習器の学習を行う。
【0004】
また、例えば、オーダーを割振るための方法が提案されている。この方法は、予測モデルを取得し、ターゲットとするオーダー特徴、ターゲットとする要求者特徴、及びターゲットとする提供者特徴に基づいて予測モデルを使用してターゲットとする事象の発生確率を決定する。また、この方法は、アンダーサンプリング、オーバーサンプリング等のサンプル平衡化技術を使用してトレーニング・データに基づいてサンプル構成を平衡化する。
【0005】
また、例えば、多クラスの教師つき学習において用いられる教師データのデータ数をクラス毎に集計し、集計されたデータ数と所定の基準値との差に基づいて、教師データのデータ数をクラス毎に調整するサンプリング装置が提案されている。そして、この装置は、データ数が調整された教師データに基づいて判別モデルを生成する。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2021-047826号公報
【特許文献2】特表2020-531933号公報
【特許文献3】特開2010-204966号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
訓練データの不均衡を是正する手法には、データのラベルが属するクラス間の不均衡を是正する手法と、データを特定の属性で分類した場合のグループ間の不均衡を是正する手法とがある。訓練データ内にクラス間の不均衡とグループ間の不均衡とが混在している場合には、これらの手法を組み合わせて適用することが考えられる。しかし、これらの手法を単純に組み合わせた場合には、過剰な公平化が行われたり、偏った公平化が行われたりする場合がある。
【0008】
一つの側面として、開示の技術は、訓練データの不均衡を是正するためのデータ修正処理を組み合わせて適用する場合に、過剰な公平化又は偏った公平化を抑制することを目的とする。
【課題を解決するための手段】
【0009】
一つの態様として、開示の技術は、第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付ける。また、開示の技術は、前記複数のデータ修正処理の組み合わせに基づいて、前記複数のデータ修正処理それぞれによって行われるデータの修正度合を決定する。そして、開示の技術は、前記修正度合に基づいて、前記複数のデータ修正処理を前記第1の訓練データに順に適用して修正後の第2の訓練データを生成する。
【発明の効果】
【0010】
一つの側面として、訓練データの不均衡を是正するためのデータ修正処理を組み合わせて適用する場合に、過剰な公平化又は偏った公平化を抑制することができる、という効果を有する。
【図面の簡単な説明】
【0011】
【
図1】訓練データの不均衡を説明するための図である。
【
図2】データ修正処理の一例であるリラベリングを説明するための図である。
【
図3】データ修正処理の一例であるオーバーサンプリングを説明するための図である。
【
図4】オーバーサンプリングの問題点を説明するための図である。
【
図5】データ修正処理の手法を組み合わせる単純な方法を説明するための図である。
【
図6】データ修正処理の手法を組み合わせる単純な方法を説明するための図である。
【
図7】データ修正処理の手法を組み合わせる単純な方法を説明するための図である。
【
図10】第1実施形態に係る訓練データ生成装置の機能ブロック図である。
【
図11】複数の手法を組み合わせたデータ修正処理を説明するための図である。
【
図12】第1実施形態における公平化強度の決定方法の一例を説明するための図である。
【
図13】訓練データ生成装置として機能するコンピュータの概略構成を示すブロック図である。
【
図14】訓練データ生成処理の一例を示すフローチャートである。
【
図15】第2実施形態に係る訓練データ生成装置の機能ブロック図である。
【
図16】手法毎の入力及び出力に影響する変数タイプを説明するための図である。
【
図18】第2実施形態における公平化強度の決定方法の一例を説明するための図である。
【発明を実施するための形態】
【0012】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0013】
実施形態の詳細を説明する前に、訓練データの不均衡を是正するためのデータ修正処理を組み合わせて適用する意義及びその課題について説明する。
【0014】
図1に示すように、訓練データの不均衡には、データのラベルが属するクラス間の不均衡と、データを特定の属性で分類した場合のグループ間の不均衡とがある。
図1の例では、各丸印が1つのデータを表し、「+」は正例(例えば、「合格」)、「-」は負例(例えば、「不合格」)を表している。なお、正例とは、例えば、二値分類の目的変数に対応する属性がどちらか一方の値であるデータであり、これに対し、負例は、例えば、当該属性が他方の値であるデータである。また、白色の丸はマジョリティグループ(例えば、属性「性別」が「男性」)、網掛の丸はマイノリティグループ(例えば、属性「性別」が「女性」)を表している。また、
図1では、各データは、正例としての確からしさが高い順に右から、負例としての確からしさが高い順に左から並んでいる。すなわち、正例と負例との境界である決定境界に近い正例ほど正例としての確からしさが低く、決定境界に近い負例ほど負例としての確からしさが低い。データの表記方法は、以下の各図においても同様である。
【0015】
訓練データに不公平が生じるケースには、
図1に示すA、B、及びCに示す3つの類型がある。Aは、クラス間は均衡しているが、グループ間が不均衡な場合、すなわち、グループ間で正例と負例との割合は略等しいが、マイノリティグループのデータ数がマジョリティグループのデータ数に比べて少ない場合である。この場合、マイノリティグループのデータが少ないために学習不足を起こし、マイノリティグループとマジョリティグループとの間で、機械学習モデルの精度に不公平が生じる。Bは、グループ間は均衡しているが、クラス間が不均衡な場合、すなわち、各グループのデータ数は略等しいが、マイノリティグループの正例率がマジョリティグループの正例率に比べて少ない場合である。この場合、マイノリティグループにとって不利な特徴が多く訓練された機械学習モデルが生成されることになり、その機械学習モデルの予測結果におけるマジョリティグループとマイノリティグループとの正例率に不公平が生じる。Cは、グループ間及びクラス間の両方で不均衡が生じている場合である。この場合、上述した精度及び正例率の両面で不公平が生じる。
【0016】
クラスの割合、すなわち正例と負例との割合をグループ間で等しくするためのデータ修正処理の手法には、例えば、リラベリングという手法がある。リラベリングは、例えば、
図2に示すように、決定境界付近(
図2中の破線部)のマジョリティグループの正例及びマイノリティグループの負例のラベルを反転させることで、正例と負例との割合をグループ間で略等しくする手法である。
図2では、クラス間で不均衡であったデータが、リラベリングにより、両グループとも、正例:負例=4:6となる例を示している。ただし、リラベリングでは、
図1のAに示すように、正例と負例との割合は既に等しく、グループ間でデータ数に不均衡が生じている場合には対処不可である。
【0017】
グループ間でデータ数を等しくするためのデータ修正処理の手法には、例えば、オーバーサンプリングという手法がある。オーバーサンプリングは、例えば、
図3に示すように、グループとクラスとの組み合わせをクラスタとして、最も規模が大きいクラスタと規模が等しくなるように、他のクラスタのデータを生成する手法である。オーバーサンプリングでは、例えば、既存のデータにおいて近傍データの間をとるデータを生成する。
図3では、3個の正例データから3個の新たな正例データ(
図3中の太線の丸)を生成する例を示している。これにより、グループ間で正例も負例も規模が等しくなり、マイノリティグループに対して学習不足を起こさなくなる。ただし、オーバーサンプリングでは、
図4に示すように、少量の既存データから多量の新たなデータを生成する場合、似た特徴を有するデータが多量に生成されることになるため、過学習を起こし易くなる。
【0018】
上記のデータ修正処理は、訓練データの目的変数(クラス)に着目してデータを修正する手法であるが、説明変数を修正する手法もある。説明変数を修正する手法は、クラス間又はグループ間の不均衡を修正するものではないが、修正後の訓練データセットを用いて訓練した機械学習モデルは、均衡な予測ができるように改善可能である。説明変数を修正する手法には、例えば、リウェイングという手法がある。リウェイングは、不均衡なクラスタのデータほど高い値を持つような重み変数を各データに追加する手法である。これにより、小規模なクラスタでも、そこに属するデータは他のクラスタと同程度に訓練され、グループ間の不均衡を改善可能である。ただし、リウェイングでは、上記のオーバーサンプリングと同様に、クラス間の不均衡に対しては過学習を起こす場合がある。また、説明変数を修正する手法として、例えば、DIR(Disparate Impact Remover)という手法がある。DIRは、説明変数がグループ間で似た分布となるように値を書き換える手法であり、クラス間の不均衡を改善可能である。ただし、DIRでは、上記のリラベリングと同様に、グループ間の不均衡を改善することはできない。
【0019】
このように、訓練データセットにおいて、クラス又はグループのどちらかが不均衡な場合、適切な手法を選択してデータ修正処理を行う必要がある。また、クラス及びグループの両方が不均衡な場合、単一の手法を適用しただけでは訓練データセットの不均衡を適切に改善することができない。なお、クラス及びグループの両方が不均衡の場合とは、「あるグループが両方とも不均衡」の場合と、「あるグループはクラス間で不均衡、あるグループはグループ間で不均衡」の場合を含む。
【0020】
上記の問題を解決するために、データ修正処理の複数の手法を組み合わせることが考えられる。例えば、
図5に示すように、破線部のデータに対してリラベリングを適用したうえで、オーバーサンプリングを適用する場合が考えられる。しかし、リラベリングとオーバーサンプリングとを単純に組み合わせてデータを修正した場合、ラベルとは反対の特徴を持つデータが多く生成されることになる。例えば、
図5では、ラベルは正例であるが、負例の特徴を持つデータが多く生成される。特に、決定境界から遠いデータ(
図5中段の図中の太線の丸)は、負例の特徴が強いデータであるが、これらのデータを使って正例データを拡張している。負例の特徴が強いデータを正例として訓練された機械学習モデルは、精度低下や公平性低下、特に逆差別を引き起こす可能性が高まる。なお、逆差別とは、マイノリティグループの方がむしろ優遇されてしまう状態であり、
図5の例では、マイノリティグループのデータの場合、負例として強い特徴を持つデータでも正例として予測される。
【0021】
また、例えば、
図6に示すように、オーバーサンプリングを適用したうえで、リラベリングを適用する場合が考えられる。しかし、この場合、リラベリングを適用する段階では、既にクラス間は均衡しているため、リラベリングによるデータ修正は機能しない。また、例えば、
図7に示すように、リウェイングを適用したうえで、リラベリングを適用する場合が考えられる。リウェイングは説明変数を修正する手法であり、
図7の中段の図では、データのクラスは特に修正されていないが、破線部のデータの説明変数の値を修正することで、説明変数の分布が均衡しており、クラス間の公平性が満たされた状態になっている。このように、リウェイングによりクラス間の公平性は満たされている状態で、リラベリングにより、説明変数に加えて目的変数であるクラスも公平にする場合、過剰な公平化を行うことになる。
【0022】
上記のように、データ修正処理の手法を単純に組み合わせるだけでは、組み合わせ効果が過剰に作用する場合や、前段の手法の効果が支配的に作用する場合があり、いずれの場合も、機械学習モデルの予測精度及び予測結果の公平性を低下させる場合がある。そこで、以下の各実施形態では、訓練データセットに対して複数のデータ修正処理を順次適用する場合のデータ修正処理の各手法について、公平化強度及び公平化進行度という概念を導入し、組み合わせによる過剰な公平化や、特定の手法に偏った公平化を抑制する。これにより、各実施形態では、各手法によるデータ修正処理の効果を適切に得られるようにする。
【0023】
公平化強度とは、1つのデータ修正処理でどの程度の公平化を行うかを示す指標である。具体的には、該当の手法によるデータ処理でクラス間又はグループ間を完全に均衡させた場合を100%とし、これを基準として何パーセントの公平化が行われたかを公平化強度とする。例えば、リラベリングの場合、
図8に示すように、クラス間を完全に均衡させるには、マジョリティグループの正例データ4つ、及びマイノリティグループの負例データ4つのラベルを反転させる必要があるとする。ラベル反転後の状態を、公平化強度=100%とする。この場合、例えば、マジョリティグループの正例データ2つ、及びマイノリティグループの負例データ2つのラベルを反転させる場合は、公平化強度=50%である。また、例えば、マジョリティグループの正例データ1つ、及びマイノリティグループの負例データ1つのラベルを反転させる場合は、公平化強度=25%である。
【0024】
公平化進行度とは、各手法の効果を測る指標である。公平化進行度は、複数の手法を適用することで増えていき、0%が初期状態、100%が最も公平な状態とする。また、各手法により得られる公平化進行度を進行度差分とする。すなわち、適用済みの手法の進行度差分の合計が、その段階での公平化進行度となる。1つ目の手法については、その手法の公平化強度=進行度差分となる。2つ目以降の手法については、残りの公平化進行度(1-公平化進行度)×公平化強度=進行度差分となる。いずれかの手法で公平化強度100%を適用した段階で、公平化進行度も100%となり、それ以降、公平化進行度は増えない。
【0025】
図9に、1つ目の手法としてリラベリングを適用し、2つ目の手法としてオーバーサンプリングを適用する場合の例を示す。初期状態では、公平化進行度=0%である。リラベリングを公平化強度=100%で適用した場合、リラベリングの進行度差分は100%であり、この段階での公平化進行度も100%となる。したがって、その後にオーバーサンプリングを公平化強度=100%で適用したとしても、公平化進行度は既に100%に達しているため、進行度差分は0%である。すなわち、オーバーサンプリングの効果はないことになる。一方、リラベリングを公平化強度=50%で適用した場合、リラベリングの進行度差分は50%であり、この段階での公平化進行度も50%となる。次に、オーバーサンプリングを公平化強度=100%で適用した場合、公平化進行度は100%に達し、オーバーサンプリングの進行度差分は50%となる。なお、
図9において、公平化進行度の後にかっこ書きで付したパーセンテージは、各手法の進行度差分である。
【0026】
したがって、最終的に達成したい公平化進行度に対して、各手法の進行度差分が適切な割合となるよう各手法の公平化強度を決定することで、各手法の効果を適切に得ることができる。本実施形態では、上記の考えに基づいて、各手法の公平化強度を決定する。以下、各実施形態に係る訓練データ生成装置について詳述する。
【0027】
<第1実施形態>
図10に示すように、第1実施形態に係る訓練データ生成装置10は、機能的には、制御部12を含む。制御部12はさらに、受付部14と、決定部16と、生成部18と、機械学習部20とを含む。また、訓練データ生成装置10の所定の記憶領域には、訓練データDB(Database)32が記憶される。
【0028】
受付部14は、第1の訓練データセットを受け付ける。第1の訓練データセットは、複数の属性の値を含む第1の訓練データの集合であり、公平化進行度が0%の訓練データセットである。複数の属性は、複数のクラスのいずれかを表す目的変数、及び説明変数を含む。説明変数は、性別、国籍等の差別的な扱いを受ける対象となり得るセンシティブ属性と、それ以外の非センシティブ属性とを含む。
【0029】
また、受付部14は、第1の訓練データに順に適用する複数のデータ修正処理の手法の指定を受け付ける。第1の訓練データセットにデータ修正処理Aを適用して第2の訓練データセットを生成する場合、
図11に示すように、Aは、[A
1,A
2,・・・,A
α]と表される。A
i(i=1,2,・・・,α)は、第1の訓練データセットに適用する各手法を表し、iは第1の訓練データに各手法を適用する順番、α(α>1)は手法の数を表す。
【0030】
決定部16は、複数のデータ修正処理の組み合わせに基づいて、複数のデータ修正処理それぞれによって行われるデータの修正度合、すなわち各手法の公平化強度を決定する。具体的には、決定部16は、各手法の進行度差分を足し合わせた場合に、最終的に到達すべき公平化進行度となるように、各手法の進行度差分を設定する。例えば、決定部16は、適用する手法が3つ(α=3)で、最終的な公平化進行度を100%とし、各手法の進行度差分を均等とする場合、
図12に示すように、各手法(A
1、A
2、及びA
3)の進行度差分を、それぞれ1/3に設定する。なお、各手法の進行度差分は均等にする場合に限らず、手法による影響力を考慮して、それぞれ異なる値を設定してもよい。また、最終的な公平化進行度も100%にする場合に限らない。例えば、公平化進行度を80%とし、手法A
1、A
2、及びA
3の影響力をそれぞれ50%、25%、25%としたいとする。この場合、決定部16は、手法A
1、A
2、及びA
3の進行度差分をそれぞれ40%、20%、20%と設定してもよい。
【0031】
各データ修正処理は、後段の手法ほどその効果が得られ難くなる。そこで、決定部16は、第1の訓練データセットに適用する順番が後になるほど低下する、データ修正処理の有効性を各手法について算出する。例えば、決定部16は、
図12に示すように、(1-該当の手法より前の手法の進行度差分の和)を、各手法の有効性として算出する。そして、決定部16は、有効性が低いほど、強度を強めることで影響力を大きくするように、各手法の公平化強度を決定する。例えば、決定部16は、
図12に示すように、各手法の進行度差分を有効性で除算した値を、各手法の公平化強度として決定する。
【0032】
生成部18は、決定部16で決定された各手法の公平化強度に基づいて、各手法によるデータ修正処理を第1の訓練データに順に適用して、修正後の第2の訓練データを生成する。生成部18は、第2の訓練データの集合である第2の訓練データセットを訓練データDB32に記憶する。
【0033】
機械学習部20は、訓練データDB32に記憶された第2の訓練データセットを用いて、機械学習モデルを訓練する。
【0034】
第1実施形態に係る訓練データ生成装置10は、例えば
図13に示すコンピュータ40で実現されてよい。コンピュータ40は、CPU(Central Processing Unit)41と、GPU(Graphics Processing Unit)42と、一時記憶領域としてのメモリ43と、不揮発性の記憶装置44とを備える。また、コンピュータ40は、入力装置、表示装置等の入出力装置45と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)装置46とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)47を備える。CPU41、GPU42、メモリ43、記憶装置44、入出力装置45、R/W装置46、及び通信I/F47は、バス48を介して互いに接続される。
【0035】
記憶装置44は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等である。記憶媒体としての記憶装置44には、コンピュータ40を、訓練データ生成装置10として機能させるための訓練データ生成プログラム50が記憶される。訓練データ生成プログラム50は、受付プロセス制御命令54と、決定プロセス制御命令56と、生成プロセス制御命令58と、機械学習プロセス制御命令60とを有する。また、記憶装置44は、訓練データDB32を構成する情報が記憶される情報記憶領域70を有する。
【0036】
CPU41は、訓練データ生成プログラム50を記憶装置44から読み出してメモリ43に展開し、訓練データ生成プログラム50が有する制御命令を順次実行する。CPU41は、受付プロセス制御命令54を実行することで、
図10に示す受付部14として動作する。また、CPU41は、決定プロセス制御命令56を実行することで、
図10に示す決定部16として動作する。また、CPU41は、生成プロセス制御命令58を実行することで、
図10に示す生成部18として動作する。また、CPU41は、機械学習プロセス制御命令60を実行することで、
図10に示す機械学習部20として動作する。また、CPU41は、情報記憶領域70から情報を読み出して、訓練データDB32をメモリ43に展開する。これにより、訓練データ生成プログラム50を実行したコンピュータ40が、訓練データ生成装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。また、プログラムの一部は、GPU42により実行されてもよい。
【0037】
なお、訓練データ生成プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等で実現されてもよい。
【0038】
次に、第1実施形態に係る訓練データ生成装置10の動作について説明する。訓練データ生成装置10に第1の訓練データセットが入力され、第2の訓練データセットの生成及び機械学習モデルの訓練が指示されると、訓練データ生成装置10において、
図14に示す訓練データ生成処理が実行される。なお、訓練データ生成処理は、開示の技術の訓練データ生成方法の一例である。
【0039】
ステップS10で、受付部14が、訓練データ生成装置10に入力された第1の訓練データセットを受け付ける。次に、ステップS12で、受付部14が、第1の訓練データに順に適用する複数のデータ修正処理の手法の指定を受け付ける。次に、ステップS14で、決定部16が、各手法の進行度差分を足し合わせた場合に、最終的に到達すべき公平化進行度となるように、各手法の進行度差分を設定する。次に、ステップS16で、決定部16が、第1の訓練データセットに適用する順番が後になるほど低下する、データ修正処理の有効性を各手法について算出する。次に、ステップS18で、決定部16が、有効性が低いほど、強度を強めることで影響力を大きくするように、進行度差分及び有効性に基づいて、各手法の公平化強度を決定する。
【0040】
次に、ステップS20で、生成部18が、上記ステップS18で決定された各手法の公平化強度に基づいて、各手法によるデータ修正処理を第1の訓練データに順に適用して、修正後の第2の訓練データを生成し、訓練データDB32に記憶する。次に、ステップS22で、機械学習部20が、訓練データDB32に記憶された第2の訓練データセットを用いて、機械学習モデルを訓練し、訓練データ生成処理は終了する。
【0041】
以上説明したように、第1実施形態に係る訓練データ生成装置は、第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付ける。また、訓練データ生成装置は、複数のデータ修正処理の組み合わせに基づいて、複数のデータ修正処理それぞれによって行われるデータの修正度合を決定する。そして、訓練データ生成装置は、修正度合に基づいて、複数のデータ修正処理を第1の訓練データに順に適用して修正後の第2の訓練データを生成する。これにより、訓練データの不均衡を是正するためのデータ修正処理を組み合わせて適用する場合に、過剰な公平化又は偏った公平化を抑制することができる。したがって、各手法による効果が適切に得られるようにデータ修正処理が行われた第2の訓練データが生成される。このように生成された第2の訓練データセットを用いて機械学習モデルを訓練することで、機械学習モデルの精度低下及び不公平化を抑制することができる。
【0042】
<第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態に係る訓練データ生成装置において、第1実施形態に係る訓練データ生成装置10と同様の構成については、同一符号を付して、詳細な説明を省略する。
【0043】
図15に示すように、第2実施形態に係る訓練データ生成装置210は、機能的には、制御部212を含む。制御部212はさらに、受付部14と、決定部216と、生成部18と、機械学習部20とを含む。また、訓練データ生成装置210の所定の記憶領域には、変数タイプDB234と、訓練データDB32とが記憶される。
【0044】
ここで、公平化の手法において、説明変数及び目的変数のどの変数タイプを修正するかは手法によって異なるが、どの変数タイプを入力するかも手法によって異なる。なお、変数タイプとは、説明変数か目的変数かを指す。例えば、
図16に示すように、リラベリングは、説明変数及び目的変数の両方を入力し、目的変数のみを公平化して出力する。後段の手法において、前段の出力と同じ変数タイプを出力に使用すると、後段の手法の効果は低下する。例えば、前段でオーバーサンプリングを行い、後段でリラベリングを行うとする。この場合、オーバーサンプリングの出力は説明変数及び目的変数であり、リラベリングの出力は目的変数である。したがって、後段のリラベリングでは、既に公平化した目的変数を公平化しようとするため、その効果は低下する。一方、前段と後段とで異なる変数タイプを出力に使用すると、後段の手法の効果は低下しない。例えば、前段でDIRを行い、後段でリラベリングを行うとする。この場合、前段のDIRでは説明変数を出力し、後段のリラベリングでは、まだ不均衡な目的変数を公平化するため十分効果を得られる。
【0045】
また、前段の手法により使われた出力変数タイプが、後段の手法の入力変数タイプとなる場合には、データ修正処理の有効性がより高まる。例えば、1段目の手法の出力変数タイプが説明変数の場合に、2段目以降の手法の入力変数タイプが説明変数の場合である。前段の手法の出力変数タイプが後段の手法の入力変数タイプとして使用されない場合には、一度修正した変数タイプの内容が利用されず、修正効果が減少、又はなくなる可能性があるからである。したがって、各手法の入力及び出力の変数タイプに応じて、公平化進行度及び進行度差分を設定することが望ましい。
【0046】
そこで、第2実施形態では、
図17に示すように、変数タイプDB234に、入力変数タイプ及び出力変数タイプが説明変数であるか目的変数であるかを手法毎に記憶しておく。
【0047】
決定部216は、変数タイプDB234に基づいて、各手法の入力変数タイプ及び出力変数タイプが説明変数か目的変数かに応じて、各手法の公平化進度を設定する。例えば、決定部216は、前段の手法の出力変数タイプと、後段の手法の出力変数タイプとが一致する場合には、変数タイプが一致しない場合に比べて、後段の手法の進行度差分を低下させる(パターン1)。また、例えば、決定部216は、前段の手法の出力変数タイプと、後段の手法の入力変数タイプとが一致しない場合には、変数タイプが一致する場合に比べて、後段の手法の進行度差分を低下させる(パターン2)。
【0048】
図18に、上記パターン1の場合の公平化強度の決定方法の一例を示す。
図18の例では、決定部216は、進行度差分を全手法で均等に割り当てると共に、変数タイプ毎に、出力がその変数タイプに影響する手法の進行度差分を0に設定した例である。進行度差分を0に設定することは、進行度差分を低下させることの一例である。
図17の変数タイプDB234の例を用いると、例えば、手法A
1の出力変数タイプは説明変数である。すなわち、手法A
1の出力は、説明変数に影響し、目的変数には影響しない。したがって、決定部216は、手法A
1の説明変数についての進行度差分を1/4、目的変数についての進行度差分を0に設定する。
【0049】
決定部216は、
図18に示すように、各手法によるデータ修正処理の有効性についても変数タイプ毎に算出する。そして、決定部216は、変数タイプ毎の進行度差分及び有効性に基づいて、各手法の公平化強度を決定する。例えば、決定部216は、各変数タイプについての公平化強度を算出し、これを足し合わせた値を最終的な公平化強度として決定する。
【0050】
第2実施形態に係る訓練データ生成装置210は、例えば
図13に示すコンピュータ40で実現されてよい。コンピュータ40の記憶装置44には、コンピュータ40を、訓練データ生成装置210として機能させるための訓練データ生成プログラム250が記憶される。訓練データ生成プログラム250は、受付プロセス制御命令54と、決定プロセス制御命令256と、生成プロセス制御命令58と、機械学習プロセス制御命令60とを有する。また、記憶装置44は、訓練データDB32を構成する情報が記憶される情報記憶領域70を有する。
【0051】
CPU41は、訓練データ生成プログラム250を記憶装置44から読み出してメモリ43に展開し、訓練データ生成プログラム50が有する制御命令を順次実行する。CPU41は、決定プロセス制御命令256を実行することで、
図15に示す決定部216として動作する。他の制御命令については、第1実施形態に係る訓練データ生成プログラム50と同様である。これにより、訓練データ生成プログラム250を実行したコンピュータ40が、訓練データ生成装置210として機能することになる。
【0052】
なお、訓練データ生成プログラム250により実現される機能は、例えば半導体集積回路、より詳しくはASIC、FPGA等で実現されてもよい。
【0053】
第2実施形態に係る訓練データ生成装置210の動作について説明する。第2実施形態においても、訓練データ生成装置210が、
図14に示す訓練データ生成処理を実行する。なお、第2実施形態では、S14~S18の処理において、変数タイプDB234を参照した処理が実行される点が第1実施形態の訓練データ生成処理と異なる。
【0054】
以上説明したように、第2実施形態に係る訓練データ生成装置は、適用する手法の入力及び出力に影響する変数タイプに応じて、各手法の進行度差分を設定する。これにより、より効果的な各手法の公平化強度を決定することができる。
【0055】
なお、上記各実施形態では、訓練データ生成プログラムが記憶装置に予め記憶(インストール)されているが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。
【0056】
以上の各実施形態に関し、さらに以下の付記を開示する。
【0057】
(付記1)
第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付け、
前記複数のデータ修正処理の組み合わせに基づいて、前記複数のデータ修正処理それぞれによって行われるデータの修正度合を決定し、
前記修正度合に基づいて、前記複数のデータ修正処理を前記第1の訓練データに順に適用して修正後の第2の訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成プログラム。
【0058】
(付記2)
前記修正度合いを決定する処理は、前記第1の訓練データに適用する順番が後になるほど低下する前記データ修正処理の有効性と、前記データ修正処理毎に設定された、前記データ修正処理後に到達すべき修正度合いの進度とに基づいて、前記修正度合いを決定することを含む、
ことを特徴とする付記1に記載の訓練データ生成プログラム。
【0059】
(付記3)
前記データ修正処理後に到達すべき修正度合いの進度は、前記データ修正処理毎の進度を足し合わせた場合に、最終的に到達すべき修正度合いとなるように設定される、
ことを特徴とする付記2に記載の訓練データ生成プログラム。
【0060】
(付記4)
前記修正度合いを決定する処理は、前記進度を前記有効性で除算した値を前記修正度合いとして決定することを含む、
ことを特徴とする付記2又は付記3に記載の訓練データ生成プログラム。
【0061】
(付記5)
前記修正度合いを決定する処理は、前記データ修正処理の入力及び出力の各々の変数タイプが説明変数か目的変数かに応じて、前記データ修正処理後に到達すべき修正度合いの進度を設定することを含む、
ことを特徴とする付記2~付記4のいずれか1項に記載の訓練データ生成プログラム。
【0062】
(付記6)
前記修正度合いを決定する処理は、前段で適用するデータ修正処理の出力の変数タイプと、後段で適用するデータ修正処理の出力の変数タイプとが一致する場合、変数タイプが一致しない場合に比べて、前記後段で適用するデータ修正処理の前記進度を低下させることを含む、
ことを特徴とする付記2~付記5のいずれか1項に記載の訓練データ生成プログラム。
【0063】
(付記7)
前記修正度合いを決定する処理は、前段で適用するデータ修正処理の出力の変数タイプと、後段で適用するデータ修正処理の入力の変数タイプとが一致しない場合、変数タイプが一致する場合に比べて、前記後段で適用するデータ修正処理の前記進度を低下させることを含む、
ことを特徴とする付記2~付記5のいずれか1項に記載の訓練データ生成プログラム。
【0064】
(付記8)
前記第2の訓練データを用いて、機械学習モデルを訓練する、
ことをさらに含む処理を前記コンピュータに実行させることを特徴とする付記1~付記7のいずれか1項に記載の訓練データ生成プログラム。
【0065】
(付記9)
第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付け、
前記複数のデータ修正処理の組み合わせに基づいて、前記複数のデータ修正処理それぞれによって行われるデータの修正度合を決定し、
前記修正度合に基づいて、前記複数のデータ修正処理を前記第1の訓練データに順に適用して修正後の第2の訓練データを生成する、
処理をコンピュータに実行させることを特徴とする訓練データ生成方法。
【0066】
(付記10)
前記修正度合いを決定する処理は、前記第1の訓練データに適用する順番が後になるほど低下する前記データ修正処理の有効性と、前記データ修正処理毎に設定された、前記データ修正処理後に到達すべき修正度合いの進度とに基づいて、前記修正度合いを決定することを含む、
ことを特徴とする付記9に記載の訓練データ生成方法。
【0067】
(付記11)
前記データ修正処理後に到達すべき修正度合いの進度は、前記データ修正処理毎の進度を足し合わせた場合に、最終的に到達すべき修正度合いとなるように設定される、
ことを特徴とする付記10に記載の訓練データ生成方法。
【0068】
(付記12)
前記修正度合いを決定する処理は、前記進度を前記有効性で除算した値を前記修正度合いとして決定することを含む、
ことを特徴とする付記10又は付記11に記載の訓練データ生成方法。
【0069】
(付記13)
前記修正度合いを決定する処理は、前記データ修正処理の入力及び出力の各々の変数タイプが説明変数か目的変数かに応じて、前記データ修正処理後に到達すべき修正度合いの進度を設定することを含む、
ことを特徴とする付記10~付記12のいずれか1項に記載の訓練データ生成方法。
【0070】
(付記14)
前記修正度合いを決定する処理は、前段で適用するデータ修正処理の出力の変数タイプと、後段で適用するデータ修正処理の出力の変数タイプとが一致する場合、変数タイプが一致しない場合に比べて、前記後段で適用するデータ修正処理の前記進度を低下させることを含む、
ことを特徴とする付記10~付記13のいずれか1項に記載の訓練データ生成方法。
【0071】
(付記15)
前記修正度合いを決定する処理は、前段で適用するデータ修正処理の出力の変数タイプと、後段で適用するデータ修正処理の入力の変数タイプとが一致しない場合、変数タイプが一致する場合に比べて、前記後段で適用するデータ修正処理の前記進度を低下させることを含む、
ことを特徴とする付記10~付記13のいずれか1項に記載の訓練データ生成方法。
【0072】
(付記16)
前記第2の訓練データを用いて、機械学習モデルを訓練する、
ことをさらに含む処理を前記コンピュータに実行させることを特徴とする付記9~付記15のいずれか1項に記載の訓練データ生成方法。
【0073】
(付記17)
第1の訓練データに順に適用する複数のデータ修正処理の指定を受け付け、
前記複数のデータ修正処理の組み合わせに基づいて、前記複数のデータ修正処理それぞれによって行われるデータの修正度合を決定し、
前記修正度合に基づいて、前記複数のデータ修正処理を前記第1の訓練データに順に適用して修正後の第2の訓練データを生成する、
処理を実行する制御部を含むことを特徴とする訓練データ生成装置。
【0074】
(付記18)
前記修正度合いを決定する処理は、前記第1の訓練データに適用する順番が後になるほど低下する前記データ修正処理の有効性と、前記データ修正処理毎に設定された、前記データ修正処理後に到達すべき修正度合いの進度とに基づいて、前記修正度合いを決定することを含む、
ことを特徴とする付記17に記載の訓練データ生成装置。
【0075】
(付記19)
前記データ修正処理後に到達すべき修正度合いの進度は、前記データ修正処理毎の進度を足し合わせた場合に、最終的に到達すべき修正度合いとなるように設定される、
ことを特徴とする付記18に記載の訓練データ生成装置。
【0076】
(付記20)
前記修正度合いを決定する処理は、前記進度を前記有効性で除算した値を前記修正度合いとして決定することを含む、
ことを特徴とする付記18又は付記19に記載の訓練データ生成装置。
【符号の説明】
【0077】
10、210 訓練データ生成装置
12、212 制御部
14 受付部
16、216 決定部
18 生成部
20 機械学習部
32 訓練データDB
234 変数タイプDB
40 コンピュータ
41 CPU
42 GPU
43 メモリ
44 記憶装置
45 入出力装置
46 R/W装置
47 通信I/F
48 バス
49 記憶媒体
50、250 訓練データ生成プログラム
54 受付プロセス制御命令
56、256 決定プロセス制御命令
58 生成プロセス制御命令
60 機械学習プロセス制御命令
70 情報記憶領域