IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

<>
  • 特開-プログラム,方法および装置 図1
  • 特開-プログラム,方法および装置 図2
  • 特開-プログラム,方法および装置 図3
  • 特開-プログラム,方法および装置 図4
  • 特開-プログラム,方法および装置 図5
  • 特開-プログラム,方法および装置 図6
  • 特開-プログラム,方法および装置 図7
  • 特開-プログラム,方法および装置 図8
  • 特開-プログラム,方法および装置 図9
  • 特開-プログラム,方法および装置 図10
  • 特開-プログラム,方法および装置 図11
  • 特開-プログラム,方法および装置 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024029813
(43)【公開日】2024-03-07
(54)【発明の名称】プログラム,方法および装置
(51)【国際特許分類】
   G06Q 10/04 20230101AFI20240229BHJP
【FI】
G06Q10/04
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022132206
(22)【出願日】2022-08-23
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100092978
【弁理士】
【氏名又は名称】真田 有
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】横田 拓也
(72)【発明者】
【氏名】中尾 悠里
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA04
(57)【要約】
【課題】機械学習モデルの選択に際して、少数派の評価も反映させた選択を行なうことができるようにする。
【解決手段】複数の機械学習モデルそれぞれの複数の性能値と複数の評価結果とに基づいて、複数の評価結果の個々の結果に対応する関数を含み複数の評価結果の一又は複数のグループのグループごとに生成された関数の最適化処理を実行することにより、一又は複数のグループのグループごとの複数の機械学習モデルのそれぞれに対する評価値を算出し、評価値に基づいて、複数の機械学習モデルから第1の機械学習モデルを選択する。
【選択図】図1
【特許請求の範囲】
【請求項1】
複数の機械学習モデルそれぞれに対する評価を順番で示した複数の評価結果を取得し、
前記複数の機械学習モデルそれぞれの複数の性能値と前記複数の評価結果とに基づいて、前記複数の評価結果の個々の結果に対応する関数を含み前記複数の評価結果の一又は複数のグループのグループごとに生成された関数の最適化処理を実行することにより、前記一又は複数のグループのグループごとの前記複数の機械学習モデルのそれぞれに対する評価値を算出し、
前記評価値に基づいて、前記複数の機械学習モデルから第1の機械学習モデルを選択する、
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項2】
前記複数の評価結果の個々の結果に対応する関数は、前記評価結果の対数尤度関数を含む
ことを特徴とする請求項1に記載のプログラム。
【請求項3】
前記関数の最適化処理は、最尤推定法により前記関数のパラメータを算出する処理を含む
ことを特徴とする請求項1または2に記載のプログラム。
【請求項4】
前記評価値は、前記評価に関する選好度を表す効用値を含む
ことを特徴とする請求項1または2に記載のプログラム。
【請求項5】
複数の機械学習モデルそれぞれに対する評価を順番で示した複数の評価結果を取得し、
前記複数の機械学習モデルそれぞれの複数の性能値と前記複数の評価結果とに基づいて、前記複数の評価結果の個々の結果に対応する関数を含み前記複数の評価結果の一又は複数のグループのグループごとに生成された関数の最適化処理を実行することにより、前記一又は複数のグループのグループごとの前記複数の機械学習モデルのそれぞれに対する評価値を算出し、
前記評価値に基づいて、前記複数の機械学習モデルから第1の機械学習モデルを選択する、
処理を制御部が実行することを特徴とする方法。
【請求項6】
複数の機械学習モデルそれぞれに対する評価を順番で示した複数の評価結果を取得し、
前記複数の機械学習モデルそれぞれの複数の性能値と前記複数の評価結果とに基づいて、前記複数の評価結果の個々の結果に対応する関数を含み前記複数の評価結果の一又は複数のグループのグループごとに生成された関数の最適化処理を実行することにより、前記一又は複数のグループのグループごとの前記複数の機械学習モデルのそれぞれに対する評価値を算出し、
前記評価値に基づいて、前記複数の機械学習モデルから第1の機械学習モデルを選択する、
処理を実行する制御部を含むことを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム,方法および装置に関する。
【背景技術】
【0002】
ローン審査やがん診断のような、人々の意思決定を支援するシステムにおいて、機械学習技術を適用することで人手による労力や判断の労力を軽減できる。その一方で、人種や性別、障がいの有無等で出力結果にバイアスが生じるという問題を引き起こす場合がある。
【0003】
このとき、機械学習モデル(以下、単にモデルといってよい)を調整することでバイアスを軽減することができる。しかし、単にモデルの調整を行なうと、予測精度が低下する等、そのシステムの意思決定に関わる利害関係者に影響を与えてしまうおそれがある。
【0004】
ここでいう利害関係者とは、例えば、ローン審査の支援システムにおいては、銀行員,ローン申請者および人権団体等である。利害関係者には複数の個人が含まれる。
【0005】
すべての利害関係者にとって最適なモデルを1つ定めるモデルの決定プロセスに、利害関係者が参加することで、利害関係者それぞれの利益を守りながらモデルのバイアスを軽減することができる。
【0006】
モデルの決定プロセスとして、利害関係者がワークショップ等を通じて直接話し合うことが望ましい。しかし、毎回すべての利害関係者を集めて話し合うことは現実的ではない。
【0007】
また、話し合いに代わる決定プロセスとして、多数決投票によって決める方法がある。しかし、多数決投票では死票が生じるため、少数の利害関係者(例えば、人種マイノリティや性的マイノリティ,障がい者)の意見が排除されることなり、すべての利害関係者の意見が反映されることにはならない。
【0008】
従って、直接の話し合いや多数決投票以外の方法で、すべての利害関係者の意見を尊重する決定プロセス、すなわち、少数の利害関係者の意見も排除されないモデルの決定プロセスが求められる。
【0009】
システムに採用するモデルを決定する手法として、ランキング投票が知られている。ランキング投票は、利害関係者それぞれの個人のモデル選好をランキング形式で収集する方法である。
【0010】
ランキング投票においては、例えば、利害関係者のそれぞれに投票候補の複数のモデル(例えば、A,B,C)の性能特徴をカタログで見せ、各利害関係者に、これらのモデルA,B,Cのどれがいいかを投票してもらう。この際、A>B>Cのようなランキングを付けて投票してもらう。ランキング投票は、多数決投票よりも死票が減らせるため、少数意見を汲み取れる投票方法といえる。
【0011】
また、このようなランキング投票結果の集計方法としてボルダ得点法が知られている。ボルダ得点法は、ランキングの順位に対応した特定の点数を投票候補に与えることによって、投票候補毎の得点を集計し、最も得点の高い投票候補を勝者とする。
【0012】
例えば、利害関係者の各個人が設定したランキングに対して、1位の選択肢に3点,2位の選択肢に2点、3位の選択肢に1点を与え、全利害関係者のランキングについての得点を集計して、最多得点を得たモデルを採用するモデルとして決定する。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】米国特許出願公開第2018/0095936号明細書
【特許文献2】特開2016-181196号公報
【特許文献3】特表2016―537716号公報
【特許文献4】米国特許出願公開第2010/0312650号明細書
【発明の概要】
【発明が解決しようとする課題】
【0014】
機械学習モデルに対する評価は利害関係者のグループ毎に意見が分かれる場合がある。グループ毎に機械学習モデルを単純にランク付けしても、グループ内の少数意見はあまり反映されない可能性がある。
【0015】
図12は機械学習モデルを選択するためのランキング投票結果を例示する図である。
この図12において、符号Aは、グループa,b,cのいずれかに属する個人のランキング投票結果を例示する。この符号Aにおいては、識別情報i(iは10以下の自然数)で特定される10人の個人について、それぞれが属するグループと、モデルA,B,Cに対するランキングとを対応付けている。
【0016】
例えば、識別情報i=1で特定される個人は、グループaに属し、投票結果において、1位にモデルAを、2位にモデルBを、3位にモデルCをそれぞれ設定するランキング付けを行なったことを示す。
【0017】
グループ間の人数差の影響をなくすために、最初に利害関係者グループ毎に投票結果を集計して、グループ毎の集計結果をボルダ得点法で再度集計することが考えられる。
【0018】
図12において、符号Bは、符号Aに示したランキング投票結果に基づき、ボルダ得点法を用いてグループ毎に集計を行なった結果を表す。
【0019】
例えば、グループaにおいては、1位がモデルA、2位がモデルB、3位がモデルCである。これに対して、グループcにおいては、1位がモデルC、2位がモデルA、3位がモデルBである。
【0020】
ここで、グループaの集計結果において、識別情報i=4,5で特定される個人は、いずれも、モデルBよりもモデルCを好む点において少数派に属する。そして、このグループaの集計結果に、これらの投票結果の少数意見の個人i=4,5の選好は反映されていない。
【0021】
これは、ランキング投票結果に対する最初の集計で、モデルCの得点が最も小さくなること、および、ボルダ得点法では,モデル選好(個人のモデルに対する満足の度合い)を整数値の重みによって決めているためである。
【0022】
1つの側面では、本発明は、機械学習モデルの選択に際して、少数派の評価も反映させた選択を行なうことができるようにすることを目的とする。
【課題を解決するための手段】
【0023】
このため、このプログラムは、複数の機械学習モデルそれぞれに対する評価を順番で示した複数の評価結果を取得し、前記複数の機械学習モデルそれぞれの複数の性能値と前記複数の評価結果とに基づいて、前記複数の評価結果の個々の結果に対応する関数を含み前記複数の評価結果の一又は複数のグループのグループごとに生成された関数の最適化処理を実行することにより、前記一又は複数のグループのグループごとの前記複数の機械学習モデルのそれぞれに対する評価値を算出し、前記評価値に基づいて、前記複数の機械学習モデルから第1の機械学習モデルを選択する、処理をコンピュータに実行させる。
【発明の効果】
【0024】
一実施形態によれば、機械学習モデルの選択に際して、少数派の評価も反映させた選択を行なうことができる。
【図面の簡単な説明】
【0025】
図1】実施形態の一例としてのモデル決定装置の機能構成を示す図である。
図2】実施形態の一例としてのモデル決定装置におけるランキング投票を説明するための図である。
図3】実施形態の一例としてのモデル決定装置の機能を実現するコンピュータのハードウェア(HW)構成例を示すブロック図である。
図4】実施形態の一例としてのモデル決定装置の個人モデル効用関数計算部の処理を説明するための図である。
図5】実施形態の一例としてのモデル決定装置の個人対数尤度関数計算部の処理を説明するための図である。
図6】実施形態の一例としてのモデル決定装置のグループ対数尤度関数最尤推定部の処理を説明するための図である。
図7】実施形態の一例としてのモデル決定装置のモデル効用値計算部の処理を説明するための図である。
図8】実施形態の一例としてのモデル決定装置のモデル決定部の処理を説明するための図である。
図9】実施形態の一例としてのモデル決定装置の処理を説明するためのフローチャートである。
図10】実施形態の一例としてのモデル決定装置の効果を説明するための図である。
図11】実施形態の一例としてのモデル決定装置の効果を説明するための図である。
図12】機械学習モデルを選択するためのランキング投票結果を例示する図である。
【発明を実施するための形態】
【0026】
以下、図面を参照して本プログラム,方法および装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0027】
(A)構成
図1は実施形態の一例としてのモデル決定装置1の機能構成を示す図である。
【0028】
モデル決定装置1は、複数の機械学習モデルの中から、少なくとも1つの機械学習モデル(第1の機械学習モデル)を選択(決定)する、モデル決定機能を実現する。機械学習モデルを単にモデルといってよい。また、以下、モデルを符号m を用いて、モデルmと表す場合がある。
【0029】
モデル決定装置1には、複数のモデルのカタログの値が入力される。
【0030】
図2は実施形態の一例としてのモデル決定装置1におけるランキング投票を説明するための図である。
【0031】
図2において、符号Aはモデルのカタログを示す。モデルのカタログは、モデルの性能特性を表す情報であり、図2に示す例においては、3つのモデルA,B,Cのそれぞれについて、精度,速度および公平性を表す数値が、それぞれ対応付けられている。これらの精度,速度および公平性を表す数値が、それぞれ性能特性を表す性能特徴値である。性能特徴値をカタログ値といってよい。図2に示す例においては、性能特徴の各数値は100以下の自然数で表され、値が高いほど性能が良いものとする。
【0032】
機械学習モデルに関する複数の利害関係者は、このモデルのカタログを参照して、それぞれ複数のモデルに対して順位付け(ランキング)を行なう。複数のモデルのランキング投票結果は、複数の機械学習モデルそれぞれに対する評価を順番で示した複数の評価結果に相当する。
【0033】
利害関係者は複数のグループ(利害関係者グループ)のうちのいずれかの利害関係者グループに属する個人である。利害関係者を投票者といってよい。利害関係者は、複数の機械学習モデルそれぞれに対する評価を行なう評価者である。
【0034】
ランキング投票結果の情報は、本モデル決定装置1に入力される。ランキング投票結果の情報は、例えば、本モデル決定装置1と図示しないネットワークを介して接続された他の情報処理装置において入力され、ネットワークを介して本モデル決定装置1に入力されてよい。本モデル決定装置1に入力されたランキング投票結果の情報は、記憶部10d(図3参照)の所定の記憶領域に格納されてよい。
【0035】
利害関係者グループを単にグループといってよい。また、以下、利害関係者グループを符号gを用いてグループgと表す場合がある。
【0036】
図2において、符号Bは、グループa,b,cのいずれかに属する個人の各個人のランキング投票結果を示す。この図2に示す例においては、モデルA,B,Cに対して設定されたランキングを、不等号を用いた大小関係で表す。具体的には、大きい方が上位のランキングを表し、小さい方が下位のランキングを表す。例えば、ランキング“A>B>C”は、1位がモデルA、2位がモデルBを、3位がモデルCであることを示す。なお、ランキングの表現方法はこれに限定されるものではなく、適宜変更して実施することができる。
【0037】
符号Bにおいては、識別情報i(iは10以下の自然数)で特定される10人の個人について、それぞれが属するグループa,b,cと、モデルA,B,Cに対するランキングとを対応付けている。
【0038】
例えば、識別情報i=1で特定される個人は、グループaに属し、投票結果において、1位にモデルAを、2位にモデルBを、3位にモデルCをそれぞれ設定するランキング付けを行なったことを示す。
【0039】
また、グループaには識別情報i=1~5で特定される5人の個人が、グループbには識別情報i=6~8で特定される3人の個人が、グループcには識別情報i=9~10で特定される2人の個人が、それぞれ属している。
【0040】
利害関係者である個人が、カタログを参照して、それぞれモデルA,B,Cに対して順序付け(ランキング設定)を行なう。このランキング投票結果が、本モデル決定装置1に入力される。
【0041】
図3は実施形態の一例としてのモデル決定装置1の機能を実現するコンピュータ10のハードウェア(HW)構成例を示すブロック図である。モデル決定装置1の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが図3に例示するHW構成を備えてよい。
【0042】
図3に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、グラフィック処理装置10b、メモリ10c、記憶部10d、IF(Interface)部10e、IO(Input / Output)部10f、及び読取部10gを備えてよい。
【0043】
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10jで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0044】
プロセッサ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の略称である。
【0045】
グラフィック処理装置10bは、IO部10fのうちのモニタ等の出力装置に対する画面表示制御を行なう。また、グラフィック処理装置10bは、機械学習モデルを利用した機械学習処理及び推論処理を実行するアクセラレータとしての構成を有してよい。グラフィック処理装置10bとしては、種々の演算処理装置、例えば、GPU(Graphics Processing Unit)、APU、DSP、ASIC又はFPGA等の集積回路(IC)が挙げられる。
【0046】
メモリ10cは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10cとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、及び、PM(Persistent Memory)等の不揮発性メモリ、の一方または双方が挙げられる。
【0047】
記憶部10dは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10dとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
【0048】
記憶部10dは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10h(モデル決定プログラム)を格納してよい。
【0049】
例えば、モデル決定装置1のプロセッサ10aは、記憶部10dに格納されたプログラム10hをメモリ10cに展開して実行することにより制御部として機能し、後述する、個人モデル効用関数計算部101,個人対数尤度関数計算部102,グループ対数尤度関数最尤推定部103,モデル効用値計算部104およびモデル決定部105としての機能を実現する。
【0050】
IF部10eは、本コンピュータ10と他のコンピュータとの間の接続及び通信の制御等を行なう通信IFの一例である。例えば、IF部10eは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線及び有線の一方又は双方の通信方式に対応してよい。
【0051】
例えば、モデル決定装置1は、IF部10e及びネットワークを介して、モデルのカタログを記憶するデータベース装置(図示省略)と相互に通信可能に接続されてよい。なお、プログラム10hは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10dに格納されてもよい。
【0052】
IO部10fは、入力装置、及び、出力装置、の一方又は双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。また、IO部10fは、入力装置及び表示装置が一体となったタッチパネル等を含んでもよい。出力装置は、グラフィック処理装置10bに接続されてよい。
【0053】
読取部10gは、記録媒体10iに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10gは、記録媒体10iを接続可能又は挿入可能な接続端子又は装置を含んでよい。読取部10gとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10iにはプログラム10hが格納されてもよく、読取部10gが記録媒体10iからプログラム10hを読み出して記憶部10dに格納してもよい。
【0054】
記録媒体10iとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0055】
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、又は、バスの追加若しくは削除等は適宜行なわれてもよい。
【0056】
図1に示すように、モデル決定装置1は、例示的に、個人モデル効用関数計算部101,個人対数尤度関数計算部102,グループ対数尤度関数最尤推定部103,モデル効用値計算部104およびモデル決定部105としての機能を備えてよい。これらの機能は、コンピュータ10(図3参照)のハードウェアにより実現されてよい。
【0057】
個人モデル効用関数計算部101は、利害関係者である各個人がモデルm(m=A,B,C)のカタログを見て行なったランキング投票結果を取得する。個人モデル効用関数計算部101は、例えば、記憶部10d等に記憶されたランキング投票結果を読み出すことで取得してよい。
【0058】
個人モデル効用関数計算部101は、各個人のランキング投票結果に基づき、個人i(i=1,…,10)毎に、ランキングj番目(j=1,2,3)のモデルの効用関数U(i,j)を作成する。
【0059】
個人iのj番目のモデルの効用関数U(i,j)は、以下の式(1)で求められる。
U(i,j)i,j(精度)・xi,j(精度)+βi,j(速度)・xi,j(速度)
i,j(公平性)・xi,j(公平性)+α ・・・(1)
ただし、
U(i,j):個人i(i=1,…,10)のランキングj番目(j=1,2,3)のモデルの効用関数
βi,j(精度),βi,j(速度),βi,j(公平性):3種類の性能特徴(精度,速度,公平性)の効用
xi,j(精度),xi,j(速度),xi,j(公平性):個人iがj番目に選んだモデルのカタログ上の性能特徴の値
α:定数
である。
【0060】
図4は実施形態の一例としてのモデル決定装置1の個人モデル効用関数計算部101の処理を説明するための図である。
【0061】
この図4においては、個人i=1の例について示す。図4において、符号Aは個人i=1によってランキングが設定された各モデルのカタログ値をテーブル形式で示す。
【0062】
この符号Aに例示するカタログ値のテーブルにおいて、項「x1精」は、個人i=1がランキングを設定した各モデルのカタログ上の性能特徴「精度」を示す。また、項「x1速」は、個人i=1がランキングを設定した各モデルのカタログ上の性能特徴「速度」を示す。項「x1公」は、個人i=1がランキングを設定した各モデルのカタログ上の性能特徴「公平性」を示す。
【0063】
個人モデル効用関数計算部101は、上記の式(1)とモデルのカタログとに基づき、全てのモデルmに対して、効用関数U(i,j)を算出する。
【0064】
図4において、符号Bは、個人i=1について、個人モデル効用関数計算部101がランキングにおける各順位のモデルについて算出した効用関数U(i,j)を示す。ここで、i=1であり、j=1,2,3である。
【0065】
個人モデル効用関数計算部101は、全ての個人iについて、全てのランキングjのモデルに対して効用関数U(i,j)を算出する。算出された効用関数U(i,j)は、例えば、記憶部10dの所定の記憶領域に記憶される。
【0066】
個人対数尤度関数計算部102は、各個人iが選んだランキングの対数尤度関数logLiを計算する。個人対数尤度関数計算部102は、個人モデル効用関数計算部101が算出した各効用関数U(i,j)に基づいて、以下の式(2)を用いて対数尤度関数logLiを計算する。
【0067】
【数1】
【0068】
また、δijkは、U(i,j)≧U(i,K)のとき1、そうでないときに0をとる。
【0069】
図5は実施形態の一例としてのモデル決定装置1の個人対数尤度関数計算部102の処理を説明するための図である。
【0070】
この図5においては、図4において符号Bで例示した効用関数U(1,1), U(1,2), U(1,3)に基づいて、個人i=1についての対数尤度関数logLiを計算する例を示す。
【0071】
図5において、符号Aは、図4において符号Bで例示した効用関数U(1,1),U(1,2) ,U(1,3)を示す。また、符号Bは、符号Aに示した効用関数U(1,1),U(1,2),U(1,3)に基づいて算出した、個人i=1についての対数尤度関数logLiを示す。
【0072】
個人対数尤度関数計算部102は、全ての個人iについて対数尤度関数logLiを算出する。算出された対数尤度関数logLiは、例えば、記憶部10dの所定の記憶領域に記憶される。
【0073】
個人iについて対数尤度関数logLiは、複数の評価結果の個々の結果に対応する関数に相当する。
【0074】
グループ対数尤度関数最尤推定部103は、利害関係者グループg毎の対数尤度関数logLgを作成する。
【0075】
グループ対数尤度関数最尤推定部103は、同一の利害関係者グループgに属する全ての個人iの対数尤度関数logLiを合計することで、利害関係者グループgの対数尤度関数logLgを作成する。
【0076】
ここで、図2に例示したランキング投票結果に基づいてグループ対数尤度関数最尤推定部103の処理を例示する。図2の符号Bにおいては、g=a,b,cである例を示す。すなわち、グループ対数尤度関数最尤推定部103は、利害関係者グループa,b,c毎の対数尤度関数logLa,logLb,logLcを作成する。
【0077】
また、図2の符号Bに示す例においては、グループaの個人はi=1~5,グループbの個人はi=6~8,グループcの個人はi=9,10である。
【0078】
グループ対数尤度関数最尤推定部103は、以下に示すように、利害関係者グループaの対数尤度関数logLa,利害関係者グループbの対数尤度関数logLbおよび利害関係者グループcの対数尤度関数logLcを、それぞれ作成する。
【0079】
利害関係者グループaの対数尤度関数logLa= logL1+ logL2+ logL3+ logL4+ logL5
利害関係者グループbの対数尤度関数logLb= logL6+ logL7+ logL8
利害関係者グループcの対数尤度関数logLc= logL9+ logL10
利害関係者グループgの対数尤度関数logLgは、個人iについて対数尤度関数logLi(複数の評価結果の個々の結果に対応する関数)を含むものであって、複数の評価結果の一又は複数のグループ(利害関係者グループ)のグループごとに生成された関数に相当する。
【0080】
また、グループ対数尤度関数最尤推定部103は、最尤推定により、logLa,logLb,logLcが最大化するようなβ(精度)・β(速度)・β(公平性)およびαをグループ毎に求める。最尤推定は、利害関係者グループgの対数尤度関数logLgの最適化処理に相当する。
【0081】
図6は実施形態の一例としてのモデル決定装置1のグループ対数尤度関数最尤推定部103の処理を説明するための図である。
【0082】
この図6において、符号Aは、利害関係者をグループ分けした例を示し、符号Bはグループ毎に生成した対数尤度関数logLa,logLb,logLcを示す。また、符号Cは、最尤推定の結果得られたβ(精度)・β(速度)・β(公平性)およびαを例示する。
【0083】
グループ対数尤度関数最尤推定部103は、個人のグループ分けを参照し、グループ毎に各グループに属する個人iの対数尤度関数logLiを合計して、グループ毎の対数尤度関数logLa,logLb,logLcを算出する(図6の矢印P1参照)。
【0084】
次に、グループ対数尤度関数最尤推定部103は、最尤推定により、logLa,logLb,logLcが最大化するようなβ(精度)・β(速度)・β(公平性)およびαをグループ毎に求める(図6の矢印P2参照)。
【0085】
図6において、符号Cで示す例においては、最尤推定により得られたグループ毎のβ(精度)・β(速度)・β(公平性)およびαをテーブル形式で示す。
【0086】
この符号Aに例示するテーブルにおいて、項「β精」はβ(精度)を、項「β速」はβ(速度)を、項「β公」はβ(公平性)を、それぞれ示す。このテーブルにおけるβ精,β速およびβ公の各値は、各グループがモデルにおけるどの性能特徴を重視しているかを示しているといえる。すなわち、各グループに属する個人は、当該テーブルにおいて、値が大きい性能特徴をより重視してランキング投票を行なったことを示しているといってよい。
【0087】
グループ対数尤度関数最尤推定部103によって算出された最尤推定の結果は、例えば、記憶部10dの所定の記憶領域に記憶される。
【0088】
モデル効用値計算部104は、グループ対数尤度関数最尤推定部103が最尤推定により求めたグループ毎の各性能特徴の効用値(β(精度)・β(速度)・β(公平性))に基づき、グループ毎に各モデルの効用値Uv(g,m)を算出する。
【0089】
モデル効用値計算部104は、以下の式(3)で表す効用関数に、求めたグループ毎の各性能特徴の効用値(β(精度)・β(速度)・β(公平性))と、カタログにおけるモデルの性能特徴値とを代入することで、グループ毎のモデルの効用値Uv(g,m)を算出する。
【0090】
Uv(g,m)g(精)×xm(精)+βg(速)×xm(速)+βg(公)×xm(公)+α ・・・(3)
ここで、βg(精)はグループgについて求められたβ(精度)である。βg(速)はグループgについて求められたβ(速度)である。βg(公)はグループgについて求められたβ(公平性)である。
【0091】
また、xm(精)はモデルmの精度のカタログ値である。xm(速)はモデルmの速度のカタログ値である。xm(公)はモデルmの公平性のカタログ値である。
【0092】
図7は実施形態の一例としてのモデル決定装置1のモデル効用値計算部104の処理を説明するための図である。
【0093】
この図7において、符号Aはグループ対数尤度関数最尤推定部103が最尤推定により求めたグループ毎のβ(精度)・β(速度)・β(公平性)およびαをテーブル形式で示す。また、符号Bは、各モデルのカタログ値をテーブル形式で示す。
【0094】
この符号Bに例示するカタログ値のテーブルにおいて、項「x精」は各モデルのカタログ上の性能特徴「精度」を示す。また、項「x速」は各モデルのカタログ上の性能特徴「速度」を示す。項「x公」は各モデルのカタログ上の性能特徴「公平性」を示す。
【0095】
例えば、グループaのモデルAの効用値Uv(a,A)は、以下の式(4)で求められる。
【0096】
Uv(a,A)= βa(精)×xA(精)+βa(速)×xA(速)+βa(公)×xA(公)+α ・・・(4)
モデル効用値計算部104は、この式(4)に、図7に符号Aで示す最尤推定の結果から抽出したグループaに対応する各値と、符号Bで示すカタログ値から抽出したモデルAに対応する各値とを代入することで、以下に示すように、グループaのモデルAの効用値Uv(a,A)を算出する。
【0097】
Uv(a,A)= βa(精)×xA(精)+βa(速)×xA(速)+βa(公)×xA(公)+α
= 6.40 × 90 + 5.55 × 60 + 2.99 × 30 + 0.09
= 998.79
同様に、モデル効用値計算部104は、グループaのモデルBの効用値Uv(a,B)を以下に示すように算出する。
【0098】
Uv(a,B)= βa(精)×xB(精)+βa(速)×xB(速)+βa(公)×xB(公)+α
= 6.40 × 60 + 5.55 × 60 + 2.99 × 60 + 0.09
= 896.49
また、モデル効用値計算部104は、グループaのモデルCの効用値Uv(a,C)を以下に示すように算出する。
【0099】
Uv(a,C)= βa(精)×xC(精)+βa(速)×xC(速)+βa(公)×xC(公)+α
= 6.40 × 30 + 5.55 × 90 + 2.99 × 60 + 0.09
= 870.99
モデル効用値計算部104によって算出されたグループ毎の各モデルの効用値は、例えば、記憶部10dの所定の記憶領域に記憶される。
【0100】
グループ毎のモデルの効用値Uv(g,m)は、一又は複数のグループのグループごとの複数の機械学習モデルのそれぞれに対する評価値に相当する。
【0101】
モデル決定部105は、モデル効用値計算部104が算出したグループ毎の各モデルの効用値に基づき、複数のモデルの中から少なくとも1つの機械学習モデル(第1の機械学習モデル)を選択(決定)する。
【0102】
モデル決定部105は、グループ毎のモデルの効用値に基づき、モデル毎に全グループの効用値の積を算出し、この積の値が最大となるモデルを採用するモデルとして選択(決定)してよい。
【0103】
図8は実施形態の一例としてのモデル決定装置1のモデル決定部105の処理を説明するための図である。
【0104】
この図8においては、モデル毎に、各グループa,b,cの各効用値と、これらの効用値の積の値とを対応付けたテーブルを示している。
【0105】
例えば、モデルAについて、グループaの効用値は998.79であり、グループbの効用値は1019.50であり、グループcの効用値は828.08である。また、モデルAについてのこれらの効用値の積は、843206045である。
【0106】
同様に、モデルBについての効用値の積は712228723であり、モデルCについての効用値の積は772991807である。
【0107】
モデル決定部105は、これらの複数のモデルA,B,Cの中から効用値の積が最大となるモデルAを採用するモデルとして選択(決定)する。
【0108】
モデル決定部105は、グループ毎のモデルの効用値Uv(g,m)(評価値)に基づいて、複数の機械学習モデルから第1の機械学習モデルを選択する。
【0109】
(B)動作
上述の如く構成した実施形態の一例としてのモデル決定装置1の処理を、図9に示すフローチャート(ステップS1~S6)に従って説明する。
【0110】
ステップS1において、利害関係者である各個人がモデルm(m=A,B,C)のカタログを見て、複数のモデルに対してランキング投票を行なう。
【0111】
ステップS2において、個人モデル効用関数計算部101が、各個人のランキング投票結果に基づき、個人i(i=1,…,10)毎に、ランキングj番目(j=1,2,3)のモデルの効用関数U(i,j)を作成する。
【0112】
ステップS3において、個人対数尤度関数計算部102が、各個人iが選んだランキングの対数尤度関数logLiを計算する。
【0113】
ステップS4において、グループ対数尤度関数最尤推定部103が、同一の利害関係者グループに属する個人iの対数尤度関数logLiを合計することで、利害関係者グループ毎の対数尤度関数logLa,logLb,logLcを作成する。
【0114】
また、グループ対数尤度関数最尤推定部103は、最尤推定により、logLa,logLb,logLcが最大化するようなβ(精度)・β(速度)・β(公平性)およびαをグループ毎に求める。
【0115】
ステップS5において、モデル効用値計算部104が、最尤推定により求められたグループ毎の各性能特徴の効用値(β(精度)・β(速度)・β(公平性))に基づき、グループ毎に各モデルの効用値Uv(g,m)を算出する。
【0116】
ステップS6において、モデル決定部105が、モデル効用値計算部104が算出したグループ毎の各モデルの効用値に基づき、複数のモデルの中から少なくとも1つの機械学習モデル(第1の機械学習モデル)を選択(決定)する。その後、処理を終了する。
【0117】
(C)効果
このように、実施形態の一例としてのモデル決定装置1によれば、複数の利害関係者によるランキング投票結果に基づき、個人モデル効用関数計算部101が、個人毎にランキングモデルの効用関数U(i,j)を作成する。
【0118】
また、個人対数尤度関数計算部102が、各個人が選んだランキングの対数尤度関数logLiを計算する。さらに、グループ対数尤度関数最尤推定部103が、同一の利害関係者グループに属する個人の対数尤度関数logLiを合計することで、利害関係者グループ毎の対数尤度関数logLgを作成する。
【0119】
また、グループ対数尤度関数最尤推定部103が、最尤推定により、各対数尤度関数logLgが最大化するような性能特徴の効用値(β(精度)・β(速度)・β(公平性))およびαをグループ毎に求める。
【0120】
その後、モデル効用値計算部104が、グループ毎の各性能特徴の効用値(β(精度)・β(速度)・β(公平性))に基づき、グループ毎に各モデルの効用値Uv(g,m)を算出する。
【0121】
そして、モデル決定部105が、モデル効用値計算部104が算出したグループ毎の各モデルの効用値に基づき、複数のモデルの中から少なくとも1つのモデルを決定する。
【0122】
このように、ランキング投票結果からグループ毎の効用関数を計算し、このグループ毎の効用関数に基づいて採用するモデルを決定することで、グループの人数差の影響を受けずにモデルを1つに決定できる。
【0123】
モデル効用値計算部104が、グループ毎の各性能特徴の効用値(β(精度)・β(速度)・β(公平性))に基づき、グループ毎に各モデルの効用値Uv(g,m)を算出することで、モデルに対する各グループの満足の度合い正確に数値化することができる。また、この際、個人の選好が排除されずに効用関数に反映されるため,人数差の影響を受けずにグループ毎のモデルに対する満足の度合いを正確に表現できる。
【0124】
モデルに対する満足の度合いを効用関数で正確に表現することで、人数差の影響を受けることなくモデルを1つに決定できる。
【0125】
モデル決定部105が、グループ毎の効用値の積が最大のモデルを採用するモデルとして決定することで、各グループの満足の度合いが高いモデルを決定することができる。
【0126】
ボルダ得点法を用いた従来手法においては、グループ間で人数差がある場合に、例えば、モデルA,B,Cの得票が同点となり、1つのモデルに決定できない場合が生じ得る。これに対して、本モデル決定装置1においては、グループ間で人数差がある場合においても、1つのモデルを決定することができる。これは、効用関数は線形であるため、モデルの選好関係が、例えば、A>B>C>Aのように循環することがなく、従って、同一順位のモデルは生じ得ないからである。
【0127】
また、ボルダ得点法を用いた従来手法では、ランキング投票の集計において、各グループがモデルに対してどの程度満足するのか正確に測ることができない。これに対して、本モデル決定装置1においては、投票結果とモデルカタログのデータから満足の度合いを計算するため,ボルダ得点法より正確に満足度合いを表現できる。
【0128】
モデル決定部105が、モデル毎に全グループの効用値の積を算出し、この積の値が最大となるモデルを採用するモデルとして選択する。これにより、例えば、効用値が極端に高いもしくは低いグループがある場合においても、このグループの効用値がモデル決定に過剰に影響を与えることを抑止することができる。
【0129】
図10および図11は実施形態の一例としてのモデル決定装置1の効果を説明するための図である。
【0130】
図10はモデル決定装置1に入力される入力データの例を示しており、符号Aはモデルのカタログを、符号Bは個人のランキング投票結果の一部(便宜上、グループsのみ)を、それぞれ示す。
【0131】
また、図11は本モデル決定装置1によって算出される値の例を示しており、図10に例示した入力データに基づいて算出される値を示す。
【0132】
この図11において、符号Aは、グループ対数尤度関数最尤推定部103により算出された最尤推定の結果を、符号Bはモデル効用値計算部104により算出されたグループ毎の各モデルの効用値を、それぞれ示している。
【0133】
図11の符号Bに例示するグループ毎の各モデルの効用値において、例えば、グループaの満足度(効用値)は、モデルAが約998、モデルBが約896、モデルCが約870であり、モデルBの方がモデルCよりも効用が大きい(符号P1参照)。
【0134】
例えば、従来のモデル決定プロセスで用いられている多数決投票では、モデルCは考慮されない。これに対して、本モデル決定装置1においては、モデルCがモデルA,Bに近い評価値(効用値)を得ることができ、グループb,cの結果によってはモデルCが選ばれる可能性もある。従って、利害関係者の意向をより反映させることができる。
【0135】
また、図11の符号Aに例示する最尤推定の結果においては、グループaにおいては精度の次に速度を重視していることがわかる(符号P2参照)。図10の符号Aに例示するカタログに示されているように、モデルCは他のモデルA,Bに比べて速度が最大である。
【0136】
これにより、図10の符号Bに例示するランキング投票結果における、i=4,5の選好(モデルBよりモデルCを好む)がグループaの選好に反映されていることがわかる。すなわち、本モデル決定装置1においては、グループaの満足の度合いを正確に数値することができる。
【0137】
(D)その他
本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0138】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【0139】
例えば、上述した実施形態においては、モデルのモデル性能特徴として、精度,速度および公正性を例示したが、これに限定されるものではなく、適宜変更して実施することができる。
【0140】
また、上述した実施形態においては、3つのモデルA,B,Cの中から1つのモデルを決定する例を示したが、これに限定されるものではない。モデルは2つ以下、もしくは4つ以上であってもよく、適宜変更して実施することができる。
【0141】
上述した実施形態においては、10人の投票者が3つのグループa,b,cのいずれかに属する例を示したが、これに限定されるものではない。グループは2つ以下、もしくは4つ以上であってもよく、また、投票者は9人以下もしくは11人以上であってもよく、適宜変更して実施することができる。
【0142】
上述した実施形態においては、モデル決定部105が、モデル毎に全グループの効用値の積を算出し、この積の値が最大となるモデルを採用するモデルとして決定しているが、これに限定されるものではない。モデル決定部105は、例えば、モデル毎に全グループの効用値の平均値を算出し、この平均値が最大となるモデルを採用するモデルとして決定してもよく、種々変形して実施することができる。
【0143】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【0144】
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数の機械学習モデルそれぞれに対する評価を順番で示した複数の評価結果を取得し、
前記複数の機械学習モデルそれぞれの複数の性能値と前記複数の評価結果とに基づいて、前記複数の評価結果の個々の結果に対応する関数を含み前記複数の評価結果の一又は複数のグループのグループごとに生成された関数の最適化処理を実行することにより、前記一又は複数のグループのグループごとの前記複数の機械学習モデルのそれぞれに対する評価値を算出し、
前記評価値に基づいて、前記複数の機械学習モデルから第1の機械学習モデルを選択する、
処理をコンピュータに実行させることを特徴とするプログラム。
【0145】
(付記2)
前記複数の評価結果の個々の結果に対応する関数は、前記評価結果の対数尤度関数を含む
ことを特徴とする付記1に記載のプログラム。
【0146】
(付記3)
前記関数の最適化処理は、最尤推定法により前記関数のパラメータを算出する処理を含む
ことを特徴とする付記1または2に記載のプログラム。
【0147】
(付記4)
前記評価値は、前記評価に関する選好度を表す効用値を含む
ことを特徴とする付記1~3のいずれか1項に記載のプログラム。
【0148】
(付記5)
複数の機械学習モデルそれぞれに対する評価を順番で示した複数の評価結果を取得し、
前記複数の機械学習モデルそれぞれの複数の性能値と前記複数の評価結果とに基づいて、前記複数の評価結果の個々の結果に対応する関数を含み前記複数の評価結果の一又は複数のグループのグループごとに生成された関数の最適化処理を実行することにより、前記一又は複数のグループのグループごとの前記複数の機械学習モデルのそれぞれに対する評価値を算出し、
前記評価値に基づいて、前記複数の機械学習モデルから第1の機械学習モデルを選択する、
処理を制御部が実行することを特徴とする方法。
【0149】
(付記6)
前記複数の評価結果の個々の結果に対応する関数は、前記評価結果の対数尤度関数を含む
ことを特徴とする付記5に記載の方法。
【0150】
(付記7)
前記関数の最適化処理は、最尤推定法により前記関数のパラメータを算出する処理を含む
ことを特徴とする付記5または6に記載の方法。
【0151】
(付記8)
前記評価値は、前記評価に関する選好度を表す効用値を含む
ことを特徴とする付記5~7のいずれか1項に記載の方法。
【0152】
(付記9)
複数の機械学習モデルそれぞれに対する評価を順番で示した複数の評価結果を取得し、
前記複数の機械学習モデルそれぞれの複数の性能値と前記複数の評価結果とに基づいて、前記複数の評価結果の個々の結果に対応する関数を含み前記複数の評価結果の一又は複数のグループ)のグループごとに生成された関数の最適化処理を実行することにより、前記一又は複数のグループのグループごとの前記複数の機械学習モデルのそれぞれに対する評価値を算出し、
前記評価値に基づいて、前記複数の機械学習モデルから第1の機械学習モデルを選択する、
処理を実行する制御部を含むことを特徴とする装置。
【0153】
(付記10)
前記複数の評価結果の個々の結果に対応する関数は、前記評価結果の対数尤度関数を含む
ことを特徴とする付記9に記載の装置。
【0154】
(付記11)
前記関数の最適化処理は、最尤推定法により前記関数のパラメータを算出する処理を含む
ことを特徴とする付記9または10に記載の装置。
【0155】
(付記12)
前記評価値は、前記評価に関する選好度を表す効用値を含む
ことを特徴とする付記9~11のいずれか1項に記載の装置。
【符号の説明】
【0156】
1 モデル決定装置
10 コンピュータ
10a プロセッサ(制御部)
10b グラフィック処理装置
10c メモリ
10d 記憶部
10e IF部
10f IO部
10g 読取部
10h プログラム
10i 記録媒体
10j バス
101 個人モデル効用関数計算部
102 個人対数尤度関数計算部
103 グループ対数尤度関数最尤推定部
104 モデル効用値計算部
105 モデル決定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12