(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-22
(45)【発行日】2024-01-30
(54)【発明の名称】精度推定プログラム、装置、及び方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20240123BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022539915
(86)(22)【出願日】2020-07-30
(86)【国際出願番号】 JP2020029306
(87)【国際公開番号】W WO2022024315
(87)【国際公開日】2022-02-03
【審査請求日】2022-09-29
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】早瀬 友裕
(72)【発明者】
【氏名】河東 孝
(72)【発明者】
【氏名】安富 優
(72)【発明者】
【氏名】上村 健人
【審査官】佐藤 実
(56)【参考文献】
【文献】特開2019-109634(JP,A)
【文献】国際公開第2019/229977(WO,A1)
【文献】国際公開第2017/183548(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
それぞれがデータ値とラベルとを対応付けたデータを複数含むデータセットであって、前記データ値の性質が前記データセット毎に異なる複数のデータセットを取得し、
前記複数のデータセットに含まれる第1のデータセットと、前記複数のデータセットに含まれる第2のデータセットとの相違の度合いを示す指標
として、
前記第1のデータセットを用いて予測モデルを構成する特徴抽出器及び第1の分類器の各々のパラメータを訓練し、訓練された前記第1の分類器のパラメータを初期化した第2の分類器を生成し、前記第2のデータセットに対する、前記第1の分類器による予測結果と前記第2の分類器による予測結果との分類誤差を算出し、前記第1のデータセットに対する予測結果の誤差を最小化するように前記第1の分類器及び前記第2の分類器を最適化しつつ、前記分類誤差を最大化した最大分類誤差を算出し、
前記第1のデータセットを用いて訓練された予測モデルにより予測された、前記第2のデータセットに対する予測結果の精度を算出し、
前記第1のデータセットと前記第2のデータセットとの複数の組合せ毎に算出された前記指標及び前記精度に基づいて、前記指標と、前記予測モデルによる予測結果の精度との関連性を特定し、
ラベルが対応付けられていないデータ値を複数含む第3のデータセットに対する前記予測モデルによる予測結果の精度を、前記第1のデータセットと前記第3のデータセットとの間の前記指標と、特定した前記関連性とに基づいて推定する
ことを含む処理をコンピュータに実行させるための精度推定プログラム。
【請求項2】
前記
最大分類誤差
を繰り返しアルゴリズムにより算出する際の繰り返し回数を、異なる前記第2のデータセットについての前記
最大分類誤
差がそれぞれ所定値以上離れた値をとるように予め定めた回数に設定する請求項
1に記載の精度推定プログラム。
【請求項3】
前記関連性として、前記第1のデータセットと前記第2のデータセットとの複数の組合せ毎に算出された前記精度と前記指標との関係を示す回帰曲線を特定する請求項1
又は請求項2に記載の精度推定プログラム。
【請求項4】
前記複数のデータセットに含まれる2以上のデータセットを結合して新たなデータセットを生成する請求項1~請求項
3のいずれか1項に記載の精度推定プログラム。
【請求項5】
それぞれがデータ値とラベルとを対応付けたデータを複数含むデータセットであって、前記データ値の性質が前記データセット毎に異なる複数のデータセットを取得する取得部と、
前記複数のデータセットに含まれる第1のデータセットと、前記複数のデータセットに含まれる第2のデータセットとの相違の度合いを示す指標
として、
前記第1のデータセットを用いて予測モデルを構成する特徴抽出器及び第1の分類器の各々のパラメータを訓練し、訓練された前記第1の分類器のパラメータを初期化した第2の分類器を生成し、前記第2のデータセットに対する、前記第1の分類器による予測結果と前記第2の分類器による予測結果との分類誤差を算出し、前記第1のデータセットに対する予測結果の誤差を最小化するように前記第1の分類器及び前記第2の分類器を最適化しつつ、前記分類誤差を最大化した最大分類誤差を算出する指標算出部と、
前記第1のデータセットを用いて訓練された予測モデルにより予測された、前記第2のデータセットに対する予測結果の精度を算出する精度算出部と、
前記第1のデータセットと前記第2のデータセットとの複数の組合せ毎に算出された前記指標及び前記精度に基づいて、前記指標と、前記予測モデルによる予測結果の精度との関連性を特定する特定部と、
ラベルが対応付けられていないデータ値を複数含む第3のデータセットに対する前記予測モデルによる予測結果の精度を、前記第1のデータセットと前記第3のデータセットとの間の前記指標と、特定した前記関連性とに基づいて推定する推定部と、
を含む精度推定装置。
【請求項6】
それぞれがデータ値とラベルとを対応付けたデータを複数含むデータセットであって、前記データ値の性質が前記データセット毎に異なる複数のデータセットを取得し、
前記複数のデータセットに含まれる第1のデータセットと、前記複数のデータセットに含まれる第2のデータセットとの相違の度合いを示す指標
として、
前記第1のデータセットを用いて予測モデルを構成する特徴抽出器及び第1の分類器の各々のパラメータを訓練し、訓練された前記第1の分類器のパラメータを初期化した第2の分類器を生成し、前記第2のデータセットに対する、前記第1の分類器による予測結果と前記第2の分類器による予測結果との分類誤差を算出し、前記第1のデータセットに対する予測結果の誤差を最小化するように前記第1の分類器及び前記第2の分類器を最適化しつつ、前記分類誤差を最大化した最大分類誤差を算出し、
前記第1のデータセットを用いて訓練された予測モデルにより予測された、前記第2のデータセットに対する予測結果の精度を算出し、
前記第1のデータセットと前記第2のデータセットとの複数の組合せ毎に算出された前記指標及び前記精度に基づいて、前記指標と、前記予測モデルによる予測結果の精度との関連性を特定し、
ラベルが対応付けられていないデータ値を複数含む第3のデータセットに対する前記予測モデルによる予測結果の精度を、前記第1のデータセットと前記第3のデータセットとの間の前記指標と、特定した前記関連性とに基づいて推定する
ことを含む処理をコンピュータが実行する精度推定方法。
【発明の詳細な説明】
【技術分野】
【0001】
開示の技術は、精度推定プログラム、精度推定装置、及び精度推定方法に関する。
【背景技術】
【0002】
機械学習により訓練された訓練済みモデルの性能検証として、例えば、クロスバリデーションによる性能検証が行われている。クロスバリデーションでは、正解を示すラベル付きのデータセットを、訓練用データ、検証用データ、及びテスト用データに分ける。そして、訓練用データで訓練したモデルを、検証用データで検証しながらモデルを設計し、テスト用データを用いて、最終的な精度の検証を行う。
【先行技術文献】
【非特許文献】
【0003】
【文献】"Cross-validation: evaluating estimator performance",[online],[令和2年6月8日検索],インターネット<URL:https://scikit-learn.org/stable/modules/cross_validation.html>
【文献】Ron Kohavi, "A Study of Cross-Validation and Bootstrap for Accuracy Estimation and Model Selection", International Joint Conference on Articial Intelligence, 1995
【発明の概要】
【発明が解決しようとする課題】
【0004】
訓練済みモデルが使用される実環境における実データに対する、訓練済みモデルの精度を推定することを考える。この場合、訓練済みモデルの訓練に用いたデータと実データとでは、環境変化によりデータの性質が変化している場合があるため、訓練時のデータに基づく検証では、実データに対する精度としての信頼性が薄い。すなわち、訓練済みモデルが実環境に対し、どの程度の精度を出せるかが分からない。そこで、ラベル付きの実データを用意して検証を行うことが考えられる。しかしながら、実データに対するラベル付けは、多くの作業コストを要するという問題がある。
【0005】
一つの側面として、開示の技術は、ラベルなし実データに対する訓練済みのモデルの精度を推定することを目的とする。
【課題を解決するための手段】
【0006】
一つの態様として、開示の技術は、それぞれがデータ値とラベルとを対応付けたデータを複数含むデータセットであって、前記データ値の性質が前記データセット毎に異なる複数のデータセットを取得する。また、開示の技術は、前記複数のデータセットに含まれる第1のデータセットと、前記複数のデータセットに含まれる第2のデータセットとの相違の度合いを示す指標を、前記第2のデータセットに含まれるデータ値を用いて算出する。また、開示の技術は、前記第1のデータセットを用いて訓練された予測モデルにより予測された、前記第2のデータセットに対する予測結果の精度を算出する。そして、開示の技術は、前記第1のデータセットと前記第2のデータセットとの複数の組合せ毎に算出された前記指標及び前記精度に基づいて、前記指標と、前記予測モデルによる予測結果の精度との関連性を特定する。さらに、開示の技術は、ラベルが対応付けられていないデータ値を複数含む第3のデータセットに対する前記予測モデルによる予測結果の精度を、前記第1のデータセットと前記第3のデータセットとの間の前記指標と、特定した前記関連性とに基づいて推定する。
【発明の効果】
【0007】
一つの側面として、ラベルなし実データに対する訓練済みのモデルの精度を推定することができる、という効果を有する。
【図面の簡単な説明】
【0008】
【
図2】予測モデルの訓練を説明するための図である。
【
図4】分類誤差の最大化について説明するための図である。
【
図5】分類誤差の最大化について説明するための図である。
【
図7】指標-精度曲線の特定を説明するための図である。
【
図8】実データセットについての精度の推定を説明するための図である。
【
図9】精度推定装置として機能するコンピュータの概略構成を示すブロック図である。
【
図10】特定処理の一例を示すフローチャートである。
【
図11】推定処理の一例を示すフローチャートである。
【
図12】最大分類誤差を算出する際の繰り返しアルゴリズムの早期停止を説明するための図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して、開示の技術に係る実施形態の一例を説明する。
【0010】
図1に示すように、精度推定装置10は、入力されたラベル付きデータセット集合を用いて、データセット間の相違を示す指標と、データセットに対するモデルの予測結果の精度との関係を特定する。そして、精度推定装置10は、特定した関係を用いて、入力された実データセットに対するモデルの予測結果の精度を推定する。
【0011】
精度推定装置10は、機能的には、
図1に示すように、取得部11、学習部12と、指標算出部13と、精度算出部14と、特定部15と、推定部16とを含む。また、精度推定装置10の所定の記憶領域には、指標-精度曲線20が記憶される。
【0012】
取得部11は、精度推定装置10に入力されるラベル付きデータセット集合を取得し、学習部12へ受け渡す。
【0013】
ラベル付きデータセット集合には、複数のラベル付きデータセットが含まれる。ラベル付きデータセットは、それぞれがデータ値と、そのデータ値が示す対象の正解を表すラベルとを対応付けたデータを複数含む。例えば、モデルが、画像から数字を認識する認識モデルの場合、データセットには、0~9のいずれかのラベルが対応付けられた画像のセットが複数(例えば、1,000個)含まれる。また、例えば、モデルが、入力された画像が犬の画像か猫の画像かを識別する識別モデルの場合、データセットには、犬又は猫を示すラベルが対応付けられた画像のセットが複数含まれる。また、例えば、モデルが、画像から人物を検出する検出モデルの場合、データセットには、人物が存在する又は存在しないことを示すラベルが対応付けられた画像のセットが複数含まれる。
【0014】
また、ラベル付きデータセット集合に含まれる複数のデータセットの各々は、各データセットに含まれるデータ値の性質がデータセット毎に異なる。例えば、データ値の取得過程、生成過程等の環境を異ならせることにより、データ値の性質がそれぞれ異なるデータセットを用意することができる。例えば、上記の数字を認識する認識モデルのために用意するデータセットとしては、単純に記載された手書きの数字の白黒画像のデータセット、手書きの数字の白黒画像に色付けした画像のデータセット等とすることができる。また、家の住所表札等の実環境における数字部分を撮影した画像のデータセット、コンピュータグラフィックス等により作成した合成画像のデータセット、中抜き文字等の装飾又は加工が施された手書き数字の画像のデータセット等とすることができる。
【0015】
学習部12は、取得部11から受け渡されたラベル付きデータセット集合を用いて訓練することによりモデルを生成する。モデルは、上述した認識モデル、識別モデル、検出モデル等のように、実データに対する何らかの予測結果を出力するものである。以下、モデルを「予測モデル」ともいう。予測モデルは、
図2に示すように、データ値から特徴を抽出する特徴抽出器Gと、特徴抽出器Gにより抽出された特徴を分類することによりデータ値がいずれのラベルに対応するかを予測した予測結果を出力する分類器C1とを含む。
【0016】
具体的には、学習部12は、ラベル付きデータセット集合に含まれるラベル付きデータセットの各々を用いて、予測モデル内のパラメータ(重み)を訓練する。より具体的には、学習部12は、
図2に示すように、データセットに含まれるラベルと、データセットに含まれるデータ値に対する予測モデルによる予測結果とが対応するように、特徴抽出器G及び分類器C1の各々のパラメータを訓練する。学習部12は、ラベル付きデータセット毎に訓練した予測モデルと、取得部11から受け渡されたラベル付きデータセット集合を指標算出部13へ受け渡す。
【0017】
指標算出部13は、学習部12から受け渡されたラベル付きデータセット集合に含まれる第1のデータセットと、第1のデータセットとは異なる第2のデータセットとの相違の度合いを示す指標を算出する。指標算出部13は、データセットに含まれるデータ値を用いて指標を算出する。すなわち、指標算出部13は、ラベルを用いることなく指標を算出する。具体的には、指標算出部13は、第2のデータセットに含まれるデータ値に対する、第1のデータセットを用いて訓練された予測モデルによる予測結果を用いて、指標を算出する。データセット間でデータ値を単純に比較するだけでは、データセットの性質が相違しているのか、性質は共通しているものの、データ自体が異なることによる相違なのかを区別することが困難である。指標算出部13は、予測モデルの予測結果を用いることで、データセット間の性質の相違を示す指標を算出するものである。
【0018】
以下では、第1のデータセットを「データセットDS」、第2のデータセットを「データセットDT」という。指標算出部13は、ラベル付きデータセット集合に含まれる2つのデータセットの組合せの各々を、データセットDSとデータセットDTとのペアとし、全てのペアの各々について、指標を算出する。
【0019】
より具体的には、指標算出部13は、データセットDSを用いて訓練された予測モデルの分類器として、少なくともパラメータが異なる複数の分類器を生成する。そして、指標算出部13は、
図3の上段に示すように、データセットDTに対する複数の分類器のそれぞれによる予測結果の差分である分類誤差を、指標として算出する。
【0020】
例えば、指標算出部13は、データセットDSを用いて訓練された予測モデルの分類器C1のパラメータを初期化した分類器を分類器C2として生成する。そして、指標算出部13は、例えば、下記(1)式により、データセットDTに対する、分類器C1による予測結果と分類器C2による予測結果との分類誤差d(C1,C2)を算出する。
【0021】
【0022】
ここで、|DT|はデータセットDTに含まれるデータの数、xtはデータセットDTに含まれるデータのデータ値、Kはラベルの種類数、G(xt)は特徴抽出器Gにより抽出されるデータ値xtの特徴量である。また、Ci(X)kは特徴量Xに基づく分類器Ci(iは1又は2)によるラベルkについての予測結果である。(1)式に示す分類誤差は、データセットDTのラベルを用いることなく算出可能な指標である。
【0023】
また、指標算出部13は、後述する特定部15で用いる指標として、分類器C1及びC2を最適化しつつ最大化した分類誤差(最大分類誤差、MCD、Maximum Classifier Discrepancy)を算出する。例えば、指標算出部13は、下記(2)式に示す損失関数Lossを最小化する。
【0024】
Loss((xs,ys),xt)
=CrossEntropyLoss(C1(G(xs)),ys)
+CrossEntropyLoss(C2(G(xs)),ys)
-MeanL1Norm(C1(G(xt))-C2(G(xt)))
(2)
【0025】
ここで、xsはデータセットDSに含まれるデータのデータ値、ysはデータ値xsに対応付けられたラベルである。(2)式の第1項は、分類器が分類器C1である予測モデルによるデータセットDSに対する予測結果の誤差であり、
図3の下段に示す予測誤差1に相当する。第2項は、分類器が分類器C2である予測モデルによるデータセットDSに対する予測結果の誤差であり、
図3の下段に示す予測誤差2に相当する。第3項は、データセットDTについての分類誤差であり、例えば、上記(1)式に相当する。
【0026】
指標算出部13は、(2)式に示す損失関数Lossを最小化するように、分類器C1及びC2のパラメータを最適化し、損失関数Lossが最小化した際の第3項を最大分類誤差とする。なお、損失関数Lossを最小化する際、特徴抽出器Gのパラメータは固定とする。
【0027】
ここで、分類誤差を最大化する理由について説明する。ここでは、説明を簡単にするため、ラベルが0及び1の2値であり、特徴抽出器Gにより抽出される特徴量を二次元で表現できる場合について説明する。
【0028】
図4及び
図5に、分類器C1による分類境界、分類器C2による分類境界、及び各データセットに含まれるデータ値から抽出された特徴量の各々を二次元に投影した例を示す。
図4及び
図5において、丸印(〇)は、データセットDSに含まれるラベル0が対応付けられたデータの特徴量、バツ印(×)は、データセットDSに含まれるラベル1対応付けられたデータの特徴量を示す。また、三角印(△)は、データセットDTに含まれるデータの特徴量を示す。
【0029】
分類器C1及びC2を最適化して、〇と×とが、分類器C1及びC2のいずれの分類境界に対しても適切に判定されている状態において、△のうち、分類器C1とC2とで判定が異なる△の割合、すなわち、分類器が判定を迷う割合を分類誤差と考える。
図4の例では、分類誤差は1/8、
図5の例では、分類誤差は4/8である。データセットDTのデータから抽出された特徴量に対して分類器が判定を迷う割合は、データセットDSで訓練された特徴抽出器GのデータセットDTへの非適合性を表しているとみなすことができる。すなわち、分類誤差が大きいほど、データセットDTは、予測モデルにとって、データセットDSと性質の異なるデータセットであると言える。そこで、データセットDTに対する分類器の迷い具合を正確に特定するために、分類誤差を最大化するものである。
【0030】
図4は、分類誤差が最大化されていない例、
図5は、分類誤差が最大化された例である。
図4の例と
図5の例とを比較すると、
図5の方が、分類器が判定を迷う△をできる限り漏れなく特定できている。すなわち、分類誤差を最大化することで、データセットDSとデータセットDTとの相違を示す指標として、質の高い指標を算出することができる。
【0031】
指標算出部13は、データセットDSとデータセットDTとのペア毎に算出した最大分類誤差を特定部15へ受け渡すと共に、ラベル付きデータセット集合を精度算出部14へ受け渡す。
【0032】
また、指標算出部13は、後述する推定部16からの指示により、予測モデルの訓練に用いたデータセットDSと実データセットとの相違を示す指標を算出する。例えば、指標算出部13は、上記(1)式のデータセットDTを実データセットに置き換えて、指標として分類誤差を算出する。指標算出部13は、算出した実データセットについての指標を推定部16へ受け渡す。なお、「実データセット」は、開示の技術の「第3のデータセット」の一例である。
【0033】
精度算出部14は、データセットDSを用いて訓練された予測モデルにより予測された、データセットDTに対する予測結果の精度を算出する。具体的には、精度算出部14は、
図6に示すように、特徴抽出器Gと分類器C1とからなる予測モデルにデータセットDTを入力する。そして、精度算出部14は、予測モデルから得られる予測結果と、データセットDTに含まれるラベルとに基づいて、例えば正解率等で表される精度を算出する。精度算出部14は、指標算出部13により指標が算出されたデータセットDT毎に精度も算出する。指標算出部13は、データセットDT毎に算出した精度を特定部15に受け渡す。
【0034】
特定部15は、データセットDSとデータセットDTとの複数の組合せ毎に算出された指標及び精度に基づいて、データセット間の相違と、予測モデルによる予測結果の精度との関連性を特定する。具体的には、特定部15は、
図7に示すように、横軸に指標、縦軸に精度を取った空間に、データセットDSとデータセットDTとのペア毎に算出された指標である最大分類誤差と、精度とに対応する点(
図7中の黒丸)をプロットする。特定部15は、プロットした点に基づいて、例えば、ベイズ推定等による推定値を示す回帰曲線(
図7中の実線の曲線)を求める。以下、この回帰曲線を「指標-精度曲線20」という。
【0035】
図7の例では、指標-精度曲線20と共に、推定値に対する95%の信頼区間(
図7中の網掛部分)も示している。
図7に示すように、データセット間の相違を示す指標と予測モデルによる予測結果の精度との関係は、指標である最大分類誤差が増大するにつれ、精度が単調に減少する関係である。特定部15は、求めた指標-精度曲線20の情報を所定の記憶領域に記憶する。
【0036】
推定部16は、データ値にラベルが対応付けられていないデータを複数含む実データセットに対する予測モデルによる予測結果の精度を、データセットDSと実データセットとの相違を示す指標と、指標-精度曲線20とに基づいて推定する。実データセットは、予測モデルが適用される実環境において取得されるデータ値のデータセットである。
【0037】
具体的には、推定部16は、実データセットを取得し、指標算出部13へ受け渡すと共に、実データセットについての指標として、分類誤差の算出を指標算出部13へ指示し、指標算出部13から、実データセットについての指標を受け取る。そして、推定部16は、指標-精度曲線20を参照して、
図8に示すように、実データセットについての指標に対応する精度の推定値を取得する。推定部16は、取得した推定値を精度推定結果として出力する。
【0038】
なお、実環境における予測モデルの分類器C1のパラメータは、ランダムに初期化した値としてよい。一般的に、予測モデルにおいては、特徴抽出器Gが本質部分であり、分類器C1は、例えば1~2層程度の層の浅い構成となる。そのため、実環境における分類器C1のパラメータと、指標-精度曲線20が求められた際の分類器C1のパラメータとの相違は、精度の推定に大きな影響を与えない。
【0039】
精度推定装置10は、例えば
図9に示すコンピュータ40で実現することができる。コンピュータ40は、CPU(Central Processing Unit)41と、一時記憶領域としてのメモリ42と、不揮発性の記憶部43とを備える。また、コンピュータ40は、入力部、表示部等の入出力装置44と、記憶媒体49に対するデータの読み込み及び書き込みを制御するR/W(Read/Write)部45とを備える。また、コンピュータ40は、インターネット等のネットワークに接続される通信I/F(Interface)46を備える。CPU41、メモリ42、記憶部43、入出力装置44、R/W部45、及び通信I/F46は、バス47を介して互いに接続される。
【0040】
記憶部43は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部43には、コンピュータ40を、精度推定装置10として機能させるための精度推定プログラム50が記憶される。精度推定プログラム50は、取得プロセス51と、学習プロセス52と、指標算出プロセス53と、精度算出プロセス54と、特定プロセス55と、推定プロセス56とを有する。また、記憶部43は、指標-精度曲線20を構成する情報が記憶される情報記憶領域60を有する。
【0041】
CPU41は、精度推定プログラム50を記憶部43から読み出してメモリ42に展開し、精度推定プログラム50が有するプロセスを順次実行する。CPU41は、取得プロセス51を実行することで、
図1に示す取得部11として動作する。また、CPU41は、学習プロセス52を実行することで、
図1に示す学習部12として動作する。また、CPU41は、指標算出プロセス53を実行することで、
図1に示す指標算出部13として動作する。また、CPU41は、精度算出プロセス54を実行することで、
図1に示す精度算出部14として動作する。また、CPU41は、特定プロセス55を実行することで、
図1に示す特定部15として動作する。また、CPU41は、推定プロセス56を実行することで、
図1に示す推定部16として動作する。また、CPU41は、情報記憶領域60から情報を読み出して、指標-精度曲線をメモリ42に展開する。これにより、精度推定プログラム50を実行したコンピュータ40が、精度推定装置10として機能することになる。なお、プログラムを実行するCPU41はハードウェアである。
【0042】
なお、精度推定プログラム50により実現される機能は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
【0043】
次に、本実施形態に係る精度推定装置10の作用について説明する。精度推定装置10にラベル付きデータセット集合が入力され、指標-精度曲線20の特定が指示されると、精度推定装置10において、
図10に示す特定処理が実行される。また、精度推定装置10に実データセットが入力され、精度の推定が指示されると、精度推定装置10において、
図11に示す推定処理が実行される。なお、特定処理及び推定処理は、開示の技術の精度推定方法の一例である。以下、特定処理及び推定処理の各々について詳述する。
【0044】
まず、
図10を参照して、特定処理について説明する。
【0045】
ステップS11で、取得部11が、精度推定装置10に入力されたラベル付きデータセット集合から、2つのデータセットを選択し、データセットDSとデータセットDTとのペアとして取得し、学習部12へ受け渡す。
【0046】
次に、ステップS12で、学習部12が、データセットDSに含まれるラベルと、データセットDSに含まれるデータ値に対する予測モデルによる予測結果とが対応するように、予測モデルを構成する特徴抽出器G及び分類器C1の各々のパラメータを訓練する。
【0047】
次に、ステップS13で、指標算出部13が、データセットDSを用いて訓練された予測モデルの分類器C1のパラメータを初期化した分類器を分類器C2として生成する。そして、指標算出部13が、データセットDTに対する、分類器C1による予測結果と分類器C2による予測結果との分類誤差を算出する。さらに、指標算出部13が、分類器C1及びC2を最適化しつつ、分類誤差を最大化した最大分類誤差を算出する。
【0048】
次に、ステップS14で、精度算出部14が、予測モデルにデータセットDTを入力し、予測モデルから得られる予測結果と、データセットDTに含まれるラベルとに基づいて、例えば正解率等で表される精度を算出する。精度算出部14は、算出した精度を、上記ステップS13で算出された指標と共に、所定の記憶領域に一旦記憶する。
【0049】
次に、ステップS15で、取得部11が、ラベル付きデータセット集合に含まれるデータセットの全てのペアについて、ステップS11~S14の処理が終了したか否かを判定する。未処理のペアが存在する場合には、処理はステップS11に戻り、全てのペアについて処理が終了した場合には、処理はステップS16へ移行する。
【0050】
ステップS16では、特定部15が、横軸に指標、縦軸に精度を取った空間に、所定の記憶領域に一旦記憶しておいた、データセットDSとデータセットDTとのペア毎に算出された指標である最大分類誤差と、精度とに対応する点をプロットする。そして、特定部15が、プロットした点に基づいて、例えば、ベイズ推定等による推定値を示す回帰曲線を、指標-精度曲線20として特定する。特定部15は、特定した指標-精度曲線20の情報を所定の記憶領域に記憶し、特定処理は終了する。
【0051】
次に、
図11を参照して、推定処理について説明する。
【0052】
ステップS21で、推定部16が、実データセットを取得し、指標算出部13へ受け渡すと共に、実データセットについての指標として、分類誤差の算出を指標算出部13へ指示する。
【0053】
次に、ステップS22で、指標算出部13が、予測モデルの訓練に用いたデータセットDSと実データセットとの相違を示す指標として、分類誤差を算出し、算出した実データセットについての指標を推定部16へ受け渡す。
【0054】
次に、ステップS23で、推定部16が、指標-精度曲線20を参照して、実データセットについての指標に対応する精度の推定値を取得し、取得した推定値を精度推定結果として出力する。そして、推定処理は終了する。
【0055】
以上説明したように、本実施形態に係る精度推定装置は、データ値の性質がデータセット毎に異なる複数のデータセットを取得し、データセットDSとデータセットDTとのペア毎に、データセット間の相違の度合いを示す指標を算出する。指標としては、データセットDTに対する複数の分類器の各々による予測結果の差分を示す分類誤差を、複数の分類器を最適化しつつ最大化した最大分類誤差が算出される。また、精度推定装置は、データセットDSを用いて訓練された予測モデルにより予測された、データセットDTに対する予測結果の精度を算出する。そして、精度推定装置は、データセットDSとデータセットDTとの複数のペア毎に算出された指標及び精度に基づいて、データセット間の相違と、予測モデルによる予測結果の精度との関連性を特定する。さらに、精度推定装置は、実データセットに対する、データセットDSを用いて訓練された予測モデルによる予測結果の精度を、データセットDSと実データセットとの分類誤差と、特定した関連性とに基づいて推定する。これにより、ラベルなし実データに対する訓練済みのモデルの精度を推定することができる。
【0056】
また、データセット間の相違と、予測モデルによる予測結果の精度との関連性として、指標-精度曲線を特定して、実データセットの精度の推定に用いる。これにより、予測モデル訓練時の環境と実環境との相違によるデータセット間の性質の変化に対して、予測モデルの精度がどの程度低下するかを定量的に推定することができる。
【0057】
なお、上記実施形態において、最大分類誤差は、損失関数Lossを繰り返しアルゴリズムにより最小化することにより算出することができる。この繰り返しアルゴリズムの繰り返し回数を制限し、繰り返しアルゴリズムを早期停止させるようにしてもよい。最大分類誤差と精度との関係は、
図12の破線で示すように、最大分類誤差の変動に対して、精度が急激に変動しないことが望ましい。しかし、最大分類誤差を算出する際の繰り返しアルゴリズムの繰り返し回数が多くなると、どのデータセットについても最大分類誤差が同程度の値となってしまう場合がある。この場合、最大分類誤差と精度との関係が、
図12の実線で示すように、最大分類誤差が大きい箇所で、最大分類誤差の変動が小さいにもかかわらず、精度が急激に低下してしまう(
図12の一点鎖線部)。
【0058】
このような指標-精度曲線では、最大分類誤差が大きい箇所で、精度の推定値のブレが大きく、安定した精度の推定を行うことができない。そこで、指標-精度曲線が、
図12の破線で示すような望ましい変動となるように、繰り返しアルゴリズムを早期停止させるものである。早期停止させる場合の繰り返し回数は、異なるデータセットについての最大分類誤差がそれぞれ所定値以上離れた値をとるように、事前に実験等により特定して設定しておけばよい。なお、早期停止させる場合の繰り返し回数は、いずれのデータセットのペアについても共通とする。
【0059】
また、上記実施形態において、ラベル付きデータセット集合に含まれる2以上のデータセットを結合して新たなデータセットを生成してもよい。これにより、性質の異なるデータセットを多く用意することが困難な場合でも、指標-精度曲線を特定する際のプロット点数を増やすことができ、指標-精度曲線を精度良く特定することができる。
【0060】
また、上記実施形態では、指標-精度曲線で用いる精度として、予測モデルに対するデータセットDTの精度を用いる場合について説明したが、これに限定されない。例えば、予測モデルに対するデータセットDSの精度と、予測モデルに対するデータセットDTの精度との差分等、データセットDTについての精度の低下度合いを示す値としてもよい。
【0061】
また、上記実施形態では、精度推定プログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD-ROM、DVD-ROM、USBメモリ等の記憶媒体に記憶された形態で提供することも可能である。
【符号の説明】
【0062】
10 精度推定装置
11 取得部
12 学習部
13 指標算出部
14 精度算出部
15 特定部
16 推定部
20 指標-精度曲線
40 コンピュータ
41 CPU
42 メモリ
43 記憶部
49 記憶媒体
50 精度推定プログラム