(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025008549
(43)【公開日】2025-01-20
(54)【発明の名称】モデル更新装置、モデル更新方法、及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20250109BHJP
【FI】
G06N20/00 160
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023110797
(22)【出願日】2023-07-05
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】関段 友哉
(57)【要約】
【課題】モデル精度の低下に適切に対応可能なモデル更新を実現できる技術を提供すること。
【解決手段】本開示の一態様によるモデル更新装置は、機械学習モデルのパラメータ学習に用いられた学習データセットを含む複数のデータセット間の特徴量空間における分布間距離を算出する第1の算出部と、前記分布間距離と第1の指標値とを用いて、前記分布間距離と前記第1の指標値の低下度合いを表す第2の指標値との関係を表す式を算出する第2の算出部と、運用開始後に得られた運用データセットと前記学習データセットとの間の特徴量空間における対象分布間距離を算出する第3の算出部と、前記対象分布間距離と前記式とを用いて、前記運用データセットに関する前記第2の指標値を算出する第4の算出部と、前記第2の指標値が閾値を超えているか否かを判定する判定部と、前記第2の指標値が前記閾値を超えていないと判定された場合、前記運用データセットを用いて、教師なし学習の手法により前記機械学習モデルのパラメータを更新する更新部と、を有する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
機械学習モデルのパラメータ学習に用いられた学習データセットを含む複数のデータセット間の特徴量空間における分布間距離をそれぞれ算出する第1の算出部と、
前記第1の算出部によって算出された前記分布間距離と、前記複数のデータセットの各々に関する前記機械学習モデルのモデル精度を表す第1の指標値とを用いて、前記分布間距離と、前記学習データセットに対する前記第1の指標値の低下度合いを表す第2の指標値との関係を表す式を算出する第2の算出部と、
前記機械学習モデルの運用開始後に得られた運用データセットと、前記学習データセットとの間の特徴量空間における分布間距離を対象分布間距離として算出する第3の算出部と、
前記第3の算出部によって算出された前記対象分布間距離と、前記式とを用いて、前記運用データセットに関する前記第2の指標値を算出する第4の算出部と、
前記第4の算出部によって算出された前記第2の指標値が予め決められた閾値を超えているか否かを判定する判定部と、
前記第4の算出部によって算出された前記第2の指標値が前記閾値を超えていないと判定された場合、前記運用データセットを用いて、教師なし学習の手法により前記機械学習モデルのパラメータを更新する更新部と、
を有するモデル更新装置。
【請求項2】
前記第4の算出部によって算出された前記第2の指標値が前記閾値を超えていると判定された場合、前記運用データセットに含まれる運用データに対するラベル付けを行って教師あり学習の手法により前記機械学習モデルを再学習すべきことを表すアラートを通知する通知部、を更に有する請求項1に記載のモデル更新装置。
【請求項3】
前記複数のデータセットには、前記機械学習モデルのハイパーパラメータの調整に用いられた検証データセットと、前記機械学習モデルの汎化性能の評価に用いられたテストデータセットとが含まれ、
前記第1の算出部は、
前記学習データセット間の特徴量空間における分布間距離を第1の分布間距離、前記学習データセットと前記検証データセットとの間の特徴量空間における分布間距離を第2の分布間距離、前記学習データセットと前記テストデータセットとの間の特徴量空間における分布間距離を第3の分布間距離としてそれぞれ算出し、
前記第2の算出部は、
前記第1の分布間距離と、前記第2の分布間距離と、前記第3の分布間距離と、前記学習データセットに関する前記第1の指標値と、前記検証データセットに関する前記第1の指標値と、前記テストデータセットに関する前記第1の指標値とを用いて、前記式を算出する、請求項1又は2に記載のモデル更新装置。
【請求項4】
前記第2の算出部は、
前記学習データセットに関する前記第1の指標値から前記学習データセットに関する前記第1の指標値を減算した値を前記学習データセットに関する前記第2の指標値、前記学習データセットに関する前記第1の指標値から前記検証データセットに関する前記第1の指標値を減算した値を前記検証データセットに関する前記第2の指標値、前記学習データセットに関する前記第1の指標値から前記テストデータセットに関する前記第1の指標値を減算した値を前記テストデータセットに関する前記第2の指標値としてそれぞれ算出し、
前記第1の分布間距離と前記学習データセットに関する前記第2の指標値との組が表す点と、前記第2の分布間距離と前記検証データセットに関する前記第2の指標値との組が表す点と、前記第3の分布間距離と前記テストデータセットに関する前記第2の指標値との組が表す点によって近似される回帰式を前記式として算出する、請求項3に記載のモデル更新装置。
【請求項5】
前記第1の指標値は正解率、
前記第2の指標値は前記学習データセットに対する正解率の低下度合いを表す正解率低下ポイントである、請求項4に記載のモデル更新装置。
【請求項6】
機械学習モデルのパラメータ学習に用いられた学習データセットを含む複数のデータセット間の特徴量空間における分布間距離をそれぞれ算出する第1の算出手順と、
前記第1の算出手順によって算出された前記分布間距離と、前記複数のデータセットの各々に関する前記機械学習モデルのモデル精度を表す第1の指標値とを用いて、前記分布間距離と、前記学習データセットに対する前記第1の指標値の低下度合いを表す第2の指標値との関係を表す式を算出する第2の算出手順と、
前記機械学習モデルの運用開始後に得られた運用データセットと、前記学習データセットとの間の特徴量空間における分布間距離を対象分布間距離として算出する第3の算出手順と、
前記第3の算出手順によって算出された前記対象分布間距離と、前記式とを用いて、前記運用データセットに関する前記第2の指標値を算出する第4の算出手順と、
前記第4の算出手順によって算出された前記第2の指標値が予め決められた閾値を超えているか否かを判定する判定手順と、
前記第4の算出手順によって算出された前記第2の指標値が前記閾値を超えていないと判定された場合、前記運用データセットを用いて、教師なし学習の手法により前記機械学習モデルのパラメータを更新する更新手順と、
をコンピュータが実行するモデル更新方法。
【請求項7】
機械学習モデルのパラメータ学習に用いられた学習データセットを含む複数のデータセット間の特徴量空間における分布間距離をそれぞれ算出する第1の算出手順と、
前記第1の算出手順によって算出された前記分布間距離と、前記複数のデータセットの各々に関する前記機械学習モデルのモデル精度を表す第1の指標値とを用いて、前記分布間距離と、前記学習データセットに対する前記第1の指標値の低下度合いを表す第2の指標値との関係を表す式を算出する第2の算出手順と、
前記機械学習モデルの運用開始後に得られた運用データセットと、前記学習データセットとの間の特徴量空間における分布間距離を対象分布間距離として算出する第3の算出手順と、
前記第3の算出手順によって算出された前記対象分布間距離と、前記式とを用いて、前記運用データセットに関する前記第2の指標値を算出する第4の算出手順と、
前記第4の算出手順によって算出された前記第2の指標値が予め決められた閾値を超えているか否かを判定する判定手順と、
前記第4の算出手順によって算出された前記第2の指標値が前記閾値を超えていないと判定された場合、前記運用データセットを用いて、教師なし学習の手法により前記機械学習モデルのパラメータを更新する更新手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、モデル更新装置、モデル更新方法、及びプログラムに関する。
【背景技術】
【0002】
機械学習技術を利用して作成された分類モデルにより製品の不良パターン等を分類することが行われている。一方で、分類モデルの運用開始後に、コンセプトドリフトやデータドリフトといったドリフトの発生により、その精度が低下することがある。これに対して、ドリフト発生によるモデル精度の低下に対応するためにモデルを更新する手法が知られている(例えば、特許文献1、非特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【非特許文献1】大川 佳寛,小林 健一,"データ変化に対する教師なし適応技術に関する最新研究動向とその考察",第36回人工知能学会全国大会論文集
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、モデル更新によってモデルの精度が向上するとは限らない。例えば、特許文献1に記載されている手法では特徴量を入力としてその特徴量が訓練データ又は運用データのいずれの特徴量であるかを検知する検知モデルを用いるが、この検知モデルの性能によってはモデルの精度が向上するとは限らない。また、例えば、非特許文献1に記載されている手法では教師なしドメイン適応を用いるが、教師なしドメイン適応に利用するデータによってはモデルの精度が向上するとは限らない。
【0006】
本開示は、上記の点に鑑みてなされたもので、モデル精度の低下に適切に対応可能なモデル更新を実現できる技術を提供する。
【課題を解決するための手段】
【0007】
本開示の一態様によるモデル更新装置は、機械学習モデルのパラメータ学習に用いられた学習データセットを含む複数のデータセット間の特徴量空間における分布間距離をそれぞれ算出する第1の算出部と、前記第1の算出部によって算出された前記分布間距離と、前記複数のデータセットの各々に関する前記機械学習モデルのモデル精度を表す第1の指標値とを用いて、前記分布間距離と、前記学習データセットに対する前記第1の指標値の低下度合いを表す第2の指標値との関係を表す式を算出する第2の算出部と、前記機械学習モデルの運用開始後に得られた運用データセットと、前記学習データセットとの間の特徴量空間における分布間距離を対象分布間距離として算出する第3の算出部と、前記第3の算出部によって算出された前記対象分布間距離と、前記式とを用いて、前記運用データセットに関する前記第2の指標値を算出する第4の算出部と、前記第4の算出部によって算出された前記第2の指標値が予め決められた閾値を超えているか否かを判定する判定部と、前記第4の算出部によって算出された前記第2の指標値が前記閾値を超えていないと判定された場合、前記運用データセットを用いて、教師なし学習の手法により前記機械学習モデルのパラメータを更新する更新部と、を有する。
【発明の効果】
【0008】
モデル精度の低下に適切に対応可能なモデル更新を実現できる技術が提供される。
【図面の簡単な説明】
【0009】
【
図1】本実施形態に係る分類装置のハードウェア構成の一例を示す図である。
【
図2】本実施形態に係る分類装置の機能構成の一例を示す図である。
【
図3】本実施形態に係る分類処理の一例を示すフローチャートである。
【
図4】本実施形態に係るモデル更新処理の一例を示すフローチャートである。
【
図5】分布間距離と正解率低下ポイントとの関係を表す線形近似式の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の一実施形態について説明する。以下の実施形態では、機械学習技術を利用して作成された分類モデルにより分類対象データを分類する場合を想定し、ドリフト発生等による当該分類モデルの精度低下に適切に対応可能なモデル更新を行うことができる分類装置10について説明する。なお、ドリフトには、コンセプトドリフトやデータドリフトが含まれる。
【0011】
<分類装置10のハードウェア構成例>
本実施形態に係る分類装置10のハードウェア構成例を
図1に示す。
図1に示すように、本実施形態に係る分類装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続される。
【0012】
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。
【0013】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。記録媒体103aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0014】
通信I/F104は、分類装置10を通信ネットワークに接続させるためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等の不揮発性の記憶装置である。プロセッサ108は、例えば、CPU(Central Processing Unit)やGPU(Graphic Processing Unit)等の各種演算装置である。
【0015】
なお、
図1に示すハードウェア構成は一例であって、分類装置10のハードウェア構成はこれに限られるものではない。例えば、分類装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
【0016】
<分類装置10の機能構成例>
本実施形態に係る分類装置10の機能構成例を
図2に示す。
図2に示すように、本実施形態に係る分類装置10は、データ取得部201と、特徴量抽出部202と、分類部203と、特徴量・分類結果格納部204と、比較演算部205と、性能推論部206と、更新判定部207と、モデル更新部208と、表示制御部209とを有する。これら各部は、例えば、分類装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、本実施形態に係る分類装置10は、運用データベース210と、基準データベース211とを有する。これら各データベースは、例えば、補助記憶装置107等の記憶領域により実現される。
【0017】
なお、運用データベース210及び基準データベース211の少なくとも一方は、例えば、分類装置10と通信可能に接続される記憶装置の記憶領域により実現されてもよい。
【0018】
データ取得部201は、分類装置10に与えられた分類対象データを運用データとして取得する。また、データ取得部201は、当該運用データを運用データベース210に格納する。ここで、分類対象データとは、分類装置10によって分類対象となる任意のデータのことである。分類対象データの典型例としては、外観検査の対象となる製品を撮影した画像データ等が挙げられる。ただし、これは一例であって、分類対象データは、何等かの対象を計測や測定、撮影すること等により取得された任意のデータであってよい。
【0019】
特徴量抽出部202は、データ取得部201によって取得された運用データから特徴量を抽出する。以下、運用データから抽出された特徴量のことを「運用データ特徴量」ともいう。なお、特徴量とはデータの特徴を表す情報のことであり、予め決められたn次元ベクトルで表現される。また、特徴量が取り得る値で表されるn次元空間は特徴量空間と呼ばれる。
【0020】
分類部203は、特徴量抽出部202によって抽出された運用データ特徴量を予め決められた複数のクラスに分類する。すなわち、分類部203は、運用データ特徴量を入力として、その運用データ特徴量が複数のクラスのいずれのクラスに属するかを表すラベルを算出する。以下、予め決められたクラス数をKとして各クラスを{1,・・・,K}とする。
【0021】
ここで、特徴量抽出部202と分類部203は分類モデルMを構成する。分類モデルMはニューラルネットワーク等を含む機械学習モデルであり、例えば、分類モデルMの入力層~出力層の1つ前の中間層によって特徴量抽出部202が実現され、出力層によって分類部203が実現される。出力層は、例えば、分類モデルMによって2値分類(2クラス分類)を行う場合は活性化関数としてシグモイド関数を持つ線形変換層、分類モデルMによって多クラス分類を行う場合は活性化関数としてソフトマックス関数を持つ線形変換層とすればよい。なお、分類モデルMの入力層は運用データの形式に応じて任意の構成を採用することが可能であり、また中間層も任意の構成を採用することが可能である。
【0022】
上記の分類モデルMは、例えば、与えられたデータセットを学習データセット、検証データセット及びテストデータセットという3つに分割した上で、これらの学習データセット、検証データセット及びテストデータセットを利用して予め学習されたものである。学習データセットは、分類モデルMの学習可能パラメータ(以下、単にパラメータともいう。)を学習(更新)するためのデータセットである。検証データセットは、分類モデルMのハイパーパラメータ等を検証・調整するためのデータセットである。テストデータセットは、分類モデルMの汎化性能等を評価するためのデータセットである。
【0023】
以下、学習データセットをX1={(xi,yi)|i=1,・・・,N1}、検証データセットをX2={(xi,yi)|i=1,・・・,N2}、テストデータセットをX3={(xi,yi)|i=1,・・・,N3}とする。ここで、xi∈X1は分類モデルMのパラメータ学習に用いられるデータであり、以下、学習データと呼ぶことにする。同様に、xi∈X2は分類モデルMのハイパーパラメータ等の検証・調整に用いられるデータであり、以下、検証データと呼ぶことにする。同様に、xi∈X3は分類モデルMの汎化性能等の評価に用いられるデータであり、以下、テストデータと呼ぶことにする。また、yiは学習データ、検証データ又はテストデータxiがいずれのクラスに属するかを表すラベル(正解ラベル)であり、N1、N2及びN3はそれぞれ学習データ数、検証データ数及びテストデータ数である。なお、正解ラベルは教師データや教師ラベル等と呼ばれてもよい。
【0024】
更に、以下では、特徴量抽出部202によって学習データxiから抽出された特徴量を学習データ特徴量と呼び、学習データ特徴量集合をZ1={zi|i=1,・・・,N1}とする。同様に、特徴量抽出部202によって検証データxiから抽出された特徴量を検証データ特徴量と呼び、検証データ特徴量集合をZ2={zi|i=1,・・・,N2}とする。同様に、テストデータxiから抽出された特徴量をテストデータ特徴量と呼び、テストデータ特徴量集合をZ3={zi|i=1,・・・,N3}とする。ここで、zi∈Z1は学習データ特徴量、zi∈Z2は検証データ特徴量、zi∈Z3はテストデータ特徴量である。
【0025】
特徴量・分類結果格納部204は、特徴量抽出部202によって抽出された運用データ特徴量と分類部203によって算出されたラベルとを運用データベース210に格納する。
【0026】
比較演算部205は、運用データ特徴量と学習データ特徴量との間の分布間距離(以下、対象分布間距離という。)を算出する。また、比較演算部205は、学習データ特徴量間の分布間距離(以下、第1の分布間距離という。)、学習データ特徴量と検証データ特徴量との間の分布間距離(以下、第2の分布間距離という。)、学習データ特徴量とテストデータ特徴量との間の分布間距離(以下、第3の分布間距離という。)をそれぞれ算出する。
【0027】
なお、運用データ特徴量と学習データ特徴量との間の分布間距離は、運用データと学習データとの間の特徴量空間における分布間距離ということもできる。学習データ特徴量間の分布間距離、学習データ特徴量と検証データ特徴量との間の分布間距離、学習データ特徴量とテストデータ特徴量との間の分布間距離についても同様に、それぞれ学習データ間、学習データと検証データとの間、学習データとテストデータとの間の特徴量空間における分布間距離ということができる。
【0028】
性能推論部206は、第1の分布間距離と、第2の分布間距離と、第3の分布間距離と、学習データセットX1に対する分類モデルMの正解率と、検証データセットX2に対する分類モデルMの正解率と、テストデータX3に対する分類モデルMの正解率とを用いて、分類モデルMの精度低下を推論するための線形近似式を算出する。また、性能推論部206は、対象分布間距離と当該線形近似式とを用いて、分類モデルMの精度がどの程度低下しているか表す指標値として正解率低下ポイント(以下、対象正解率低下ポイントという。)を算出する。
【0029】
なお、正解率(Accuracy)とは、或るデータセットに含まれる各データを分類モデルMにより分類したときに、当該データセットに含まれるデータのうち、正しく分類されたデータの割合を表す値ことである。正解率は0以上1以下の値で表されることが多いが、以下では、0以上1以下の値で表された正解率に対して100を掛けたものを正解率として、正解率は百分率〔%〕で表されているものとする。
【0030】
更新判定部207は、性能推論部206によって算出された対象正解率低下ポイントと、予め決められた閾値とを用いて、分類モデルMの更新方法を判定する。すなわち、更新判定部207は、対象正解率低下ポイントが当該閾値を超えていない場合は自動モデル更新により分類モデルMを更新すると判定し、対象正解率低下ポイントが当該閾値を超えている場合は手動モデル更新により分類モデルMを更新すると判定する。
【0031】
モデル更新部208は、更新判定部207によって自動モデル更新より分類モデルMを更新すると判定された場合、運用データベース210に格納されている運用データを用いて、教師なし学習の手法(例えば、教師なしドメイン適応等)により分類モデルMのパラメータを更新する。
【0032】
表示制御部209は、更新判定部207によって手動モデル更新より分類モデルMを更新すると判定された場合、手動モデル更新が必要であることを表す情報(手動モデル更新アラート)を表示装置102上に表示する。これにより、ユーザは手動モデル更新が必要であることを知ることができるため、例えば、運用データベース210に格納されている運用データの全部又は一部に対してラベルを付与した上で、これらの運用データとそのラベルとを用いて教師あり学習の手法により分類モデルMのパラメータを更新させることが可能となる。
【0033】
また、表示制御部209は、例えば、分類部203による分類結果、性能推論部206によって算出された対象正解率低下ポイント、更新判定部207による判定結果、モデル更新部208による更新結果等といった情報の少なくとも1つを表示してもよい。
【0034】
なお、表示制御部209は、例えば、分類装置10と通信可能に接続された端末装置が備えるディスプレイ上に上記の各種情報を表示してもよい。
【0035】
運用データベース210には、運用データと、運用データ特徴量と、ラベルとが格納される。すなわち、運用データをxi(i=1,・・・,N4)、特徴量抽出部202によって運用データxiから抽出された特徴量をzi、分類部203によって算出されたラベルをyiとすれば、運用データベース210には、運用データセットX4={xi|i=1,・・・,N4}と、運用データ特徴量集合Z4={zi|i=1,・・・,N4}と、分類結果集合Y4={yi|i=1,・・・,N4}とが格納される。ここで、N4は、運用データ数である。
【0036】
基準データベース211には、学習データ特徴量のクラス毎の平均及び標準偏差と、検証データ特徴量のクラス毎の平均及び標準偏差と、テストデータ特徴量のクラス毎の平均及び標準偏差とが格納される。すなわち、基準データベース211には、クラス毎に、そのクラスに分類された学習データ特徴量zi∈Z1の平均及び標準偏差と、そのクラスに分類された検証データ特徴量zi∈Z2の平均及び標準偏差と、そのクラスに分類されたテストデータ特徴量zi∈Z3の平均及び標準偏差とが格納される。以下、クラスk∈{1,・・・,K}に分類された学習データ特徴量zi∈Z1の平均をμ1,k、標準偏差をσ1,kとする。同様に、クラスk∈{1,・・・,K}に分類された検証データ特徴量zi∈Z2の平均をμ2,k、標準偏差をσ2,kとする。同様に、クラスk∈{1,・・・,K}に分類されたテストデータ特徴量zi∈Z3の平均をμ3,k、標準偏差をσ3,kとする。
【0037】
また、基準データベース211には、学習データセットX1に対する分類モデルMの正解率と、検証データセットX2に対する分類モデルMの正解率と、テストデータX3に対する分類モデルMの正解率とが格納される。以下、学習データセットX1に対する分類モデルMの正解率をACC1、検証データセットX2に対する分類モデルMの正解率をACC2、テストデータX3に対する分類モデルMの正解率をACC3とする。
【0038】
ここで、上記の正解率ACC1、ACC2及びACC3は、例えば、分類モデルMのパラメータ学習後に比較演算部205によって算出され、基準データベース211に格納される。同様に、上記の平均μ1,k、μ2,k、μ3,k及び分散σ1,k、σ2,k、σ3,kは、例えば、分類モデルMのパラメータ学習後に比較演算部205によって算出され、基準データベース211に格納される。
【0039】
なお、学習データ特徴量、検証データ特徴量及びテストデータ特徴量の平均及び標準偏差は、特徴量の統計量の一例であって、比較演算部205によって算出される分布間距離の種類に応じて、平均及び標準偏差以外の統計量が用いられてもよい。
【0040】
<分類処理>
以下、本実施形態に係る分類処理について、
図3を参照しながら説明する。以下では、分類対象データが分類装置10に与えられたものとする。
【0041】
まず、データ取得部201は、与えられた分類対象データを運用データとして取得する(ステップS101)。以下、本ステップで取得された運用データをxとする。
【0042】
次に、データ取得部201は、上記のステップS101で取得された運用データxを運用データベース210に格納する(ステップS102)。
【0043】
次に、特徴量抽出部202は、上記のステップS101で取得された運用データxから特徴量を抽出する(ステップS103)。以下、本ステップで抽出された運用データ特徴量をzとする。
【0044】
次に、分類部203は、上記のステップS103で抽出された運用データ特徴量zからラベルを算出する(ステップS104)。以下、本ステップで算出されたラベルをyとする。
【0045】
次に、特徴量・分類結果格納部204は、上記のステップS103で抽出された運用データ特徴量zと、上記のステップS104で算出されたラベルyとを運用データベース210に格納する(ステップS105)。
【0046】
最後に、表示制御部209は、上記のステップS104で算出されたラベルy(つまり、運用データxの分類結果)を表示装置102上に表示する(ステップS106)。これにより、ユーザは、運用データxの分類結果を知ることができる。
【0047】
<モデル更新処理>
以下、本実施形態に係るモデル更新処理について、
図4を参照しながら説明する。以下では、運用データベース210には、運用データセットX
4と、運用データ特徴量集合Z
4と、分類結果集合Y
4とが格納されているものとする。なお、モデル更新処理の実行タイミングは任意に設定することが可能であるが、例えば、予め決められた所定の時間毎に実行すること等が考えられる。
【0048】
比較演算部205は、運用データ特徴量zi∈Z4と、学習データ特徴量zi∈Z1との間の分布間距離を対象分布間距離として算出する(ステップS201)。例えば、各クラスに分類される特徴量の分布が正規分布であると仮定できる場合、比較演算部205は、以下の手順1-1~手順1-3により対象分布間距離を算出すればよい。
【0049】
手順1-1:比較演算部205は、運用データベース210に格納されている運用データ特徴量集合Z4及び分類結果集合Y4を用いて、クラス毎に、そのクラスに分類された運用データ特徴量zi∈Z4の平均及び標準偏差を算出する。以下、クラスk∈{1,・・・,K}に分類された運用データ特徴量zi∈Z4の平均をμ4,k、標準偏差をσ4,kとする。
【0050】
手順1-2:比較演算部205は、クラスk∈{1,・・・,K}毎に、上記の手順1-1で算出された平均μ4,k及び標準偏差σ4,kと、基準データベース211に格納されている平均μ1,k及び標準偏差σ1,kとを用いて、当該クラスkに関するカルバック・ライブラー情報量を算出する。すなわち、クラスkに関するカルバック・ライブラー情報量をKLkとしたとき、比較演算部205は、以下により各クラスkに関するカルバック・ライブラー情報量KLkをそれぞれ算出する。
【0051】
【数1】
ここで、p
k(x)はクラスkに分類された学習データ特徴量z
i∈Z
1の確率密度関数、q
k(x)はクラスkに分類された運用データ特徴量z
i∈Z
4の確率密度関数である。
【0052】
手順1-3:比較演算部205は、上記の手順1-2で算出された各クラスkに関するカルバック・ライブラー情報量KLkの和を対象分布間距離として算出する。すなわち、比較演算部205は、上記の手順1-2で算出された各クラスkに関するカルバック・ライブラー情報量の和KL1+・・・+KLKを対象分布間距離として算出する。以下、対象分布間距離をKLとする。
【0053】
次に、比較演算部205は、学習データ特徴量zi∈Z1間の分布間距離を第1の分布間距離として算出する(ステップS202)。例えば、各クラスに分類される特徴量の分布が正規分布であると仮定できる場合、比較演算部205は、以下の手順2-1~手順2-2により第1の分布間距離を算出すればよい。
【0054】
手順2-1:比較演算部205は、クラスk∈{1,・・・,K}毎に、基準データベース211に格納されている平均μ1,k及び標準偏差σ1,kを用いて、当該クラスkに関するカルバック・ライブラー情報量を算出する。すなわち、クラスkに関するカルバック・ライブラー情報量をKLk
(1)としたとき、比較演算部205は、以下により各クラスkに関するカルバック・ライブラー情報量KLk
(1)をそれぞれ算出する。
【0055】
【数2】
ここで、p
k(x)及びq
k(x)はクラスkに分類された学習データ特徴量z
i∈Z
1の確率密度関数である。
【0056】
手順2-2:比較演算部205は、上記の手順2-1で算出された各クラスkに関するカルバック・ライブラー情報量KLk
(1)の和を第1の分布間距離として算出する。すなわち、比較演算部205は、上記の手順2-1で算出された各クラスkに関するカルバック・ライブラー情報量の和KL1
(1)+・・・+KLK
(1)を第1の分布間距離として算出する。以下、第1の分布間距離をKL(1)とする。
【0057】
次に、比較演算部205は、学習データ特徴量zi∈Z1と、検証データ特徴量zi∈Z2との間の分布間距離を第2の分布間距離として算出する(ステップS203)。例えば、各クラスに分類される特徴量の分布が正規分布であると仮定できる場合、比較演算部205は、以下の手順3-1~手順3-2により第2の分布間距離を算出すればよい。
【0058】
手順3-1:比較演算部205は、クラスk∈{1,・・・,K}毎に、基準データベース211に格納されている平均μ1,k及び標準偏差σ1,kと平均μ2,k及び標準偏差σ2,kを用いて、当該クラスkに関するカルバック・ライブラー情報量を算出する。すなわち、クラスkに関するカルバック・ライブラー情報量をKLk
(2)としたとき、比較演算部205は、以下により各クラスkに関するカルバック・ライブラー情報量KLk
(2)をそれぞれ算出する。
【0059】
【数3】
ここで、p
k(x)はクラスkに分類された学習データ特徴量z
i∈Z
1の確率密度関数、q
k(x)はクラスkに分類された検証データ特徴量z
i∈Z
2の確率密度関数である。
【0060】
手順3-2:比較演算部205は、上記の手順3-1で算出された各クラスkに関するカルバック・ライブラー情報量KLk
(2)の和を第2の分布間距離として算出する。すなわち、比較演算部205は、上記の手順3-1で算出された各クラスkに関するカルバック・ライブラー情報量の和KL1
(2)+・・・+KLK
(2)を第2の分布間距離として算出する。以下、第2の分布間距離をKL(2)とする。
【0061】
次に、比較演算部205は、学習データ特徴量zi∈Z1と、テストデータ特徴量zi∈Z3との間の分布間距離を第3の分布間距離として算出する(ステップS204)。例えば、各クラスに分類される特徴量の分布が正規分布であると仮定できる場合、比較演算部205は、以下の手順4-1~手順4-2により第3の分布間距離を算出すればよい。
【0062】
手順4-1:比較演算部205は、クラスk∈{1,・・・,K}毎に、基準データベース211に格納されている平均μ1,k及び標準偏差σ1,kと平均μ3,k及び標準偏差σ3,kを用いて、当該クラスkに関するカルバック・ライブラー情報量を算出する。すなわち、クラスkに関するカルバック・ライブラー情報量をKLk
(3)としたとき、比較演算部205は、以下により各クラスkに関するカルバック・ライブラー情報量KLk
(3)をそれぞれ算出する。
【0063】
【数4】
ここで、p
k(x)はクラスkに分類された学習データ特徴量z
i∈Z
1の確率密度関数、q
k(x)はクラスkに分類されたテストデータ特徴量z
i∈Z
3の確率密度関数である。
【0064】
手順4-2:比較演算部205は、上記の手順4-1で算出された各クラスkに関するカルバック・ライブラー情報量KLk
(3)の和を第3の分布間距離として算出する。すなわち、比較演算部205は、上記の手順4-1で算出された各クラスkに関するカルバック・ライブラー情報量の和KL1
(3)+・・・+KLK
(3)を第3の分布間距離として算出する。以下、第3の分布間距離をKL(3)とする。
【0065】
次に、性能推論部206は、上記のステップS202、ステップS203及びステップS204でそれぞれ算出された第1の分布間距離KL(1)、第2の分布間距離KL(2)及び第3の分布間距離KL(3)と、基準データベース211に格納されている正解率ACC1、ACC2及びACC3とを用いて、分布間距離と正解率低下ポイントとの関係を表す線形近似式を算出する(ステップS205)。例えば、性能推論部206は、以下の手順5-1~手順5-2により線形近似式を算出すればよい。
【0066】
手順5-1:学習データセットX1に対する学習データセットX1の正解率低下ポイントをQ1、学習データセットX1に対する検証データセットX2の正解率低下ポイントをQ2、学習データセットX1に対するテストデータセットX3の正解率低下ポイントをQ3とする。このとき、性能推論部206は、Q1=ACC1-ACC1=0、Q2=ACC1-ACC2、Q3=ACC1-ACC3により正解率低下ポイントQ1、Q2及びQ3をそれぞれ算出する。
【0067】
なお、学習データセットX1に対する或るデータセットの正解率低下ポイントは、当該データセットの正解率をACCとすれば、ACC1-ACCにより算出することができる。
【0068】
手順5-2:性能推論部206は、分布間距離をx軸、正解率低下ポイントをy軸とするxy平面上でP1:=(KL(1),Q1)、P2:=(KL(2),Q2)、P3:=(KL(3),Q3)の回帰直線を表す式を線形近似式として算出する。これは、例えば、最小二乗法等により算出することができる。以下、回帰直線をLとして、線形近似式をL:y=axとする。
【0069】
なお、性能推論部206は、上記の手順5-2で予め決められた補正係数β>0を用いて、線形近似式をL':y=βaxとしてもよい。以下、L':y=βaxを補正線形近似式と呼び、上記の手順5-2では補正線形近似式L'が算出されたものとする。
【0070】
ここで、線形近似式Lと補正線形近似式L'との関係を
図5に示す。
図5に示すように、線形近似式LはP
1、P
2及びP
3の回帰直線を表している。一方で、補正線形近似式L'は、線形近似式Lが表す回帰直線の傾きaにβ>0を乗じた直線を表している。
【0071】
次に、性能推論部206は、上記のステップS205で算出された補正線形近似式を用いて、上記のステップS201で算出された対象分布間距離から対象正解率低下ポイントを算出する(ステップS206)。すなわち、性能推論部206は、例えば、y=βa×KLにより対象正解率低下ポイントを算出する。この対象正解率低下ポイントは、分類モデルMの精度が学習時からどの程度低下しているかを表している。
【0072】
次に、更新判定部207は、上記のステップS206で算出された対象正解率低下ポイントが予め決められた閾値thを超えているか否かを判定する(ステップS207)。ここで、
図5に示すように、対象正解率ポイントが閾値th未満となる領域が自動モデル更新領域、対象正解率ポイントが閾値th以上となる領域が手動モデル更新アラート領域となる。このため、対象正解率低下ポイントが閾値thを超えている場合は手動モデル更新により分類モデルMを更新すると判定されたことを意味し、対象正解率低下ポイントが閾値th以下である場合は自動モデル更新により分類モデルMを更新すると判定されたことを意味する。
【0073】
なお、対象正解率低下ポイントが閾値thを超えている場合に手動モデル更新により分類モデルMを更新することとしたのは、コンセプトドリフトやデータドリフトといったドリフトにより分類モデルMの精度が大きく低下している場合に教師なしドメイン適応等によりモデル更新を行うとモデル精度が更に低下する可能性があるためである。
【0074】
上記のステップS207で対象正解率低下ポイントが閾値thを超えていると判定された場合、表示制御部209は、手動モデル更新アラートを表示装置102上に表示する(ステップS208)。これにより、ユーザは手動モデル更新が必要であることを知ることができるため、例えば、運用データベース210に格納されている運用データの全部又は一部に対してラベルを付与した上で、これらの運用データとそのラベルとを用いて教師あり学習の手法により分類モデルMのパラメータを更新させることが可能となる。
【0075】
一方で、上記のステップS207で対象正解率低下ポイントが閾値thを超えていると判定されなかった場合、モデル更新部208は、運用データベース210に格納されている運用データを用いて、教師なし学習の手法(例えば、教師なしドメイン適応等)により分類モデルMのパラメータを更新する(ステップS209)。これにより、分類モデルMをドリフト発生後のドメインに適応させることが可能となり、分類モデルMの精度を向上させることができる。
【0076】
<変形例>
・変形例1
上記の実施形態では、
図4のステップS205でP
1、P
2及びP
3から回帰直線を表す式を線形近似式として算出したが、線形近似式を算出する際に、P
1、P
2及びP
3に加えて、それ以外の点を用いてもよい。
【0077】
例えば、運用データベース210に格納されている運用データの一部に対して人手で正解ラベルを付与し、正解ラベルを付与した運用データの正解率と学習データセットX
1との分布間距離とを算出する。そして、
図4のステップS204と同様に、この正解率から正解率低下ポイントを算出した上で、正解率低下ポイントと分布間距離とで表される点を線形近似式の算出に用いてもよい。これにより、ラベル付けのコストは発生するものの、より精度の良い線形近似式を得ることが可能となる。一方で、線形近似式の精度は低下するものの、例えば、P
1、P
2及びP
3のうちの2点を用いてもよい。これ以外にも、例えば、P
1、P
2及びP
3のうちの1点又は2点と、P
1、P
2及びP
3以外の点とを用いてもよい。
【0078】
・変形例2
上記の実施形態では、
図4のステップS205で回帰直線を表す式を線形近似式として算出したが、線形近似に限られず、非線形近似でもよい。すなわち、
図4のステップS205では回帰曲線を表す式を算出してもよい。
【0079】
・変形例3
図4のステップS201の処理は、例えば、
図4のステップS202~ステップS205の処理の後に実行されてもよい。また、例えば、
図4のステップS202~ステップS205の処理はモデル更新処理が実行されるよりも前に事前に実行されており、モデル更新処理ではステップS201、ステップS206~ステップS209の処理のみが実行されてもよい。
【0080】
<まとめ>
以上のように、本実施形態に係る分類装置10は、分類モデルMの運用開始後に得られた運用データと、当該分類モデルMのパラメータ学習に用いられた学習用データとの間の分布間距離からモデル精度がどの程度低下しているかを表す正解率低下ポイントを算出する。そして、本実施形態に係る分類装置10は、正解率低下ポイントが大きい場合には手動で分類モデルMを更新すべきことをアラートとしてユーザに通知し、正解率低下ポイントが小さい場合には教師なしドメイン適応等により自動で分類モデルMを更新する。
【0081】
これにより、ドリフト発生に伴うモデル精度の低下が小さい場合には自動的にドリフト発生後のドメインに適応させてモデル精度を向上させることができる。一方で、ドリフト発生に伴うモデル精度の低下が大きい場合には、モデル精度の更なる低下を防止するため、ユーザによるラベル付けを伴う教師あり学習の手法により分類モデルMを再学習させることができる。
【0082】
このため、本実施形態に係る分類装置10によれば、分類モデルMの精度低下の程度に応じて適切にモデル更新を行うことが可能になる。また、分類モデルMの精度低下の程度が小さい場合には自動的にモデル更新が行われるため、ユーザによるラベル付けの回数を削減することが可能となり、ユーザの負担軽減も実現することができる。更に、分類モデルMの精度低下の程度が大きい場合には手動モデル更新アラートがユーザに通知されるため、モデル精度の大きな低下に対する監視も実現することができる。
【0083】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【符号の説明】
【0084】
10 分類装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 データ取得部
202 特徴量抽出部
203 分類部
204 特徴量・分類結果格納部
205 比較演算部
206 性能推論部
207 更新判定部
208 モデル更新部
209 表示制御部
210 運用データベース
211 基準データベース
M 分類モデル