(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-18
(45)【発行日】2024-11-26
(54)【発明の名称】評価プログラム、評価方法及び精度評価装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20241119BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2023539537
(86)(22)【出願日】2021-08-06
(86)【国際出願番号】 JP2021029283
(87)【国際公開番号】W WO2023013024
(87)【国際公開日】2023-02-09
【審査請求日】2023-12-21
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】金月 寛彰
【審査官】佐藤 直樹
(56)【参考文献】
【文献】国際公開第2019/150813(WO,A1)
【文献】米国特許出願公開第2020/0034665(US,A1)
【文献】MICEVSKA, Simona,"A Statistical Drift Detection Method",[online], UNIVERSITY OF TARTU,2019年10月15日,Pages 1-11 and 57-59,[retrieved on 2021.09.01], Retrieved from the Internet: <URL: http://hdl.handle.net/10062/66395>.
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
第1の機械学習モデルのパラメータに基づいて第1のデータから得られる第1の特徴量に基づいて、前記第1の機械学習モデルのパラメータを更新することによって第2の機械学習モデルを生成し、
前記第2の機械学習モデルのパラメータに基づいて第2のデータから得られる第2の特徴量と第1の情報を示す正解ラベルとを含む第1の訓練データと、前記第2の機械学習モデルのパラメータに基づいて第3のデータから得られる第3の特徴量と第2の情報を示す正解ラベルとを含む第2の訓練データとに基づいて、第3の機械学習モデルを生成し、
生成された前記第3の機械学習モデルの予測精度に基づいて、前記第2の機械学習モデルを評価する、
処理をコンピュータに実行させることを特徴とする評価プログラム。
【請求項2】
前記更新する処理は、前記第1の特徴量に基づいたクラスタリングによって、前記第1のデータの分類を推定し、前記分類を前記第1のデータの正解ラベルとする第3の訓練データに基づいて、前記第1の機械学習モデルのパラメータを更新する処理を含むことを特徴とする請求項1に記載の評価プログラム。
【請求項3】
前記第3の機械学習モデルは二値化分類器であり、前記第3の機械学習モデルが前記第2の特徴量及び前記第3の特徴量を、前記第1の情報に対応する第1のクラスと第2の情報に対応する第2のクラスとに分類したときの前記予測精度を基に精度指標を求め、前記精度指標と閾値との関係を基に前記第2の機械学習モデルの推定精度が劣化したか否かを評価する処理を前記コンピュータに実行させることを特徴とする請求項1に記載の評価プログラム。
【請求項4】
前記精度指標は、前記第3の機械学習モデルの予測精度のROC(Receiver Operating Characteristic)/AUC(Area Under the Curve)スコアであり、
前記評価する処理は、前記精度指標が閾値
以上の場合に、前記第2の機械学習モデルの推定精度が劣化したと評価する処理を含む、
ことを特徴とする請求項3に記載の評価プログラム。
【請求項5】
第1の機械学習モデルのパラメータに基づいて第1のデータから得られる第1の特徴量に基づいて、前記第1の機械学習モデルのパラメータを更新することによって第2の機械学習モデルを生成し、
前記第2の機械学習モデルのパラメータに基づいて第2のデータから得られる第2の特徴量と第1の情報を示す正解ラベルとを含む第1の訓練データと、前記第2の機械学習モデルのパラメータに基づいて第3のデータから得られる第3の特徴量と第2の情報を示す正解ラベルとを含む第2の訓練データとに基づいて、第3の機械学習モデルを生成し、
生成された前記第3の機械学習モデルの予測精度に基づいて、前記第2の機械学習モデルを評価する、
処理をコンピュータが実行することを特徴とする評価方法。
【請求項6】
第1の機械学習モデルのパラメータに基づいて第1のデータから得られる第1の特徴量に基づいて、前記第1の機械学習モデルのパラメータを更新することによって第2の機械学習モデルを生成し、
前記第2の機械学習モデルのパラメータに基づいて第2のデータから得られる第2の特徴量と第1の情報を示す正解ラベルとを含む第1の訓練データと、前記第2の機械学習モデルのパラメータに基づいて第3のデータから得られる第3の特徴量と第2の情報を示す正解ラベルとを含む第2の訓練データとに基づいて、第3の機械学習モデルを生成し、
生成された前記第3の機械学習モデルの予測精度に基づいて、前記第2の機械学習モデルを評価する処理を実行する制御部
を備えたことを特徴とする精度評価装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、評価プログラム、評価方法及び精度評価装置に関する。
【背景技術】
【0002】
機械学習を用いた業務運用は以下のような手順で行われる。まず、訓練フェーズにおいて、用意された訓練データを用いて機械学習を繰り返すことで、業務で活用するための機械学習モデルが作成される。訓練データは、教師データとも呼ばれる。そして、適用フェーズにおいて、作成された機械学習モデルに業務で用いる運用データが入力されて予測結果が出力される。ここで、機械学習モデルを業務で使い続けていく中で時間経過とともに外部環境が変化し、機械学習モデルへ入力される運用データの傾向が、機械学習モデルの訓練に用いた訓練データから変化していくことがある。
【0003】
運用データの変化の結果、機械学習モデルの開発時の訓練データと運用データとの差異や運用時の入力された運用データの統計傾向の変化などから、機械学習モデルの推定精度に劣化が生じる。そこで、このような機械学習モデルの推定精度の劣化に対応するための技術の開発が進められている。
【0004】
推定精度の劣化に対応する技術の1つとして、運用時に入力される運用データに応じて機械学習モデルの自動精度回復を試みる技術が提案されている。この技術では、以下に示すような手順で自動精度回復が試みられる。例えば、運用時に入力された運用データは、データ空間に表現される。データ空間に表現された運用データは、機械学習モデルにより決定境界と呼ばれる境界線で分離される。次に、データ空間に表された運用データは、データ分布の特徴をデータ群として表現した数理的空間である特徴量空間に射影されることで運用データが形成するデータ群が形状として捉えられて、変化が追従される。その後、特徴量空間上での射影されえた運用データの分類結果をデータ空間に表現された運用データに対する疑似ラベルとしてラベル付けが行われる。その後、ラベル付けが行われた運用データを用いて再訓練を行うことにより、機械学習モデルの自動精度回復が行われる。これにより、運用データの質が変化しても機械学習モデル、ひいてはAI(artificial intelligence)システムの精度劣化を防ぐことができる。疑似ラベルは、例えば、ラベル付けがされていないデータに対して、推定によって付与される正解ラベルである。
【0005】
ただし、自動精度回復がうまくいくか否かはデータ分布に依存しており、運用データの変化が大きい場合、自動精度回復を行ったとしても精度劣化を回復することが困難な場合がある。入力モニタリングを行っても、入力された運用データのうちモニター対象の値以外が異常値であるために機械学習モデルの精度劣化が引き起こされる場合がある。そこで、AIシステムの品質を担保するために、機械学習モデルの出力結果をモニタリングして、異常検出や精度劣化予測もしくは事前検知を行なうことが重要となる。
【0006】
例えば、深層学習を行う機械学習モデルの構成として、CNN(Convolution Neural Network)などの特徴量抽出層と決定境界を構築する全結合層を有するモデルを用いる場合で説明する。また、教師なし適合として、Backwardの際に勾配の符号を反転させるGradient Reversal層を導入し、入力データの特徴量抽出からBCE(Binary Cross Entropy)Lossを用いて学習を行う敵対的学習(Adversarial Training)を例に説明する。この場合、密度クラスタリングを用いた疑似ラベルを利用して自動精度回復が行われる。そして、全結合層の後にMetric層を追加導入したモデルによって特徴量抽出層と全結合層とを再訓練させる。ここで、特徴量抽出層の出力からMetric層までは固定である。Metric層は、距離学習をおこなうレイヤであり、特徴量空間を作成する。
【0007】
このような場合に、精度回復の程度を評価する手法の1つとして、出力した予測ラベルが正しいかを正解ラベルを新規に入手して機械学習モデルの精度回復がどの程度行われたかを評価する手法がある。また、自動精度回復前の機械学習モデルにデータを入力し、自動回復を行った機械学習モデルに同じデータを入力した場合の予測さを見て、精度回復の程度を評価する手法がある。
【0008】
さらに、機械学習モデルの精度に関する従来技術として、入力データの件数を取得して、分類結果の訂正情報から訂正回数を取得して、定性率を計算する技術がある。また、精度指標を提供する二値分類器の技術として、ラベルなしサンプルが正例のデータであるか否かを示すスコアを計算し、スコアとサンプルとに基づいて評価値モデル及び確率モデルを計算して、2値分類のスコア関数を学習する技術がある。また、入力画面画像を左右の画像に分割して、形態素オペレータ用いて左右の目の第1候補を抽出し、第1候補のデータに対して二値化分類器を用いて左右の目の第2候補を抽出して左右の目の位置を特定する技術がある。
【先行技術文献】
【特許文献】
【0009】
【文献】国際公開第2020/036192号
【文献】特開2017-126158号公報
【文献】米国特許出願公開第2006/0110030号明細書
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、正解ラベルを入手して機械学習モデルの精度を評価する技術では、正解ラベルの入手コストが大きい場合、精度評価を実行することが現実的ではなく困難となる。また、精度自動回復前後の機械学習モデルからの出力を予測差から精度を評価する技術では、どちらのモデルも同じように精度劣化している場合、予測差が小さくなり適切な評価を行うことが困難である。
【0011】
また、入力データの件数及び訂正回数から定性率を計算する技術では、新規データが現在の機械学習モデルでどの程度分類できるかを問題としており、機械学習モデル自体の精度を評価することは困難である。また、ラベルなしサンプルが正例のデータであるかのスコア及びサンプルに基づき評価値モデル及び確率モデルを計算する技術は、ロジスティック回帰におけるラベルなしデータの2値分類学習の適用方法であり、機械学習モデルの精度を評価することは困難である。また、形態素オペレータ用いて抽出した第1候補に対して二値化分類器を用いて第2候補を抽出して左右の目の位置を特定する技術は、最終段階で二値化分類器を用いることで分類の精度を高めることはできるが、機械学習モデルの精度を評価することは困難である。したがって、いずれの技術を用いても、機械学習モデルの精度劣化を正確に判定することは難しく、対応の遅れから機械学習モデルの精度劣化による推定精度の低下を抑制することは困難である。
【0012】
開示の技術は、上記に鑑みてなされたものであって、機械学習モデルの推定精度を維持させる評価プログラム、評価方法及び精度評価装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
本願の開示する評価プログラム、評価方法及び学習モデル評価装置の一つの態様において、以下の処理をコンピュータに実行させる。1つは、第1の機械学習モデルのパラメータに基づいて第1のデータから得られる第1の特徴量に基づいて、前記第1の機械学習モデルのパラメータを更新することによって第2の機械学習モデルを生成する処理である。1つは、前記第2の機械学習モデルのパラメータに基づいて第2のデータから得られる第2の特徴量と第1の情報を示す正解ラベルとを含む第1の訓練データと、前記第2の機械学習モデルのパラメータに基づいて第3のデータから得られる第3の特徴量と第2の情報を示す正解ラベルとを含む第2の訓練データとに基づいて、第3の機械学習モデルを生成する処理である。1つは、生成された前記第3の機械学習モデルの予測精度に基づいて、前記第2の機械学習モデルを評価する処理である。
【発明の効果】
【0014】
1つの側面では、本発明は、機械学習モデルの推定精度を維持することができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、実施例に係る精度評価装置のブロック図である。
【
図2】
図2は、実施例における自動精度回復及び推定精度評価の全体的な流れを示す図である。
【
図3】
図3は、精度評価装置によるモデルの推定精度評価の概要を表す図である。
【
図4】
図4は、特徴量抽出器の一例を説明するための図である。
【
図5】
図5は、実施例に係る精度評価装置による推定精度評価処理のフローチャートである。
【
図6】
図6は、コンセプトドリフトに対するモデルの適合の精度変化を表す図である。
【
図7】
図7は、精度評価装置のハードウェア構成図である。
【発明を実施するための形態】
【0016】
以下に、本願の開示する評価プログラム、評価方法及び精度評価装置の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する評価プログラム、評価方法及び精度評価装置が限定されるものではない。
【実施例】
【0017】
図1は、実施例に係る精度評価装置のブロック図である。本実施例に係る精度評価装置1は、機械学習装置2に接続される。また、精度評価装置1及び機械学習装置2ともに、訓練データデータベース31及び運用データデータベース32に接続される。
【0018】
訓練データデータベース31には、機械学習モデルの訓練を行うための訓練データが格納される。訓練データは、入力データと正しい出力結果とが存在する教師データである。以下の説明では、機械学習モデルを単にモデルと呼ぶ。
【0019】
運用データデータベース32は、訓練済みのモデルを用いて推論を行う推論対象となる運用データが格納される。ここで、本実施例では、運用データが既に運用データデータベース32に格納された状態を例として説明するが、機械学習装置2の運用中に、運用データを生成する装置から運用データが運用データデータベース32に随時格納される構成でもよい。
【0020】
機械学習装置2は、訓練データを用いてモデルの訓練を行い、その後、訓練したモデルを適用して運用データに対する推定を行う。機械学習装置2は、機械学習部21、推定部22及び自動修復部23を有する。
【0021】
機械学習部21は、訓練前の基本となるモデルを保持する。機械学習部21は、訓練データを訓練データデータベース31から取得する。次に、機械学習部21は、保持するモデルに訓練データに含まれる入力データを入力してモデルからの出力を得る。そして、機械学習部21は、モデルからの出力と正しい出力結果との誤差が小さくなるようにモデルのパラメータを調整することでモデルの訓練を行う。機械学習部21は、訓練済みのモデルを推定部22へ出力する。この機械学習部21による訓練済みのモデルが、「第1の機械学習モデル」の一例にあたる。
【0022】
図2は、実施例における自動精度回復及び推定精度評価の全体的な流れを示す図である。機械学習部21は、
図2におけるステップS1で示されるモデル101の学習を実行する。
図2におけるデータX
1及びY
1は、訓練データである。
【0023】
図1に戻って説明を続ける。推定部22は、訓練済みのモデルの入力を機械学習部21から受ける。また、推定部22は、運用データを運用データデータベース32から取得する。そして、推定部22は、訓練済みのモデルに運用データを入力してモデルからの出力を推定結果として得る。その後、推定部22は、例えば、推定結果を利用者端末(不図示)などに送信することで利用者に推定結果を通知する。推定部22は、運用データの推定を繰り返す。追従前のモデルに入力された運用データが「第1のデータ」の一例にあたる。
【0024】
また、推定部22は、推定結果を自動修復部23へ出力する。その後、推定部22は、精度自動回復が行われて更新されたモデルの入力を自動修復部23から受けると、更新されたモデルを用いて推定を行う。すなわち、推定部22は、逐次更新されたモデルを用いて運用データの推定を行う。
【0025】
上述したように、機械学習モデルを業務で使い続けていく中で時間経過とともに外部環境が変化し、機械学習モデルへ入力される運用データの傾向が、機械学習モデルの訓練に用いた訓練データから変化していくことがある。例えば、送られてくる内容が変化するメールスパム、年ごとに変化が発生する電気需要や株価、状況により手の出し方が変わるポーカーハンド及び夏と冬との季節変化や朝と夜の時間帯変化が発生する定点画像などが変化するデータの例として挙げられる。機械学習モデルが予測対象とする目的変数の統計学的特性が、時間の経過とともに予期せぬかたちで変化してしまうことは、「コンセプトドリフト」と呼ばれる場合がある。そして、コンセプトドリフトが発生した場合に、その変化に対応させる形でモデルの推定精度を回復させることを、データの変化への「追従」と呼ぶ場合がある。さらに、コンセプトドリフトが発生後に推論を適切に行えるようにモデルを修正することを、「モデルの適合」と呼ぶ場合がある。すなわち、コンセプトドリフトが発生した場合にモデルの推定精度の回復を行ってデータの変化にモデルを適合させることで、データの変化への追従が行われるといえる。
【0026】
コンセプトドリフトでは、時間t0と時間t1とにおいて、2つの確率変数の同時確率を考えるとき、取り得る全ての組み合わせの確率を表す同時分布(joint distribution)を表すpが一致しない。これにはいくつか原因が考えられる。1つ目は、訓練データの分布には変化がなく、正解ラベルが変化した場合であり、この場合のコンセプトドリフトは仮想ドリフトと呼ばれる。2つ目は、条件付確率が変化した場合である。3つ目は、決定境界が変化した場合である。
【0027】
そして、コンセプトドリフトのうち真の決定境界が変化しないもしくはほとんど変化しないと仮定した場合に、運用データの変化にモデルを適合させることができる技術がドメイン適合技術と呼ばれる。例えば、運用データが画像データの場合が上記の仮定を満たす。画像データの場合、猫の画像が回転して色が異なっても猫は猫というように映っている物体は同じものであることから、決定境界は変化しないといえる。このようにドメイン適合は実質的には画像処理分野の技術であり仮想ドリフトが対象といえる。
【0028】
一方、データ群を特徴量空間に射影して追従を行う自動精度回復の技術は、コンセプトドリフト全般を対象とする適合技術である。この技術では、推定対象として画像データやテーブルデータなど各種データが扱える。ただし、この技術においても、画像データを推定対象とする場合、実質的には仮想ドリフトを対象とする適合となる。以下の説明では、データ群を特徴量空間に射影して追従を行う自動精度回復を対象としており、画像データ以外にもテーブルデータなど各種データを扱うことが可能である。
【0029】
推定部22は、
図2におけるステップS3で示されるように、モデル101に対して自動精度回復を行い運用データの変化に追従した追従後モデル102を用いた推定処理を行う。データY
2’は、データX
2に対する推定部22よる推定結果である。また、データY
2は、データX
2に対する正解ラベルである。追従後モデル102の推定精度が劣化した場合、データY
2とデータY
2’とが一致しなくなる。
【0030】
自動修復部23は、モデルの訓練完了時に、訓練データ及び訓練済みのモデルを機械学習部21から取得する。次に、自動修復部23は、データ空間に配置された各訓練データを、データの特徴量を示す数理的空間である特徴量空間に射影する。具体的には、自動修復部23は、データ空間における各クラスに含まれる訓練データの特徴量を抽出する関数を用いて、各訓練データを特徴量空間に射影してベクトルに変換する。この結果、クラスが同じ訓練データは、特徴量が近いことから、特徴量空間のまとまった位置のベクトルとして表される。これにより、自動修復部23は、高次元のデータ空間に表されていた訓練データを、低次元の特徴量空間にまとまりをもって表現することができる。
【0031】
この特徴量空間への射影において、機械学習モデルがニューラルネットワークの場合、訓練済みのニューラルネットワークの最終層、もしくは最終層より手前にある特定の層までに計算された値が、データの特徴量として用いられる。つまり、ニューラルネットワークにデータを入力して、順伝搬で計算させることによりデータの特徴量を取得することで射影を行う。この取得した特徴量を表すベクトルと配置する空間が特徴量空間である。すなわち、自動修復部23は、訓練済みモデルのパラメータに基づいて、データを特徴量空間へ射影するといえる。
【0032】
次に、自動修復部23は、特徴量空間上に表現された訓練データに対して密度ベースクラスタリングを行うことで特徴量空間上でのデータ群(クラスタ)を決定する。次に、自動修復部23は、データ空間における各クラスに対応する特徴量空間上のデータ群を特定する。そして、自動修復部23は、データ空間における各クラスの正解ラベルを、対応する特徴量空間上の各データ群の正解ラベルとする。すなわち、この段階では、自動修復部23は、特徴量空間上に射影された訓練データの各クラスタに対応するデータ群と正解ラベルが示すクラスとの対応を確認するにとどまる。
【0033】
その後、モデルの運用段階に入ると、自動修復部23は、推定に用いられた運用データを推定部22から取得する。そして、自動修復部23は、取得した運用データをデータ空間から特徴量空間へ射影する。この特徴量空間への射影は、モデルを用いて抽出される訓練データの特徴量を基に行われ、特徴量空間への射影のために抽出された特徴量が、「第1の特徴量」の一例にあたる。そして、自動修復部23は、特徴量空間で運用データのクラスタリングを行い、生成したクラスタに対応するクラスを特定して疑似ラベルを決定する。次に、自動修復部23は、クラスタリングの結果を疑似ラベルとして運用データにラベル付けすることによって再訓練用の訓練データを生成し、機械学習モデルの再訓練を実行する。これにより、自動修復部23は、データ空間における更新された決定境界を有する新たな機械学習モデルを作成する。このクラスタリングの結果を疑似ラベルとしてラベル付けされた運用データが、「第3の訓練データ」の一例にあたる。そして、自動修復部23は、再訓練により更新したモデルを推定部22へ出力する。このようにして、自動修復部23は、モデルの自動精度修復を実行して、運用データの変化にモデルを追従させ推論精度を担保する。この運用データの変化に追従したモデルが、「第2の機械学習モデル」の一例にあたる。
【0034】
図2におけるデータX
2は、運用データである。そして、自動修復部23は、
図2におけるステップS2で示される運用データの変化に対してモデル101を適合させるための変化への追従を実行して追従後モデル102を生成する。
【0035】
精度評価装置1は、推定部22が推定に用いる精度自動回復が行われた追従後モデルから推定性精度を評価するための指標となる追従精度指標を求め、求めた追従精度指標を用いて追従後モデルの推定精度を評価する。そして、精度評価装置1は、追従後モデルの推定精度が劣化した場合には、利用者に推定精度の劣化を通知する。以下に、精度評価装置1の詳細について説明する。精度評価装置1は、制御部10を有する。制御部10は、
図1に示すように、特徴量抽出部11、結合データ生成部12、分類部13、判定部14及び通知部15を有する。
【0036】
特徴量抽出部11は、
図2におけるステップS4で示す訓練データ及び運用データからの精度評価のための特徴量抽出を行う。以下に特徴量抽出部11の動作の詳細について説明する。
【0037】
図3は、精度評価装置によるモデルの推定精度評価の概要を表す図である。また、
図4は、特徴量抽出器の一例を説明するための図である。
【0038】
特徴量抽出部11は、
図3における特徴量抽出器105を有する。例えば、推定部22が使用するモデルが、
図4に示すCNNである場合で説明する。この場合、特徴量抽出器105は、CNNにおける最終層106の1つ前の出力を特徴量として出力する。すなわち、特徴量抽出器105は、Convolutionalネットワークに最終層106を除いた全結合ネットワークを加えた各層を含む。例えば、VGG(Visual Geometry Group)16の場合、特徴量抽出器105は、1000クラス分類の最終層106の1つ前の層まで含む。すなわち、VGG16の場合、特徴量抽出器105から出力される特徴量は、4096の1階のテンソル(ベクトル)である。
【0039】
特徴量抽出部11は、機械学習装置2の推定部22が推定に使用する精度自動回復が行われた追従後モデルを推定部22から取得する。また、特徴量抽出部11は、訓練データを訓練データデータベース31から取得し、且つ、運用データを運用データデータベース32から取得する。次に、特徴量抽出部11は、取得した訓練データを特徴量抽出器105に入力することで、出力として訓練データの特徴量を得る。また、特徴量抽出部11は、取得した運用データを特徴量抽出器105に入力することで、出力として運用データの特徴量を得る。その後、特徴量抽出部11は、訓練データの特徴量及び運用データの特徴量を結合データ生成部12へ出力する。
【0040】
本実施例では、訓練データが「第2のデータ」の一例にあたり、訓練データの特徴量が「第2の特徴量」の一例にあたる。また、訓練データであることを表す情報が「第1の情報」の一例にあたり、訓練データの特徴量と訓練データであることを表す情報との組のデータが、「第1の訓練データ」の一例にあたる。また、運用データが「第3のデータ」の一例にあたり、運用データの特徴量が「第3の特徴量」の一例にあたる。また、運用データであることを表す情報が「第2の情報」の一例にあたり、運用データの特徴量と運用データであることを表す情報との組のデータが、「第2の訓練データ」の一例にあたる。
【0041】
例えば、
図3に示すように、特徴量抽出部11は、訓練データであるデータX
1を特徴量抽出器105に入力して、その出力として特徴量f(X
1)を得る。また、特徴量抽出部11は、運用データであるデータX
2を特徴量抽出器105に入力して、その出力として特徴量f(X
2)を得る。
【0042】
ここで、運用データの変化へのモデルの適合が適切に行われている場合、特徴量f(X
1)と特徴量f(X
2)とは類似していると考えられ、特徴量f(X
1)と特徴量f(X
2)とが識別困難な空間としてモデルにおける内部空間が学習されていると考えられる。そこで、
図3に示すように各特徴量の元となったデータが訓練データか運用データかを検知する検知モデル103に特徴量f(X
1)と特徴量f(X
2)を入力してその検知の精度がどの程度かにより運用データの変化への追従が成功しているか否かが判定できる。すなわち、検知モデル103により特徴量f(X
1)と特徴量f(X
2)が適切に分類され元のデータが検知された場合、モデルの内部空間が特徴量f(X
1)と特徴量f(X
2)とが識別困難な空間となっており、運用データの変化への追従が適切に行われていないといえる。そこで以下に説明するように、本実施例に係る精度評価装置1は、検知モデル103に特徴量f(X
1)と特徴量f(X
2)を入力した際の出力からモデルの追従の程度を表す追従精度指標を求めて、モデルの追従の成否を判定する。
【0043】
結合データ生成部12は、訓練データの特徴量を特徴量抽出部11から取得する。また、結合データ生成部12は、運用データの特徴量を特徴量抽出部11から取得する。そして、結合データ生成部12は、訓練データの特徴量及び運用データの特徴量を混合し、複数の訓練データの特徴量及び複数の運用データの特徴量が、それぞれの特徴の情報以外からは訓練データと運用データとに区別困難な状態で含まれる結合データを生成する。そして、結合データ生成部12は、結合データを分類部13へ出力する。
【0044】
分類部13は、
図2におけるステップS5で示す訓練データの特徴量及び運用データの特徴量の検知モデル103への入力及び検知モデル103からの出力結果の取得を行う。以下に分類部13の動作の詳細について説明する。
【0045】
分類部13は、訓練データの特徴量と運用データの特徴量とを2つに分類するための二値化分類器である検知モデル103を有する。例えば、分類部13は、訓練データを訓練データデータベース31から取得する。また、分類部13は、運用データを運用データデータベース32から取得する。そして、分類部13は、取得した訓練データ及び分類データを用いて各データを訓練データと分類データとに分類するように検知モデル103を用いて機械学習を行う。これにより、分類部13は、入力された特徴量を訓練データと運用データとに分類する検知モデル103を取得することができる。ここで、検知モデル103の学習に用いるデータは、結合データに含まれる特徴量の元となった訓練データ及び運用データでもよいし、それとは異なる訓練データ及び運用データであってもよい。
【0046】
その後、分類部13は、結合データの入力を結合データ生成部12から受ける。そして、分類部13は、結合データに含まれる各データを検知モデル103へ入力して訓練データと運用データとに分類して、各データが訓練データと運用データのいずれの特徴量かを推定する。その後、分類部13は、分類結果を判定部14へ出力する。
【0047】
判定部14は、
図2におけるステップS6で示すコンセプトドリフトに対するモデルの適合の程度、すなわち運用データの変化への追従の程度を表す追従精度指標の算出を行う。その後、判定部14は、算出した追従精度指標を用いて、以下に判定部14の動作の詳細について説明する。
【0048】
判定部14は、検知モデル103を用いた訓練データと運用データとの分類結果の入力を分類部13から受ける。そして、判定部14は、検知モデル103を用いた訓練データと運用データとの分類結果を用いて、運用データの変化への追従の程度を表す追従精度指標を算出する。
【0049】
例えば、判定部14は、検知モデル103による予測精度のROC(Receiver Operating Characteristic)/AUC(Area Under the Curve)スコアを測定して追従精度指標として取得する。ROC/AUCスコアは、データが不均衡な場合、すなわち2クラス分類であれば、1つのクラスがデータとして過多であり、もう1つのクラスが少ない場合に、精度指標として有効な値である。ROC曲線は、横軸でFalse Positive Rateを表し、縦軸でRecallを表す空間における曲線である。ROCは、False Positive Rateを変化させた場合のRecallの値を計算することで求めることができる。また、ACUは、ROC曲線の下部の面積にあたり、この面積が大きいと信頼がおけると判定できる。AUCは、最大値が1であり、最小値が0.5である。AUCが0.5とは、ランダムな予測が行われている場合の結果と同値である。ROC/AUCスコアは、一般的に0.7~0.8であれば信頼がおける学習モデルとみなすことができる。
【0050】
判定部14は、算出した追従精度指標を用いて運用データの変化への追従の成否を判定する。例えば、判定部14は、ROC/AUCスコアが所定の精度閾値未満か否かを判定することで検知モデル103の分類精度を判定して、その分類精度から運用データの変化への追従の成否を判定する。例えば、追従精度指標としてROC/AUCスコアを用いる場合、精度閾値は、0.7などと設定することができる。
【0051】
すなわち、ROC/AUCスコアが所定の精度閾値未満であれば、判定部14は、検知モデル103の分類精度が低く信頼がおけないと判定する。そして、検知モデル103が適切な分類を行えていないということは、訓練データの特徴量と運用データの特徴量とが識別困難な空間としてモデルにおける内部空間が学習されているといえるので、判定部14は、運用データの変化への追従が成功していると判定する。
【0052】
これに対して、ROC/AUCスコアが所定の精度閾値以上であれば、判定部14は、検知モデル103の分類精度が高く信頼がおけると判定する。そして、検知モデル103が適切な分類を行えているということは、訓練データの特徴量と運用データの特徴量とが識別可能な空間としてモデルにおける内部空間が学習されているといえるので、判定部14は、運用データの変化への追従が失敗していると判定する。
【0053】
判定部14は、運用データの変化への追従が成功していると判定した場合、機械学習装置2による推定処理及び自動修復処理をそのまま継続させる。これに対して、運用データの変化への追従が失敗していると判定した場合、判定部14は、追従失敗の通知を通知部15に指示する。
【0054】
ここで、本実施例では、訓練データと運用データとをそれぞれ異なるクラスとして分類できるか否かにより検知モデル103の予測精度を求めて、それによりモデルの推定精度を評価したが、検知モデル103の精度の評価するためのクラスはこれに限らない。例えば、訓練データ及び前回の自動精度回復までに用いた運用データを「第2のデータ」として、前回の自動精度回復から今回までに用いた運用データを「第3のデータ」としてもよい。この場合、第2のデータの特徴量が「第2の特徴量」の一例にあたり、第3のデータの特徴量が「第3の特徴量」の一例にあたる。そして、訓練データ及び前回の自動精度回復までに用いた運用データであることを表す情報を「第1の情報」として、第2の特徴量と第1の情報との組を「第1の訓練データ」とする。
【0055】
また、前回の自動精度回復から今回までに用いた運用データであることを表す情報を「第2の情報」として、第3の特徴量と第2の情報との組を「第2の訓練データ」としてもよい。この場合、第1の訓練データと第2の訓練データとを用いて検知モデル103を訓練することができ、且つ検知モデル103の予測精度を求めることができる。他にも、前回の自動精度回復までに用いた運用データを「第2のデータ」として、前回の自動精度回復から今回までに用いた運用データを「第3のデータ」としてもよい。
【0056】
通知部15は、追従失敗の通知の指示を判定部14から受ける。そして、通知部15は、機械学習装置2の管理者や利用者が使用する端末装置(不図示)に精度自動修復の失敗の通知を送信して、機械学習装置2の管理者や利用者に対してモデルの精度自動修復が適切に行われていないことを通知する。
【0057】
図5は、実施例に係る精度評価装置による推定精度評価処理のフローチャートである。次に、
図5を参照して、実施例に係る精度評価装置1による推定精度評価処理の流を説明する。
【0058】
機械学習部21は、訓練データを訓練データデータベース31から取得する。そして、機械学習部21は、取得した訓練データを用いてモデルの訓練を行う(ステップS101)。その後、機械学習部21は、訓練済みのモデルを推定部22へ出力する。
【0059】
推定部22は、モデルの入力を機械学習部21から受ける。次に、推定部22は、運用データを運用データデータベース32から取得する。そして、推定部22は、運用データをモデルに入力して出力を得ることで、運用データを用いて推論を実行する(ステップS102)。
【0060】
自動修復部23は、データ空間に配置された運用データを特徴量空間へ射影して、特徴量空間上で密度クラスタリングを行い、各運用データの疑似ラベルを付与してモデルの再訓練を行うことで自動精度回復を実行する(ステップS103)。
【0061】
特徴量抽出部11は、推定部22が推定に使用しているモデルから特徴量抽出器105を生成する。次に、特徴量抽出部11は、訓練データを訓練データデータベース31から取得する。また、特徴量抽出部11は、運用データを運用データデータベース32から取得する。そして、特徴量抽出部11は、訓練データ及び運用データを特徴量抽出器105へ入力して、出力される訓練データ及び運用データの特徴量を抽出する(ステップS104)。そして、特徴量抽出部11は、抽出した訓練データ及び運用データの特徴量を結合データ生成部12へ出力する。
【0062】
結合データ生成部12は、訓練データの特徴量及び運用データの特徴量の入力を特徴量抽出部11から受ける。そして、結合データ生成部12は、訓練データの特徴量及び運用データの特徴量を混ぜ合わせて特徴量以外からでは訓練データと運用データとに分類困難な状態の結合データを生成する(ステップS105)。その後、結合データ生成部12は、生成した結合データを分類部13へ出力する。
【0063】
分類部13は、訓練データを訓練データデータベース31から取得する。また、分類部13は、運用データを運用データデータベース32から取得する。そして、分類部13は、訓練データの特徴量及び運用データの特徴量を用いて二値化分類器である検知モデル103の訓練を実行する(ステップS106)。
【0064】
また、分類部13は、結合データ生成部12から受ける。そして、分類部13は、訓練データの特徴量及び運用データの特徴量を含む結合データを訓練済みの検知モデル103に入力して、検知モデル103からの出力を得る。これにより、分離部13は、入力した特徴量の元のデータが訓練データであるか運用データであるかを推定する(ステップS107)。
【0065】
そして、分類部13は、推定結果から検知モデル103の追従の程度を表す追従精度指標を求めて、検知モデル103の推定精度を測定する(ステップS108)。その後、分類部13は、測定した検知モデル103の推定精度を判定部14へ出力する。
【0066】
判定部14は、検知モデル103の推定精度の入力を分類部13から受ける。そして、判定部14は、例えば追従精度指標としてROC/AUCスコアを用いる場合、推定精度の測定値である追従精度指標の値が精度閾値未満か否かを判定する(ステップS109)。追従精度指標が精度閾値以上の場合(ステップS109:否定)、判定部14は、コンセプトドリフトによる運用データの変化への追従が成功していると判定する。この場合、推定精度評価処理は、ステップS102へ戻る。
【0067】
これに対して、追従精度指標が精度閾値未満の場合(ステップS109:肯定)、判定部14は、コンセプトドリフトによる運用データの変化への追従に失敗したと判定して、自動精度回復の失敗を検知する。そして、判定部14は、自動精度回復の失敗の検知結果を通知部15に通知する。通知部15は、自動精度回復の失敗を利用者や管理者などに通知する(ステップS110)。
【0068】
図6は、コンセプトドリフトに対するモデルの適合の精度変化を表す図である。グラフ210は、時間経過に対する精度変化を表す。グラフ220の縦軸は精度を表し、横軸は時間を表す。
【0069】
また、紙面に向かってグラフ220の下のグラフ201~206は、訓練データ及び運用データ特徴量空間への射影結果を表すグラフである。グラフ201~206は、グラフ210における時間経過に沿った特徴量空間上の各クラス211及び212の遷移を表す。時間経過によって運用データの変化が起きるため、クラス211とクラス212とはグラフ201~206のように変化する。グラフ201は、運用開始時の特徴量空間のクラスを表しており、モデルは学習が完了した直後の状態である。その後、運用とともにグラフ201~206のように特徴量空間上のクラスが変化する。
【0070】
この時、曲線221は、自動精度回復を行わない場合のモデルの推定精度の変化を表す。また、曲線222は、自動精度回復を行った場合のモデルの推定精度の変化を表す。領域223は、学習開始時点であり、推定精度は自動精度回復を行わなくても高い。その後、自動精度回復を行わない場合、曲線221に示されるように、グラフ202~204において運用データの変化によりモデルの推定精度が劣化する。グラフ205の時点では、たまたま元のクラスの状態とほぼ一致する状態に戻ったため一時的に推定精度が回復する。一方、自動精度回復を行った場合、曲線222に示されるように、グラフ202~205の間では、運用データの変化への追従が成功しており、推定精度は高い状態を維持できている。さらに、グラフ206の状態になると、決定境界が線形ではないため分類の質が学習時と異なるため、自動精度回復を行わない場合に推定精度が急激に劣化する。また、グラフ206の状態では、自動精度回復を行った場合も運用データの変化への追従がうまくいかず、推定精度が劣化する。
【0071】
このような推定精度の遷移が発生した場合に、従来であれば正解ラベルを用いなければ推定精度の測定が困難であった。これに対して、本実施例に係る精度評価装置1は、線224において推定精度の劣化を検知することができ、運用データの変化への追従がうまくいっていないことが把握できる。
【0072】
以上に説明したように、本実施例に係る精度評価装置は、推定に使用するモデルを用いて訓練データの特徴量と運用データの特徴量とを抽出し、抽出した訓練データの特徴量と運用データの特徴量とを二値化分類器で分類する。そして、本実施例に係る精度評価装置は、分類の精度が高ければ運用データの変化への追従がうまいくいっておらず、自動精度回復が失敗していると判定する。
【0073】
これにより、運用データの正解ラベルを用いずに運用データの変化への追従の成否を判定することができる。そして、運用データの変化への追従がうまくいっていないと判定された場合に、迅速にモデルの精度回復を行なうことで、機械学習モデルの推定精度を維持することが可能となる。
【0074】
(ハードウェア構成)
図7は、精度評価装置のハードウェア構成図である。精度評価装置1は、例えば
図7に示すように、CPU(Central Processing Unit)91、メモリ92、ハードディスク93及びネットワークインタフェース94を有する。
【0075】
ネットワークインタフェース94は、精度評価装置1と外部の装置との間の通信のためのインタフェースである。ネットワークインタフェース94は、例えば、CPU91と機械学習装置2との間の通信を中継する。
【0076】
ハードディスク93は、補助記憶装置である。ハードディスク93は、
図1に例示した特徴量抽出部11、結合データ生成部12、分類部13、判定部14及び通知部15を含む制御部10の機能を実現するプログラムを含む各種プログラムを格納する。
【0077】
メモリ92は、主記憶装置である。メモリ92としては、例えば、DRAM(Direct Random Access Memory)などを用いることができる。
【0078】
CPU91は、各種プログラムをハードディスク93から読み出してメモリ92上に展開して実行する。これにより、CPU91は、
図1に例示した特徴量抽出部11、結合データ生成部12、分類部13、判定部14及び通知部15を含む制御部10の機能を実現する。
【符号の説明】
【0079】
1 精度評価装置
2 機械学習装置
10 制御部
11 特徴量抽出部
12 結合データ生成部
13 分類部
14 判定部
15 通知部
21 機械学習部
22 推定部
23 自動修復部
31 訓練データデータベース
32 運用データデータベース