JP7448026B2 - 検知プログラム、モデル生成プログラム、検知方法、モデル生成方法、検知装置及びモデル生成装置 - Google Patents

検知プログラム、モデル生成プログラム、検知方法、モデル生成方法、検知装置及びモデル生成装置 Download PDF

Info

Publication number
JP7448026B2
JP7448026B2 JP2022551471A JP2022551471A JP7448026B2 JP 7448026 B2 JP7448026 B2 JP 7448026B2 JP 2022551471 A JP2022551471 A JP 2022551471A JP 2022551471 A JP2022551471 A JP 2022551471A JP 7448026 B2 JP7448026 B2 JP 7448026B2
Authority
JP
Japan
Prior art keywords
machine learning
data
learning model
training data
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022551471A
Other languages
English (en)
Other versions
JPWO2022064570A1 (ja
JPWO2022064570A5 (ja
Inventor
佳寛 大川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2022064570A1 publication Critical patent/JPWO2022064570A1/ja
Publication of JPWO2022064570A5 publication Critical patent/JPWO2022064570A5/ja
Application granted granted Critical
Publication of JP7448026B2 publication Critical patent/JP7448026B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は、訓練データを用いたモデル生成技術に関する。
近年、企業等で利用されている情報システムに対して、データの判定機能、分類機能等を有する機械学習モデルの導入が進んでいる。以下、情報システムを「システム」と表記する。機械学習モデルは、システム開発時に学習させた訓練データの通りに判定、分類を行うため、システム運用中に入力データの傾向が変化すると、機械学習モデルの精度が劣化する。
図21は、入力データの傾向の変化による機械学習モデルの劣化を説明するための図である。ここで説明する機械学習モデルは、入力データを第1クラス、第2クラス、第3クラスのいずれかに分類するモデルであり、システム運用前に、訓練データに基づき、予め訓練されているものとする。
図21において、分布1Aは、システム運用初期の入力データの分布を示す。分布1Bは、システム運用初期からT1時間経過した時点の入力データの分布を示す。分布1Cは、システム運用初期から更にT2時間経過した時点の入力データの分布を示す。時間経過に伴って、入力データの傾向(特徴量等)が変化するものとする。たとえば、入力データが画像であれば、同一の被写体を撮影した画像であっても、季節や時間帯に応じて、入力データの傾向が変化する。
決定境界3は、モデル適用領域3a~3cの境界を示すものである。たとえば、モデル適用領域3aは、第1クラスに属する訓練データが分布する領域である。モデル適用領域3bは、第2クラスに属する訓練データが分布する領域である。モデル適用領域3cは、第3クラスに属する訓練データが分布する領域である。
星印は、第1クラスに属する入力データであり、機械学習モデルに入力した際に、モデル適用領域3aに分類されることが正しい。三角印は、第2クラスに属する入力データであり、機械学習モデルに入力した際に、モデル適用領域3bに分類されることが正しい。丸印は、第3クラスに属する入力データであり、機械学習モデルに入力した際に、モデル適用領域3cに分類されることが正しい。
分布1Aでは、全ての入力データが正常なモデル適用領域に分布している。すなわち、星印の入力データがモデル適用領域3aに位置し、三角印の入力データがモデル適用領域3bに位置し、丸印の入力データがモデル適用領域3cに位置している。
分布1Bでは、入力データの傾向が変化したため、全ての入力データが、正常なモデル適用領域に分布しているものの、星印の入力データの分布がモデル適用領域3bの方向に変化している。
分布1Cでは、入力データの傾向が更に変化し、星印の一部の入力データが、決定境界3を跨いで、モデル適用領域3bに移動しており、適切に分類されておらず、正解率が低下している(機械学習モデルの精度が劣化している)。
ここで、運用中の機械学習モデルの精度劣化を検知する技術として、T統計量(Hotelling's T-square)を用いる従来技術がある。この従来技術では、入力データおよび正常データ(訓練データ)のデータ群を主成分分析し、入力データのT統計量を算出する。T統計量は、標準化した各主成分の原点からデータまでの距離の二乗を合計したものである。従来技術は、入力データ群のT統計量の分布の変化を基にして、機械学習モデルの精度劣化を検知する。たとえば、入力データ群のT統計量は、異常値データの割合に対応する。
A.Shabbak and H. Midi,"An Improvement of the Hotelling Statistic in Monitoring Multivariate Quality Characteristics",Mathematical Problems in Engineering (2012) 1-15.
しかしながら、上述した従来技術では、機械学習モデルの精度劣化を引き起こす可能性のあるデータの分布の変化を検知することができないという問題がある。
たとえば、元々の情報量が非常に大きい高次元(数千~数万次元)データでは、従来技術のように、主成分分析により次元を削減すると、ほとんどの情報が失われてしまう。そのため、分類や判定を行うための重要な情報(特徴量)まで落ちてしまい、機械学習モデルの精度劣化を引き起こす可能性のあるデータの分布の変化を検知することができない。
1つの側面では、本発明は、機械学習モデルの精度劣化を引き起こす可能性のあるデータの分布の変化を検知することができるモデル生成プログラム、モデル生成方法及びモデル生成装置を提供することを目的とする。
1つの態様において、モデル生成プログラムは、第1の複数のデータの第1の機械学習モデルへの入力に応じて、第1の機械学習モデルから出力された結果を取得する処理をコンピュータに実行させる。モデル生成プログラムは、結果に基づいて、第1の複数のデータから第2の複数のデータを選択する処理をコンピュータに実行させる。モデル生成プログラムは、第2の複数のデータを入力とし、第1の機械学習モデルに含まれる複数のパラメータのうち一部のパラメータを固定した状態で機械学習を実行することによって、第2の機械学習モデルを生成する処理をコンピュータに実行させる。
機械学習モデルの精度劣化を引き起こす可能性のあるデータの分布の変化を検知することができる。
図1は、参考技術を説明するための図である。 図2は、監視対象の機械学習モデルの精度劣化を検知する仕組みを説明するための図である。 図3は、参考技術の処理を説明するための図(1)である。 図4は、参考技術の処理を説明するための図(2)である。 図5は、参考技術の問題を説明するための図である。 図6は、本実施形態に係るモデル生成装置の処理を説明するための図である。 図7は、本実施形態に係るモデル生成装置の構成を示す機能ブロック図である。 図8は、訓練データセットのデータ構造の一例を示す図である。 図9は、訓練データの一例を示す図である。 図10は、機械学習モデルの一例を説明するための図である。 図11は、インスペクターテーブルのデータ構造の一例を示す図である。 図12は、訓練データテーブルのデータ構造の一例を示す図である。 図13は、運用データテーブルのデータ構造の一例を示す図である。 図14は、各インスペクターの分類結果の一例を示す図である。 図15は、検知部の処理を説明するための図である。 図16は、本実施形態に係るモデル生成装置の処理手順を示すフローチャート(1)である。 図17は、機械学習処理の処理手順を示すフローチャートである。 図18は、本実施形態に係るモデル生成装置の処理手順を示すフローチャート(2)である。 図19は、本実施形態に係るモデル生成装置の効果を説明するための図である。 図20は、本実施形態に係るモデル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。 図21は、入力データの傾向の変化による機械学習モデルの劣化を説明するための図である。
以下に、本願の開示するモデル生成プログラム、モデル生成方法及びモデル生成装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施形態の説明を行う前に、機械学習モデルの精度劣化を検知する参考技術について説明する。参考技術では、異なる条件でモデル適用領域を狭めた複数の監視器を用いて、機械学習モデルの精度劣化を検知する。以下の説明では、監視器を「インスペクター」と表記する。
図1は、参考技術を説明するための図である。機械学習モデル10は、訓練データを用いて機械学習を実行した機械学習モデルである。参考技術では、機械学習モデル10の精度劣化を検知する。訓練データは、機械学習モデル10のパラメータについて、機械学習を実行する場合に用いられ、正解ラベルが対応付けられる。なお、参考技術では、検証データを用いて、機械学習モデル10を検証する。
インスペクター11A,11B,11Cは、それぞれ異なる条件でモデル適用領域が狭められ、異なる決定境界を有する。インスペクター11A~11Cは、それぞれ決定境界が異なるため、同一の入力データを入力しても、出力結果が異なる場合がある。参考技術では、インスペクター11A~11Cの出力結果の違いを基にして、機械学習モデル10の精度劣化を検知する。
図1に示す例では、インスペクター11A~11Cを示すが、他のインスペクターを用いて、精度劣化を検知してもよい。インスペクター11A~11Cの機械学習モデルにはDNN(Deep Neural Network)を利用する。インスペクター11Aを、機械学習モデル10と同一の訓練データを用いて機械学習を実行した機械学習モデルとする。
図2は、監視対象の機械学習モデルの精度劣化を検知する仕組みを説明するための図である。図2では、インスペクター11A,11Bを用いて説明を行う。インスペクター11Aの決定境界を決定境界12Aとし、インスペクター11Bの決定境界を決定境界12Bとする。決定境界12Aと、決定境界12Bとの位置はそれぞれ異なっており、モデル適用領域が異なる。
入力データがモデル適用領域4Aに位置する場合には、入力データは、インスペクター11Aによって、第1クラスに分類される。入力データがモデル適用領域5Aに位置する場合には、入力データは、インスペクター11Aによって、第2クラスに分類される。
入力データがモデル適用領域4Bに位置する場合には、入力データは、インスペクター11Bによって、第1クラスに分類される。入力データがモデル適用領域5Bに位置する場合には、入力データは、インスペクター11Bによって、第2クラスに分類される。
たとえば、運用初期の時間T1において、入力データDT1をインスペクター11Aに入力すると、入力データDT1はモデル適用領域4Aに位置するため、「第1クラス」に分類される。入力データDT1をインスペクター11Bに入力すると、入力データDT1はモデル適用領域4Bに位置するため、「第1クラス」に分類される。入力データDT1を入力した場合の分類結果が、インスペクター11Aと、インスペクター11Bとで同一であるため「劣化なし」と判定される。
運用初期から時間経過した時間T2において、入力データの傾向が変化して、入力データDT2となる。入力データDT2をインスペクター11Aに入力すると、入力データDT2はモデル適用領域4Aに位置するため、「第1クラス」に分類される。一方、入力データDT2をインスペクター11Bに入力すると、入力データDT2はモデル適用領域4Bに位置するため、「第2クラス」に分類される。入力データDT2を入力した場合の分類結果が、インスペクター11Aと、インスペクター11Bとで異なるため「劣化あり」と判定される。
ここで、参考技術では、モデル適用範囲を狭めたインスペクターを生成する場合、監視対象となる機械学習モデルと同じ訓練データのデータセットから、スコアの低い訓練データを除外した訓練データのデータセットを用いて、インスペクターの機械学習を実行する。以下の説明では、訓練データのデータセットを「訓練データセット」と表記する。訓練データセットには、複数の訓練データが含まれる。たとえば、機械学習モデルが訓練データに対して分類(推論)を行う際に途中で算出される値が、スコアとなる。
図3は、参考技術の処理を説明するための図(1)である。図3では、説明の便宜上、訓練データの正解ラベル(分類クラス)が、第1クラスまたは第2クラスである場合について説明する。丸印は、正解ラベルが第1クラスの訓練データである。三角印は、正解ラベルが第2クラスの訓練データである。
分布30Aは、インスペクター11Aを作成する訓練データセットの分布を示す。インスペクター11Aを訓練する場合の訓練データセットを、監視対象の機械学習モデル10を訓練する場合の訓練データセットと同一の訓練データセットとする。第1クラスのモデル適用領域31Aと、第2クラスのモデル適用領域32Aとの決定境界を、決定境界33Aとする。
インスペクター11Aに、既存の機械学習モデル(DNN)を用いた場合、各訓練データに対するスコアの値は、その機械学習モデルの決定境界に近いほど、小さな値となる。従って、複数の訓練データのうち、スコアの小さな訓練データを訓練データセットから除外した、新たな訓練データセットを用いて訓練することで、機械学習モデルの適用領域を狭めたインスペクターを生成することができる。
分布30Aにおいて、領域34に含まれる各訓練データは、決定境界33Aから離れているため、スコアが高い。領域35に含まれている各訓練データは、決定境界33Aから近いため、スコアが低い。参考技術を実行する装置は、分布30Aに含まれる訓練データセットから、領域35に含まれる各訓練データを削除した、新たな訓練データセットを作成する。以下の説明では、参考技術を実行する装置を「参考装置」と表記する。
参考装置は、新たな訓練データセットによって、機械学習モデルの機械学習を実行することで、インスペクター11Bを生成する。分布30Bは、インスペクター11Bを生成する新たな訓練データセットの分布を示す。第1クラスのモデル適用領域31Bと、第2クラスのモデル適用領域32Bとの決定境界を、決定境界33Bとする。新たな訓練データセットでは、決定境界33Aに近い領域35の各訓練データが除外されているため、決定境界33Bの位置が移動し、第1クラスのモデル適用領域31Bが、第1クラスのモデル適用領域31Aよりも狭くなっている。
図4は、参考技術の処理を説明するための図(2)である。参考装置は、訓練データから分類クラスを指定して、スコアの低いデータを除外することで、特定の分類クラスのモデル適用領域を狭める。
ここで、各訓練データには、分類クラスを示す正解ラベルが対応付けられている。参考装置が、第1クラスに対応するモデル適用領域を狭めたインスペクター11Bを生成する処理について説明する。参考装置は、訓練データセットから、正解ラベルが「第1クラス」となる訓練データであって、スコアの低い訓練データを除外した第1訓練データセットを用いて、インスペクター11Bの機械学習を実行する。
ここで、分布30Aは、インスペクター11Aを生成する訓練データセットの分布を示す。インスペクター11Aを生成する訓練データセットは、監視対象の機械学習モデル10を機械学習する場合に用いる訓練データセットと同じものとする。第1クラスのモデル適用領域31Aと、第2クラスのモデル適用領域32Aとの決定境界を、決定境界33Aとする。
参考装置は、分布30Aに含まれる訓練データセットの正解ラベルが「第1クラス」となる各訓練データを、インスペクター11Aに入力することで、訓練データのスコアを算出し、スコアが閾値未満となる訓練データを特定する。参考装置は、特定した訓練データを、分布30Aに含まれる訓練データセットから除外した新たな第1訓練データセットを作成する。正解ラベルが「第2クラス」となる訓練データは、第1訓練データセットに残る。
参考装置は、第1訓練データセットを用いて、インスペクター11Bの機械学習を実行する。分布30Bは、第1訓練データセットの分布を示す。第1クラスのモデル適用領域31Bと、第2クラスのモデル適用領域32Bとの決定境界を、決定境界33Bとする。第1訓練データセットでは、決定境界33Aに近い各訓練データが除外されているため、決定境界33Bの位置が移動し、第1クラスのモデル適用領域31Bが、第1クラスのモデル適用領域31Aよりも狭くなっている。
続いて、参考装置が、第2クラスに対応するモデル適用領域を狭めたインスペクター11Cを作成する処理について説明する。参考装置は、訓練データセットから、正解ラベルが「第2クラス」となる訓練データであって、スコアの低い訓練データを除外した第2訓練データセットを用いて、インスペクター11Cの機械学習を実行する。
参考装置は、分布30Aに含まれる訓練データセットの正解ラベルが「第2クラス」となる各訓練データを、インスペクター11Aに入力することで、訓練データのスコアを算出し、スコアが閾値未満となる訓練データを特定する。参考装置は、特定した訓練データを、分布30Aに含まれる訓練データセットから除外した新たな第2訓練データセットを作成する。正解ラベルが「第1クラス」となる訓練データは、第2訓練データセットに残る。
参考装置は、第2訓練データセットを用いて、インスペクター11Cの機械学習を実行する。分布30Cは、第2訓練データセットの分布を示す。第1クラスのモデル適用領域31Cと、第2クラスのモデル適用領域32Cとの決定境界を、決定境界33Cとする。第2訓練データセットでは、決定境界33Aに近い各訓練データが除外されているため、決定境界33Cの位置が移動し、第2クラスのモデル適用領域32Cが、第2クラスのモデル適用領域32Aよりも狭くなっている。
上記のように、参考技術では、監視対象の機械学習モデルの機械学習で用いた訓練データセットから、スコアの低い訓練データを分類クラス毎に除外した訓練データセットを用いて、インスペクターの機械学習を実行することで、モデル適用領域を狭めている。
ここで、参考技術の問題について説明する。参考技術では、ある特定の分類クラスのモデル適用範囲を狭めたインスペクターの機械学習を実行する場合の計算コストが、監視対象の機械学習モデルの機械学習を実行する計算コストと同程度になる。このため、分類クラスの数が多くなると、分類クラスに対応した複数のインスペクターの機械学習を実行する場合の計算コストも比例して増加する。
また、機械学習を実行した複数のインスペクターを用いて監視対象の機械学習モデルの精度低下を検知した後に、低下した精度を回復させるために、最新の訓練データセットを用いて、機械学習モデルおよび各分類クラスのインスペクターの機械学習を再度実行することになる。
図5は、参考技術の問題を説明するための図である。図5のグラフG1の横軸は、経過時間に対応する軸であり、縦軸は、機械学習モデルの正解率に対応する軸である。線分l1は、経過時間と、機械学習モデルの正解率との関係を示す。線分l1が正解率R1以下となったタイミングt、t、tにおいて、機械学習モデルの精度が許容性能を下回り、機械学習モデルおよび各インスペクターの機械学習が再度実行される。
たとえば、分類クラスの数をnとすると、監視対象の機械学習モデルと、n個のインスペクターの機械学習が、タイミングt、t、tにおいて実行される。このため、参考技術では、機械学習モデルおよび各インスペクターの継続的な運用に係る計算コストが大きくなる。
次に、本実施形態に係るモデル生成装置の処理の一例について説明する。図6は、本実施形態に係るモデル生成装置の処理を説明するための図である。本実施形態に係るモデル生成装置は、下記の処理を行うことで、インスペクター21A~21Cの機械学習を実行する。本実施形態では、インスペクター21A~21Cの機械学習モデルを、DNNによって実現する。
たとえば、インスペクター21A~21Cは、ニューラルネットワークの構造を有し、入力層、複数の隠れ層、出力層を持つ。入力層、複数の隠れ層、出力層は、複数のノードがエッジで結ばれる構造となっている。複数の隠れ層、出力層は、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。以下の説明では、複数の隠れ層、出力層に設定されるバイアス値、重みを「パラメータ」と表記する。また、入力層、複数の隠れ層、出力層をまとめて、「複数の層」と表記する。
モデル生成装置は、訓練データセット22Aを用いて、インスペクター21Aの機械学習を実行する。これによって、インスペクター21Aの複数の層のパラメータが訓練される。訓練データセット22Aは、監視対象となる機械学習モデルの機械学習を実行する場合の訓練データセットと同一の訓練データセットとする。モデル生成装置は、インスペクター21Aの機械学習を実行した後に、訓練データセット22Aの各訓練データを、インスペクター21Aに入力して、各訓練データの「第1クラス」のスコア、および、「第2クラス」のスコアを算出する。
モデル生成装置は、訓練データセット22Aから、正解ラベル「第1クラス」の訓練データであって、スコアが閾値未満となる訓練データを除外した訓練データセット22Bを作成する。正解ラベル「第2クラス」の訓練データは、訓練データセット22Bに残る。
モデル生成装置は、訓練データセット22Aから、正解ラベル「第2クラス」の訓練データであって、スコアが閾値未満となる訓練データを除外した訓練データセット22Cを作成する。正解ラベル「第1クラス」の訓練データは、訓練データセット22Cに残る。
モデル生成装置は、インスペクター21Aの機械学習を実行することで訓練されたパラメータと同一のパラメータを、インスペクター21Bおよびインスペクター21Cの複数の層に設定する。
モデル生成装置は、訓練データセット22Bを入力として、インスペクター21Bの機械学習を実行する。モデル生成装置は、インスペクター21Bの機械学習を実行する場合に、複数の層に設定された複数のパラメータのうち、一部のパラメータを固定した状態で、機械学習を実行する。図6に示す例では、インスペクター21Bの複数の層21B-1の各パラメータを固定し、複数の層21B-2の各パラメータを微調整(ファインチューニング)する。
モデル生成装置は、誤差逆伝播法による機械学習を実行することで、訓練データセット22Bの各訓練データをインスペクター21Bに入力した場合の出力結果が、各訓練データの正解ラベルに近づくように、複数の層21B-2のパラメータを訓練する。
モデル生成装置は、訓練データセット22Cを入力として、インスペクター21Cの機械学習を実行する。モデル生成装置は、インスペクター21Cの機械学習を実行する場合に、複数の層に設定された複数のパラメータのうち、一部のパラメータを固定した状態で、機械学習を実行する。図6に示す例では、インスペクター21Cの複数の層21C-1の各パラメータを固定し、複数の層21C-2のパラメータを微調整(ファインチューニング)する。
モデル生成装置は、誤差逆伝播法による機械学習を実行することで、訓練データセット22Cの各訓練データをインスペクター21Cに入力した場合の出力結果が、各訓練データの正解ラベルに近づくように、複数の層21C-2のパラメータを訓練する。
上記のように、モデル生成装置は、インスペクター21B,21Cの機械学習を実行する場合に、インスペクター21Aの訓練済みの複数のパラメータを流用し、一部のパラメータを固定した状態で、機械学習を実行する。このため、インスペクター21B,21Cの計算コストを、インスペクター21Aの計算コストより少ない計算コストで実現することができる。インスペクター21B,21Cの計算コストを少ない計算コストで実現できるので、機械学習モデルの継続的な運用監視にかかる計算コストを削減できる。
また、インスペクター21A~21Cでは、それぞれ異なる条件でモデル適用領域が狭められ、異なる決定境界を有する。インスペクター11A~11Cは、それぞれ決定境界が異なるため、同一の入力データを入力しても、出力結果が異なる場合がある。すなわち、モデル生成装置が訓練したインスペクター11A~11Cの出力結果の違いを基にして、機械学習モデルの精度劣化を引き起こす可能性のあるデータの分布の変化を検知することができる。
次に、本実施形態に係るモデル生成装置の構成の一例について説明する。図7は、本実施形態に係るモデル生成装置の構成を示す機能ブロック図である。図7に示すように、本実施形態に係るモデル生成装置は、通信部110と、入力部120と、出力部130と、記憶部140と、制御部150とを有する。第1生成部151、第2生成部152は、生成部の一例である。
通信部110は、ネットワークを介して、外部装置(図示略)とデータ通信を実行する。たとえば、通信部110は、外部装置から後述する訓練データセット141等を受信する。
入力部120は、データを入力するための装置またはインタフェースである。
出力部130は、制御部150からのデータを出力する。
記憶部140は、データや制御部150が実行するプログラムなどを記憶する記憶装置の一例であり、たとえば、ハードディスクやメモリなどである。記憶部140は、訓練データセット141、機械学習モデルデータ142、インスペクターテーブル143、訓練データテーブル144、運用データテーブル145、出力結果テーブル146を記憶する。
訓練データセット141は、訓練データに関する各種の情報を保持する。図8は、訓練データセットのデータ構造の一例を示す図である。図8に示すように、この訓練データセットは、レコード番号と、訓練データと、正解ラベルとを対応付ける。レコード番号は、訓練データと、正解ラベルとの組を識別する番号である。訓練データは、メールスパムのデータ、電気需要予測、株価予測、ポーカーハンドのデータ、画像データ等に対応する。正解ラベルは、第1クラス、第2クラス、第3クラスの各分類クラスのうち、いずれかの分類クラスを一意に識別する情報である。
図9は、訓練データの一例を示す図である。図9では、訓練データを画像データとして説明を行うが、訓練データは、メールスパムのデータ、電気需要予測、株価予測、ポーカーハンドのデータであってもよい。訓練データTD1,2は、Tシャツの画像データであり、正解ラベル「第1クラス」に対応付けられる。訓練データTD3,4は、ズボンの画像データであり、正解ラベル「第2クラス」に対応付けられる。訓練データTD5,6は、プルオーバーの画像データであり、正解ラベル「第3クラス」に対応付けられる。
機械学習モデルデータ142は、機械学習モデルのデータである。図10は、機械学習モデルの一例を説明するための図である。図10に示すように、機械学習モデル50は、ニューラルネットワークの構造を有し、入力層50a、隠れ層50b、出力層50cを持つ。入力層50a、隠れ層50b、出力層50cは、複数のノードがエッジで結ばれる構造となっている。隠れ層50b、出力層50cは、活性化関数と呼ばれる関数とバイアス値とを持ち、エッジは、重みを持つ。複数の層には、バイアス値、重み等のパラメータが設定される。
入力層50aに含まれる各ノードに、データ(データの特徴量)を入力すると、隠れ層50bを通って、出力層50cのノード51a,51b,51cから、各クラスの確率が出力される。たとえば、ノード51aから、第1クラスの確率が出力される。ノード51bから、第2クラスの確率が出力される。ノード51cから、第3クラスの確率が出力される。各クラスの確率は、出力層50cの各ノードから出力される値を、ソフトマックス(Softmax)関数に入力することで、算出される。本実施形態では、ソフトマックス関数に入力する前の値が「スコア」となる。
たとえば、正解ラベル「第1クラス」に対応する訓練データを、入力層50aに含まれる各ノードに入力した場合に、ノード51aから出力される値であって、ソフトマックス関数に入力する前の値を、入力した訓練データのスコアとする。正解ラベル「第2クラス」に対応する訓練データを、入力層50aに含まれる各ノードに入力した場合に、ノード51bから出力される値であって、ソフトマックス関数に入力する前の値を、入力した訓練データのスコアとする。正解ラベル「第3クラス」に対応する訓練データを、入力層50aに含まれる各ノードに入力した場合に、ノード51cから出力される値であって、ソフトマックス関数に入力する前の値を、入力した訓練データのスコアとする。
機械学習モデル50に関しては、訓練データセット141を入力として、機械学習を実行済みとする。機械学習モデル50の機械学習を実行する場合、訓練データセット141の各訓練データを入力層50aに入力し、出力層50cの各ノードの出力結果が、入力した訓練データの正解ラベルに近づくように、機械学習モデル50のパラメータが訓練される。たとえば、機械学習モデル50は、誤差逆伝搬法によって、パラメータが訓練される。
図7の説明に戻る。インスペクターテーブル143は、機械学習モデル50の精度劣化を検知する複数のインスペクターのデータを保持するテーブルである。図11は、インスペクターテーブルのデータ構造の一例を示す図である。図11に示すように、このインスペクターテーブル143は、識別情報と、インスペクターとを対応付ける。識別情報は、インスペクターを識別する情報である。インスペクターは、モデル識別情報に対応するインスペクターのデータである。インスペクターのデータは、図10で説明した機械学習モデル50と同様にして、ニューラルネットワークの構造を有し、入力層、隠れ層、出力層を持つ。また、各インスペクターには、それぞれ固有の複数のパラメータが設定される。
以下の説明では、識別情報「M0」のインスペクターを、「インスペクターM0」と表記する。識別情報「M1」のインスペクターを、「インスペクターM1」と表記する。識別情報「M2」のインスペクターを、「インスペクターM2」と表記する。識別情報「M3」のインスペクターを、「インスペクターM3」と表記する。
訓練データテーブル144は、各インスペクターを学習するための複数の訓練データセットを有する。図12は、訓練データテーブルのデータ構造の一例を示す図である。図12に示すように、訓練データテーブル144は、データ識別情報と、訓練データセットとを有する。データ識別情報は、訓練データセットを識別する情報である。訓練データセットは、各インスペクターの機械学習を実行する場合に用いられる訓練データセットである。
データ識別情報「D1」の訓練データセットは、訓練データセット141から、正解ラベル「第1クラス」の訓練データであって、スコアの低い訓練データを除外した訓練データセットである。以下の説明では、データ識別情報「D1」の訓練データセットを、「訓練データセットD1」と表記する。
データ識別情報「D2」の訓練データセットは、訓練データセット141から、正解ラベル「第2クラス」の訓練データであって、スコアの低い訓練データを除外した訓練データセットである。以下の説明では、データ識別情報「D2」の訓練データセットを、「訓練データセットD2」と表記する。
データ識別情報「D3」の訓練データセットは、訓練データセット141から、正解ラベル「第3クラス」の訓練データであって、スコアの低い訓練データを除外した訓練データセットである。以下の説明では、データ識別情報「D3」の訓練データセットを、「訓練データセットD3」と表記する。
運用データテーブル145は、時間経過に伴って、追加される運用データセットを有する。図13は、運用データテーブルのデータ構造の一例を示す図である。図13に示すように、運用データテーブル145は、データ識別情報と、運用データセットとを有する。データ識別情報は、運用データセットを識別する情報である。運用データセットは、複数の運用データが含まれる。運用データは、メールスパムのデータ、電気需要予測、株価予測、ポーカーハンドのデータ、画像データ等に対応する。
データ識別情報「C0」の運用データセットは、運用開始時(t=0)において収集された運用データセットである。以下の説明では、データ識別情報「C0」の運用データセットを、「運用データセットC0」と表記する。
データ識別情報「C1」の運用データセットは、運用開始時からT1時間経過後に収集された運用データセットである。以下の説明では、データ識別情報「C1」の運用データセットを、「運用データセットC1」と表記する。
データ識別情報「C2」の運用データセットは、運用開始時からT2(T2>T1)時間経過後に収集された運用データセットである。以下の説明では、データ識別情報「C2」の運用データセットを、「運用データセットC2」と表記する。
データ識別情報「C3」の運用データセットは、運用開始時からT3(T3>T2)時間経過後に収集された運用データセットである。以下の説明では、データ識別情報「C3」の運用データセットを、「運用データセットC3」と表記する。
図示を省略するが、運用データセットC0~C3に含まれる各運用データには、運用データを一意に識別する「運用データ識別情報」が付与されるものとする。運用データセットC0~C3は、外部装置からモデル生成装置100にデータストリームされ、モデル生成装置100は、データストリームされた運用データセットC0~C3を、運用データテーブル145に登録する。
出力結果テーブル146は、各インスペクターM0~M3に、各運用データセットC0~C3を入力した際の、各インスペクターM0~M3の出力結果を登録するテーブルである。
図7の説明に戻る。制御部150は、モデル生成装置100全体を司る処理部であり、第1生成部151、選択部152、第2生成部153、検知部154を有する。制御部150は、たとえば、プロセッサ等である。
第1生成部151は、訓練データセット141を取得し、訓練データセット141を訓練前のインスペクターM0に入力し、インスペクターM0の機械学習を実行する。訓練データセット141は、機械学習モデル50の機械学習を実行する場合に用いられる訓練データセットである。
第1生成部151は、訓練データセット141の各訓練データを、インスペクターM0の入力層に入力し、出力層の各ノードの出力結果が、入力した訓練データの正解ラベルに近づくように、インスペクターM0の複数の層の複数のパラメータを訓練する。
第1生成部151は、訓練済みのインスペクターM0のデータを、インスペクターテーブル143に登録する。インスペクターM0のデータには、インスペクターM0の複数の層に設定される複数のパラメータが含まれる。本実施形態では一例として、インスペクターM0Aに、n層が含まれ、訓練された各層のパラメータをθ~θとする。
選択部152は、訓練データセット141に含まれる各訓練データのスコアを算出し、訓練データセット141から、スコアが閾値未満となる訓練データ以外の訓練データを選択し、訓練データセットD1~D3を生成する。
選択部152が、「訓練データセットD1」を生成する処理について説明する。選択部152は、訓練データセット141の訓練データのうち、正解ラベル「第1クラス」の訓練データを、インスペクターM0に入力し、スコアを算出する。選択部152は、スコアが閾値以上となる場合に、正解ラベル「第1クラス」の訓練データを、訓練データセットD1の訓練データとして選択する。選択部152は、正解ラベル「第1クラス」の他の訓練データについても上記処理を繰り返し実行する。
選択部152は、訓練データセット141の訓練データのうち、正解ラベル「第2クラス」、「第3クラス」の訓練データについては、そのまま、訓練データセットD1の訓練データとして選択する。
選択部152が、「訓練データセットD2」を生成する処理について説明する。選択部152は、訓練データセット141の訓練データのうち、正解ラベル「第2クラス」の訓練データを、インスペクターM0に入力し、スコアを算出する。選択部152は、スコアが閾値以上となる場合に、正解ラベル「第2クラス」の訓練データを、訓練データセットD2の訓練データとして選択する。選択部152は、正解ラベル「第2クラス」の他の訓練データについても上記処理を繰り返し実行する。
選択部152は、訓練データセット141の訓練データのうち、正解ラベル「第1クラス」、「第3クラス」の訓練データについては、そのまま、訓練データセットD2の訓練データとして選択する。
選択部152が、「訓練データセットD3」を生成する処理について説明する。選択部152は、訓練データセット141の訓練データのうち、正解ラベル「第3クラス」の訓練データを、インスペクターM0に入力し、スコアを算出する。選択部152は、スコアが閾値以上となる場合に、正解ラベル「第3クラス」の訓練データを、訓練データセットD3の訓練データとして選択する。選択部152は、正解ラベル「第3クラス」の他の訓練データについても上記処理を繰り返し実行する。
選択部152は、訓練データセット141の訓練データのうち、正解ラベル「第1クラス」、「第2クラス」の訓練データについては、そのまま、訓練データセットD3の訓練データとして選択する。
第2生成部153は、訓練データテーブル144を基にして、機械学習を実行することで、インスペクターM1,M2,M3を生成する。
第2生成部153が、「インスペクターM1」を生成する処理について説明する。第2生成部153は、訓練データセットD1を入力とし、インスペクターM1の複数のパラメータとして、インスペクターM0の複数のパラメータを流用し、一部のパラメータを固定した状態で、機械学習を実行することで、インスペクターM1を生成する。
たとえば、インスペクターM0の流用する複数のパラメータをθ~θとする。第2生成部153は、インスペクターM1の複数の層のパラメータの初期値を、パラメータθ~θに設定する。第2生成部153は、訓練データセットD1を入力とし、機械学習を実行する場合に、インスペクターM1のパラメータθ~θのうち、θ~θn-2を固定し、θn-1,θを訓練する。第2生成部153は、訓練済みのインスペクターM1のデータを、インスペクターテーブル143に登録する。
第2生成部153が、「インスペクターM2」を生成する処理について説明する。第2生成部153は、訓練データセットD2を入力とし、インスペクターM2の複数のパラメータとして、インスペクターM0の複数のパラメータを流用し、一部のパラメータを固定した状態で、機械学習を実行することで、インスペクターM2を生成する。
たとえば、インスペクターM0の流用する複数のパラメータをθ~θとする。第2生成部153は、インスペクターM2の複数の層のパラメータの初期値を、パラメータθ~θに設定する。第2生成部153は、訓練データセットD2を入力とし、機械学習を実行する場合に、インスペクターM2のパラメータθ~θのうち、θ~θn-2を固定し、θn-1,θを訓練する。第2生成部153は、訓練済みのインスペクターM2のデータを、インスペクターテーブル143に登録する。
第2生成部153が、「インスペクターM3」を生成する処理について説明する。第2生成部153は、訓練データセットD3を入力とし、インスペクターM3の複数のパラメータとして、インスペクターM0の複数のパラメータを流用し、一部のパラメータを固定した状態で、機械学習を実行することで、インスペクターM3を生成する。
たとえば、インスペクターM0の流用する複数のパラメータをθ~θとする。第2生成部153は、インスペクターM3の複数の層のパラメータの初期値を、パラメータθ~θに設定する。第2生成部153は、訓練データセットD3を入力とし、機械学習を実行する場合に、インスペクターM3のパラメータθ~θのうち、θ~θn-2を固定し、θn-1,θを訓練する。第2生成部153は、訓練済みのインスペクターM3のデータを、インスペクターテーブル143に登録する。
ここで、インスペクターM0,M1,M2,M3の分類結果の一例について説明する。図14は、各インスペクターの分類結果の一例を示す図である。グラフG2-0は、インスペクターM0の分類結果を示す。グラフG2-1は、インスペクターM1の分類結果を示す。グラフG2-2は、インスペクターM2の分類結果を示す。グラフG2-3は、インスペクターM3の分類結果を示す。各グラフの横軸は、データの第1特徴量に対応する軸であり、縦軸は、データの第2特徴量に対応する軸である。
各グラフにおいて、マル印のデータは、第1クラスに分類されたデータである。四角印のデータは、第2クラスに分類されたデータである。三角印のデータは、第3クラスに分類されたデータである。グラフG2-1に示すように、インスペクターM1では、第1クラスのモデル適用領域が、他のインスペクターM0,M2,M3のモデル適用領域も狭くなっている。グラフG2-2に示すように、インスペクターM2では、第2クラスのモデル適用領域が、他のインスペクターM0,M1,M3のモデル適用領域も狭くなっている。グラフG2-3に示すように、インスペクターM3では、第3クラスのモデル適用領域が、他のインスペクターM0,M1,M2のモデル適用領域も狭くなっている。
図7の説明に戻る。検知部154は、出力結果テーブル146を基にして、機械学習モデルの精度劣化を引き起こす可能性のあるデータの分布の変化を検知する。検知部154は、インスペクターM0~M3に、運用データテーブル145の運用データセットC0,C1,C2,C3を入力し、出力結果を取得する。検知部154は、インスペクターM0~M3の出力結果を、出力結果テーブル146に登録する。
検知部154は、インスペクターM0~M3の出力結果のうち、いずれかの出力結果が他の出力結果と異なる場合に、機械学習モデル50の精度劣化を引き起こす可能性(あるいは、精度劣化を引き起こす予兆)のあるデータの分布の変化を検知する。検知部154は、データの分布の変化を検知した旨を、外部装置に通知する。
図15は、検知部の処理を説明するための図である。ここでは一例として、インスペクターM0,M1を用いて説明を行う。便宜的に、インスペクターM0の決定境界を決定境界70Aとし、インスペクターM1の決定境界を決定境界70Bとする。決定境界70Aと、決定境界70Bとの位置はそれぞれ異なっており、モデル適用領域が異なる。以下の説明では、運用データセットに含まれる一つの運用データを適宜、「インスタンス」と表記する。
インスタンスがモデル適用領域71Aに位置する場合には、インスタンスは、インスペクターM0によって、第1クラスに分類される。インスタンスがモデル適用領域72Aに位置する場合には、インスタンスは、インスペクターM0によって、第2クラスに分類される。
インスタンスがモデル適用領域71Bに位置する場合には、インスタンスは、インスペクターM1によって、第1クラスに分類される。インスタンスがモデル適用領域72Bに位置する場合には、インスタンスは、インスペクターM1によって、第2クラスに分類される。
たとえば、運用初期の時間T1において、インスタンスI1T1をインスペクターM0に入力すると、インスタンスI1T1はモデル適用領域71Aに位置するため、「第1クラス」に分類される。インスタンスI2T1をインスペクターM0に入力すると、インスタンスI2T1はモデル適用領域71Aに位置するため、「第1クラス」に分類される。インスタンスI3T1をインスペクターM0に入力すると、インスタンスI3T1はモデル適用領域72Aに位置するため、「第2クラス」に分類される。
運用初期の時間T1において、インスタンスI1T1をインスペクターM1に入力すると、インスタンスI1T1はモデル適用領域71Bに位置するため、「第1クラス」に分類される。インスタンスI2T1をインスペクターM1に入力すると、インスタンスI2T1はモデル適用領域71Bに位置するため、「第1クラス」に分類される。インスタンスI3T1をインスペクターM1に入力すると、インスタンスI3T1はモデル適用領域72Bに位置するため、「第2クラス」に分類される。
運用初期の時間T1において、インスタンスI1T1,I2T1,I3T1をインスペクターM0,M1に入力した際に分類される分類結果がそれぞれ同一であるため、検知部154は、機械学習モデル50の精度劣化を検知しない。
ところで、運用初期から時間経過した時間T2において、インスタンスの傾向が変化して、インスタンスI1T1,I2T1,I3T1インスタンスI1T2,I2T2,I3T2となる。インスタンスI1T2をインスペクターM0に入力すると、インスタンスI1T2はモデル適用領域71Aに位置するため、「第1クラス」に分類される。インスタンスI2T2をインスペクターM0に入力すると、インスタンスI2T1はモデル適用領域71Aに位置するため、「第1クラス」に分類される。インスタンスI3T2をインスペクターM0に入力すると、インスタンスI3T2はモデル適用領域72Aに位置するため、「第2クラス」に分類される。
運用初期から時間経過した時間T2において、インスタンスI1T2をインスペクターM1に入力すると、インスタンスI1T2はモデル適用領域72Bに位置するため、「第2クラス」に分類される。インスタンスI2T2をインスペクターM1に入力すると、インスタンスI2T2はモデル適用領域71Bに位置するため、「第1クラス」に分類される。インスタンスI3T2をインスペクターM1に入力すると、インスタンスI3T2はモデル適用領域72Bに位置するため、「第2クラス」に分類される。
運用初期から時間経過した時間T2において、インスタンスI1T1をインスペクターM0,M1に入力した際に分類される分類結果がそれぞれ異なるため、検知部154は、機械学習モデル50の精度劣化を引き起こす可能性のあるデータの分布の変化を検知する。また、検知部154は、精度劣化の要因となったインスタンスI1T2を検知することができる。
次に、本実施形態に係るモデル生成装置の処理手順の一例について説明する。図16は、本実施形態に係るモデル生成装置の処理手順を示すフローチャート(1)である。図16に示すように、モデル生成装置100は、監視対象の機械学習モデル50の機械学習を実行した場合に使用した訓練データセット141を取得する(ステップS101)。
モデル生成装置100の第1生成部151は、訓練データセット141を入力として、インスペクターM0の機械学習を実行する(ステップS102)。第1生成部151は、インスペクターM0のパラメータをインスペクターテーブル143に保存する(ステップS103)。
モデル生成装置100の選択部152は、i=1に設定する(ステップS104)。選択部152は、インスペクターM0に第iクラスの訓練データを入力し、訓練データに関するスコアを算出する(ステップS105)。選択部152は、スコアが閾値以上となる訓練データを選択することで、訓練データセットDiを作成し、訓練データテーブルに登録する(ステップS106)。
選択部152は、i=Nでない場合に(ステップS107,No)、i=i+1を実行し(ステップS108)、ステップS105に移行する。一方、選択部152は、i=Nである場合に(ステップS107,Yes)、ステップS109に移行する。
第2生成部153は、機械学習処理を実行する(ステップS109)。第2生成部153は、訓練済みの複数のインスペクターのデータを、インスペクターテーブル143に登録する(ステップS110)。
次に、図16のステップS109に示した機械学習処理の処理手順について説明する。図17は、機械学習処理の処理手順を示すフローチャートである。図17に示すように、モデル生成装置100の第2生成部153は、i=1に設定する(ステップS201)。
第2生成部153は、インスペクターM0の複数のパラメータを、インスペクターMiに設定する(ステップS202)。第2生成部153は、訓練データセットDiを入力とし、インスペクターMiに含まれる複数のパラメータのうち、一部のパラメータを固定した状態で、機械学習を実行する(ステップS203)。
第2生成部153は、i=Nでない場合に(ステップS204,No)、i=i+1を実行し(ステップS205)、ステップS202に移行する。一方、第2生成部153は、i=Nである場合に(ステップS204,Yes)、機械学習処理を終了する。
図18は、本実施形態に係るモデル生成装置の処理手順を示すフローチャート(2)である。図18に示すように、モデル生成装置100の検知部154は、運用データテーブル145から、運用データセットを取得する(ステップS301)。検知部154は、運用データセットからインスタンスを1つ選択する(ステップS302)。
検知部155は、選択したインスタンスを各インスペクターM0~M3に入力し、出力結果を取得し、出力結果テーブル146に登録する(ステップS303)。検知部155は、出力結果テーブル146を参照し、各出力結果が異なるか否かを判定する(ステップS304)。
検知部154は、各出力結果が異ならない場合には(ステップS305,No)、ステップS308に移行する。検知部154は、各出力結果が異なる場合には(ステップS305,Yes)、ステップS306に移行する。
検知部154は、精度劣化を検知する(ステップS306)。検知部154は、精度劣化を検知した旨を外部装置に通知する(ステップS307)。モデル生成装置100は、全てのインスタンスを選択したか否かを判定する(ステップS308)。
モデル生成装置100は、全てのインスタンスを選択した場合には(ステップS308,Yes)、処理を終了する。一方、モデル生成装置100は、全てのインスタンスを選択していない場合には(ステップS308,No)、ステップS309に移行する。検知部154は、運用データセットから、未選択のインスタンスを1つ選択し(ステップS309)、ステップS303に移行する。
次に、本実施形態に係るモデル生成装置100の効果について説明する。モデル生成装置100は、インスペクターM1~M3の機械学習を実行する場合に、インスペクターM0の訓練済みの複数のパラメータを流用し、一部のパラメータを固定した状態で、機械学習を実行する。このため、インスペクターM1~M3の計算コストを、インスペクターM0の計算コストより少ない計算コストで実現することができる。インスペクターM1~M3の計算コストを少ない計算コストで実現できるので、機械学習モデルの継続的な運用監視にかかる計算コストを削減できる。
図19は、本実施形態に係るモデル生成装置の効果を説明するための図である。図19において、t1-M0は、参考装置が、インスペクターM0を訓練する場合に要する時間である。t1-M1は、参考装置が、インスペクターM1を訓練する場合に要する時間である。t1-M2は、参考装置が、インスペクターM2を訓練する場合に要する時間である。t1-M3は、参考装置が、インスペクターM3を訓練する場合に要する時間である。
たとえば、t1-M0は「49.9秒」、t1-M1は「33.92秒」、t1-M2は「31.87秒」、t1-M3は「34.3秒」となる。このため、参考装置が、インスペクターM0~M3を訓練する時間は、「150.03秒」となる。
t2-M0は、モデル生成装置100が、インスペクターM0を訓練する場合に要する時間である。t2-M1は、モデル生成装置100が、インスペクターM1を訓練する場合に要する時間である。t2-M2は、モデル生成装置100が、インスペクターM2を訓練する場合に要する時間である。t2-M3は、モデル生成装置100が、インスペクターM3を訓練する場合に要する時間である。
たとえば、t2-M0は「49.9秒」、t2-M1は「10.57秒」、t2-M2は「10.59秒」、t2-M3は「11.18秒」となる。このため、モデル生成装置100が、インスペクターM0~M3を訓練する時間は、「82.28秒」となる。
図19に示すように、参考装置がインスペクターM0~M3を訓練する時間よりも、モデル生成装置100がインスペクターM0~M3を訓練する時間のほうが短くなり、計算コストを削減することができる。
また、インスペクターM1~M3では、それぞれ異なる条件でモデル適用領域が狭められ、異なる決定境界を有する。インスペクターM1~M3は、それぞれ決定境界が異なるため、同一の入力データを入力しても、出力結果が異なる場合がある。すなわち、モデル生成装置100は、運用データセットのデータを、インスペクターM1~M3の出力結果の違いを基にして、機械学習モデルの精度劣化を引き起こす可能性のあるデータの分布の変化を検知することができる。
モデル生成装置100は、訓練データセット141を入力とした機械学習を実行することで、インスペクターM0を生成する。これによって、インスペクターM1~M3に初期設定する複数のパラメータを訓練することができる。
モデル生成装置100は、訓練データセット141の各訓練データを、インスペクターM0に入力して、各訓練データのスコアを取得し、スコアが閾値以上となる訓練データを用いて、インスペクターM1~M3の機械学習を実行する場合の訓練データとして選択する。これによって、それぞれ異なる条件でモデル適用領域が狭められ、異なる決定境界を有するインスペクターM1~M3を生成することができる。
モデル生成装置100は、機械学習モデルの精度劣化を引き起こす可能性のあるデータの分布の変化を検知した場合に、かかるデータの分布の変化を外部装置に通知する。これによって、機械学習モデル50の精度劣化を外部装置に通知することができる。
次に、本実施例に示したモデル生成装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図20は、本実施形態に係るモデル生成装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
図20に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る読み取り装置204と、有線または無線ネットワークを介して、外部装置等との間でデータの授受を行うインタフェース装置205とを有する。コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
ハードディスク装置207は、第1生成プログラム207a、選択プログラム207b、第2生成プログラム207c、検知プログラム207dを有する。CPU201は、第1生成プログラム207a、選択プログラム207b、第2生成プログラム207c、検知プログラム207dを読み出してRAM206に展開する。
第1生成プログラム207aは、第1生成プロセス206aとして機能する。選択プログラム207bは、選択プロセス206bとして機能する。第2生成プログラム207cは、第2生成プロセス206cとして機能する。検知プログラム207dは、検知プロセス206dとして機能する。
第1生成プロセス206aの処理は、第1生成部151の処理に対応する。選択プロセス206bの処理は、選択部152の処理に対応する。第2生成プロセス206cの処理は、第2生成部153の処理に対応する。検知プロセス206dの処理は、検知部154の処理に対応する。
なお、各プログラム207a~207dついては、必ずしも最初からハードディスク装置507に記憶させておかなくてもよい。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207dを読み出して実行するようにしてもよい。
100 モデル生成装置
110 通信部
120 入力部
130 出力部
140 記憶部
141 訓練データセット
142 機械学習モデルデータ
143 インスペクターテーブル
144 訓練データテーブル
145 運用データテーブル
146 出力結果テーブル
150 制御部
151 第1生成部
152 選択部
153 第2生成部
154 検知部

Claims (9)

  1. 第1の機械学習モデルへ第3の複数のデータを入力することにより前記第1の機械学習モデルから出力された第1の結果と、第1の複数のデータの前記第1の機械学習モデルへの入力に応じて前記第1の機械学習モデルから出力された結果に基づいて前記第1の複数のデータから選択された第2の複数のデータを訓練データとし、前記第1の機械学習モデルに含まれる複数のパラメータのうち一部のパラメータを固定した状態で機械学習を実行することによって生成された第2の機械学習モデルへ前記第3の複数のデータを入力することにより前記第2の機械学習モデルから出力された第2の結果とを基にして、前記第1の複数のデータの分布の変化を検知する、
    処理をコンピュータに実行させることを特徴とする検知プログラム。
  2. 前記検知する処理によって、前記第1の複数のデータの分布の変化が検知された場合に、前記第1の機械学習モデルの精度劣化に関する情報を通知する、
    処理を更に前記コンピュータに実行させることを特徴とする請求項に記載の検知プログラム。
  3. 第1の複数のデータの第1の機械学習モデルへの入力に応じて前記第1の機械学習モデルから出力された結果に基づいて前記第1の複数のデータから選択された第2の複数のデータを訓練データとし、前記第1の機械学習モデルに含まれる複数のパラメータのうち一部のパラメータを固定した状態で機械学習を実行することによって第2の機械学習モデルを生成する
    処理をコンピュータに実行させ、
    前記第2の機械学習モデルは、第1の機械学習モデルへ第3の複数のデータを入力することにより前記第1の機械学習モデルから出力された第1の結果と、前記第2の機械学習モデルへ前記第3の複数のデータを入力することにより前記第2の機械学習モデルから出力された第2の結果とを基にした、前記第1の複数のデータの分布の変化を検知する処理に用いられる、
    ことを特徴とするモデル生成プログラム。
  4. 前記第1の複数のデータに基づいて機械学習を実行することで、前記第1の機械学習モデルを生成する、
    処理を更に前記コンピュータに実行させることを特徴とする請求項に記載のモデル生成プログラム。
  5. 前記結果は、前記第1の機械学習モデルが前記第1の複数のデータのそれぞれに対する最終結果を出力する途中で算出されたスコアであり、
    記第1の複数のデータのうち、前記スコアが閾値以上となる前記第2の複数のデータを前記訓練データとして選択する処理を更に前記コンピュータに実行させることを特徴とする請求項に記載のモデル生成プログラム。
  6. 第1の機械学習モデルへ第3の複数のデータを入力することにより前記第1の機械学習モデルから出力された第1の結果と、第1の複数のデータの前記第1の機械学習モデルへの入力に応じて前記第1の機械学習モデルから出力された結果に基づいて前記第1の複数のデータから選択された第2の複数のデータを訓練データとし、前記第1の機械学習モデルに含まれる複数のパラメータのうち一部のパラメータを固定した状態で機械学習を実行することによって生成された第2の機械学習モデルへ前記第3の複数のデータを入力することにより前記第2の機械学習モデルから出力された第2の結果とを基にして、前記第1の複数のデータの分布の変化を検知する、
    処理をコンピュータに実行させることを特徴とする検知方法。
  7. 第1の複数のデータの第1の機械学習モデルへの入力に応じて前記第1の機械学習モデルから出力された結果に基づいて前記第1の複数のデータから選択された第2の複数のデータを訓練データとし、前記第1の機械学習モデルに含まれる複数のパラメータのうち一部のパラメータを固定した状態で機械学習を実行することによって第2の機械学習モデルを生成する
    処理をコンピュータが実行し、
    前記第2の機械学習モデルは、第1の機械学習モデルへ第3の複数のデータを入力することにより前記第1の機械学習モデルから出力された第1の結果と、前記第2の機械学習モデルへ前記第3の複数のデータを入力することにより前記第2の機械学習モデルから出力された第2の結果とを基にした、前記第1の複数のデータの分布の変化を検知する処理に用いられる、
    ことを特徴とするモデル生成方法。
  8. 第1の機械学習モデルへ第3の複数のデータを入力することにより前記第1の機械学習モデルから出力された第1の結果と、第1の複数のデータの前記第1の機械学習モデルへの入力に応じて前記第1の機械学習モデルから出力された結果に基づいて前記第1の複数のデータから選択された第2の複数のデータを訓練データとし、前記第1の機械学習モデルに含まれる複数のパラメータのうち一部のパラメータを固定した状態で機械学習を実行することによって生成された第2の機械学習モデルへ前記第3の複数のデータを入力することにより前記第2の機械学習モデルから出力された第2の結果とを基にして、前記第1の複数のデータの分布の変化を検知する検知部
    を有することを特徴とする検知装置。
  9. 第1の複数のデータの第1の機械学習モデルへの入力に応じて前記第1の機械学習モデルから出力された結果に基づいて前記第1の複数のデータから選択された第2の複数のデータを訓練データとし、前記第1の機械学習モデルに含まれる複数のパラメータのうち一部のパラメータを固定した状態で機械学習を実行することによって第2の機械学習モデルを生成する生成部を有し、
    前記第2の機械学習モデルは、第1の機械学習モデルへ第3の複数のデータを入力することにより前記第1の機械学習モデルから出力された第1の結果と、前記第2の機械学習モデルへ前記第3の複数のデータを入力することにより前記第2の機械学習モデルから出力された第2の結果とを基にした、前記第1の複数のデータの分布の変化を検知する処理に用いられる、
    ことを特徴とするモデル生成装置。
JP2022551471A 2020-09-23 2020-09-23 検知プログラム、モデル生成プログラム、検知方法、モデル生成方法、検知装置及びモデル生成装置 Active JP7448026B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/035841 WO2022064570A1 (ja) 2020-09-23 2020-09-23 モデル生成プログラム、モデル生成方法及びモデル生成装置

Publications (3)

Publication Number Publication Date
JPWO2022064570A1 JPWO2022064570A1 (ja) 2022-03-31
JPWO2022064570A5 JPWO2022064570A5 (ja) 2023-03-08
JP7448026B2 true JP7448026B2 (ja) 2024-03-12

Family

ID=80845575

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022551471A Active JP7448026B2 (ja) 2020-09-23 2020-09-23 検知プログラム、モデル生成プログラム、検知方法、モデル生成方法、検知装置及びモデル生成装置

Country Status (3)

Country Link
US (1) US20230186165A1 (ja)
JP (1) JP7448026B2 (ja)
WO (1) WO2022064570A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018063504A (ja) 2016-10-12 2018-04-19 株式会社リコー 生成モデル学習方法、装置及びプログラム
JP2020052935A (ja) 2018-09-28 2020-04-02 三菱電機インフォメーションシステムズ株式会社 学習済みモデルを生成する方法、データを分類する方法、コンピュータおよびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018063504A (ja) 2016-10-12 2018-04-19 株式会社リコー 生成モデル学習方法、装置及びプログラム
JP2020052935A (ja) 2018-09-28 2020-04-02 三菱電機インフォメーションシステムズ株式会社 学習済みモデルを生成する方法、データを分類する方法、コンピュータおよびプログラム

Also Published As

Publication number Publication date
JPWO2022064570A1 (ja) 2022-03-31
US20230186165A1 (en) 2023-06-15
WO2022064570A1 (ja) 2022-03-31

Similar Documents

Publication Publication Date Title
TWI818999B (zh) 針對新場景的預測模型訓練方法及裝置
Ceylan et al. Software defect identification using machine learning techniques
US11599884B2 (en) Identification of behavioral pattern of simulated transaction data
US11347972B2 (en) Training data generation method and information processing apparatus
US20220222581A1 (en) Creation method, storage medium, and information processing apparatus
JP2019159836A (ja) 学習プログラム、学習方法および学習装置
US20220230027A1 (en) Detection method, storage medium, and information processing apparatus
US20220222545A1 (en) Generation method, non-transitory computer-readable storage medium, and information processing device
US11461793B2 (en) Identification of behavioral pattern of simulated transaction data
JP7448026B2 (ja) 検知プログラム、モデル生成プログラム、検知方法、モデル生成方法、検知装置及びモデル生成装置
JP7306469B2 (ja) 検出方法、検出プログラムおよび情報処理装置
JP7212292B2 (ja) 学習装置、学習方法および学習プログラム
JP7424507B2 (ja) 検知プログラム、検知方法および検知装置
JP7400827B2 (ja) 検出方法、検出プログラムおよび情報処理装置
JP4997524B2 (ja) 多変数決定木構築システム、多変数決定木構築方法および多変数決定木を構築するためのプログラム
JP7458268B2 (ja) 情報処理装置、情報処理方法、コンピュータプログラム及び情報処理システム
JP4308113B2 (ja) データ分析装置及びその方法、プログラム
CN117121052A (zh) 图像判定装置、图像判定方法以及程序
WO2021079458A1 (ja) 検出方法、検出プログラムおよび情報処理装置
WO2021079479A1 (ja) 判定方法、判定プログラムおよび情報処理装置
US20060074830A1 (en) System, method for deploying computing infrastructure, and method for constructing linearized classifiers with partially observable hidden states
US20220215272A1 (en) Deterioration detection method, computer-readable recording medium storing deterioration detection program, and information processing apparatus
CN111579222A (zh) 自动最佳化故障特征产生方法
US20220222582A1 (en) Generation method, computer-readable recording medium storing generation program, and information processing apparatus
US20220237463A1 (en) Generation method, computer-readable recording medium storing generation program, and information processing apparatus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240212

R150 Certificate of patent or registration of utility model

Ref document number: 7448026

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150