(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-17
(45)【発行日】2023-10-25
(54)【発明の名称】学習処理プログラム、情報処理装置及び学習処理方法
(51)【国際特許分類】
G06N 20/00 20190101AFI20231018BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022504775
(86)(22)【出願日】2020-03-02
(86)【国際出願番号】 JP2020008681
(87)【国際公開番号】W WO2021176514
(87)【国際公開日】2021-09-10
【審査請求日】2022-04-28
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100094525
【氏名又は名称】土井 健二
(74)【代理人】
【識別番号】100094514
【氏名又は名称】林 恒徳
(72)【発明者】
【氏名】小林 健
(72)【発明者】
【氏名】梅田 裕平
【審査官】佐藤 実
(56)【参考文献】
【文献】Tiago Pimentel et al.,A Generalized Active Learning Approach for Unsupervised Anomaly Detection,arxiv.org,2018年05月23日,https://arxiv.org/abs/1805.09411v1
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
第1学習データを用いた学習により生成された判定モデルを用いて、
第2学習データのそれぞれについての前記
第2学習データにおける特徴量の外れ度を算出し、
前記外れ度に基づいて、前記
第2学習データに含まれる1以上のデータ
を選択して出力し、
前記1以上のデータ
に対する異常度に関する判定結果の入力を受け付け、
前記判定結果に基づいて、前記第1学習データに含まれるデータそれぞれの特徴量ベクトルと前記第2学習データに含まれるデータそれぞれの特徴量ベクトルとの間の距離を調整するように、前記
第2学習データに含まれるデータのそれぞれの特徴量を調整する調整基準を決定する、
処理をコンピュータに実行させ、
前記判定モデルによる判定対象のデータの判定が行われる際に、判定対象のデータの特徴量は、前記調整基準に基づいて調整される、
処理をコンピュータに実行させることを特徴とする学習処理プログラム。
【請求項2】
請求項1において、
前記外れ度を算出する処理では、前記
第2学習データ
ごとに、特徴空間における
他の前記
第2学習データ
の特徴量ベクトルに対する各
学習データの特徴量ベクトルの乖離状態を示す値を前記外れ度として算出する、
ことを特徴とする学習処理プログラム。
【請求項3】
請求項1において、
前記1以上のデータを出力する処理では、前記
第2学習データ
から、前記外れ度が高い順に1以上の
前記第2学習データを選択して出力する、
ことを特徴とする学習処理プログラム。
【請求項4】
請求項1において、
前記判定結果の入力を受け付ける処理では、前記1以上のデータのそれぞれが、異常状態にあるデータであって優先度が高い第1データと、異常状態にあるデータであって優先度が低い第2データと、正常状態にある第3データとを含む複数のデータのうちのいずれであるかを示す判定結果の入力を受け付ける、
ことを特徴とする学習処理プログラム。
【請求項5】
請求項4において、
前記調整基準を決定する処理では、前記1以上のデータのうちの前記第1データに対応する前記外れ度が小さくなるように、前記
第2学習データ
に含まれるデータのそれぞれの特徴量を調整する調整基準を決定する、
ことを特徴とする学習処理プログラム。
【請求項6】
請求項4において、
前記調整基準を決定する処理では、
前記判定結果を用いることによって、前記1以上のデータについての距離学習を行い、
前記1以上のデータのそれぞれの特徴量が前記距離学習の学習結果に従うように、前記調整基準の決定を行う、
ことを特徴とする学習処理プログラム。
【請求項7】
請求項6において、
前記調整基準を決定する処理では、前記第1及び第2データのそれぞれと前記第3データとの距離が大きく、かつ、前記第1データと前記第3データとの距離が前記第2データと前記第3データとの距離よりも大きく、かつ、異なる前記第3データの間の距離が小さくなるように、前記1以上のデータについての前記距離学習を行う、
ことを特徴とする学習処理プログラム。
【請求項8】
請求項6において、
前記調整基準を決定する処理では、特徴空間における前記第1データ及び前記第2データのそれぞれに対応する特徴量ベクトルの座標変換に用いる行列を前記調整基準として決定する、
ことを特徴とする学習処理プログラム。
【請求項9】
請求項4において、
前記外れ度を算出する処理と、前記1以上のデータを出力する処理と、前記判定結果の入力を受け付ける処理と、前記調整基準を決定する処理とを、前記1以上のデータに含まれる前記第1データの数または割合が閾値以上になるまで行う、
ことを特徴とする学習処理プログラム。
【請求項10】
請求項1において、さらに、
前記判定対象のデータの入力を受け付け、
前記調整基準を用いることによって前記判定対象のデータに対応する特徴量を調整し、
調整した前記特徴量の前記判定モデルに対する入力に応じて前記判定モデルから出力された値に基づいて、前記判定対象のデータについての判定を行い、
前記判定対象のデータについての判定結果を出力する、
処理をコンピュータに実行させることを特徴とする学習処理プログラム。
【請求項11】
第1学習データを用いた学習により生成された判定モデルを用いて、
第2学習データのそれぞれについての前記
第2学習データにおける特徴量の外れ度を算出する外れ度算出部と、
前記外れ度に基づいて、前記
第2学習データに含まれる1以上のデータ
を選択して出力する情報出力部と、
前記1以上のデータ
に対する異常度に関する判定結果の入力を受け付ける入力受付部と、
前記判定結果に基づいて、前記第1学習データに含まれるデータそれぞれの特徴量ベクトルと前記第2学習データに含まれるデータそれぞれの特徴量ベクトルとの間の距離を調整するように、前記
第2学習データに含まれるデータのそれぞれの特徴量を調整する調整基準を決定する特徴量調整部と、を有し、
前記判定モデルによる判定対象のデータの判定が行われる際に、判定対象のデータの特徴量は、前記調整基準に基づいて調整される、
ことを特徴とする情報処理装置
。
【請求項12】
第1学習データを用いた学習により生成された判定モデルを用いて、
第2学習データのそれぞれについての前記
第2学習データにおける特徴量の外れ度を算出し、
前記外れ度に基づいて、前記
第2学習データに含まれる1以上のデータ
を選択して出力し、
前記1以上のデータ
に対する異常度に関する判定結果の入力を受け付け、
前記判定結果に基づいて、前記第1学習データに含まれるデータそれぞれの特徴量ベクトルと前記第2学習データに含まれるデータそれぞれの特徴量ベクトルとの間の距離を調整するように、前記
第2学習データに含まれるデータのそれぞれの特徴量を調整する調整基準を決定する、
処理をコンピュータ
が実行
し、
前記判定モデルによる判定対象のデータの判定が行われる際に、判定対象のデータの特徴量は、前記調整基準に基づいて調整される、
ことを特徴とする学習処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習処理プログラム、情報処理装置及び学習処理方法に関する。
【背景技術】
【0002】
近年、機械学習によって生成された判定モデルを用いた異常検知(以下、単に異常検知とも呼ぶ)が行われている。このような異常検知は、例えば、自動車のセンサデータに基づく悪路検出や、工場における製品の外観検査等の分野において用いられている。
【0003】
具体的に、上記のような判定モデルでは、例えば、異常判定の対象となるデータ(以下、判定対象データとも呼ぶ)のそれぞれの特徴量ベクトルを特徴空間に分布し、判定対象データのうち、正常状態のデータに対応する特徴量ベクトルからの距離の大きいデータを特定する。そして、異常検知では、特定した判定対象データのそれぞれを異常状態にあるデータとして検出してユーザに提示する(例えば、非特許文献1参照)。
【先行技術文献】
【非特許文献】
【0004】
【文献】https://en.wikipedia.org/wiki/Unsupervised_learning
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、上記のような判定モデルの生成が行われる場合、ユーザは、手作業による学習データのラベル付けを行う場合がある。そのため、ラベル付けを行う必要がある学習データの数によっては、ラベル付けに伴うユーザによる作業工数が膨大になる場合がある。
【0006】
また、上記のような判定モデルは、例えば、特徴空間における特徴量ベクトルの距離を用いることによって各データの状態を判定する。そのため、上記のような判定モデルでは、ユーザが暗黙に所望する異常状態のデータ等を必ずしも検出することができない可能性がある。
【0007】
そこで、ユーザは、判定モデルの学習段階において、例えば、学習データにフィードバックを与える能動学習を行う。具体的に、ユーザは、例えば、異常状態にあるデータとして判定モデルから出力されたデータの一部について、異常状態にあるデータであるか否かのラベル付けを行い、さらに、ラベル付けされたデータを用いることによる教師あり学習を行う。
【0008】
これにより、ユーザは、例えば、ラベル付けの過程においてユーザが暗黙に所望していた異常状態の存在に気が付くことが可能になり、ユーザが暗黙に所望していた異常状態のデータについても検出可能な判定モデルを生成することが可能になる。また、ユーザは、ラベル付けに伴う作業工数を抑制することが可能になる。
【0009】
しかしながら、上記のような能動学習を行う場合、ユーザは、検知する必要があるデータの異常状態を予め網羅的に把握している必要がある。そのため、例えば、ユーザがデータの異常状態について十分に把握していない場合、上記のような能動学習を行うことができない。
【0010】
さらに、例えば、学習段階における作成者の設計等が適切でなかった等の理由によって判定モデルの再生成が必要となった場合、ラベル付けを含む作業を再度行う必要が生じ、ユーザによる作業工数がより膨大になる場合がある。
【0011】
そこで、一つの側面では、本発明は、判定モデルの改善を容易に行うことを可能とする学習処理プログラム、情報処理装置及び学習処理方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
実施の形態の一態様では、ラベルが付与されていない学習データセットを用いた学習により生成された判定モデルを用いて、前記学習データセットに含まれるデータのそれぞれについての前記学習データセットにおける特徴量の外れ度を算出し、前記外れ度に基づいて、前記学習データセットに含まれる1以上のデータまたは前記1以上のデータに関連する関連データを選択して出力し、前記1以上のデータに対するユーザによる判定結果の入力を受け付け、受け付けた前記判定結果に基づいて、前記学習データセットに含まれるデータのそれぞれの特徴量を調整する調整基準を決定する、処理をコンピュータに実行させ、前記判定モデルによる判定対象のデータの判定が行われる際に、判定対象のデータの特徴量は、前記調整基準に基づいて調整される。
【発明の効果】
【0013】
一つの側面によれば、判定モデルの改善を容易に行うことを可能とする。
【図面の簡単な説明】
【0014】
【
図1】
図1は、情報処理システム10の構成について説明する図である。
【
図2】
図2は、判定モデルの学習段階における処理の具体例について説明する図である。
【
図3】
図3は、判定モデルによる異常検知の具体例について説明する図である。
【
図4】
図4は、判定モデルによる異常検知の具体例について説明する図である。
【
図5】
図5は、判定モデルの学習段階における処理の具体例について説明する図である。
【
図6】
図6は、情報処理装置1のハードウエア構成を説明する図である。
【
図7】
図7は、情報処理装置1の機能のブロック図である。
【
図8】
図8は、第1の実施の形態における学習処理の概略を説明するフローチャート図である。
【
図9】
図9は、第1の実施の形態における推論処理の概略を説明するフローチャート図である。
【
図10】
図10は、第1の実施の形態における学習処理の概略を説明する図である。
【
図11】
図11は、調整器による特徴量ベクトルの座標変換の具体例について説明する図である。
【
図12】
図12は、調整器による特徴量ベクトルの座標変換の具体例について説明する図である。
【
図13】
図13は、調整器による特徴量ベクトルの座標変換の具体例について説明する図である。
【
図14】
図14は、第1の実施の形態における学習処理の詳細を説明するフローチャート図である。
【
図15】
図15は、第1の実施の形態における学習処理の詳細を説明するフローチャート図である。
【
図16】
図16は、第1の実施の形態における学習処理の詳細を説明するフローチャート図である。
【
図17】
図17は、第1の実施の形態における推論処理の詳細を説明するフローチャート図である。
【
図18】
図18は、第1の実施の形態における学習処理の詳細を説明する図である。
【
図19】
図19は、第1の実施の形態における学習処理の詳細を説明する図である。
【
図20】
図20は、第1の実施の形態における学習処理の詳細を説明する図である。
【発明を実施するための形態】
【0015】
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。
図1は、情報処理システム10の構成について説明する図である。
【0016】
情報処理システム10は、
図1に示すように、情報処理装置1と、ユーザが情報の入力等を行うユーザ端末2とを有する。ユーザ端末2は、例えば、ユーザが使用するPC(Personal Computer)であり、情報処理装置1のインターネット網等のネットワークNWを介して接続している。
【0017】
具体的に、ユーザ端末2は、例えば、異常検知を行うための判定モデル(図示しない)を生成するために用いられる学習データ131の入力を受け付ける。そして、ユーザ端末2は、学習データ131の入力を受け付けた場合、その学習データ131を情報処理装置1に送信する。
【0018】
なお、学習データ131のそれぞれは、例えば、自動車に搭載されたカメラによって撮像された動画データに含まれる画像データのそれぞれであってよい。また、学習データ131のそれぞれは、例えば、自動車に搭載されたカメラによって撮像された動画データの変化を示す時系列データ(所定のウインドウサイズごとに切り出された動画データに対応する時系列データ)のそれぞれであってよい。
【0019】
情報処理装置1は、ユーザ端末2から送信された学習データ131を受け付けた場合、例えば、受け付けた学習データ131を情報格納領域130に記憶する。そして、情報処理装置1は、学習段階において、情報格納領域130に記憶した学習データ131の学習を行うことにより、データの異常検知を行うための判定モデルの生成を行う。
【0020】
その後、例えば、推論段階において、ユーザ端末2を介して判定対象データ(異常状態にあるか否かが未知であるデータ)が入力された場合、情報処理装置1は、その判定対象データを判定モデルに入力する。そして、情報処理装置1は、判定対象データの入力に伴って判定モデルから出力された値を、判定対象データが異常状態にあるデータであるか否かを示す情報として出力する。
【0021】
[判定モデルの学習段階における処理の具体例]
次に、判定モデルの学習段階における処理の具体例について説明を行う。
図2は、判定モデルの学習段階における処理の具体例について説明する図である。
【0022】
ユーザは、上記のような判定モデルの生成を行う場合、
図2に示すように、学習データ131の収集を行った後(S101)、手作業による学習データ131のラベル付けを行う(S102)。そして、ユーザは、学習方法の選択を行った後(S103)、ラベル付けを行った学習データ131を用いることによって判定モデルの生成を行う(S104)。その後、ユーザは、例えば、判定精度等が基準を満たしていることの確認を行う(S105)。
【0023】
そのため、ラベル付けを行う必要がある学習データ131の数によっては、ラベル付けに伴うユーザによる作業工数が膨大になる場合がある。
【0024】
また、上記のような判定モデルは、推論段階において、例えば、特徴空間における特徴量ベクトルの距離を用いることによって各判定対象データの状態を判定する。そのため、上記のような判定モデルでは、ユーザが暗黙に所望する異常状態にある判定対象データを必ずしも検出することができない可能性がある。以下、判定モデルによる異常検知の具体例について説明を行う。
【0025】
[判定モデルによる異常検知の具体例]
図3及び
図4は、判定モデルによる異常検知の具体例について説明する図である。なお、以下、外部から受信した複数のメールからスパムメールの検知を行う判定モデルを用いる場合について説明を行う。
【0026】
図3に示す例は、学習段階において学習した学習データ131に対応する各特徴量ベクトル(ベクトル群VG1、ベクトル群VG2及びベクトル群VG3に含まれる各特徴量ベクトル)が特徴空間に分布されている状態を示している。
【0027】
具体的に、ベクトル群VG2に含まれる各特徴量ベクトルに対応するメールは、例えば、自然文からかけ離れた表現によって記述されたメールであり、ベクトル群VG3に含まれる各特徴量ベクトルに対応するメールは、例えば、自然文によって記述されたメールである。そのため、判定モデルは、この場合、
図3に示すように、ベクトル群VG2に含まれる各特徴量ベクトルを、ベクトル群VG1に含まれる各特徴量ベクトル(正常メールに対応する各特徴量ベクトル)から遠い位置に分布し、ベクトル群VG3に含まれる各特徴量ベクトルを、正常メールに対応する各特徴量ベクトルから近い位置に分布する。
【0028】
しかしながら、上記のような学習が行われた場合、判定モデルは、
図4に示すように、例えば、自然文に似せた表現によって記述されたスパムメールを、異常状態にあるメールとして検知することができない可能性がある。また、判定モデルは、この場合、例えば、自然文からかけ離れた表現によって記述された正常メールを、異常状態にあるメールとして検知する可能性がある。すなわち、上記のように学習が行われた判定モデルでは、ユーザが暗黙に所望する異常状態にある判定対象データを必ずしも検出することができない可能性がある。
【0029】
そこで、ユーザは、例えば、学習段階(判定モデルの検証段階)において、学習データ131にフィードバックを与える能動学習を行う。具体的に、ユーザは、例えば、判定モデルに対して入力された学習データ131のうち、異常状態にあると判定された学習データ131について、異常状態にあるデータであるか否かのラベル付けを人手によって行う。そして、ユーザは、ラベル付けされた学習データ131を用いることによる教師あり学習を行う。
【0030】
これにより、ユーザは、例えば、ラベル付けの過程においてユーザが暗黙に所望していた異常状態の存在に気が付くことが可能になり、ユーザが暗黙に所望していた異常状態のデータについても検出可能な判定モデルを生成することが可能になる。
【0031】
しかしながら、上記のような能動学習を行う場合、ユーザは、検知する必要があるデータの異常状態を予め網羅的に把握している必要がある。そのため、例えば、ユーザがデータの異常状態について十分に把握していない場合、上記のような能動学習を行うことができない。また、異常状態にあるデータが正常状態にあるデータであると判定モデルによって判定された場合、ユーザは、このようなデータの検知を行うことができない。
【0032】
さらに、学習段階における作成者の設計等が適切でなかった等の理由によって判定モデルの判定精度等が基準を満たしていない場合、ユーザは、
図5に示すように、判定モデルの再生成を行う必要性からラベル付けを含む各作業を再度行う必要が生じ、ユーザによる作業工数がより膨大になる場合がある(S106のNO、S102等)。
【0033】
そこで、本実施の形態における情報処理装置1は、学習段階において、ラベルが付与されていない複数の学習データ131(以下、学習データセットとも呼ぶ)を用いた学習により生成された判定モデルを用いて、学習データセットに含まれる学習データ131のそれぞれについての学習データセットにおける特徴量の外れ度を算出する。
【0034】
そして、情報処理装置1は、外れ度に基づいて、学習データセットに含まれる1以上の学習データ131または学習データセットに含まれる1以上の学習データ131のデータに関連する関連データを選択して出力する。その後、情報処理装置1は、出力した1以上の学習データ131に対するユーザによる判定結果の入力を受け付ける。続いて、情報処理装置1は、受け付けた判定結果に基づいて、学習データセットに含まれる学習データ131のそれぞれの特徴量を調整する調整基準を決定する。
【0035】
その後、情報処理装置1は、推論段階において、判定対象データの特徴量を調整基準によって調整してから判定対象データについての判定を行う。
【0036】
すなわち、情報処理装置1は、例えば、学習データセットに含まれる一部の学習データ131に対応する判定結果のみの入力をユーザから受け付け、受け付けた判定結果を用いることによって、学習データセットに含まれる全ての学習データ131の特徴量の調整を行う調整基準を決定する。具体的に、情報処理装置1は、例えば、判定結果に基づいて、特徴空間における各学習データ131の特徴量ベクトルの座標変換を行う行列を調整基準として決定する。
【0037】
これにより、情報処理装置1は、ラベル付けに伴うユーザの作業工数を抑制することが可能になり、また、ユーザが暗黙に所望していた異常状態のデータを検出可能な判定モデルを生成することが可能になる。
【0038】
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。
図6は、情報処理装置1のハードウエア構成を説明する図である。
【0039】
情報処理装置1は、
図6に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
【0040】
記憶媒体104は、例えば、判定モデルの生成及び調整を行う処理(以下、単に学習処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、学習処理を行う際に用いられる情報を記憶する情報格納領域130を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)であってよい。
【0041】
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行して学習処理を行う。
【0042】
外部インターフェース103は、例えば、ネットワークNWを介することによってユーザ端末2と通信を行う。
【0043】
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。
図7は、情報処理装置1の機能のブロック図である。
【0044】
情報処理装置1は、
図7に示すように、情報処理装置1のCPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、データ受信部111と、データ管理部112と、モデル生成部113と、外れ度算出部114と、情報出力部115と、入力受付部116と、特徴量調整部117と、データ判定部118とを含む各種機能を実現する。
【0045】
また、情報処理装置1は、
図7に示すように、学習データ131と、判定対象データ132とを情報格納領域130に記憶する。
【0046】
初めに、学習段階における機能について説明を行う。
【0047】
データ受信部111は、例えば、複数の学習データ131を含む学習データセットをユーザ端末2から受信する。具体的に、データ受信部111は、例えば、ラベルが付加されていない複数の学習データ131からなる学習データセットを受信する。そして、データ管理部112は、データ受信部111が受信した学習データセットを情報格納領域130に記憶する。
【0048】
モデル生成部113は、情報格納領域130に記憶された学習データセットに含まれる複数の学習データ131を用いることによって判定モデルを生成する。
【0049】
外れ度算出部114は、モデル生成部113が生成した判定モデルを用いることによって、情報格納領域130に記憶された学習データセットに含まれる学習データ131のそれぞれについての学習データセットにおける特徴量の外れ度を算出する。
【0050】
情報出力部115は、外れ度算出部114が算出した外れ度に基づいて、学習データセットに含まれる1以上の学習データ131を選択する。具体的に、情報出力部115は、例えば、外れ度算出部114が算出した外れ度が高い方から順に1以上の学習データ131の選択を行う。そして、情報出力部115は、例えば、選択した1以上の学習データ131をユーザ端末2に出力する。
【0051】
入力受付部116は、情報出力部115が出力した1以上のデータに対するユーザによる判定結果の入力を受け付ける。具体的に、入力受付部116は、例えば、ユーザ端末2を介してユーザが入力した判定結果を受け付ける。
【0052】
さらに具体的に、入力受付部116は、例えば、情報出力部115が出力した1以上のデータのそれぞれが、異常状態にあるデータであって優先度が高いデータ(以下、第1データとも呼ぶ)と、異常状態にあるデータであって優先度が低いデータ(以下、第2データとも呼ぶ)と、正常状態にあるデータ(以下、第3データとも呼ぶ)とのうちのいずれであるかを示す判定結果の入力を受け付ける。
【0053】
特徴量調整部117は、入力受付部116が受け付けた判定結果に基づいて、情報格納領域130に記憶された学習データセットに含まれる学習データ131のそれぞれの特徴量を調整する調整基準を決定する。具体的に、特徴量調整部117は、情報格納領域130に記憶された学習データに含まれる学習データ131のそれぞれに対応する特徴量ベクトルを特徴空間に分布した場合において、その特徴空間における各学習データ131の特徴量ベクトルの座標変換を行う行列を調整基準として決定する。
【0054】
さらに具体的に、特徴量調整部117は、例えば、入力受付部116が受け付けた判定結果が第1データであることを示す学習データ131のそれぞれに対応する外れ度が小さくなるように、学習データセットに含まれる学習データ131のそれぞれの特徴量を調整する調整基準を決定する。
【0055】
次に、推論段階における機能について説明を行う。
【0056】
データ受信部111は、例えば、判定モデルによる判定を行う判定対象データ132をユーザ端末2から受信する。そして、データ管理部112は、例えば、データ受信部111が受信した判定対象データ132を情報格納領域130に記憶する。
【0057】
データ判定部118は、モデル生成部113が生成した判定モデルに対して、データ受信部111が受信した判定対象データ132を入力する。この場合、判定モデルは、データ受信部111が受信した判定対象データ132から抽出した特徴量を、特徴量調整部117が決定した調整基準を用いることによって調整する。そして、判定モデルは、調整した特徴量を用いることによって、データ受信部111が受信した判定対象データ132についての判定を行う。具体的に、判定モデルは、例えば、データ受信部111が受信した判定対象データ132が異常状態にあるデータであるか否かについての判定を行う。
【0058】
情報出力部115は、例えば、データ判定部118によって行われた判定結果(例えば、判定対象データ132が異常状態にあるデータであるか否かについての判定結果)をユーザ端末2に出力する。
【0059】
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。
図8は、第1の実施の形態における学習処理の概略を説明するフローチャート図である。また、
図9は、第1の実施の形態における推論処理の概略を説明するフローチャート図である。さらに、
図10は、第1の実施の形態における学習処理の概略を説明する図である。
【0060】
初めに、第1の実施の形態における学習処理の概略について説明を行う。
【0061】
情報処理装置1は、
図8に示すように、例えば、モデル学習タイミングになるまで待機する(S1のNO)。モデル学習タイミングは、例えば、ユーザがユーザ端末2を介して判定モデルの学習を行う旨の情報を入力したタイミングであってよい。
【0062】
そして、モデル学習タイミングになった場合(S1のYES)、情報処理装置1は、ラベルが付与されていない学習データセットを用いた学習により生成された判定モデルを用いて、学習データセットに含まれる学習データ131のそれぞれについての学習データセットにおける特徴量の外れ度を算出する(S2)。
【0063】
続いて、情報処理装置1は、S2の処理で算出した外れ度に基づいて、学習データセットに含まれる1以上のデータを選択して出力する(S3)。
【0064】
その後、情報処理装置1は、S3の処理で出力した1以上のデータに対するユーザによる判定結果の入力を受け付けるまで待機する(S4のNO)。
【0065】
そして、S3の処理で出力した1以上のデータに対するユーザによる判定結果の入力を受け付けた場合(S4のYES)、情報処理装置1は、受け付けた判定結果に基づいて、学習データセットに含まれる学習データ131のそれぞれの特徴量を調整する調整基準を決定する(S5)。
【0066】
次に、第1の実施の形態における推論処理の概略について説明を行う。
【0067】
情報処理装置1は、
図9に示すように、例えば、ユーザがユーザ端末2を介して判定対象データ132を入力するまで待機する(S11のNO)。
【0068】
そして、判定対象データ132が入力された場合(S11のYES)、情報処理装置1は、判定モデルとS5の処理で決定した調整基準とを用いることによって、S11の処理で入力された判定対象データ132についての判定を行う(S12)。
【0069】
その後、情報処理装置1は、S11の処理で入力された判定対象データ132についての判定結果を出力する(S13)。
【0070】
すなわち、本実施の形態における情報処理装置1は、学習段階(判定モデルの検証段階)において、学習データセットに含まれる一部の学習データ131に対応する判定結果のみの入力をユーザから受け付け、受け付けた判定結果を用いることによって、学習データセットに含まれる全ての学習データ131の特徴量の調整を行う。具体的に、情報処理装置1は、
図10に示すように、特徴空間における各学習データ131の特徴量ベクトルの座標変換を行う調整器を、判定モデルを構成する機能の一つとして生成する(S108)。
【0071】
そして、情報処理装置1は、推論段階において、調整器を含む判定モデルを用いることによって、判定対象データ132が異常状態にあるデータであるか否かについての判定を行う。
【0072】
これにより、情報処理装置1は、ラベル付けに伴うユーザの作業工数を抑制しながら、ユーザが暗黙に所望していた異常状態のデータについても検出可能な判定モデルを生成することが可能になる。
【0073】
また、本実施の形態における情報処理装置1は、上記のように調整器の生成を行う場合、生成済の判定モデルの再生成を要しない。
【0074】
これにより、ユーザは、学習データ131のラベル付けに要する作業工数に加え、判定モデルの再生成に要する作業工数についても抑制することが可能になる。以下、調整器による特徴量ベクトルの座標変換の具体例について説明を行う。
【0075】
[調整器による特徴量ベクトルの座標変換の具体例]
図11から
図13は、調整器による特徴量ベクトルの座標変換の具体例について説明する図である。以下、学習段階において正常状態にある学習データ131と異常状態にある学習データ131との両方を学習するものとして説明を行う。
【0076】
図11に示す例は、正常状態にある学習データ131に対応する各特徴量ベクトル(ベクトル群VG11に含まれる各特徴量ベクトル)が特徴空間に分布されている状態を示している。また、
図11に示す例は、異常状態にある学習データ131に対応する各特徴量ベクトル(ベクトル群VG12及びベクトル群VG13のそれぞれに含まれる各特徴量ベクトル)が特徴空間に分布されている状態を示している。そして、
図11に示す例では、ベクトル群V12に含まれる各特徴量ベクトルよりもベクトル群V13に含まれる各特徴量ベクトルの方が、ベクトル群V11に含まれる各特徴量ベクトルから近い位置に分布されている。
【0077】
ここで、例えば、S4の処理でユーザから入力を受け付けた判定結果が、ベクトル群VG13に含まれる特徴量ベクトルに対応する判定対象データ132を、ベクトル群VG12に含まれる特徴量ベクトルに対応する判定対象データ132よりも異常として検知したい旨を示している場合、情報処理装置1は、
図12に示すように、ベクトル群V11に含まれる各特徴量ベクトルとベクトル群V13に含まれる各特徴量ベクトルとの間の距離を、ベクトル群V11に含まれる各特徴量ベクトルとベクトル群V12に含まれる各特徴量ベクトルとの間の距離よりも遠くするための座標変換を行う調整器を生成する。
【0078】
これにより、ユーザは、調整器を用いることで、例えば、
図13に示すように、ベクトル群VG12及びベクトル群VG13に含まれる特徴量ベクトルのそれぞれに対してラベル付けを行うことなく、ベクトル群VG12に含まれる特徴量ベクトルに対応する判定対象データ132よりも、ベクトル群VG13に含まれる特徴量ベクトルに対応する判定対象データ132を異常として検知する判定モデルの生成を行うことが可能になる。
【0079】
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。
図14から
図16は、第1の実施の形態における学習処理の詳細を説明するフローチャート図である。また、
図17は、第1の実施の形態における推論処理の詳細を説明するフローチャート図である。さらに、
図18から
図20は、第1の実施の形態における学習処理の詳細を説明する図である。
【0080】
[学習データ記憶処理]
初めに、第1の実施の形態における学習処理のうち、学習データ131の記憶を行う処理(以下、学習データ記憶処理とも呼ぶ)について説明を行う。
図14は、第1の実施の形態における学習データ記憶処理について説明するフローチャート図である。
【0081】
情報処理装置1のデータ受信部111は、例えば、学習データ131(学習データセットに含まれる学習データ131)をユーザ端末2から受信するまで待機する(S21のNO)。
【0082】
そして、例えば、複数の学習データ131を含む学習データセットを受信した場合(S21のYES)、情報処理装置1のデータ管理部112は、S21の処理で受信した学習データ131を情報格納領域130に記憶する(S22)。
【0083】
[モデル生成処理]
次に、第1の実施の形態における学習処理のうち、判定モデルの生成を行う処理(以下、モデル生成処理とも呼ぶ)について説明を行う。
図15は、第1の実施の形態におけるモデル生成処理について説明するフローチャート図である。
【0084】
情報処理装置1のモデル生成部113は、
図15に示すように、モデル生成タイミングになるまで待機する(S31のNO)。モデル生成タイミングは、例えば、ユーザがユーザ端末2を介して判定モデルの生成を開始する旨の情報を入力したタイミングであってよい。
【0085】
そして、モデル生成タイミングになった場合(S31のYES)、モデル生成部113は、情報格納領域130に記憶された学習データ131の一部(以下、第1学習データ131aと呼ぶ)のそれぞれに対応する特徴量を特定する(S32)。第1学習データ131aは、例えば、ユーザによって正常状態にあると判定された学習データ131であってよい。
【0086】
その後、モデル生成部113は、S32の処理で特定した特徴量のそれぞれを用いることによって、判定モデルを生成する(S33)。
【0087】
次に、情報処理装置1の外れ度算出部114は、S33の処理で生成した判定モデルを用いて、情報格納領域130に記憶された学習データ131の一部(以下、第2学習データ131bと呼ぶ)のそれぞれに対応する特徴量の外れ度を算出する(S24)。第2学習データ131bは、例えば、第1学習データ131aと異なる学習データ131であって、ユーザによって異常状態にあると判定された学習データ131であってよい。また、第2学習データ131bは、例えば、第1学習データ131aと異なる学習データ131であって、ユーザによって異常状態にあると判定された学習データ131と正常状態にあると判定された学習データ131との両方を含むものであってよい。
【0088】
具体的に、外れ度算出部114は、第2学習データ131bのそれぞれを入力することに応じて判定モデルから出力された値から、第2学習データ131bのそれぞれに対応する特徴量の外れ度を算出する。すなわち、外れ度算出部114は、第2学習データ131bごとに、特徴空間における他の第2学習データ131bに対する特徴量ベクトルの乖離状態を示す値を外れ度として算出する。以下、各学習データ131に対応する特徴量の外れ度の具体例について説明を行う。
【0089】
[各学習データに対応する特徴量の外れ度の具体例]
図18は、各学習データ131に対応する特徴量の外れ度の具体例を説明する図である。
図18に示すグラフでは、横軸が時刻に対応し、縦軸が各時刻に対応する学習データ131(各時刻に取得された学習データ131)の特徴量の外れ度に対応する。なお、
図18に示す例では、例えば、1分毎の時系列データが学習データ131のそれぞれに対応する。
【0090】
具体的に、
図18に示す例において、例えば、外れ度が0である学習データ131は、正常状態にあるデータであることを示している。これに対し、例えば、外れ度が0でない学習データ131は、異常状態にあるデータであることを示している。
【0091】
図15に戻り、情報処理装置1の情報出力部115は、S34の処理で算出した外れ度が高い順に、1以上の第2学習データ131bを選択して出力する(S35)。具体的に、情報出力部115は、例えば、1以上の第2学習データ131bのそのものをユーザ端末2に出力する。また、情報出力部115は、例えば、1以上の第2学習データ131bの少なくとも一部の内容を示す関連データをユーザ端末2に出力する。以下、S35の処理の具体例について説明を行う。
【0092】
[S35の処理の具体例]
図19は、S35の処理の具体例について説明する具体例である。
【0093】
図19で示すグラフは、特徴量の外れ度が0でない学習データ131の集合として、データ集合DG1、DG2、及びDG3が存在していることを示している。
【0094】
そして、情報出力部115は、例えば、データ集合DG1、DG2及びDG3のうち、各時刻の外れ度の平均値が最も大きいデータ集合DG3を選択して出力する。
【0095】
図16に戻り、情報処理装置1の入力受付部116は、情報出力部115が出力した1以上の第2学習データ131bに対するユーザによる判定結果の入力を受け付けるまで待機する(S41のNO)。
【0096】
具体的に、入力受付部116は、情報出力部115が出力した1以上の第2学習データ131bのそれぞれが、異常状態にあるデータであって優先度が高い第1データと、異常状態にあるデータであって優先度が低い第2データと、正常状態にある第3データとのうちのいずれに対応するデータであるかを示す判定結果の入力を受け付ける。
【0097】
なお、ユーザは、この場合、新たな異常に対応する第2学習データ131bの存在を検知した場合に、その第2学習データ131bを第1データとして判定するものであってよい。また、ユーザは、この場合、情報出力部115が出力した1以上の第2学習データ131bのそれぞれについて、異常度合い及び優先度を示すスコアの入力を行うものであってもよい。
【0098】
そして、1以上の第2学習データ131bに対するユーザによる判定結果の入力を受け付けた場合(S41のYES)、情報処理装置1の特徴量調整部117は、1以上の第2学習データ131bに対する判定結果が所定の条件を満たすか否かを判定する(S42)。
【0099】
具体的に、特徴量調整部117は、例えば、1以上の第2学習データ131bのうち、第1データとして判定された第2学習データ131bの数または割合が閾値以上であるか否かについての判定を行う。
【0100】
その結果、1以上の第2学習データ131bに対する判定結果が所定の条件を満たさないと判定した場合(S42のNO)、特徴量調整部117は、S31の処理で受け付けた判定結果を用いることによって、情報格納領域130に記憶された学習データ131(第1学習データ131a及び第2学習データ131b)の特徴量を調整する調整基準を決定する(S43)。
【0101】
具体的に、特徴量調整部117は、例えば、S31の処理で受け付けた判定結果を用いることによって、情報格納領域130に記憶された学習データ131についての距離学習を行う。そして、特徴量調整部117は、情報格納領域130に記憶された学習データ131のそれぞれの特徴量が距離学習の学習結果に従うように調整基準の決定を行う。以下、S43の処理の具体例について説明を行う。
【0102】
[S43の処理の具体例]
初めに、学習データ131についての距離学習の具体例について説明を行う。
【0103】
特徴量調整部117は、例えば、第1及び第2データのそれぞれと第3データとの距離が大きくなるように距離学習を行う。また、特徴量調整部117は、例えば、第1データと第3データとの距離が第2データと第3データとの距離よりも大きくなるように距離学習を行う。さらに、特徴量調整部117は、例えば、異なる第3データの間の距離が小さくなるように距離学習を行う。
【0104】
具体的に、特徴量調整部117は、例えば、以下の式(1)から式(4)に示す最適化問題を解くことによって距離学習を行う。
【0105】
【0106】
【0107】
【0108】
【0109】
上記の式(1)は、第1及び第2データのそれぞれと第3データとの距離を大きくすることを示す式であり、式(2)は、異なる第3データの間の距離を小さくすること(異なる第3データの間の距離を閾値以下にすること)を示す式であり、式(3)は、第1データと第3データとの距離を第2データと第3データとの距離よりも大きくすることを示す式であり、式(4)は、行列Mが半正定値行列であることを示す式である。
【0110】
なお、上記の式(1)から(4)において、Xiは、i番目の学習データ131を示し、Xjは、j番目の学習データ131を示し、Nは、学習データ131のうちの第3データの集合を示し、A+は、学習データ131のうちの第1データの集合を示し、A-は、学習データ131のうちの第2データの集合を示し、Mは、調整基準に対応する行列Mを示している。
【0111】
続いて、特徴量調整部117は、式(1)から式(4)に示す最適化問題の最適解である行列Mを以下の式(5)のように分解する。
【0112】
【0113】
その後、特徴量調整部117は、以下の式(6)に従うことによって、特徴空間における学習データ131のそれぞれに対応する特徴量ベクトルの座標変換を行う。
【0114】
【0115】
具体的に、特徴量調整部117は、例えば、
図20に示すように、
図19で説明した学習データ131のそれぞれに対応する特徴量ベクトルの座標変換を行う。
【0116】
これにより、特徴量調整部117は、第2学習データ131bのそれぞれに対応する特徴量の外れ度を抑えることが可能になる。
【0117】
なお、
図20で示す例では、データ集合DG1、DG2及びDG3のそれぞれに対応する特徴量の外れ度が抑えられた一方、データ集合DG4に対応する特徴量の外れ度が上がったことを示している。
【0118】
図16に戻り、外れ度算出部114は、S33の処理で生成した判定モデルとS43の処理で決定した調整基準とを用いて、情報格納領域130に記憶された第2学習データ131bのそれぞれに対応する特徴量の外れ度を算出する(S44)。
【0119】
そして、情報出力部115は、S44の処理で算出した外れ度が高い順に、1以上の第2学習データ131bを選択して出力する(S45)。その後、入力受付部116は、S41以降の処理を行う。
【0120】
一方、1以上の第2学習データ131bに対する判定結果が所定の条件を満たすと判定した場合(S42のYES)、情報処理装置1は、学習処理を終了する。
【0121】
[推論処理]
次に、第1の実施の形態における推論処理について説明を行う。
図17は、第1の実施の形態における推論処理について説明するフローチャート図である。
【0122】
データ受信部111は、
図17に示すように、例えば、ユーザがユーザ端末2を介して判定対象データ132を入力するまで待機する(S51のNO)。
【0123】
そして、判定対象データ132が入力された場合(S51のYES)、情報処理装置1のデータ判定部118は、S33の処理で生成した判定モデルとS43の処理で決定した調整基準とを用いることによって、S51の処理で入力された判定対象データ132についての判定を行う(S52)。
【0124】
具体的に、判定モデルは、S51の処理で入力された判定対象データ132から抽出した特徴量を、S43の処理で決定した調整基準を用いることによって調整する。すなわち、判定モデルは、この場合、特徴空間における判定対象データ132に対応する特徴量ベクトルについて、S43の処理で決定した調整基準(行列)を用いることによる座標変換を行う。そして、判定モデルは、調整した特徴量を用いることにより、S51の処理で入力された判定対象データ132が異常状態にあるデータであるか否かについての判定を行う。
【0125】
なお、S43の処理が複数回行われることによって調整基準(行列)が複数生成されている場合、S51の処理で入力された判定対象データ132から抽出した特徴量を、S43の処理で決定した調整基準の全てを用いることによって調整する。
【0126】
図17に戻り、情報出力部115は、S51の処理で入力された判定対象データ132についての判定結果を出力する(S53)。
【0127】
このように、本実施の形態における情報処理装置1は、学習段階において、ラベルが付与されていない複数の学習データ131(学習データセット)を用いた学習により生成された判定モデルを用いて、学習データセットに含まれる学習データ131のそれぞれについての学習データセットにおける特徴量の外れ度を算出する。
【0128】
そして、情報処理装置1は、外れ度に基づいて、学習データセットに含まれる1以上の学習データ131または学習データセットに含まれる1以上の学習データ131のデータに関連する関連データを選択して出力する。その後、情報処理装置1は、出力した1以上の学習データ131に対するユーザによる判定結果の入力を受け付ける。続いて、情報処理装置1は、受け付けた判定結果に基づいて、学習データセットに含まれる学習データ131のそれぞれの特徴量を調整する調整基準を決定する。
【0129】
その後、情報処理装置1は、推論段階において、判定対象データの特徴量を調整基準によって調整してから判定対象データ132についての判定を行う。
【0130】
すなわち、本実施の形態における情報処理装置1は、学習段階(判定モデルの検証段階)において、学習データセットに含まれる一部の学習データ131に対応する判定結果のみの入力をユーザから受け付け、受け付けた判定結果を用いることによって、学習データセットに含まれる全ての学習データ131の特徴量の調整を行う。具体的に、情報処理装置1は、特徴空間における各学習データ131の特徴量ベクトルの座標変換を行う調整基準(調整器)を、判定モデルを構成する機能の一つとして生成する。
【0131】
そして、情報処理装置1は、推論段階において、調整器を含む判定モデルを用いることによって、判定対象データ132が異常状態にあるデータであるか否かについての判定を行う。
【0132】
これにより、情報処理装置1は、ラベル付けに伴うユーザの作業工数を抑制しながら、ユーザが暗黙に所望していた異常状態のデータについても検出可能な判定モデルを生成することが可能になる。
【0133】
また、本実施の形態における情報処理装置1は、上記のように調整器の生成を行う場合、生成済の判定モデルの再生成を要しない。
【0134】
これにより、ユーザは、学習データ131のラベル付けに要する作業工数に加え、判定モデルの再生成に要する作業工数についても抑制することが可能になる。
【符号の説明】
【0135】
1:情報処理装置 2:ユーザ端末
130:情報格納領域 131:学習データ
NW:ネットワーク