JP7439467B2 - 情報処理装置、情報処理システム、モデルの学習方法 - Google Patents

情報処理装置、情報処理システム、モデルの学習方法 Download PDF

Info

Publication number
JP7439467B2
JP7439467B2 JP2019206965A JP2019206965A JP7439467B2 JP 7439467 B2 JP7439467 B2 JP 7439467B2 JP 2019206965 A JP2019206965 A JP 2019206965A JP 2019206965 A JP2019206965 A JP 2019206965A JP 7439467 B2 JP7439467 B2 JP 7439467B2
Authority
JP
Japan
Prior art keywords
data
unit
information processing
clusters
processing device
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
JP2019206965A
Other languages
English (en)
Other versions
JP2020205026A (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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co 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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Publication of JP2020205026A publication Critical patent/JP2020205026A/ja
Application granted granted Critical
Publication of JP7439467B2 publication Critical patent/JP7439467B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、情報処理システム、およびモデルの学習方法に関する。
入力データを事前に定義したクラスに分類する分類器を用いて、装置の異常検出や迷惑メールの判別等を行う技術がある(例えば、特許文献1参照)。
特開2008-217375号公報
入力データを分類する分類器には、例えばサポートベクターマシン(SVM:Support Vector Machine)と呼ばれる手法を用いて構築されたモデルを用いるものがある。一般に、SVMに基づくモデルを構築する際に、トレーニングデータの数を増加させると、構築されるモデルの精度は向上する。しかしながら、多数のトレーニングデータを用いて構築したモデルで入力データを分類する場合、情報処理装置の計算量が増加し、推論処理の時間が長くなってしまう。
本発明は、上記のような従来の問題に鑑みてなされたものであって、入力データを分類するモデルの精度の低下を抑制しつつ、入力データを分類する際の計算量を軽減可能な技術を提供することを目的とする。
前述した課題を解決する主たる本発明は、複数の属性の何れかに属する複数のデータを、前記複数の属性毎に複数のクラスタにグループ化するクラスタリング部と、前記複数のクラスタの夫々に含まれるデータを、少なくとも一つ取得する取得部と、前記取得部が取得したデータに基づいて、入力データが前記複数の属性の何れに属するかを分類するためのモデルを学習する学習部と、を含む情報処理装置である。
本発明によれば、入力データを分類するモデルの精度の低下を抑制しつつ、入力データを分類する際の計算量を軽減可能な技術を提供することができる。
異常検知システム10の構成を示す図である。 学習装置20のハードウェア構成の一例を示す図である。 データセット41の一例を示す図である。 学習装置20aに実現される機能ブロックの一例を示す図である。 学習装置20aで実行される処理の一例を示すフローチャートである。 複数のクラスタにグループ化されたデータの一例を示す図である。 判定装置21のハードウェア構成の一例を示す図である。 判定装置21に実現される機能ブロックの一例を示す図である。 判定装置21で実行される内容を説明するための図である。 推論時間について説明するための図である。 記憶装置32に記憶される情報の一例を示す図である。 学習装置20bに実現される機能ブロックの一例を示す図である。 学習装置20bで実行される処理の一例を示すフローチャートである。 変更処理の一例を示すフローチャートである。
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
=====本実施形態=====
<<<異常検知システム10の構成>>>
図1は、本発明の一実施形態である異常検知システム10の構成を示す図である。異常検知システム10は、例えば、商業施設に設置されたショーケース300の異常を検知するためのシステムであり、学習装置20、判定装置21を含む。
ショーケース300は、例えば、食品等を冷却し、保管するためのケースである。ショーケース300には、ショーケース300の状態を観測するセンサ310が、例えば10個取り付けられている。なお、図1では、便宜上、10個のセンサ310は、1つのブロックとして描かれている。
そして、異常検知システム10は、10個のセンサの夫々から出力されるデータx1~x10の値が、異常値となると、ショーケース300の異常を検知する。なお、ここでは、「異常値」の例として、物理的な異常を要因とする異常の値や数値的な異常の値、またセンサ異常を起因とした異常値、また、異常判定ではないようなシステムに適用する場合には、通常とは異なる挙動を表す値のことが挙げられる。
また、以下、ショーケース300の動作が正常である際のデータを、「正常データ」または「正常なデータ」と称し、ショーケース300の動作が異常である際のデータを、「異常データ」または「異常なデータ」と称する。
学習装置20(第1情報処理装置)は、正常なデータx1~x10に基づいて、ショーケース300に異常が有るか否かを判定するためのモデル、つまり、データx1~x10の異常値を検出するためのモデルを機械学習によって構築する。
判定装置21(第2情報処理装置)は、運転中のショーケース300から出力されるデータx1~x10と、学習装置20で構築されたモデルとに基づいて、ショーケース300に異常が有るか否かを判定する。なお、学習装置20と、判定装置21とは、ネットワーク25を介して接続されている。また、異常検知システム10は、情報処理システムに相当する。
<<<学習装置20について>>>
==学習装置20の構成==
図2は、学習装置20のハードウェア構成の一例を示す図である。学習装置20は、CPU(Central Processing Unit)30、メモリ31、記憶装置32、入力装置33、表示装置34、及び通信装置35を含むコンピュータである。
CPU30は、メモリ31や記憶装置32に格納されたプログラムを実行することにより、学習装置20における様々機能を実現する。
メモリ31は、例えばRAM(Random-Aaccess Mmemory)等であり、プログラムやデータ等の一時的な記憶領域として用いられる。
記憶装置32は、CPU30によって実行あるいは処理される制御プログラム40やデータセット41等の各種のデータを格納する不揮発性の記憶装置である。
制御プログラム40は、学習装置20が有する各種機能を実現するためのプログラムであり、例えば、OS(Operating System)等を含む。
データセット41は、学習モデル42(後述)を構築する際に用いられるデータであり、図3に示すように、ショーケース300からセンサで取得された“データx1~x10”と、“属性データ”とを含む。
ここで、「データx1」は、例えば、ショーケース300の所定の場所に取り付けられた温度センサからの出力であり、「データx2」は、ショーケース300内のコンプレッサの圧力を計測する圧力センサからの出力である。また、「データx10」は、例えば、コンプレッサの冷媒の流量を計測する流量計からの出力である。なお、データx3~x9についても、x1,x2等と同様であるため、ここでは詳細な説明は省略する。
また、「属性データ」は、データx1~x10が“正常データ”であるか、“異常データ”であるかを示すデータである。本実施形態では、データx1~x10が“正常データ”である場合、“0”が付され、データx1~x10が“異常データ”である場合、“1”が付されている。
データセット41は、i個の“正常データ”と、j個の“異常データ”とを含み、予め記憶装置32に格納されている。また、データセット41の1番目のデータは、例えば、時刻t1に取得された、ショーケース300が正常な場合のデータx1~x10である。
学習モデル42は、センサ310からのデータx1~x10が、“正常データ”及び“異常データ”の2つの属性のうち、何れかの属性に属するかを分類するためのモデルである。本実施形態では、学習モデル42の学習が行われると、学習モデル42の関数の係数等が調整される。なお、学習モデル42は、例えばサポートベクターマシンの手法に基づいて構築され、学習モデル42の関数は、例えば、y=f(x1,x2,~,x10)と表される。
入力装置33は、ユーザによるコマンドやデータの入力を受け付ける装置であり、キーボード、タッチパネルディスプレイ上でのタッチ位置を検出するタッチセンサなどの入力インタフェースを含む。
表示装置34は、例えばディスプレイなどの装置であり、通信装置35は、ネットワーク25を介して、判定装置21や他のコンピュータと各種プログラムやデータの受け渡しを行う。
==機能ブロックの第1実施例==
図4は、学習装置20の第1実施形態である学習装置20aに実現される機能ブロックの一例を示す図である。学習装置20aのCPU30が、制御プログラム40を実行することにより、学習装置20aには、クラスタリング部50、計算部51、取得部52、及び学習部53が実現される。
クラスタリング部50は、記憶装置32に格納されたデータセット41を取得し、“正常データ”及び“異常データ”の夫々を、例えばk平均法を用いて複数のクラスタにグループ化する。なお、“正常データ”のクラスタの数と、“異常データ”のクラスタの数は、同じであっても、異なっていても良い。なお、ここで「グループ化」とは、例えば、決められた数のグループに、データを分けることをいう。
計算部51は、“正常データ”及び“異常データ”の複数のクラスタの夫々の中心を計算する。なお、ここで、クラスタXの「中心」とは、例えば、クラスタXに含まれる複数のデータの平均値である。
取得部52は、計算された複数のクラスタの夫々の中心を取得し、学習部53は、取得部52で取得されたデータをトレーニングデータとして、SVMに基づいた学習モデル42を構築する。したがって、本実施形態では、“正常データ”及び“異常データ”の複数のクラスタの夫々の中心が、トレーニングデータとなる。なお、「トレーニングデータ」とは、例えば、学習モデル42を構築する際に用いられるデータであり、学習データやモデル構築用データとも呼ばれる。
<<学習処理S10>>
以下、各機能ブロックが実行する処理の一例を、図5及び図6を参照しつつ説明する。まず、クラスタリング部50は、記憶装置32に格納されたデータセット41の“正常データ”を取得し、複数のm個のクラスタにグループ化する(S20)。また、クラスタリング部50は、データセット41の“異常データ”を取得し、複数のn個のクラスタにグループ化する(S21)。なお、処理S20,21は、「クラスタリング処理」に相当する。
図6は、“正常データ”と“異常データ”とが複数のクラスタの分類された状態を説明するための図である。なお、データセット41の各データは、10個のデータ(x1~x10)を含むが、便宜上、図6ではデータがx1,x2の2個であるとして図示している。
ここでは、“正常データ”は、例えば7個(m=7)のクラスタA1~A7に分類され、“異常データ”も、“正常データ”のクラスタの数に等しい7個(n=7)のクラスタB1~B7に分類されている。また、図6においては、“正常データ”と、“異常データ”とを分類する学習モデル42を示す関数の一例をx1-x2平面において図示している。なお、ここでは、“正常データ”のクラスタの数(m個)と、“異常データ”のクラスタの数(n個)とが等しいこととしたが、異なっていても良い。
ここで、仮に、データセット41の“正常データ”と、“異常データ”とを分けずにクラスタリング部50が、全てのデータを複数のクラスタにグループ化した場合、クラスタが“正常データ”と、“異常データ”とを含んでしまうことがある。このような場合、クラスタに含まれるデータ(例えば、任意の1点や中心)を学習用データとすると、学習用データは“正常データ”を示すデータであるか、“異常データ”を示すデータであるかが不明瞭となる。本実施形態では、データセット41の“正常データ”と、“異常データ”とを分けた状態で、夫々が複数のクラスタにグループ化されている。したがって、本実施形態では、学習用データの精度を高めることができる。
つぎに、計算部51は、“正常データ”のm個のクラスタの夫々の中心P1~Pm(以下、適宜中心Pとする。)と、“異常データ”のn個のクラスタの夫々の中心Q1~Qn(以下、適宜中心Qとする。)を計算する(S22)。
具体的には、図6のクラスタA1の場合、計算部51は、クラスタA1に含まれる10個のデータの平均値を計算し、計算結果を中心P1とする。同様に計算部51は、6個のクラスタA2~A7の夫々の中心P2~P7と、7個のクラスタB1~B7の夫々の中心Q1~Q7を計算する。
取得部52は、計算部51で計算された複数のクラスタの夫々の中心P,Qの夫々データを取得する(S23:取得処理)。また、学習部53は、中心P,Qをトレーニングデータとして、SVMに基づいた学習モデル42を構築する(S24)。なお、処理S24は、「学習処理」に相当する。
したがって、学習モデル42は、データセット41に含まれるデータのうち、データセット41の代表的なデータである中心P,Qに基づいて構築されることになる。この結果、学習部53は、データセット41のデータの分布に関する情報を保ちつつ、少ないデータ量を用いて学習モデル42の学習を行うことができる。なお、「データの分布」とは、例えば、データx1~x10のそれぞれを一つのベクトルとした際のベクトル空間における分布である。
<<<判定装置21について>>>
==判定装置21の構成==
図7は、判定装置21のハードウェア構成の一例を示す図である。判定装置21は、CPU70、メモリ71、記憶装置72、入力装置73、表示装置74、及び通信装置75を含むコンピュータである。なお、判定装置21のハードウェア構成は、学習装置20のハードウェア構成と同様であるため、ここでは詳細な説明は省略する。
記憶装置72は、学習モデル42、判定プログラム80、及び判定データ81を記憶する。学習モデル42は、学習装置20aで構築されたモデルである。
判定プログラム80は、制御プログラム40と同様に、判定装置21が有する各種機能を実現するためのプログラムを総称している。
判定データ81は、ショーケース300に異常が有るか否かを判定した判定結果を示すデータである。
==機能ブロック==
図8は、判定装置21に実現される機能ブロックの一例を示す図である。判定装置21のCPU70が、判定プログラム80を実行することにより、判定装置21には、取得部100、分類部101、及び判定部102が実現される。
取得部100は、センサ310から出力されるデータx1~x10を、所定間隔毎(例えば、30秒毎)に取得する。なお、センサ310から出力されるデータx1~x10が「入力データ」に相当する。
分類部101は、取得部100が取得したデータ(以下、「取得データ」と称する。)と、記憶装置72に記憶された学習モデル42とに基づいて、取得データが“正常データ”であるか“異常データ”であるか、つまり、取得データの属性を分類する。
判定部102は、取得データが“正常データ”に分類されたか否かを判定する。以下、各機能ブロックの詳細を、判定装置21で実行される判定処理とともに説明する。
<<判定処理S100>>
まず、図9に示すように、取得部100は、センサ310からのデータx1~x10を取得する(S200)。そして、分類部101は、取得データ(x1,~,x10)と、学習モデル42とに基づいて、サポートベクターマシンの手法を用いて取得データの属性を分類する(S201)。
ここで、SVMに基づく学習モデル42は、データセット41に含まれるデータのうち、データセット41の代表的なデータである中心P,Qに基づいて構築されたモデルである。つまり、学習モデル42は、少ないデータ量のトレーニングデータに基づいて構築されたモデルであるため、処理S201においても分類部101が参照すべきデータ量も少なくなる。したがって、データセット41のデータの全てを用いて学習モデルを構築した場合と比較すると、本実施形態では、分類部201が処理S201で実行する計算量を減らすことができる。なお、処理S201は、いわゆる推論処理に相当し、処理S201が実行される時間は、推論時間である。
また、判定部102は、取得データが“正常データ”に分類されるか否かを判定する(S202)。取得データが“正常データ”に分類される場合(S202:Yes)、判定部102は、取得データは、正常データであると判定する(S203)。
一方、取得データが“正常データ”に分類されない場合、つまり、取得データが“異常データ”に分類される場合(S202:No)、判定部102は、取得データは、異常データであると判定する(S204)。そして、判定部102は、処理S203,204の判定結果を、記憶装置72に格納し、判定データ81を更新する(S205)。この結果、利用者は、ショーケース300に異常が発生したことを把握することができる。
<<計算結果の一例>>
図10は、異なる手法で構築された学習モデルを用いた際の推論処理の時間の比較結果を示す図である。図10の左側の「SVM(完全なデータセット)」の欄は、所定サイズの全てのテストデータをトレーニングデータとしてSVMの手法を用いた場合の結果の一例である。
一方、図10の右側の「SVM(中心P,Qのデータセット)」の欄は、所定サイズのテストデータに対し、本実施形態のクラスタ分類(例えば、処理S20,21)を施した後、SVMの手法を用いた場合の結果の一例である。なお、ここでは、「SVM(完全なデータセット)」と、「SVM(中心P,Qのデータセット)」との両者において、SVMのハイパーパラメータは同一である。また、「SVM(完全なデータセット)」と、「SVM(中心P,Qのデータセット)」との両者の処理は、同一の情報処理装置で実行されている。
図10の左側の「SVM(完全なデータセット)」の欄は、“トレーニング時間Ta1”、“スコアSa”、“推論時間Ta2”の項目を含む。
「トレーニング時間Ta1」は、例えば、所定のサイズ(例えば、6435行×36列)のデータセットD1の全てが用いられた場合に、学習モデルM1を構築する時間であり、ここでは、“0.34秒”となっている。なお、データセットD1は、“正常データ”、“異常データ”を含む、トレーニングデータである。
「スコアSa」は、所定サイズ(例えば、300行×10列)のテストデータDtと、学習モデルM1とに基づいて、テストデータDtの分類が実行された結果の正確性を示す指標であり、ここでは、“0.74”となっている。なお、スコアSaは、0~1まで変化し、“0”は、全てのテストデータの分類が全く誤っていること示し、“1”は、全てのテストデータの分類が正しいことを示す。
「推論時間Ta2」は、テストデータDtが、学習モデルM1で分類される時間であり、ここでは、“0.18秒”となっている。
また、図10の右側の「SVM(中心P,Qのデータセット)」の欄は、“クラスタリング時間Tc”、“トレーニング時間Tb1”、“スコアSb”、“推論時間Tb2”の項目を含む。
「クラスタリング時間Tc」は、例えば、データセットD1の“正常データ”と、“異常データ”とに、クラスタ分類(図5の処理S20,21)を施した際の実行時間であり、ここでは“0.58秒”となっている。なお、ここでは、クラスタの数は、m=n=2316個であり、この値は、データセットD1の数(=6435×36=231660)の、例えば1%の値に定められている。
「トレーニング時間Tb1」は、例えば、4632個(=2316個×2)のクラスタの夫々の中心P,Qのデータが用いられた際に、学習モデルM2を構築する時間であり、ここでは、“0.01秒”となっている。
「スコアSb」は、テストデータDtと、学習モデルM2とに基づいて、テストデータの分類が実行された結果の正確性を示す指標であり、ここでは、“0.70”となっている。なお、正確性を示す指標であるスコアSbも、スコアSaと同様に0~1まで変化する。
「推論時間Tb2」は、テストデータDtが、学習モデルM1で分類されるまでの時間であり、ここでは、“0.04秒”となっている。
このように、テストデータDtの全てを用いた場合から、テストデータDtにクラスタ分類を施しで中心P,Qをテストデータとした場合には、分類の正確性は、“0.74”から“0.70”へと若干低下している。しかしながら、少ないトレーニングデータで構築された学習モデルM2を用いる場合と、多いトレーニングデータで構築された学習モデルM1を用いる場合とを比較すると、学習モデルM2を用いた場合の方が推論処理を行う際の計算量を少なくできる。この結果、学習モデルM2を用いた“推論時間Tb2(=0.04)”は、学習モデルM1を用いた“推論時間Ta1(=0.18)”より大幅に短くなっている。
==他の実施形態==
<<記憶装置32に記憶される情報>>
図2の記憶装置32には、制御プログラム40、データセット41、及び学習モデル42が記憶されることとしたが、これに限られない。例えば、図11に示すように、記憶装置32には、テストデータ43、目標値データ44、クラスタデータ45が更に記憶されていても良い。
テストデータ43は、学習モデル42の分類精度をテストするためのデータであり、例えば、データセット41と同様に、複数の“正常データ”と、複数の“異常データ”とを含む。
目標値データ44は、学習モデル42の分類精度の“目標値”を示すデータである。ここで、本実施形態の“目標値”は、例えば、データセット41をトレーニングデータとして構築した学習モデル(不図示)の分類精度(例えば、85%)から、所定の値(5%)を減算した値(80%=85%-5%)とする。ただし、“目標値”は、データセット41をトレーニングデータとして構築した学習モデル(不図示)の分類精度に関わらず、利用者が、適宜定めた値としても良い。
クラスタデータ45は、データセット41の“正常データ”及び“異常データ”の夫々のクラスタの数を示すデータである。なお、本実施形態のクラスタデータ45は、データセット41の“正常データ”のクラスタの数を示す変数“k1”と、データセット41の“異常データ”のクラスタの数を示す変数“k2”と、を示す情報を含む。
==機能ブロックの第2実施形態==
図12は、学習装置20の第2実施形態である学習装置20bに実現される機能ブロックの一例を示す図である。学習装置20bのCPU30が、制御プログラム40を実行することにより、学習装置20bには、計算部51、取得部52、学習部53、クラスタリング部60、精度計算部61、第1判定部62、第2判定部63、第3判定部64及び処理部65が実現される。
ここで、計算部51、取得部52、学習部53は、図4で示したブロックと同じであるため、このでは、詳細な説明は省略する。
クラスタリング部60は、クラスタリング部50と同様に、データセット41を取得し、“正常データ”及び“異常データ”の夫々を、クラスタデータ45で特定される数のクラスタにグループ化する。なお、詳細は後述するが、クラスタリング部60は、データセット41のデータサイズが所定値より小さい場合、逐次処理を実行する。
一方、クラスタリング部60は、データセット41のデータサイズが所定値以上の場合、逐次処理より高速な並列処理を実行する。これにより、クラスタリング部60は、例えば、データセット41のデータサイズが大きい場合であっても、“正常データ”及び“異常データ”の夫々を、高速で複数のクラスタにグループ化することができる。なお、本実施形態では、クラスタリング部60が、並列処理を実行できるよう、例えば、CPU30は、マルチコア(不図示)を含むこととする。
精度計算部61は、テストデータ43を用いて、学習モデル42の分類精度の計算を行い、第1判定部62は、計算された分類精度と、学習モデル42の分類精度の“目標値”との差が、“所定値”より大きいか否かを判定する。なお、例えば、目標値が“80%”で、“所定値”が“5%”である場合、第1判定部62は、計算された分類精度が、“75%”~“85%”の範囲に入っているか否かを判定することになる。
第2判定部63は、精度計算部61で計算された分類精度が、学習モデル42の分類精度の“目標値”より高いか否かを判定する。
第3判定部64は、データセット41の“正常データ”及び“異常データ”の夫々のデータサイズが所定値以上であるか否かを判定する。
処理部65は、計算された分類精度と、“目標値”との差が“所定値”より大きい場合、差が小さくなるよう、クラスタリング部60がグループ化するクラスタの数を変更する。具体的には、処理部65は、精度計算部61で計算された分類精度が、学習モデル42の分類精度の“目標値”より低い場合、クラスタリング部60がグループ化するクラスタの数を増加する。一方、処理部65は、精度計算部61で計算された分類精度が、学習モデル42の分類精度の“目標値”より高い場合、クラスタリング部60がグループ化するクラスタの数を減少する。
<<学習処理S15>>
図13は、図12に示した学習装置20bの各機能ブロックが実行する処理の一例を示す図である。まず、第3判定部64は、データセット41のデータサイズが所定値以上であるか否かを判定する(S30)。なお、ここでは特に図示しないが、処理S30での判定結果は、例えば、記憶装置32に格納される。
クラスタリング部60は、記憶装置32に格納されたクラスタデータ45を取得する(S31)。クラスタリング部60は、データセット41の“正常データ”を取得し、複数の“k1”個のクラスタにグループ化する(S32)。また、クラスタリング部60は、データセット41の“異常データ”を取得し、複数の“k2”個のクラスタにグループ化する(S33)。なお、処理S32,33は、「クラスタリング処理」に相当する。
また、クラスタリング部60は、データセット41のデータサイズが所定値より小さい場合、処理S32,S33において、“逐次処理”を実行し、データサイズが所定値以上である場合、“並列処理”を実行する。
処理S33が実行されると、計算部51、取得部52、及び学習部53の夫々は、学習モデル42構築処理を実行する(S34)。なお、ここで、“学習モデル42構築処理”は、図5で示した、処理S22~S24の夫々を含む処理である。
また、処理S34が実行され、学習モデル42が構築されると、精度計算部61は、テストデータ43を用いて、学習モデル42の分類精度の計算を行う(S35)。
そして、第1判定部62は、精度計算部61で計算された分類精度と、“目標値”との“差”を計算し、“差”が“所定値”より大きいか否かを判定する(S36)。“差”が、“所定値”より小さい場合(S36:No)、つまり、計算された分類精度が、“目標値”に近い場合、一連の処理は終了する。一方、“差”が、“所定値”より大きい場合(S36:Yes)、つまり、計算された分類精度が、“目標値”から遠い場合、変更処理(S37)が実行される。
図14の変更処理S37において、第2判定部63は、精度計算部61で計算された分類精度が、学習モデル42の分類精度の“目標値”より高いか否かを判定する(S50)。計算された分類精度が、“目標値”より高い場合(S50:Yes)、処理部65は、クラスタリング部60がグループ化するクラスタの数を減少させるべく、変数“k1”,“k2”を、例えば“1”だけ減少する(S51)。具体的には、処理部65は、変数“k1”,“k2”が、例えば“1”だけ減少するよう、クラスタデータ45を、更新する。これにより、分類精度を保ちつつ、必要以上に計算時間が長くなることを防ぐことができる。
一方、計算された分類精度が、“目標値”より低い場合(S50:No)、処理部65は、クラスタリング部60がグループ化するクラスタの数を増加させるべく、変数“k1”,“k2”を、例えば“1”だけ増加する(S52)。具体的には、処理部65は、変数“k1”,“k2”が、例えば“1”だけ増加するよう、クラスタデータ45を、更新する。この結果、クラスタの数が増えるため、分類精度は向上することになる。
そして、変更処理S37が実行されると、処理S31~S36が繰り返される。このように、変更処理S37が実行されると、分類精度と、“目標値”との差が小さくなるよう、クラスタの数が変更される。そして、例えば、分類精度が“目標値”より低い場合、学習モデル42を構築する際のデータが増加することになるため、学習モデル42の分類精度が高くなる。この結果、学習モデル42の分類精度を、例えば“目標値”より高くすることができる。
一方、分類精度が“目標値”より高い場合、学習モデル42を構築する際のデータが減少することになる。このため、学習モデル42を用いて計算する時間を短くすることができる。
なお、本実施形態では、処理S37で変化させるクラスタの数を、“1”としたが、他の数であっても良い。また、変数“k1”,“k2”の夫々を増加させる数は異なっていても良い。
===まとめ===
以上、本実施形態の異常検知システム10について説明した。学習装置20aのクラスタリング部50は、データセット41の“正常データ”と、“異常データ”との夫々を複数のクラスタにグループ化し、学習部53は、複数のクラスタの夫々のデータに基づいて学習モデル42を構築する。このように、本実施形態では、クラスタからデータを取得しているため、トレーニングデータであるデータセット41のデータの分布を保ちつつ、効率的にトレーニングデータのデータ量を減らすことができる。この結果、学習モデル42の精度の低下を抑制しつつ、推論処理の際の計算量を軽減できる。さらに、本実施形態では、“正常データ”と、“異常データ”とを分けた状態で、夫々が複数のクラスタにグループ化されている。したがって、本実施形態では、学習モデル42の精度を高めつつ、推論処理の計算時間を削減できる。
また、計算部51は、複数のクラスタの夫々の中心を計算し、学習部53は、計算結果であるデータをトレーニングデータとして用いる。このため、トレーニングデータであるデータセット41のデータのベクトル空間における分布の状態を精度良く維持しつつ、データ量を減らすことができる。
また、一般に、サポートベクターマシンに基づく方法を用いて構築された学習モデル42が使用される際、トレーニングデータの量が多いと推論時間が長くなる。しかしながら、本実施形態では、トレーニングデータにクラスタ分類を施すことにより、トレーニングデータの特徴を保持しつつ、トレーニングデータの量を減らしている。したがって、学習モデル42を用いた際の推論時間を短くできる。なお、本実施形態では、学習モデル42は、サポートベクターマシンに基づく方法で構築されることとしたが、例えば、他のカーネル法による分類器(classifier:クラシファイア)を用いて、学習モデル42を構築しても良い。ここで、「カーネル法による分類器」としては、例えば、カーネル判別分析、カーネル回帰による判別、または、カーネルPLSによる判別分析に基づく分類器が挙げられる。これらの分類器を用いた場合であっても、サポートベクターマシンに基づく学習モデル42を構築した際と同様に、例えば推論時間を短くできる。
また、データセット41に付された“属性データ”は、ショーケース300が正常であることを示すデータと、ショーケース300が異常であることを示すデータである。このようなデータを用いることにより、ショーケース300の異常検知が可能となる。
また、クラスタリング部50は、“正常データ”のクラスタの数(m個)と、“異常データ”のクラスタの数(n個)とが等しくなるよう、各データを複数のクラスタにグループ化している。この結果、トレーニングデータに含まれる“正常データ”と“異常データ”との数が等しく、バランスが取れているため、精度の高い学習モデル42の構築が可能となる。
また、精度計算部61で計算された分類精度と、学習モデル42の分類精度の“目標値”と、の“差”が所定値より大きい場合、処理部65は、“差”が小さくなるよう、クラスタリング部60に、グループ化するクラスタの数を変更する(S37)。この結果、本実施形態では、計算量を抑制しつつ、学習モデル42の分類精度を、“目標値”に近い値とすることができる。
また、処理部65は、計算された分類精度が、学習モデル42の分類精度の“目標値”より低い場合、クラスタリング部60に、グループ化するクラスタの数を増加する。これにより、分類精度を上昇させることができる。
また、処理部65は、計算された分類精度が、学習モデル42の分類精度の“目標値”より高い場合、クラスタリング部60に、グループ化するクラスタの数を減少する。これにより、分類精度を“目標値”に近付けつつ、計算量を抑制することができる。
また、本実施形態では、計算された分類精度と、“目標値”との差が“所定値”より小さくなるまで、例えば、クラスタリング部60、計算部51、取得部52、学習部53を繰り返し動作させる。例えば、“目標値”が80%であり、“所定値”が5%である場合、分類精度は、80%±5%の範囲に入ることになる。この結果、本実施形態では、分類精度を、確実に“目標値”に近付けることができる。
また、例えば、データセット41のデータサイズが所定値以上である場合、クラスタリング部60は、逐次処理(第1処理)より高速な並列処理(第2処理)を実行し、データを複数のクラスタにグループ化する。この結果、データセット41のデータサイズが大きい場合であっても、短時間で学習モデル42を構築することができる。
上記の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。また、本発明は、その趣旨を逸脱することなく、変更や改良され得るとともに、本発明にはその等価物が含まれるのはいうまでもない。
例えば、本実施形態の異常検知の対象は、ショーケース300であるが、他の機器や装置であっても良い。
また、本実施形態の判定装置21は、入力装置73や表示装置74を含むコンピュータであることとしたが、例えば、マイコンやPLC(プログラマブルコントローラ)の演算回路が図9のS100の処理を実行しても良い。このような場合、マイコン等を異常検知の対象の装置側(いわゆるエッジ側)に直接実装できるため、装置の異常検知を現地で行うことができる。
また、本実施形態の取得部52は、クラスタの中心を取得することとしたが、これに限られず、クラスタに含まれる実際のデータを取得し、トレーニングデータとしても良い。また、取得部52は、クラスタに含まれる中心や実際のデータのから複数のデータを取得し、トレーニングデータとしても良い。このように、取得部52が取得するデータの数が増えると、学習モデル42の精度をより高くすることができる。
なお、第1判定部62は、計算された分類精度が、“75%”~“85%”の範囲に入っているか否かを判定することとしたが、これに限られない。例えば、第1判定部62は、分類精度が、目標値である“80%”より大きいか否かを判定しても良い。このような場合、処理部65は、計算された分類精度が“目標値”となるように、つまり、分類精度と、目標値との差が小さくなるよう、クラスタリング部60がグループ化するクラスタの数を変更する。そして、処理部65は、計算された分類精度が最も“目標値”近くなるクラスタの数で、クラスタの数の変更を終了しても良い。このような場合であっても本実施形態と同様の効果を得ることができる。
10 異常検知システム
20 学習装置
21 判定装置
25 ネットワーク
30,70 CPU
31,71 メモリ
32,72 記憶装置
33,73 入力装置
34,74 表示装置
35,75 通信装置
40 制御プログラム
41 データセット
42 学習モデル
43 テストデータ
44 目標値データ
45 クラスタデータ
50,60 クラスタリング部
51 計算部
52 取得部
53 学習部
61 精度計算部
62 第1判定部
63 第2判定部
64 第3判定部
65 処理部
80 判定プログラム
81 判定データ
100 取得部
101 分類部
102 判定部

Claims (12)

  1. 複数の属性の何れかに属する複数のデータを、前記複数の属性毎に複数のクラスタにグループ化するクラスタリング部と、
    前記複数のクラスタの夫々に含まれるデータを、少なくとも一つ取得する取得部と、
    前記取得部が取得したデータに基づいて、入力データが前記複数の属性の何れに属するかを分類するためのモデルを学習する学習部と、
    前記複数の属性の何れかに属する複数のテストデータを用いて、前記モデルの分類精度を計算する精度計算部と、
    前記精度計算部で計算された分類精度が目標値となるように、前記クラスタリング部がグループ化する前記複数のクラスタの数を変更する処理部と、を備えることを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記複数のクラスタの夫々の中心を計算する計算部を含み、
    前記取得部は、
    前記複数のクラスタの夫々から、前記中心を示すデータを取得すること、
    を特徴とする情報処理装置。
  3. 請求項1または請求項2に記載の情報処理装置であって、
    前記学習部は、前記取得部が取得したデータに対してカーネル法による分類器を用いて前記モデルを学習すること、
    を特徴とする情報処理装置。
  4. 請求項1~3の何れか一項に記載の情報処理装置であって、
    前記複数の属性は、所定の装置が正常に動作していることを示す属性と、前記所定の装置が正常に動作していないことを示す属性と、を含み、
    前記複数のデータは、前記所定の装置に取り付けられた複数のセンサからのデータであること、
    を特徴とする情報処理装置。
  5. 請求項1~4の何れか一項に記載の情報処理装置であって、
    前記複数の属性毎の前記複数のクラスタの数は、前記複数の属性毎に同じであること
    を特徴とする情報処理装置。
  6. 請求項に記載の情報処理装置であって、
    前記精度計算部で計算された分類精度と、目標値との差が所定値より大きいか否かを判定する第1判定部と、
    前記処理部は、前記差が前記所定値より大きい場合、前記差が小さくなるよう、前記クラスタリング部がグループ化する前記複数のクラスタの数を変更すること、
    を特徴とする情報処理装置。
  7. 請求項に記載の情報処理装置であって、
    前記計算された分類精度が、前記目標値より高いか否かを判定する第2判定部を備え、
    前記処理部は、
    前記計算された分類精度が前記目標値より低く、かつ、前記差が前記所定値より大きい場合、前記差が小さくなるよう、前記クラスタリング部がグループ化する前記複数のクラ
    スタの数を増加すること、
    を特徴とする情報処理装置。
  8. 請求項に記載の情報処理装置であって、
    前記処理部は、
    前記計算された分類精度が前記目標値より高く、かつ、前記差が前記所定値より大きい場合、前記差が小さくなるよう、前記クラスタリング部がグループ化する前記複数のクラスタの数を減少すること、
    を特徴とする情報処理装置。
  9. 請求項の何れか一項に記載の情報処理装置であって、
    前記処理部は、
    前記分類精度と、前記目標値との差が小さくなるよう、前記クラスタリング部と、前記取得部と、前記学習部と、を繰り返し動作させること、
    を特徴とする情報処理装置。
  10. 請求項1~の何れか一項に記載の情報処理装置であって、
    前記複数のデータのデータサイズが所定値以上であるか否かを判定する第3判定部を含み、
    前記クラスタリング部は、
    前記複数のデータのデータサイズが前記所定値以上でない場合、第1処理を実行して、前記複数のデータを、前記複数のクラスタにグループ化し、前記複数のデータのデータサイズが前記所定値以上である場合、前記第1処理より高速の第2処理を実行して、前記複数のデータを、前記複数のクラスタにグループ化すること、
    を特徴とする情報処理装置。
  11. 複数の属性の何れかに属する複数のデータを、前記複数の属性毎に複数のクラスタにグループ化するクラスタリング部と、前記複数のクラスタの夫々に含まれるデータを、少なくとも一つ取得する取得部と、前記取得部が取得したデータに基づいて、入力データが前記複数の属性の何れに属するかを分類するためのモデルを学習する学習部と、前記複数の属性の何れかに属する複数のテストデータを用いて、前記モデルの分類精度を計算する精度計算部と、前記精度計算部で計算された分類精度が目標値となるように、前記クラスタリング部がグループ化する前記複数のクラスタの数を変更する処理部とを含む第1情報処理装置と、
    前記入力データと、前記モデルとに基づいて、前記入力データを分類する分類部を含む第2情報処理装置と、
    を備えることを特徴とする情報処理システム。
  12. コンピュータが、
    複数の属性の何れかに属する複数のデータを、前記複数の属性毎に複数のクラスタにグループ化するクラスタリング処理と、
    前記複数のクラスタの夫々に含まれるデータを、少なくとも一つ取得する取得処理と、
    前記取得処理にて取得されたデータに基づいて、入力データが前記複数の属性の何れに属するかを分類するためのモデルを学習する学習処理と、
    前記複数の属性の何れかに属する複数のテストデータを用いて、前記モデルの分類精度を計算する精度計算処理と、
    前記精度計算処理において計算された分類精度が目標値となるように、前記クラスタリング処理においてグループ化する前記複数のクラスタの数を変更する処理と
    を実行するモデルの学習方法。
JP2019206965A 2019-06-11 2019-11-15 情報処理装置、情報処理システム、モデルの学習方法 Active JP7439467B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019108637 2019-06-11
JP2019108637 2019-06-11

Publications (2)

Publication Number Publication Date
JP2020205026A JP2020205026A (ja) 2020-12-24
JP7439467B2 true JP7439467B2 (ja) 2024-02-28

Family

ID=73837461

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019206965A Active JP7439467B2 (ja) 2019-06-11 2019-11-15 情報処理装置、情報処理システム、モデルの学習方法

Country Status (1)

Country Link
JP (1) JP7439467B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023042874A1 (ja) * 2021-09-17 2023-03-23 テルモ株式会社 情報処理方法、情報処理装置およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002287803A (ja) 2001-03-27 2002-10-04 Denso Corp 製品の製造プロセスにおける特性調整方法
WO2014104151A1 (ja) 2012-12-28 2014-07-03 富士通株式会社 画像処理装置及び特徴検出方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265998A (ja) * 1992-03-24 1993-10-15 Fuji Electric Co Ltd ニューラルネットワークの学習方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002287803A (ja) 2001-03-27 2002-10-04 Denso Corp 製品の製造プロセスにおける特性調整方法
WO2014104151A1 (ja) 2012-12-28 2014-07-03 富士通株式会社 画像処理装置及び特徴検出方法

Also Published As

Publication number Publication date
JP2020205026A (ja) 2020-12-24

Similar Documents

Publication Publication Date Title
US20200311576A1 (en) Time series data analysis method, time series data analysis apparatus, and non-transitory computer readable medium
JP2008546046A (ja) マハラノビスの距離の遺伝的アルゴリズムの方法及びシステム
JP5854274B2 (ja) 情報処理装置および方法、並びにプログラム
CN108776831A (zh) 一种基于动态卷积神经网络的复杂工业过程数据建模方法
JP6097517B2 (ja) 状態診断方法、および、状態診断装置
JP6708203B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
US10496056B2 (en) Measured value analysis apparatus and measured value analysis method
US20200143904A1 (en) Predicting molecular properties of molecular variants using residue-specific molecular structural features
JP7439467B2 (ja) 情報処理装置、情報処理システム、モデルの学習方法
JP6855826B2 (ja) 判定装置、判定方法および判定プログラム
Ardakani et al. Optimal features selection for designing a fault diagnosis system
JP6930195B2 (ja) モデル同定装置、予測装置、監視システム、モデル同定方法および予測方法
JP6845703B2 (ja) プラント状況情報提示システム及びプラント状況情報提示方法
JP6953812B2 (ja) 異常検出装置及び異常検出システム
JP7500980B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
WO2015163322A1 (ja) データ分析装置、データ分析方法およびプログラム
US20200293555A1 (en) Selection apparatus, selection method and selection program
JP7012928B2 (ja) 状態変動検出装置及び状態変動検出用プログラム
JP7363912B2 (ja) 表示方法、表示プログラム及び情報処理装置
Thomas et al. Extracting knowledge from historical databases for process monitoring using feature extraction and data clustering
JP7435866B2 (ja) 情報処理装置、判定装置、モデルの学習方法
JP7086497B2 (ja) 異常・誤り影響説明変数検出装置及び異常・誤り影響説明変数検出用プログラム
US20190051547A1 (en) Process management method and apparatus
JP7073432B2 (ja) 影響説明変数特定装置、影響説明変数特定方法及び影響説明変数特定用プログラム
JP7343078B1 (ja) 正常ベクトル登録装置、設備異常監視システム、及び設備異常監視方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231129

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240129

R150 Certificate of patent or registration of utility model

Ref document number: 7439467

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150