JP7276488B2 - 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 - Google Patents

推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 Download PDF

Info

Publication number
JP7276488B2
JP7276488B2 JP2021553212A JP2021553212A JP7276488B2 JP 7276488 B2 JP7276488 B2 JP 7276488B2 JP 2021553212 A JP2021553212 A JP 2021553212A JP 2021553212 A JP2021553212 A JP 2021553212A JP 7276488 B2 JP7276488 B2 JP 7276488B2
Authority
JP
Japan
Prior art keywords
input data
learning
clusters
label
estimation
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
JP2021553212A
Other languages
English (en)
Other versions
JPWO2021079442A1 (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 JPWO2021079442A1 publication Critical patent/JPWO2021079442A1/ja
Application granted granted Critical
Publication of JP7276488B2 publication Critical patent/JP7276488B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2155Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the incorporation of unlabelled data, e.g. multiple instance learning [MIL], semi-supervised techniques using expectation-maximisation [EM] or naïve labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2323Non-hierarchical techniques based on graph theory, e.g. minimum spanning trees [MST] or graph cuts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Discrete Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Description

本発明は、推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法に関する。
従来から、データの判別や分類機能などを行う機械学習を用いた学習モデル(以下では、単に「モデル」と記載する場合がある)が利用されている。学習モデルは、学習させた教師データの通りに判別や分類を行うので、運用中に入力データの傾向(データ分布)が変化すると、学習モデルの精度が劣化する。
このようなことから、モデルを適切に修復させるメンテナンス作業を行うことが一般的である。例えば、一定期間ごとに、データのラベル付けを行い、それらに対するモデル精度を計測し、一定精度を下回った場合に再学習を行うことで、学習モデルの精度劣化を抑制する。この手法では、入力データが、天気予報や株価予測などのように、機械学習モデルによる予測結果が得られた後に、正解情報を取得できるデータの場合には、再学習用のラベル付けにかかるコストは少なくなるが、正解情報が取得できないデータの場合には、再学習用のラベル付けに多大なコストがかかる。
近年では、入力データの余計なデータを除いて整理した情報であり、学習モデルが入力された入力データを分類する、特徴量空間をクラスタリングし、各クラスタにラベルを対応させてその結果を正解情報(ラベル)として、入力データに自動的にラベル付けを行う技術が知られている。
Sethi,Tegjyot Singh,and Mehmed Kantardzic,"On the reliable detection of concept drift from streaming unlabeled data.",Expert Systems with Applications 82 (2017):77-99.
しかしながら、上記クラスタリング技術では、再学習用のラベル付けができるように適切にクラスタリングされない場合があり、再学習にかかる処理コストが低減できず、精度の劣化を抑制することが難しい。
例えば、学習後(運用開始時)の特徴量空間における各ラベルの境界平面(判定ルール)と同じようにクラスタリングされるとは限らないので、境界平面を跨ったクラスタリングが実行されると、ラベルを自動で判定できない事象が発生する。この場合、人手によりラベル付けを行うことになり、却って処理負荷が高くなる。また、ラベル数とクラスタ数とが一致するとも限らず、事前にクラスタ数を指定することも難しいので、クラスタリング結果をそのまま用いてラベル付けが実行できるとも限らない。
一つの側面では、学習モデルの精度劣化を抑制することができる推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法を提供することを目的とする。
第1の案では、推定プログラムは、コンピュータに、入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定する処理を実行させる。推定プログラムは、コンピュータに、入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定する処理を実行させる。推定プログラムは、コンピュータに、前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得する処理を実行させる。推定プログラムは、コンピュータに、前記複数の入力データに対して前記学習モデルを用いて判定される前記ラベルの判定精度を、前記推定結果に基づいて推定する処理を実行させる。
一実施形態によれば、学習モデルの精度劣化を抑制することができる。
図1は、実施例1にかかる性能推定装置を説明する図である。 図2は、KL距離を用いた一般的な劣化検知を説明する図である。 図3は、確信度を用いた一般的な劣化検知を説明する図である。 図4は、クラスタリングの問題点を説明する図である。 図5は、実施例1にかかる性能推定装置の機能構成を示す機能ブロック図である。 図6は、入力データDBに記憶される情報の一例を示す図である。 図7は、判定結果DBに記憶される情報の一例を示す図である。 図8は、推定結果DBに記憶される情報の一例を示す図である。 図9は、クラスタ数と中心点との特定を説明する図である。 図10は、運用後のクラスタリングを説明する図である。 図11は、パーシステントホモロジを説明する図である。 図12は、バーコードデータを説明する図である。 図13は、クラスタ割当てを説明する図である。 図14は、マッチング処理を説明する図である。 図15は、運用後のクラスタリングの続きを説明する図である。 図16は、入力データへのラベル付けを説明する図である。 図17は、モデル精度の劣化判定を説明する図である。 図18は、モデル精度の判定の詳細を説明する図である。 図19は、再学習を説明する図である。 図20は、処理の流れを示すフローチャートである。 図21は、実施例1による効果を説明する図である。 図22は、実施例2の再学習を説明する図である。 図23は、実施例2の効果を説明する図である。 図24は、DTMを用いたクラスタ数の計算を説明する図である。 図25は、ハードウェア構成例を説明する図である。
以下に、本発明にかかる推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。また、各実施例は、矛盾のない範囲内で適宜組み合わせることができる。
[性能推定装置の説明]
図1は、実施例1にかかる性能推定装置10を説明する図である。図1に示すように、性能推定装置10は、学習済みの学習モデルを用いて入力データの判定(分類)を実行する一方で、学習モデルの精度状態を監視し、精度劣化を検出した場合に再学習を行うことで、学習モデルの精度劣化を抑制するコンピュータ装置の一例である。
例えば、学習モデルは、学習時には、説明変数を画像データ、目的変数を動物名とする学習データを用いて学習され、運用時には、入力データとして画像データが入力されると、「ネコ」などの判定結果を出力する画像分類器の一例である。なお、学習モデルは、画像分類器に限定されず、入力データに対してラベル(判定結果)を出力する様々な学習モデルを適用することができる。
ここで、機械学習や深層学習などで学習された学習モデルは、学習データとラベル付けの組み合わせを元に学習されるので、学習データが含む範囲でのみ機能する。一方、学習モデルは、運用後に、学習時と同種のデータが入力されることが想定されているが、現実には入力されるデータの状態が変化して、学習モデルが適切に機能しなくなることがある。すなわち、「学習モデルの精度劣化」が発生する。
学習モデルの精度劣化の原因は、学習直後の特徴量空間ではラベルごとに境界平面を境に適切に分かれているが、劣化が起きた場合、特徴量空間への変換が適切でなくなり、異なるラベルの領域へ移動したり、複数のクラスのクラスタが連結したりするためである。
この場合、学習モデルを適切に修復させるメンテナンス作業が必要となる。そのためには、学習モデルの劣化状態を把握する必要がある。このようなことから、学習モデルの精度劣化を自動で検出する手法として、KL(Kullback-Leibler)距離や確信度を用いた手法が利用されている。
図2は、KL距離を用いた一般的な劣化検知を説明する図である。図2に示すように、精度の劣化前である学習終了段階において、学習データを判定(分類)したときに特徴空間の分布モデル1を保持しておき、運用開始後に判定対象の入力データを判定したときの特徴量空間の分布モデル2を定期的に測定して保持する。そして、分布モデル1と分布モデル2とのKL距離を算出し、算出した値が閾値以上の場合に、学習モデルの精度劣化を検知する。
図3は、確信度を用いた一般的な劣化検知を説明する図である。機械学習は、判定の確信度を共に出力することができる。例えば、深層学習(Deep Learning)の場合は、最終層の値であり、SVM(Support Vector Machine)の場合は、境界面からの距離である。SVMの場合、図3に示すように、精度の劣化前である学習終了段階において、学習データを判定(分類)したときに各クラスタの境界面からの距離の平均や分散などの統計量を保持しておき、運用開始後に判定対象の入力データを判定したときの統計量を定期的に測定して保持する。そして、各統計量を比較したり、運用時の統計量と閾値とを比較したりして、学習モデルの精度劣化を検知する。
このようなKL距離や確信度を用いた手法は、状況の変化や精度劣化を検出することができるが、精度が劣化した学習モデルを自動で修復することができない。また、実際の運用時に入力されるデータのラベルが自動に把握できないことも多い。その場合、メンテナンス時にラベル付けを行う必要があり、多大なコストがかかっている。
近年では、精度が劣化した学習モデルを自動で検出して修復する手法として、クラスタリングを用いた手法が利用されている。具体的には、運用開始後に判定対象の入力データの判定したときの特徴量空間をクラスタリングし、各クラスタにラベルを対応させてその結果を正解情報とすることで、再学習用の学習データ(以下では、単に「再学習データ」と記載する)を自動的に生成する。
ところが、必ずしも期待通りにクラスタできるとは限らない。図4は、クラスタリングの問題点を説明する図である。図4に示すように、K-means手法(K平均法)などを用いた場合、クラスタA、B、Cの境界があいまいな意図しないクラスタリングが実行されてしまい、正解情報を付与することが難しい事象が発生することがある。また、付与したラベルと同数のクラスタに分類されるとも限らず、事前にクラスタ数を設定することもできない。したがって、再学習データを自動的に生成することは難しい。
そこで、実施例1にかかる性能推定装置10は、分布の特徴として、同じラベルの塊は密度が高い点が(1つないし複数)あり、分布の外側に向かって密度が薄くなる場合が多くあるという特徴を利用して、クラスタ連結が起こった場合でも適切なクラスタリング を行う。このようにして、性能推定装置10は、学習モデルの精度劣化の自動検知と、学習モデルが判定した入力データと判定結果とを用いた再学習データの自動生成とを実現する。
[機能構成]
図5は、実施例1にかかる性能推定装置10の機能構成を示す機能ブロック図である。図5に示すように、図5に示すように、性能推定装置10は、通信部11、記憶部12、制御部20を有する。
通信部11は、他の装置との間の通信を制御する処理部であり、例えば通信インタフェースなどである。例えば、通信部11は、管理者端末から入力データを受信したり、各種指示を受信したりする。
記憶部12は、データや制御部20が実行するプログラムなどを記憶する記憶装置の一例であり、例えばメモリやハードディスクなどである。この記憶部12は、学習モデル13、入力データDB14、判定結果DB15、推定履歴DB16、再学習データDB17を記憶する。
また、記憶部12は、学習モデル13の学習に利用された学習データのデータセットを記憶することもできる。例えば、記憶部12は、学習データを識別する識別子、説明変数となる画像データ、目的変数となるラベル(正解情報)が対応付けられた各学習データを記憶する。
学習モデル13は、学習データを用いて学習された学習済みの機械学習モデルである。例えば、この学習モデル13は、画像データを入力されると、ネコや犬など動物名を出力するように学習された画像分類器である。なお、実施例1では、クラスA、クラスB、クラスCの3値に分類する学習モデル13を例にして説明する。
また、学習モデル13には、ニューラルネットワークやSVMなどを採用することができる。なお、記憶部12は、学習モデルそのものを記憶せずに、学習済みの学習モデルを構築することができる学習済みの各種パラメータ(最適化済みのパラメータ)を記憶することもできる。
入力データDB14は、学習モデル13に入力するデータである入力データを記憶するデータベースである。すなわち、入力データDB14は、判定対象となるデータを記憶する。図6は、入力データDB14に記憶される情報の一例を示す図である。図6に示すように、入力データDB14は、「データID、入力データ」を対応付けて記憶する。ここで記憶される「データID」は、データを識別する識別子であり、「入力データ」は、判定対象のデータである。
図6の例では、入力データ1に、データID=01が割り振られていることを示す。なお、入力データから取得できる特徴量をさらに対応付けておくこともできる。特徴量としては、画像データの画素値の平均値、画素値の最大値や最小値、最大値と最小値の差などである。また、入力データは、必ずしも記憶しておく必要はなく、データストリームように受信することもできる。
判定結果DB15は、入力データの判定結果を記憶するデータベースである。すなわち、判定結果DB15は、入力データを学習モデル13に入力して得られた判定結果を記憶する。図7は、判定結果DB15に記憶される情報の一例を示す図である。図7に示すように、判定結果DB15は、「データID、入力データ、判定結果」を対応付けて記憶する。
ここで記憶される「データID」は、データを識別する識別子であり、「入力データ」は、判定対象のデータであり、「判定結果」は、学習モデル13による判定結果である。図7の例では、データID=01である入力データ1が「クラスA」と判定されたことを示す。
推定履歴DB16は、後述する劣化推定部23により推定された履歴を記憶するデータベースである。例えば、推定履歴DB16は、入力データに対する劣化推定部23の推定結果、劣化推定部23が劣化検出のために生成した各種情報などを記憶する。
図8は、推定履歴DB16に記憶される情報の一例を示す図である。図8に示すように、推定履歴DB16は、「データID、入力データ、推定結果(クラスA,クラスB,クラスC)」を記憶する。ここで記憶される「データID」は、データを識別する識別子であり、「入力データ」は、判定対象のデータである。「推定結果」は、劣化推定部23による推定結果であり、各クラスに該当する確率(尤度)を示す。
図8の例では、データID=01である入力データ1に対して、クラスAである尤度が「1」、クラスBである尤度が「0」、クラスCである尤度が「0」と判定されたことを示す。また、データID=02である入力データ2に対して、クラスAである尤度が「0.4」、クラスBである尤度が「0」、クラスCである尤度が「0.6」と判定されたことを示す。
再学習データDB17は、学習モデル13の再学習に利用される再学習データを記憶するデータベースである。具体的には、再学習データDB17は、学習モデル13の精度劣化発生時に、学習モデルの精度を回復させるための再学習時の学習データを記憶する。再学習データは、学習データと同様、説明変数と目的変数を有するデータである。なお、詳細については後述する。
制御部20は、性能推定装置10全体を司る処理部であり、例えばプロセッサなどである。この制御部20は、モデル実行部21、事前処理部22、劣化推定部23、再学習部28を有する。なお、モデル実行部21、事前処理部22、劣化推定部23、再学習部28は、プロセッサなどが有する電子回路やプロセッサが実行するプロセスの一例である。
モデル実行部21は、学習モデル13を用いて、入力データの判定(分類)を実行する処理部である。すなわち、モデル実行部21は、学習モデル13を用いた実運用を実行する。例えば、モデル実行部21は、入力データDB14に記憶される各入力データを学習モデル13に入力し、学習モデル13の出力結果を取得する。そして、モデル実行部21は、入力データと出力結果に基づく判定結果とを対応付けて判定結果DB15に格納する。例えば、モデル実行部21は、学習モデル13の出力結果として各クラスの確率(尤度)を取得し、最も尤度が高いクラスを判定結果に決定する。
事前処理部22は、学習済みで運用開始前の学習モデル13の特徴量空間に関する情報を取得する処理部である。具体的には、事前処理部22は、モデル実行部21による判定が開始される前や学習モデル13の精度が劣化する前の特徴量空間に関する情報を取得して、記憶部12に格納する。
例えば、精度よく判定できている学習モデル13による特徴量の分布の特徴として、同じラベルの塊は密度が高い点があり、分布の外側に向かって密度が薄くなる場合が多くある。これを利用するため、事前処理部22は、式(1)に示したガウス密度を用いて、劣化前状態の特徴量空間の各データの密度に対応するものを計算する。なお、式(1)におけるNはデータ数を示し、σは標準偏差を示し、jはデータ数であり、確率変数xは例えば入力データ(特徴量)などである。
Figure 0007276488000001
続いて、事前処理部22は、クラスタの数と各クラスタの中で密度が一定以上の領域の中心点(代表点)を記録する。図9は、クラスタ数と中心点との特定を説明する図である。図9に示すように、事前処理部22は、横軸を特徴量、縦軸を密度とするグラフを生成する。そして、事前処理部22は、既知である各クラスタについて、属するデータ(学習データ)のうち、密度が最も高い位置(中心点)の座標を特定して記憶部12に格納する。図9の例では、クラスタAとクラスタBを含むクラスタ数として2、クラスタAの中心点とクラスタBの中心点を含む2つの中心点が記憶される。
なお、中心点の座標には、データの特徴を示す情報を採用することができ、例えば学習モデル13から取得できる特徴量や、上記密度情報を採用することができる。また、特徴量には、例えばニューラルネットワークの最終層から取得できる情報、入力データそのものから取得できる情報、入力データの平均画素値などを採用することができる。また、劣化前の特徴量空間に分類されたデータの情報は、学習時に取得しておき、記憶部12等に保存しておくことで、上記処理に利用することができる。
劣化推定部23は、密度算出部24、クラスタリング部25、ラベル対応付け部26、劣化検出部27を有し、学習モデル13の精度劣化を検出する処理部である。例えば、劣化推定部23は、定期的、または、一定数の入力データの処理後のように、所定期間ごとに、学習モデル13の精度劣化を判定する。
密度算出部24は、学習モデル13の運用後の入力データに対する判定結果を用いて、各入力データの密度に対応する情報を算出する処理部である。例えば、密度算出部24は、運用が開始されると、モデル実行部21による判定処理を監視する。そして、密度算出部24は、モデル実行部21から、入力データが処理されるたびに、入力データの特徴量と判定結果とを対応付けて取得して記憶部12等に保持する。
その後、密度算出部24は、例えば劣化判定のタイミングになると、保持しておいた入力データの特徴量と式(1)を用いて、事前処理部22と同様の手法により各入力データの密度を算出する。そして、密度算出部24は、算出した密度と入力データとを対応付けて記憶部12に格納したり、算出した密度をクラスタリング部25に出力したりする。
クラスタリング部25は、事前処理部22により特定されたクラスタ数と中心点の数が一致する条件下で、入力データの密度に基づきクラスタとクラスタに属するデータとを抽出するクラスタリングを実行する処理部である。
図10は、運用後のクラスタリングを説明する図である。図10に示すように、クラスタリング部25は、モデル実行部21による判定結果に基づく入力データの特徴量や密度を用いて、横軸を特徴量、縦軸を密度とするグラフを生成する(S1)。続いて、クラスタリング部25は、密度に対する閾値を所定値ごとに下げていき、事前処理部22により特定されたクラスタ数(ここでは2)と同じ数になる最小の閾値を探索する(S2)。
このとき、クラスタリング部25は、閾値以上である入力データの特徴量に対してパーシステントホモロジ変換(PH変換)を実行して、0次元の連結成分を参照し、予め定めた閾値以上の半径を有するバー(bar)の数が事前に特定したクラスタ数と一致するか否かにより、クラスタ数の計算および特定を実行する(S3)。ここで、クラスタリング部25は、閾値を超えるバーの数が事前のクラスタ数と一致しない場合は、閾値を所定値下げて処理を繰り返す(S4)。
このように、クラスタリング部25は、密度の閾値を下げて密度が閾値以上の入力データを抽出する処理と、抽出された入力データに対するPH変換処理によりクラスタ数を計算する処理とを、事前のクラスタ数と一致するクラスタ数が検出されるまで繰り返す。そして、クラスタリング部25は、クラスタ数が一致すると、その時の閾値(密度)以上の密度を有する入力データから中心点C1とC2を特定する。その後、クラスタリング部25は、クラスタリングで得られる情報を記憶部12に格納したり、ラベル対応付け部26に出力したりする。
ここで、パーシステントホモロジ処理について説明する。ここで、「ホモロジ」とは、対象の特徴をm(m≧0)次元の穴の数によって表現する手法である。ここで言う「穴」とはホモロジ群の元のことであり、0次元の穴は連結成分であり、1次元の穴は穴(トンネル)であり、2次元の穴は空洞である。各次元の穴の数はベッチ数と呼ばれる。そして、「パーシステントホモロジ」とは、対象(ここでは、点の集合(Point Cloud))におけるm次元の穴の遷移を特徴付けるための手法であり、パーシステントホモロジによって点の配置に関する特徴を調べることができる。この手法においては、対象における各点が球状に徐々に膨らまされ、その過程において各穴が発生した時刻(発生時の球の半径で表される)と消滅した時刻(消滅時の球の半径で表される)とが特定される。
図11を用いて、パーシステントホモロジをより具体的に説明する。図11は、パーシステントホモロジを説明する図である。ルールとして、1つの球が接した場合には2つの球の中心が線分で結ばれ、3つの球が接した場合には3つの球の中心が線分で結ばれる。ここでは、連結成分及び穴だけを考える。図11(a)のケース(半径r=0)においては、連結成分のみが発生し、穴は発生していない。図11(b)のケース(半径r=r1)においては、穴が発生しており、連結成分の一部が消滅している。図11(c)のケース(半径r=r2)においては、さらに多くの穴が発生しており、連結成分は1つだけ持続している。図11(d)のケース(半径r=r3)においては、連結成分の数は1のままであり、穴が1つ消滅している。
パーシステントホモロジの計算過程において、ホモロジ群の元(すなわち穴)の発生半径と消滅半径とが計算される。穴の発生半径と消滅半径とを使用することで、バーコードデータを生成することができる。バーコードデータは穴次元毎に生成されるので、複数の穴次元のバーコードデータを統合することで1塊のバーコードデータが生成できる。連続データは、パーシステントホモロジにおける球の半径(すなわち時間)とベッチ数との関係を示すデータである。
なお、ここで、一般的なバーコードデータの生成について簡単に説明する。図12は、バーコードデータを説明する図である。図12のグラフは、図11における0次元の穴(連結成分)に基づくバーコードデータから生成されるグラフであり、横軸が半径を表す。
つまり、クラスタリング部25は、0次元のバーコードデータを元に、閾値よりも長いバーの数を計測することで、入力データのクラスタ数を特定することができる。例えば、クラスタリング部25は、閾値以上のバーが2つのときに、学習データと同じクラスタ数と判定したとする。このとき、クラスタリング部25は、各バーについて、属する入力データのうち最も密度が高いデータを特定することで、上記中心点C1とC2の各座標を特定することができる。
図5に戻り、ラベル対応付け部26は、クラスタリング部25によるクラスタリング結果に基づき、入力データに新たなラベルを対応付ける処理部である。具体的には、ラベル対応付け部26は、密度がクラスタリング部25により決定された閾値以上の入力データに対して、それぞれが属するクラスタに基づくラベル付けを行った後、閾値未満の入力データに対して、各クラスタに属する確率に基づくラベル付けを行う。
まず、ラベル対応付け部26は、クラスタリング部25により特定された各中心点(C1とC2)が属するクラスタを特定し、クラスタリング部25により抽出された閾値以上の入力データにラベルを対応付ける。
図13は、クラスタ割当てを説明する図である。図13に示すように、ラベル対応付け部26は、PH処理によりクラスタ数が2の状態で最小となった閾値以上の入力データと、2つの中心点(C1とC2)とをクラスタリング部25から取得する。続いて、ラベル対応付け部26は、2つの中心点(C1とC2)について、それまでの劣化判定タイミングで算出された中心点の履歴とのマッチング処理に基づき、2つの中心点それぞれが属するクラスタを決定する。
図14は、マッチング処理を説明する図である。図14に示すように、ラベル対応付け部26は、学習完了時から現在に至るまでに特定された各クラスタの中心点を特徴量空間にマッピングし、進行方向を推定して、現在抽出された2つの中心点(C1とC2)それぞれのクラスタを決定する。ここで、単に一番近い中心点のマッチングでは、中心点の変動を加味すると妥当でないことがある。図14の(a)ように中心点が変動していて、新しい2点を新たにマッチングする場合、近い点でマッチングすると図14の(b)のようになるが、これは変動の方向からは不自然な動きである。図14の(c)のように変動する方が自然である。
そこで、ラベル対応付け部26は、補正距離を導入する。例えば、進行方向に進む場合はより近い点と判断する仕組みを導入し、前回の点からの進行方向ベクトルと支点と目的点を結ぶベクトルの内積を計算することで、進行方向を特定する。例を挙げると、ラベル対応付け部26は、内積の値をcとして、(tanh(c)+1)/2を重みとして2点間の距離に乗算した値を補正距離として、最近傍点を選択する。
図13の例では、ラベル対応付け部26は、中心点C1にクラスタA(ラベル=クラスA)を対応付け、中心点C2にクラスタB(ラベル=クラスB)を対応付けたとする。この結果、ラベル対応付け部26は、密度が閾値以上、かつ、中心点C1と同じクラスタに属する各入力データにラベルとしてクラスAを設定する。同様に、ラベル対応付け部26は、密度が閾値以上、かつ、中心点C2と同じクラスタに属する各入力データにラベルとしてクラスBを設定する。なお、各入力データが属するクラスタの特定は、図13のようなグラフで特定することもでき、各中心点からの距離のうち最も短い距離の中心点と同じクラスタと特定することもできる。
次に、クラスタリング部25により抽出されなかった閾値未満の入力データそれぞれにラベルを対応付ける。図15は、運用後のクラスタリングの続きを説明する図である。ラベル対応付け部26は、抽出されなかった各入力データについて、各クラスタの中心C1との距離およびC2との距離をそれぞれ計測し、2番目に近い距離が各クラスタの中心間の距離の最大値より大きい場合は、一番近いクラスタに属するデータと決定する。
図15の例の場合、ラベル対応付け部26は、上記手法によりクラスタが決定された領域X(クラスタA)と領域Y(クラスタB)以外の領域のうち、領域Xよりも外側の領域Pの入力データについては、クラスタAと決定し、領域Yよりも外側の領域Qの入力データについては、クラスタBと決定する。
そして、ラベル対応付け部26は、2番目に近い距離が各クラスタの中心間の距離の最大値より小さい(複数のクラスタの中間にある)領域Zの入力データについては、近くにある複数のクラスタのデータが混在していると判定し、各入力データに関して各クラスタの確率を測定して付与する。具体的には、ラベル対応付け部26は、k近傍法、一様確率法、分布比率保持法などを用いて、領域Zに属する各入力データについて、各クラスタに属する確率を算出し、確率的なラベル(クラスAの確率、クラスBの確率、クラスCの確率)を生成して付与する。
例えば、ラベル対応付け部26は、領域Zに属する各入力データに対して、その入力データに近傍に位置するすでにラベル付けされた入力データをk個抽出し、その割合がクラスA=0.6、クラスB=0.4、クラスC=0であれば、その割合をラベルとして付与する。
また、ラベル対応付け部26は、領域Zに属する各入力データに対して、各クラスタにすべて同じ確率を付与する。例えば、ラベル対応付け部26は、2クラス分類の場合には、クラスA=0.5、クラスB=0.5をラベルとして付与し、3クラス分類の場合には、クラスA=0.3、クラスB=0.3、クラスC=0.3などをラベルとして付与する。
また、ラベル対応付け部26は、領域Zに属する各入力データに対して、運用時と学習時の各クラスタのデータ数の比率が同じと考え、ラベル未定のデータの比率を計算し、その比率をラベルとして付与する。例えば、ラベル対応付け部26は、学習データのクラスAとクラスBの割合が5:5で、ラベル設定済みであるクラスAのデータ数とクラスYのデータ数との割合が6:4のとき、再学習データ全体の割合が5:5になるように、領域Zの各入力データにラベルを設定する。
上述した手法により推定して、各入力データに付与するラベルの情報が図16である。図16は、入力データへのラベル付けを説明する図である。推定されたラベルは、各クラスタに属する確率(クラスAに属する確率,クラスBに属する確率,クラスCに属する確率)で付与される。図16に示すように、領域Xと領域Pの各入力データには、推定ラベル[1,0,0]が付与され、領域Yと領域Qの各入力データには、推定ラベル[0,1,0]が付与され、領域Zの各入力データには、推定ラベル[a,b,c]が付与される。なお、a,b,cは、k近傍法などの手法により算出される確率である。そして、ラベル対応付け部26は、各入力データと推定ラベルとの対応付けを記憶部12に格納したり、劣化検出部27に出力したりする。
図5に戻り、劣化検出部27は、学習モデル13の精度劣化を検出する処理部である。具体的には、劣化検出部27は、モデル実行部21により学習モデル13の判定結果と、ラベル対応付け部26により生成された推定結果(推定ラベル)との比較により、学習モデル13の精度劣化を検出する。
図17は、モデル精度の劣化判定を説明する図である。図17に示すように、劣化検出部27は、入力データが学習モデル13に入力された得られた出力結果(クラスA)に基づき、判定結果[1,0,0]を生成する。一方で、劣化検出部27は、入力データに対して上記推定処理により、領域Xまたは領域Pに属した場合の推定結果[1,0,0]、領域Yまたは領域Qに属した場合の推定結果[0,1,0]、または、領域Zに属した場合の推定結果[a,b,c]を取得する。
このようにして、劣化検出部27は、各入力データについて、判定結果と推定結果とを取得し、これらの比較により劣化判定を実行する。例えば、劣化検出部27は、各推定結果で示される各入力データ(各点)の確率ベクトルに対し、学習モデル13による判定結果のベクトル表示の成分積の和(内積)をその点のスコアとし、そのスコアの合計をデータ数で割った値と閾値との比較により、劣化判定を実行する。
図18は、モデル精度の判定の詳細を説明する図である。図18に示すように、各入力データに対して、学習モデルの判定結果と推定結果とを取得する。例えば、入力データ1は、学習モデル13によりクラスAと判定されたことから判定結果は[1,0,0]であり、ラベル対応付け部26によりクラスタAに属すると推定されたことから推定結果は[1,0,0]である。同様に、入力データ2は、学習モデル13によりクラスBと判定されたことから判定結果は[0,1,0]であり、ラベル対応付け部26により領域Zに属すると推定されて算出された確率に基づき推定結果は[0.5,0.5,0]である。
そして、劣化検出部27は、各入力データの学習モデル13の判定結果の行列と、各入力データの推定結果の行列とを生成し、要素積の和を算出し、要素積の和をデータ数で除算することで、推定の精度(スコア)を算出する。そして、劣化検出部27は、推定の精度が閾値未満である場合に、学習モデル13の精度が劣化状態であると検出する。
図5に戻り、再学習部28は、劣化検出部27により精度劣化が検出された場合に、学習モデル13の再学習を実行する処理部である。例えば、再学習部28は、劣化検出部27により推定された推定結果を正解情報とする再学習データを生成する。そして、再学習部28は、再学習データを用いて学習モデル13を再学習し、再学習後の学習モデル13を記憶部12に格納する。
図19は、再学習を説明する図である。図19に示すように、再学習部28は、各入力データに対する推定結果を取得し、入力データを説明変数、推定結果を目的変数とする再学習データを生成する。例えば、再学習部28は、[説明変数、目的変数]として[入力データ1、(1,0,0)]や[入力データ2、(0.5,0.5,0)]などを生成する。そして、再学習部28は、再学習データを学習モデル13に入力して、学習モデル13の出力結果と目的変数との差分に基づき、誤差逆伝搬法などを用いて、学習モデル13の再学習を実行する。なお、再学習の手法は、誤差逆伝搬法などを採用することができる。また、再学習を終了するタイミングは、すべての再学習データによる学習が完了した場合や復元誤差が閾値未満となった場合など任意に設定することができる。
[処理の流れ]
図20は、処理の流れを示すフローチャートである。図20に示すように、学習モデル13の学習が完了すると(S101:Yes)、事前処理部22は、各学習データの密度を算出する(S102)。
続いて、事前処理部22は、クラスタリングを実行し(S103)、クラスタ数と各クラスタの中心点とを記録する(S104)。なお、このタイミングでは、学習が完了しており、既知のクラスが正確に分類できている状態であることから、クラスタ数も既知であるので、クラスタリングを省略することもできる。
その後、モデル実行部21は、入力データDB14から入力データを読み込み(S105)、学習モデル13に入力して判定結果を取得する(S106)。ここで、所定回数の判定が終了していない場合(S107:No)、劣化判定タイミングではないと判定され、S105以降が繰り返される。
一方、所定回数の判定が終了している場合(S107:Yes)、劣化推定部23は、劣化判定タイミングであると判定し、学習モデル13に入力された各入力データに対して密度を算出する(S108)。続いて、劣化推定部23は、クラスタリングを実行してクラスタ数の計算と各クラスタに属するデータ抽出を実行する(S109)。
そして、劣化推定部23は、各入力データの推定結果を算出し(S110)、学習モデル13による判定結果と、劣化推定部23による推定結果とを用いて、劣化判定のスコアを算出する(S111)。
ここで、劣化推定部23は、スコアが閾値以上の場合(S112:No)、精度劣化が進んでいないと判定し、S105以降を繰り返す。
一方、スコアが閾値未満の場合(S112:Yes)、再学習部28は、精度劣化が進んでいると判定し、推定結果を正解情報とする再学習データを生成し(S113)、再学習データを用いて学習モデル13の再学習を実行する(S114)。その後は、再学習済みの学習モデル13に対してS101以降が実行される。
[効果]
上述したように、性能推定装置10は、学習モデル13の精度劣化を自動で検出できるととともに、判定に使用された入力データセットを用いて新たな学習データを自動で生成することができる。したがって、性能推定装置10は、学習モデル13の精度劣化が発生したタイミングで、学習モデル13の再学習を実行することができ、学習モデルの精度劣化を抑制することができる。また、性能推定装置10は、再学習用のデータを自動で生成することができるので、再学習にかかる処理負荷を軽減できるとともに、再学習にかかる時間を短縮することができる。つまり、性能推定装置10は、リアルタイムの精度監視、精度の自動修復、再学習の省力化を実現することができる。
図21は、実施例1による効果を説明する図である。図21では、入力データセットとして、MNIST(Mixed National Institute of Standards and Technology database)を用いたときの学習モデル13の性能変化(モデル性能)と、性能推定装置10による推定性能の変化とを図示している。なお、縦軸は精度であり、横軸は時間経過すなわち入力データが時間変化により回転することから回転角度である。図21に示すように、性能推定装置10による推定性能の変化は、モデル性能と同様の変化を示している。したがって、実施例1で説明した性能推定装置10により、学習モデル13の精度をリアルタイムに監視することができることがわかる。
ところで、実施例1では、一定数の判定処理が実行されたタイミングで推定結果を生成して精度劣化を判定し、精度劣化が検出された場合に、推定結果に基づく再学習データを生成して、学習モデル13の再学習を実行する例を説明したが、再学習を行うタイミングはこれに限定されるものではない。例えば、推定結果を用いて、学習モデル13を逐次的に修正することで、学習モデル13の適用範囲を広げることができ、精度劣化の発生を抑制することができる。
図22は、実施例2の再学習を説明する図である。図22に示すように、実施例1にかかる性能推定装置10は、一定数の判定結果が蓄積されると、判定に利用された各入力データから推定結果を生成し、推定結果を用いて劣化判定が実行される。その後、実施例1にかかる性能推定装置10は、精度劣化を検出すると、推定結果を正解情報とする再学習データを生成して、学習モデル13の逐次修正を実行する。
これに対して、実施例2にかかる性能推定装置10は、一定数の判定結果が蓄積されると、実施例1と同様、データ密度の算出、中央点の特定、クラスタリング、中央点のマッチング等を実行して、処理された順に入力データの推定結果を生成する。その後、性能推定装置10は、実施例1とは異なり、推定結果を蓄積した上で精度劣化の検出を実行することなく、推定結果が生成されるたびに、推定結果を正解情報とする再学習データにより学習モデル13を学習する。つまり、精度劣化を待たずに、学習モデル13の逐次修正が実行される。
このようにすることで、学習モデル13の適用範囲を精度劣化の発生前に広げることができ、精度劣化の発生を抑制することができる。図23は、実施例2の効果を説明する図である。図22では、入力データセットとして、MNISTを用いたときの学習モデル13の性能変化(モデル性能)と、実施例2による逐次修正である適応進化学習を行ったときの学習モデル13の性能変化とを図示している。なお、縦軸は精度であり、横軸は時間経過(回転角度)である。
図22に示すように、適応進化学習を行わない場合、学習モデル13の精度は時間経過とともに劣化していく。一方で、適応進化学習を行った場合、時間経過とともに劣化する速度を抑制することができる。したがって、実施例1による手法に比べて、判定精度が許容できる範囲(許容性能)以上となる期間を長期的に維持することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
[再学習データ]
実施例1では、各入力データに対して推定結果を正解情報として設定する例を説明したが、これに限定されるものではない。具体的には、推定結果の確率が一定以下のデータに対して手動でラベルづけを行うことで、すべてをラベル付けする場合に比べて、ラベル付けの工数を削減することができる。
例えば、図18の例では、推定結果であるクラスA、クラスB、クラスCの確率のうち、閾値(例えば0.3)以下の確率を有する入力データや、最大の確率と最小の確率の差が閾値以下の入力データについては、推定結果を使用せずに、手動によりラベル付けを行う。このようにすることで、再学習データから信頼性の低いデータを除くことができ、再学習精度の向上を図ることができる。
また、実施例1で算出した推定の精度(スコア)により再学習データを選択することもできる。例えば、性能推定装置10は、推定の精度(スコア)が、精度劣化を検出する第1の閾値未満かつ第2の閾値以上である場合、すべての推定結果を用いて再学習データを生成する。また、性能推定装置10は、推定の精度(スコア)が第2の閾値未満である場合、推定結果からランダムに半分を選択して再学習データを生成するとともに、手動でラベル付けを行った再学習データを生成する。
[学習と再学習]
例えば、学習時のデータが少ない時、学習しても十分な精度が得られないことがある。この状態で運用を開始した場合、取得した入力データを上記の手法によりラベル付けし、はじめからある学習データと新たに生成した学習データとの両方を用いて、学習モデル13を学習することもできる。この結果、運用開始当初は性能が低い学習モデル13を高性能な学習モデルへと自動で向上させることができる。
[クラスタ数の計算]
上記実施例では、PH変換を用いて、クラスタ数を計算する例を説明したが、これに限定されるものではない。例えば、「DTM-based filtration」などのパーシステントダイアグラムを用いることができる。図24は、DTMを用いたクラスタ数の計算を説明する図である。図24は、横軸を発生時刻(Birth)、縦軸を消滅時刻(Death)とするダイアグラムである。図24に示すように、予め定めた閾値(対角線)からの距離が閾値以上の点の数により、クラスタ数を計算することができる。
[特徴量の利用]
上記実施例では、入力データの特徴量を用いる例を説明したが、これに限定されるものではなく、入力データの特徴を示す情報であればよく、機械学習などで利用される様々な特徴量を採用することもできる。また、特徴量空間は、入力データから得られる特徴量を座標とする空間の一例であり、実施例1で2次元の空間を例示したが、これに限定されるものではなく、機械学習や深層学習で利用される各種特徴量空間を用いることができる。例えば、モデル適用領域(Applicability Domain)を表す特徴量空間を用いることができる。
[密度の計算]
実施例1では、ガウス密度を用いる例を説明したが、これに限定されるものではなく、eccentricityやKNN距離(K-Nearest Neighbor algorithm)など、公知の様々な手法を用いることができる。なお、ガウス密度などは、値が大きいほど密度が高いが、KNN距離は、値(距離)が小さいほど密度が高くなるので、代表点の特定も密度が最も小さい点が選択される。
[数値等]
また、上記実施例で用いた数値、各閾値、特徴量空間、クラスタの数、ラベルの数等は、あくまで一例であり、任意に変更することができる。また、入力データや学習方法などもあくまで一例であり、任意に変更することができる。また、学習モデルには、ニューラルネットワークなど様々な手法を採用することができる。
[システム]
上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散や統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[ハードウェア]
図25は、ハードウェア構成例を説明する図である。図25に示すように、性能推定装置10は、通信装置10a、HDD(Hard Disk Drive)10b、メモリ10c、プロセッサ10dを有する。また、図25に示した各部は、バス等で相互に接続される。
通信装置10aは、ネットワークインタフェースカードなどであり、他の装置との通信を行う。HDD10bは、図5に示した機能を動作させるプログラムやDBを記憶する。
プロセッサ10dは、図5に示した各処理部と同様の処理を実行するプログラムをHDD10b等から読み出してメモリ10cに展開することで、図5等で説明した各機能を実行するプロセスを動作させる。例えば、このプロセスは、性能推定装置10が有する各処理部と同様の機能を実行する。具体的には、プロセッサ10dは、モデル実行部21、事前処理部22、劣化推定部23、再学習部28等と同様の機能を有するプログラムをHDD10b等から読み出す。そして、プロセッサ10dは、モデル実行部21、事前処理部22、劣化推定部23、再学習部28等と同様の処理を実行するプロセスを実行する。
このように、性能推定装置10は、プログラムを読み出して実行することで性能推定方法を実行する情報処理装置として動作する。また、性能推定装置10は、媒体読取装置によって記録媒体から上記プログラムを読み出し、読み出された上記プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、性能推定装置10によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
10 性能推定装置
11 通信部
12 記憶部
13 学習モデル
14 入力データDB
15 判定結果DB
16 推定履歴DB
17 再学習データDB
20 制御部
21 モデル実行部
22 事前処理部
23 劣化推定部
24 密度算出部
25 クラスタリング部
26 ラベル対応付け部
27 劣化検出部
28 再学習部

Claims (13)

  1. コンピュータに、
    入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定し、
    入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定し、
    前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得し、
    前記複数の入力データに対して前記学習モデルを用いて判定される前記ラベルの判定精度を、前記推定結果に基づいて推定する
    処理を実行させることを特徴とする推定プログラム。
  2. 前記特定する処理は、前記学習データセットについての前記特徴量空間における各学習データの密度を算出し、前記各ラベルに対応する各クラスタについて、属する各学習データの密度が最も高い各学習データを、前記各クラスタの前記代表点と特定することを特徴とする請求項1に記載の推定プログラム。
  3. 前記入力データセットの前記特徴量空間における前記複数の入力データの密度を算出し、
    閾値以上の密度に対応する1以上の入力データを抽出し、抽出した前記1以上の入力データに対してパーシステントホモロジ変換処理を実行して得られる所定値以上の0次元の連結情報の数に基づいて、前記クラスタの数を計算し、
    前記クラスタの数が前記学習データセットから特定された前記代表点の数と一致するまで、前記閾値を変更しつつ前記クラスタの数を計算して、前記入力データセットに含まれる複数の入力データに対する前記各クラスタを特定し、
    前記入力データセットに含まれる複数の入力データに対して、特定された前記各クラスタに対応するラベルを付与する処理を前記コンピュータにさらに実行させることを特徴とする請求項2に記載の推定プログラム。
  4. 前記設定する処理は、前記代表点と一致する前記クラスタの数が特定されたときの前記所定値以上である複数の前記0次元の連結情報それぞれを構成する入力データの集合である各該当入力データ群について、最も高い密度を有する入力データを前記代表点に特定し、特定した各代表点と前記学習データセットから特定された各代表点との対応関係に基づき、前記各該当入力データ群にクラスタを対応付け、
    前記付与する処理は、前記各該当入力データ群に対して、対応付けられた前記各クラスタに対応するラベルを付与することを特徴とする請求項3に記載の推定プログラム。
  5. 前記設定する処理は、前記該当入力データ群に属さない他の入力データについて、前記密度に基づく前記代表点との距離を算出し、2番目に近い距離が各クラスタの代表点間の距離の最大値よりも大きい場合は、1番目に距離が近いクラスタを対応付け、
    前記付与する処理は、前記他の入力データに対して、対応付けられた前記クラスタに対応するラベルを付与することを特徴とする請求項4に記載の推定プログラム。
  6. 前記設定する処理は、前記他の入力データについて、前記2番目に近い距離が各クラスタの代表点間の距離の最大値よりも小さい場合は、所定条件に基づく確率手法により各クラスタに属する確率を算出し、
    前記付与する処理は、前記他の入力データに対して、各クラスタに属する確率をラベルとして付与することを特徴とする請求項5に記載の推定プログラム。
  7. 前記取得する処理は、前記複数の入力データと前記複数の入力データ対してクラスタリングにより設定された前記ラベルとの組み合わせを前記推定結果として取得し、
    前記推定する処理は、前記複数の入力データに対する判定結果に基づく行列と、前記複数の入力データに対する推定結果に基づく行列との要素積を算出し、前記要素積を前記入力データの数で除算した値が閾値未満の場合に、前記学習モデルの精度劣化を検出することを特徴とする請求項6に記載の推定プログラム。
  8. 前記学習モデルの精度劣化が検出された場合に、前記入力データと前記推定結果との組み合わせたデータを再学習データ、または、前記学習に用いられた前記学習データと前記組み合わせたデータとの両方を前記再学習データに用いて、前記学習モデルの再学習を実行する処理を前記コンピュータにさらに実行させることを特徴とする請求項7に記載の推定プログラム。
  9. コンピュータが、
    入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定し、
    入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定し、
    前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得し、
    前記複数の入力データに対して前記学習モデルを用いて判定される前記ラベルの判定精度を、前記推定結果に基づいて推定する
    処理を実行することを特徴とする推定方法。
  10. 入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定する特定部と、
    入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定する設定部と、
    前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得する取得部と、
    前記複数の入力データに対して前記学習モデルを用いて判定される前記ラベルの判定精度を、前記推定結果に基づいて推定する推定部と
    を有することを特徴とする情報処理装置。
  11. コンピュータに、
    入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定し、
    入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定し、
    前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得し、
    取得した前記推定結果と前記複数の入力データに基づいて生成される第2の学習データセットを用いて、前記学習モデルを再学習する
    処理を実行させることを特徴とする再学習プログラム。
  12. コンピュータが、
    入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定し、
    入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定し、
    前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得し、
    取得した前記推定結果と前記複数の入力データに基づいて生成される第2の学習データセットを用いて、前記学習モデルを再学習する
    処理を実行することを特徴とする再学習方法。
  13. 入力データに応じたラベルの推定を行う学習モデルの学習に用いた複数の学習データを含む学習データセットについての特徴量空間におけるクラスタリングによって生成された、推定対象の各ラベルに対応する各クラスタの代表点を特定する特定部と、
    入力データセットに含まれる複数の入力データについての特徴量空間におけるクラスタリングの結果である各クラスタの境界を、クラスタの数と前記代表点の数が一致する条件下で設定する設定部と、
    前記境界に基づいて決定される前記入力データセットのクラスタと、前記学習データセットのクラスタと、の対応関係に基づいて、前記複数の入力データに対する前記ラベルの推定結果を取得する取得部と、
    取得した前記推定結果と前記複数の入力データに基づいて生成される第2の学習データセットを用いて、前記学習モデルを再学習する再学習部と
    を有することを特徴とする情報処理装置。
JP2021553212A 2019-10-23 2019-10-23 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法 Active JP7276488B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/041581 WO2021079442A1 (ja) 2019-10-23 2019-10-23 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法

Publications (2)

Publication Number Publication Date
JPWO2021079442A1 JPWO2021079442A1 (ja) 2021-04-29
JP7276488B2 true JP7276488B2 (ja) 2023-05-18

Family

ID=75619695

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021553212A Active JP7276488B2 (ja) 2019-10-23 2019-10-23 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法

Country Status (4)

Country Link
US (1) US20220237407A1 (ja)
EP (1) EP4050527A4 (ja)
JP (1) JP7276488B2 (ja)
WO (1) WO2021079442A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7419035B2 (ja) * 2019-11-22 2024-01-22 キヤノン株式会社 学習モデル管理システム、学習モデル管理方法、およびプログラム
CN111178435B (zh) * 2019-12-30 2022-03-22 山东英信计算机技术有限公司 一种分类模型训练方法、系统、电子设备及存储介质
WO2023053216A1 (ja) 2021-09-28 2023-04-06 富士通株式会社 機械学習プログラム、機械学習方法および機械学習装置
US11594015B1 (en) * 2022-07-26 2023-02-28 Finite Carbon Corporation Detecting changes in forest composition

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101768438B1 (ko) * 2013-10-30 2017-08-16 삼성에스디에스 주식회사 데이터 분류 장치 및 방법과 이를 이용한 데이터 수집 시스템

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KIM, Youngin ほか,An Efficient Concept Drift Detection Method for Streaming Data under Limited Labeling,[オンライン],IEICE,2017年10月,https://www.semanticscholar.org/paper/An-Efficient-Concept-Drift-Detection-Method-for-Kim-Park/f1529d882477b8310311bec06de6b9abec982327,DOI: 10.1587/transinf.2017EDP7091
坂本悠輔 ほか,適応型モニタリングシステムにおけるコンセプトドリフト検出に向けた初期実験,第102回 知識ベースシステム研究会資料 (SIG-KBS-B401),一般社団法人人工知能学会,2014年07月24日,pp.26-33

Also Published As

Publication number Publication date
EP4050527A4 (en) 2022-11-23
JPWO2021079442A1 (ja) 2021-04-29
US20220237407A1 (en) 2022-07-28
EP4050527A1 (en) 2022-08-31
WO2021079442A1 (ja) 2021-04-29

Similar Documents

Publication Publication Date Title
JP7276488B2 (ja) 推定プログラム、推定方法、情報処理装置、再学習プログラムおよび再学習方法
US8923608B2 (en) Pre-screening training data for classifiers
JP7268756B2 (ja) 劣化抑制プログラム、劣化抑制方法および情報処理装置
US7716152B2 (en) Use of sequential nearest neighbor clustering for instance selection in machine condition monitoring
US20070065003A1 (en) Real-time recognition of mixed source text
US11574147B2 (en) Machine learning method, machine learning apparatus, and computer-readable recording medium
US11132790B2 (en) Wafer map identification method and computer-readable recording medium
JP2018195231A (ja) 学習モデル作成装置、該方法および該プログラム
CN116186611A (zh) 一种不平衡数据的分类方法、装置、终端设备及介质
CN116668083A (zh) 一种网络流量异常检测方法及系统
CN117155706B (zh) 网络异常行为检测方法及其系统
CN113723555A (zh) 异常数据的检测方法及装置、存储介质、终端
CN110348005B (zh) 配网设备状态数据处理方法、装置、计算机设备及介质
CN110705631B (zh) 一种基于svm的散货船舶设备状态检测方法
KR102646430B1 (ko) 분류기를 학습시키는 방법 및 이를 이용한 예측 분류 장치
CN114528906A (zh) 一种旋转机械的故障诊断方法、装置、设备和介质
KR20210158740A (ko) 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법
JP7172067B2 (ja) 学習プログラム、学習方法および学習装置
US20240143981A1 (en) Computer-readable recording medium storing machine learning program, and information processing apparatus
JP7335379B1 (ja) 学習装置、学習方法、およびプログラム
WO2021235061A1 (ja) 画像分類装置、画像分類方法、及び、画像分類プログラム
WO2023053216A1 (ja) 機械学習プログラム、機械学習方法および機械学習装置
Vázquez et al. Learning and forgetting with local Information of new objects
Chong et al. Outliers Removed via spectral clustering for robust model fitting
WO2023013024A1 (ja) 評価プログラム、評価方法及び精度評価装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220309

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: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230417

R150 Certificate of patent or registration of utility model

Ref document number: 7276488

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150