(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-17
(45)【発行日】2024-05-27
(54)【発明の名称】学習済みオートエンコーダ、学習済みオートエンコーダの生成方法、非定常振動の検出方法、非定常振動の検出装置、並びにコンピュータプログラム
(51)【国際特許分類】
G01H 17/00 20060101AFI20240520BHJP
G01M 99/00 20110101ALI20240520BHJP
G06N 20/00 20190101ALI20240520BHJP
【FI】
G01H17/00 Z
G01M99/00 Z
G06N20/00
(21)【出願番号】P 2020552042
(86)(22)【出願日】2020-09-24
(86)【国際出願番号】 JP2020035989
(87)【国際公開番号】W WO2022064590
(87)【国際公開日】2022-03-31
【審査請求日】2023-07-04
(73)【特許権者】
【識別番号】515060827
【氏名又は名称】SIシナジーテクノロジー株式会社
(74)【代理人】
【識別番号】100108604
【氏名又は名称】村松 義人
(72)【発明者】
【氏名】志村 秀幸
(72)【発明者】
【氏名】和田 亮
【審査官】山口 剛
(56)【参考文献】
【文献】国際公開第2020/031570(WO,A1)
【文献】国際公開第2020/079918(WO,A1)
【文献】特開2019-029701(JP,A)
【文献】特開2020-030111(JP,A)
【文献】中国特許出願公開第110779746(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01H 1/00 - 17/00
G01M 99/00
G06N 20/00 - 20/20
G10L 25/00 - 25/93
(57)【特許請求の範囲】
【請求項1】
所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダを、入力データを、振動に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる振動を含む定常振動についての特定の時間長さ分のデータである定常振動データから生成した当該定常振動データで特定される定常振動の特徴量についてのデータである定常振動特徴量データとし、且つ出力データを推定定常振動特徴量データとし、且つ複数の定常振動特徴量データを入力して、入力データである前記定常振動特徴量データと、当該入力データに対する出力データである前記推定定常振動特徴量データとの差分が最小となるように事前学習させて得られる、学習済みオートエンコーダを記録した第1記録部と、
振動に基づく非定常性の検出が行われている前記対象物から生じる振動を含む測定振動についての特定の時間長さ分のデータである測定振動データを受取る受付部と、
前記受付部が受取った前記測定振動データから、当該測定振動データで特定される測定振動の特徴量についてのデータである測定振動特徴量データを、事前学習で前記定常振動データから前記定常振動特徴量データを生成したと同じ方法で生成する測定振動特徴量データ生成部と、
前記第1記録部に記録された学習済みオートエンコーダを読込み、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データを、前記学習済みオートエンコーダに入力して、前記測定振動特徴量データに対する前記学習済みオートエンコーダからの出力である推定測定振動特徴量データを得る第1演算部と、
前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データと、前記第1演算部で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るとともに、その差分が予め定めた所定の範囲よりも大きい場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定して、非定常振動が発生したことを示す結果データを生成する第2演算部と、
を含んでいる、非定常振動の検出装置
であって、
前記第2演算部は、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データと、前記第1演算部で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るために、両者についての損失関数を生成し、その損失関数に、所定の閾値を超える値が所定の個数以上含まれる場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定するようになっている、
非定常振動の検出装置。
【請求項2】
前記測定振動特徴量データは、前記測定振動データから生成される周波数スペクトログラムである、
請求項
1記載の非定常振動の検出装置。
【請求項3】
前記測定振動は、振動に基づく非定常性の検出が行われている際に生じる音である、
請求項
1記載の非定常振動の検出装置。
【請求項4】
前記測定振動特徴量データは、前記測定振動データから生成されるメル周波数スペクトログラムである、
請求項
3記載の非定常振動の検出装置。
【請求項5】
所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダを、入力データを、振動に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる振動を含む定常振動についての特定の時間長さ分のデータである定常振動データから生成した当該定常振動データで特定される定常振動の特徴量についてのデータである定常振動特徴量データとし、且つ出力データを推定定常振動特徴量データとし、且つ複数の定常振動特徴量データを入力して、入力データである前記定常振動特徴量データと、当該入力データに対する出力データである前記推定定常振動特徴量データとの差分が最小となるように事前学習させて得られる、学習済みオートエンコーダを記録した第1記録部を備えるコンピュータで実行される非定常振動の検出方法であって、いずれもコンピュータが実行する、
振動に基づく非定常性の検出が行われている前記対象物から生じる振動を含む測定振動についての特定の時間長さ分のデータである測定振動データを受取る第1過程と、
前記第1過程で受取った前記測定振動データから、当該測定振動データで特定される測定振動の特徴量についてのデータである測定振動特徴量データを、事前学習で前記定常振動データから前記定常振動特徴量データを生成したと同じ方法で生成する第2過程と、
前記第1記録部に記録された学習済みオートエンコーダを読込み、前記第2過程で生成された前記測定振動特徴量データを、前記学習済みオートエンコーダに入力して、前記測定振動特徴量データに対する前記学習済みオートエンコーダからの出力である推定測定振動特徴量データを得る第3過程と、
前記第2過程で生成された前記測定振動特徴量データと、前記第3過程で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るとともに、その差分が予め定めた所定の範囲よりも大きい場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定し、非定常振動が発生したことを示す結果データを生成する第4過程と、
を含む、非定常振動の検出方法
であって、
前記コンピュータは、前記第4過程において、前記第2過程で生成された前記測定振動特徴量データと、前記第3過程で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るために、両者についての損失関数を生成し、その損失関数に、所定の閾値を超える値が所定の個数以上含まれる場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定する、
非定常振動の検出方法。
【請求項6】
所定のコンピュータを、非定常振動の検出装置として機能させるためのコンピュータプログラムであって、前記コンピュータを、
所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダを、入力データを、
振動に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる
振動を含む
定常振動についての特定の時間長さ分のデータである
定常振動データから生成した当該
定常振動データで特定される
定常振動の特徴量についてのデータである
定常振動特徴量データとし、且つ出力データを
推定定常振動特徴量データとし、且つ複数の
定常振動特徴量データを入力して、入力データである前記
定常振動特徴量データと、当該入力データに対する出力データである前記
推定定常振動特徴量データとの差分が最小となるように事前学習させて得られる、学習済みオートエンコーダを記録した第1記録部と、
振動に基づく非定常性の検出が行われている前記対象物から生じる振動を含む測定振動についての特定の時間長さ分のデータである測定振動データを受取る受付部と、
前記受付部が受取った前記測定振動データから、当該測定振動データで特定される測定振動の特徴量についてのデータである測定振動特徴量データを、事前学習で前記定常振動データから前記定常振動特徴量データを生成したと同じ方法で生成する測定振動特徴量データ生成部と、
前記第1記録部に記録された学習済みオートエンコーダを読込み、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データを、前記学習済みオートエンコーダに入力して、前記測定振動特徴量データに対する前記学習済みオートエンコーダからの出力である推定測定振動特徴量データを得る第1演算部と、
前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データと、前記第1演算部で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るとともに、その差分が予め定めた所定の範囲よりも大きい場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定して、非定常振動が発生したことを示す結果データを生成する第2演算部と、
して機能させるための、コンピュータプログラム
であって、
前記第2演算部は、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データと、前記第1演算部で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るために、両者についての損失関数を生成し、その損失関数に、所定の閾値を超える値が所定の個数以上含まれる場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定するようになっている、
コンピュータプログラム。
【請求項7】
請求項
1記載の非定常振動の検出装置において用いられる閾値を決定する方法であって、
前記学習済みオートエンコーダに、当該学習済みオートエンコーダの学習に用いなかった前記定常振動データから作成した当該定常振動データで特定される定常振動の特徴量についてのデータである前記定常振動特徴量データを入力することで、前記学習済みオートエンコーダからの出力としての前記推定定常振動特徴量データを得るA過程と、
前記A過程で前記学習済みオートエンコーダに入力した前記定常振動特徴量データ、及び当該定常振動特徴量データから前記学習済みオートエンコーダで作られた前記推定定常振動特徴量データとの差分についての損失関数を生成するB過程と、
前記B過程で得られた損失関数の誤差に関する振幅の平均値と分散とに基づいて、前記閾値を決定するC過程と、
を含む、閾値を決定する方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物から生じる音を始めとする振動に基づいて、対象物の非定常性を検出する技術に主に関する。
【背景技術】
【0002】
追って詳しく説明するが、本願発明は、対象物の非定常性を振動(音)に基づいて検出するものである。それに対して、従来技術の殆ど(もしかするとすべてかもしれない)は、振動(音)に基づいて、対象物の異常性を検出するか、或いは対象物が正常性を持っているか異常性を持っているかの判別を行うものである。
【0003】
対象物の非定常性(対象物が非定常状態にあること)を判定するということと、対象物の異常性(或いは正常性と異常性のいずれを持っているか)を判定することとがどのように違うかということについては追って説明するとして、従来の技術について順に説明していくこととする。とりあえず、振動の一例として、空気の振動である音(なお、可聴領域以外の周波数の音も、本願では「音」に含める。)を中心として説明をする。
例えば、対象物が機械であるとする。機械の不具合を音(振動)により検出する、或いは、構造物、設備等の不具合を音(振動)により検出するというアイデア自体は、非破壊検査の手法として古くから存在しており、もはや古典的ともいえる。
故障中の或いは故障が生じる時期が迫っている機械が異音を生じることはよく知られており、その異音によって機械の故障、或いは故障が近いことを検出するというのは、ごく普通の手法である。また、構造物等に好ましくない状況が生じたとき、例えば、壁等にヒビが入ったときには打音検査で生じる音に異音が交じることもよく知られており、その異音の発生によって構造物等に不具合が生じていること、或いは生じかかっていることがわかるということも常識である。
古くはこのような異音の検出は、熟練した人間によって行われていた。
【0004】
ところで、人工知能の発達の目覚ましい近年では、機械の故障や、打音検査時に交じる異音を聞き分ける熟練した人間を、人工知能に置き換えようという動きが当然に発生している。
例えば、対象物が機械の場合を例に取ると、正常な状態の機械の音である正常音のデータを大量にサンプリングするとともに、機械の故障が生じている、或いは近い将来に生じる状態の機械の音である異常音のデータを大量にサンプリングし、それら正常音と異常音のデータの双方を、それらデータにより特定される音が正常音である或いは異常音であるというラベリングを付した上で人工知能に学習させる。そして、学習済みのその人工知能に、対象物(つまり、現在の状態が正常であるか異常であるかの検出或いは判定の対象である機械)が発した音のデータを入力すると、人工知能は、その音のデータにより特定される音が正常音であるか、異常音であるかを判定する。
もちろん、その音が異常音であるという判定がなされたら、その機械が故障中であるか、近い将来に故障が生じるであろうという判定を行うことができる。この判定は、ラベリングの種類に応じて、2段階ではなく、より多くの段階に分けることが可能である。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の如き人工知能を用いた異常音の検出の技術は、熟練した人間の能力を単純に人工知能に置き換えたものであると言える。上述の人工知能は、入力された音のデータが、既に学習した正常音のデータと異常音のデータとのどちらに近いかということに基づいて、入力された音のデータにより特定される音が、正常音であるか異常音であるかを判定する。
【0007】
ところで、人間の脳は、様々な雑音が生じている状況の中でも、自分が聞きたい音のみにフォーカスして、その音のみを聞き分けるという能力を持っている。したがって、例えば、機械が工場の中にあり、周りに作業者が発する足音やざわめきがあったとしても、また、工場の外を走る車の音が工場内に及んでいたり、場合によってはサイレンを鳴らしながら走るパトカーからの音が工場内にまで及んでいたりしていたとしても、熟練した人間は、対象となる機械の音のみを聞き分けることができ、その機械の状態を正確に判断することができる。
しかしながら、人工知能にはそのような便利な能力はない。したがって、人工知能に入力される音は、学習段階の正常音と異常音についても、また、機械の状態を判定するために新たに入力される音についても、そのような環境音(雑音)を含まないものとする必要がある。環境音を含まない機械からの音のみを含む音を得るのは現実的ではない。したがって、上述したような学習済みの人工知能を作るには、或いはその人工知能を運用するには、サンプリングした音から環境音を除去して、状態の判定の対象物である機械から生じる音のみを抽出するため、音データに対してノイズキャンセリングの処理を施す必要がある。ノイズキャンセリングの処理を実現するにはもちろん、手間、コストがかかる。しかも、ノイズキャンセリングの対象となる環境音には様々な種類があるため、ノイズキャンセリングは、理想的にはすべての環境音に対応したものとする必要がある。そのような理想的な処理を行うには、どのような種類の環境音をノイズキャンセリングの対象にするかの特定と、それぞれの環境音に対するノイズキャンセリングの技術を確立する必要があるから、その手間とコストは膨大である。また、予期せぬ環境音が生じた場合にはそもそもノイズキャンセリングが効果を生じないことすらある。
【0008】
また、上述した人工知能では、上述したように、その学習に、非常に多くの正常音と異常音のデータを必要とするが、それは、学習済みの人工知能を作るために非常に手間とコストがかかることを意味する。
判定の対象物が機械の場合であれば、機械が正常であることを確認した上で、正常な状態の機械が生じる音である正常音のデータを大量にサンプリングするとともに、機械が異常であることを確認した上で、これも大量の異常音のデータをサンプリングしなければならない。正常、異常の2段階だけではなく、例えば、異常の段階を軽度から重度にまで多段階に分けるのであれば、サンプリングしなければならないデータの数は益々増える。
加えて、サンプリングした音のデータには、人工知能に学習させるために正しくラベリングをしなければならない。これもまた、手間、コストを上昇させる。
しかしながら、上述した学習済み人工知能を得るためには、これらの手間、コストは不可避である。
【0009】
本願発明は、環境音があっても正確に機能する、対象物の非定常性を検出するための学習済み人工知能を提供すること、また、そのような学習済み人工知能を得るためにかかる手間、コストを従来よりも抑えるための技術を提供することを主たる目的とする。
また、そのような学習済み人工知能を用いて、対象物の非定常性を環境音があっても正確に検出するための技術を提供することも、本願発明は併せて目的とする。
【課題を解決するための手段】
【0010】
本願発明の具体的な説明に入る前に、本願発明のコンセプトについて概略的に説明する。
まず、本願における「非定常性」という言葉の定義についてである。本願における「非定常性(或いは非定常な状態)」とは、後述するようにして事前学習を行った際に対象物から生じていた振動(音)以外の振動(音)が、対象物から生じている状態を意味する。つまり、本願発明では、定常な状態で生じている振動(音)を、後述するオートエンコーダに学習させる。擬人化されたオートエンコーダからの視点でいえば、学習したことのある振動(音)のみが生じている状態が定常な状態であり、学習したことのない振動(音)が生じている状態が非定常な状態である。
【0011】
ここでも、音を、振動の一例として取り上げる。
例えば、ある機械が対象物だとする。その機械が正常に稼働しているときにその機械が発している音を含む音(周囲の音、つまり雑音というべき環境音をも含む音)が定常時に生じている音だとすると、その機械に故障その他の不具合が生じている(或いは近い将来に不具合が生じる状態になっている)場合において、その機械が異音を発しているとすれば、異音を含む音が生じているその状態は、非定常の状態である。つまり、この例の場合であれば、対象物の非定常性を検出することができれば、機械に不具合が生じていること、或いは近い将来に不具合が生じることの検出を行えることになる。
また、ある構造物、例えば、橋梁が対象物であるとする。橋梁に問題が生じていないときに、打音検査を行うためにハンマーで叩かれた橋梁が発する音を含む音(更に環境音を含む音)が定常時に生じている音だとすると、その橋梁にヒビなどの不具合が生じている(或いは近い将来に不具合が生じる状態になっている)場合において、叩かれた橋梁が異音を発したとすれば、異音を含む音が生じているその状態は、非定常の状態である。つまり、この例の場合であれば、対象物の非定常性を検出することができれば、橋梁に不具合が生じていること、或いは近い将来に不具合が生じることの検出を行えることになる。
また、会議中のある会議室が対象物であるとする。普通の状態で会議が行われているときに、会議の出席者が発言している声や椅子を引く音が定常時に生じている音だとすると、例えばなかなか無いことではあるだろうが、会議中に出席者同士の喧嘩が生じたときに出席者が奇声を上げたり、何かが壊れる音が生じる等して異音が生じたとすれば、異音が含まれる音が生じているその状態は非定常の状態である。つまり、この例の場合であれば、対象物の非定常性を検出することができれば、会議が正常に行われていないことの検出を行えることになる。対象物を街角にすれば、その街角で大きな事件や事故が生じたことの検出を行える場合もあるであろう。
【0012】
つまり、対象物から生じる定常時の音である定常音のデータを、環境音を含んだ音のデータのまま人工知能に機械学習させておけば、対象物の状態を判定する際に必要な音である測定音のデータも、環境音を含んだ音のデータのままで良いということになる。つまり、人工知能に事前の学習を行わせるときに必要な音のデータを準備するときにおいても、測定音のデータを作るときにもノイズキャンセリングを行わなくて良くなるから、環境音を含んだ測定音のデータをそのまま用いたとしても、人工知能は正確な判定を行える可能性がある。
しかも、定常音のデータを得る際も、測定音のデータを得る際もノイズキャンセリングの処理を行わないで良いとすれば、そのための手間もコストも省けるし、更には学習済みの人工知能を得るために必要なデータが定常音のデータのみであるとするのであれば、定常音のデータと異常音のデータとを個別に集め、しかもラベリングを行うのに比べれば、それに要する手間とコストを従来よりも格段に抑制することができる。
加えて、上述のようにして定常音のデータに基づいて作られた学習済み人工知能は、上述した機械や、構造物、設備等の従来の音による異常検出の対象物であったもの以外の、上述した会議室や街角における非定常性の検出或いは判定も行えるようになる可能性がある。
とはいえ、定常音のデータのみを使って学習を行った学習済み人工知能が、定常時ではない非定常時を正しく検出するためには、従前の人工知能で用いられていたのとは異なる手法、或いはアルゴリズムが必要となる。
本願発明は、上述の如きコンセプトを実現するために本願発明者が行った研究開発の成果として生まれた、そのような手法、アルゴリズムに関するものである。
【0013】
本願発明者は、本願発明の一態様として、以下のような学習済みオートエンコーダを提案する。この学習済みオートエンコーダは、本願発明における人工知能の中核をなすものである。
本願発明における学習済みオートエンコーダは、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダから作られる。このようなオートエンコーダは、人工知能の分野では公知或いは周知であり、教師データ有りの人工知能の学習にも幾らか使われているが、教師データ無しの人工知能の学習に広く使われている。
本願発明における学習済みオートエンコーダは、そのようなオートエンコーダに基づいて生成されるものであって、入力データを、振動に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる振動を含む定常振動についての特定の時間長さ分のデータである定常振動データから生成した当該定常振動データで特定される定常振動の特徴量についてのデータである定常振動特徴量データとし、且つ出力データを推定定常振動特徴量データとし、且つ複数の定常振動特徴量データを入力して、入力データである前記定常振動特徴量データと、当該入力データに対する出力データである前記推定定常振動特徴量データとの差分が最小となるように事前学習させて得られる、学習済みオートエンコーダである。
【0014】
この学習済みオートエンコーダを生成する場合に学習中のオートエンコーダに入力される情報は、振動に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる振動を含む定常振動についての特定の時間長さ分のデータである定常振動データではなく、当該定常振動データから生成した、当該定常振動データで特定される定常振動の特徴量についてのデータである定常振動特徴量データである。平たく言うと、オートエンコーダには、定常状態にある対象物が生じている振動の特徴量と、環境振動とも言える周囲の振動をも含む振動の特徴量についてのデータが入力されることになる。定常振動特徴量データは、例えば、定常振動データから生成される周波数スペクトログラムである。振動の一例は、空気の振動である音である。したがって、定常振動は、定常時に生じる音であってもよい。その場合、定常振動特徴量データは、定常振動データから生成されるメル周波数スペクトログラムであってもよい。
このオートエンコーダの出力は、推定定常振動特徴量データである。そして、このオートエンコーダは、何度も入力と出力を繰り返すことにより、入力としての定常振動特徴量データと、出力としての推定定常振動特徴量データとが、なるべく同一に近くなるように学習させられることになる。本願発明の学習済みオートエンコーダは、あるデータをエンコードしてからデコードした場合に、入出力のデータがなるべく同一に近くなるように学習させられるのであるが、その学習の対象は、定常振動データから作られた、定常振動の特徴のデータである。つまり、本願発明による学習済みオートエンコーダは、入力されるデータが定常振動特徴量データである場合において、入出力のデータが同一に近くなるようにチューニングされたものであると言え、雑にいうなら、定常状態に発生している振動(音)に関するデータなら、入力されるデータと出力されるデータとを、殆ど同じものとすることができるオートエンコーダであるといえる。もっというなら、本願の学習済みオートエンコーダは、定常状態に発生する振動(音)専用にチューニングさせられた、入出力を略同一とするためのオートエンコーダであるといえる。
このような学習済みオートエンコーダを使うと、後述するように、振動或いは音により、対象物の状態が定常状態にあるか、非定常状態にあるかを判定できるようになり、非定常状態の検出を行えるようになる。
この学習済みオートエンコーダの利用方法は追って説明するが、この学習済みオートエンコーダを生成する手間、コストは少なくとも従来技術で必要な機械学習の場合より抑制される。なぜなら、学習済みオートエンコーダを生成するために必要なデータは、定常状態のデータだけであり、非定常状態(例えば異常が発生してる状態)のデータは不要であり、また、入力されるデータが一種類のみであるから、ラベリングも不要であるからである。しかも、一般的に、対象物が定常状態である時間は、非定常状態である時間よりも長いので、対象物が定常状態であるときの振動や音のデータは、収集が簡単である。
学習中のオートエンコーダにおいて、定常振動特徴量データと、当該入力データに対する出力データである推定定常振動特徴量データとの差分が最小となるようにするための手法には、どのようなものを採用しても良い。オートエンコーダの公知、或いは周知の学習方法の中に、入力と出力との差を最小限にする手法も存在している。たとえば、前記定常振動特徴量データと、当該入力データに対する出力データである前記推定定常振動特徴量データとの差分が最小となるようにするため、前記定常振動特徴量データと、当該入力データに対する出力データである前記推定定常振動特徴量データとの差分についての損失関数を生成し、生成した前記損失関数が最小となるようにしてもよい。これによれば、損失関数の選択や設計の少なくとも一方を適切に行うことにより、定常振動特徴量データと当該入力データをオートエンコーダに入力したときの出力データである推定定常振動特徴量データとの差分として抽出したい特性(例えば、突発的な差分変化がある場合を抽出したい場合、或いは全体的な特徴量データの傾向の違いを抽出したい場合等の特性)に応じた所望の差分を抽出できるようになるという効果を得られる。損失関数は、複数種類のものが公知或いは周知であり、それらの中から適用可能なものを適宜選択して用いることができるし、実際の利用の際には更に選択した損失関数の調整を行うことも公知或いは周知技術によって可能である。
【0015】
本願発明者は、上述した学習済みオートエンコーダを生成する方法も、本願発明の一態様として提案する。この方法の効果は、上述した学習済みオートエンコーダの効果と同様である。
一例となるその方法は、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダを、学習済みオートエンコーダにする方法であって、入力データを、振動に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる振動である定常振動についての特定の時間長さ分のデータである定常振動データから生成した当該定常振動データで特定される定常振動の特徴量についてのデータである定常振動特徴量データとし、且つ出力データを推定定常振動特徴量データとし、複数の定常振動特徴量データを入力して、入力データである前記定常振動特徴量データと、当該入力データに対する出力データである前記推定定常振動特徴量データとの差分が最小となるように事前学習させる、方法である。
この方法では、前記定常振動特徴量データと、当該入力データに対する出力データである前記推定定常振動特徴量データとの差分が最小となるようにするために、前記定常振動特徴量データと、当該入力データに対する出力データである前記推定定常振動特徴量データとの差分についての損失関数を生成し、生成した前記損失関数が最小となるようにしてもよい。
【0016】
本願発明者はまた、上述した学習済みオートエンコーダを利用した非定常振動の検出装置をも、本願発明の一態様として提案する。
一例となるその非定常振動の検出装置(以下、単に「検出装置」と呼ぶ場合がある。)は、上述した本願発明による学習済みオートエンコーダを記録した第1記録部と、振動に基づく非定常性の検出が行われている前記対象物から生じる振動を含む測定振動についての特定の時間長さ分のデータである測定振動データを受取る受付部と、前記受付部が受取った前記測定振動データから、当該測定振動データで特定される測定振動の特徴量についてのデータである測定振動特徴量データを、事前学習で前記定常振動データから前記定常振動特徴量データを生成したと同じ方法で生成する測定振動特徴量データ生成部と、前記第1記録部に記録された学習済みオートエンコーダを読込み、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データを、前記学習済みオートエンコーダに入力して、前記測定振動特徴量データに対する前記学習済みオートエンコーダからの出力である推定測定振動特徴量データを得る第1演算部と、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データと、前記第1演算部で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るとともに、その差分が予め定めた所定の範囲よりも大きい場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定して、非定常振動が発生したことを示す結果データを生成する第2演算部と、を含んでいる、非定常振動の検出装置である。
【0017】
この非定常振動の検出装置は、上述した学習済みオートエンコーダを記録した第1記録部を備えている。第1記録部に記録された学習済みオートエンコーダは、後述するようにして用いられる。
この検出装置は、学習済みオートエンコーダに入力するデータの元となるデータを受付ける受付部を備えている。受付部が受付けるデータは測定振動データであり、それは、振動に基づく非定常性の検出が行われている前記対象物から生じる振動を含む測定振動についての特定の時間長さ分のデータである。つまり、対象物から生じる振動を含む測定振動に基づいて、この検出装置は、非定常振動を検出する。
この検出装置は、測定振動特徴量データ生成部を備える。測定振動特徴量データ生成部は、受付部が受取った測定振動データから、当該測定振動データで特定される測定振動の特徴量についてのデータである測定振動特徴量データを生成するものである。測定振動データは、事前学習の段階で用いられた定常振動データと、データの形式、種類が同じものであり、測定振動特徴量データは、事前学習の段階で定常振動データから定常振動特徴量データを生成したときに用いられた方法と同じ方法で生成される。測定振動特徴量データは、学習済みオートエンコーダへの入力となるが、測定振動特徴量データも、学習済みオートエンコーダの学習のために学習中のオートエンコーダに入力された定常振動特徴量データも、振動についてのデータであるから、両者のデータの形式或いは種類は同じものとなる。
なお、測定振動特徴量データは、測定振動データから生成される周波数スペクトログラムであっても良い。上述したように、定常振動特徴量データは定常振動データから作られる周波数スペクトログラムである場合もあるが、その場合においては、測定振動特徴量データは、測定振動データから作られる周波数スペクトログラムとなる。測定振動特徴量データは、振動に基づく非定常性の検出が行われている際に生じる音、つまりその際に対象物から生じる音を含む音についてのデータであっても良い。その場合において、測定振動特徴量データは、測定振動データから生成されるメル周波数スペクトログラムであっても良い。上述したように、定常振動データが音のデータである場合、定常振動特徴量データは定常振動データから作られるメル周波数スペクトログラムである場合もあるが、その場合においては、測定振動特徴量データは、音についてのデータである測定振動データから作られるメル周波数スペクトログラムとなる。
【0018】
そして、この非定常振動の検出装置は、第1演算部を備えている。第1演算部は、第1記録部に記録された学習済みオートエンコーダを読込み、学習済みオートエンコーダを機能させる。第1演算部は、第1演算部から読み込んだ学習済みオートエンコーダに、測定振動特徴量データ生成部で生成された測定振動特徴量データを入力し、その出力としての推定測定振動特徴量データを得るようになっている。
学習済みオートエンコーダは、既に述べたように、定常振動の特徴についてのデータ(学習中であれば、定常振動特徴量データ)が入力されたときには、それと同一に近い推定定常振動特徴量データを出力するようにチューニングされている。したがって、測定振動特徴量データの元になった測定振動データで特定される測定振動が定常振動(定常状態にある対象物からの振動を含む振動)である場合には、学習済みオートエンコーダが出力する推定定常振動特徴量データは、その推定定常振動特徴量データの元となった定常振動特徴量データと殆ど同じものとなっている。この結論は、測定振動特徴量データの元となった測定振動データで特定される測定振動に、環境振動(音の場合であれば環境音)が含まれている場合であっても変わらない。なぜなら、測定振動に環境振動が含まれる場合があるのと同様に、学習の過程で学習済みオートエンコーダに入力された定常振動特徴量データの元となった定常振動データで特定される定常振動にも、環境振動が含まれ得るのであるから、測定振動特徴量データの中に含まれる環境振動由来の成分は、学習済みオートエンコーダから見れば、既に学習した、定常振動由来の成分と見做すことができるので、定常振動から外れた成分と把握されることがないからである。
他方、第1演算部で用いられる学習済みオートエンコーダは、入力が定常振動に関するデータのときのみ、入力と出力が略一致するようにチューニングされている。言い換えれば、上述の学習済みオートエンコーダは、入力と出力が略一致するという機能を発揮できるのが、対象物が定常状態にあるとき、或いは定常状態にある対象物からの振動を含む定常振動が入力されたときだけの、定常状態、或いは定常振動に特化して学習が行われた、定常状態、或いは定常振動専用のオートエンコーダであるといえる。したがって、測定振動特徴量データの元になった測定振動データで特定される測定振動が非定常状態にある対象物からの振動を含む非定常振動である場合には、学習済みオートエンコーダは対象物が定常状態であるときと同様には機能しない(言ってみれば、予定されたようには機能せず、或いは、雑な表現であることを承知でいうと誤作動する)。したがって、この場合において学習済みオートエンコーダが出力する推定定常振動特徴量データは、その推定定常振動特徴量データの元となった定常振動特徴量データと有意に異なるものとなる。そして、この結論も、既に述べた理由により、測定振動に環境振動が含まれている場合であっても変わらない。
この検出装置は、第2演算部を含んでいる。第2演算部は、第1演算部との協働により、或いは、測定振動特徴量データ生成部及び第1演算部との協働により、外部から受取った測定振動データに基づいて、対象物が非定常状態にあることを検出する人工知能として機能する。
第2演算部は、測定振動特徴量データ生成部で生成された測定振動特徴量データと、第1演算部で生成された当該測定振動特徴量データから作られた推定測定振動特徴量データとの差分を取るとともに、その差分が予め定めた所定の範囲よりも大きい場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定して、非定常振動が発生したことを示す結果データを生成するものである。平たく言うと、第2演算部は、第1演算部において学習済みオートエンコーダへの入力と出力の差分を取り、その差分に応じて、入力としての測定振動特徴量データの元となった測定振動データが、非定常状態にある対象物からの振動を含む非定常振動であるか否か、或いは対象物が非定常状態にあるのか否かを判定するという機能を有する。検出装置における差分を取るために実行される方法は、学習済みエンコーダの事前学習の際に、定常振動特徴量データと推定定常振動特徴量データとの差分を取るために実行された方法と同じとする。上述したように、測定振動データが定常振動である場合においては、学習済みオートエンコーダに対する入力としての測定振動特徴量データと学習済みオートエンコーダからの出力としての推定測定振動特徴量データとは略一致し、測定振動データが非定常振動である場合においては、学習済みオートエンコーダに対する入力としての測定振動特徴量データと学習済みオートエンコーダからの出力としての推定測定振動特徴量データとは有意に異なるものとなる。
この性質を利用すれば、第2演算部は、両者の差分を抽出することによって、検出装置が受付けた測定振動データで特定される測定振動に含まれる振動を発した対象物が、定常状態にあるのか非定常状態にあるのか否かを判定することが可能となり、ひいては対象物が非定常状態にあることを示すデータである結果データを生成することが可能となる。第2演算部は、結果データを生成したら、それを検出装置内の記録媒体に記録する等して利用しても良いし、検出装置外に出力しても良い。
対象物が非定常状態にあることを示すデータである結果データは、どのように利用されても構わない。例えば、結果データが生成されたら、検出装置、或いは検出装置から結果データを受取った所定の他の装置は、対象物が非定常状態にあるという事実を検出装置のユーザに知らせるための適当な動作を実行しても良い。例えば、検出装置や他の装置は、電子メールその他のメッセージで、所定のユーザに上記事実が発生したことを通知しても良いし、上記事実が発生したことを、検出装置や他の装置に接続されたディスプレイに表示したり、パトランプを鳴動させる等、ユーザが五感のいずかによって検出可能な方法でユーザに通知するといったことが可能である。
また、多数の結果データを時系列で、例えば、タイムスタンプとともに検出装置内外の記録媒体に記録することにより、蓄積された結果データの傾向から、対象物の状態が将来どう変わるかを予測することや、また、過去に対象物の状態がどのような経緯を辿ったかの検証が可能となる。
【0019】
以上の説明から明らかなように、この出願による非定常振動の検出装置によれば、測定振動データが環境振動を含む場合であっても、対象物が非定常状態にあることを検出することができる。この検出装置は、測定振動データに対してノイズキャンセリングの技術を適用する必要がない。
それは、環境振動まで含めて学習させることによって作られた上述した学習済みオートエンコーダと、従来とはまったく異なる機序で機能する、第1演算部、第2演算部(及び測定振動特徴量データ生成部)からなる人工知能との組合せによって達成される。従来の人工知能は、学習済みの定常振動(定常音)と測定された測定振動(測定音)との対比という熟練した人間が行うのと同様の機序で機能していたが、本願発明の人工知能は、環境振動(環境音)まで含めて予め学習を行わせた学習済みオートエンコーダに入力されたデータと学習済みオートエンコーダから出力された2つのデータを比較し、乱暴な言い方をすれば、対象物が非定常状態にある場合においては学習済みオートエンコーダを誤作動させることによって、対象物が非定常状態にあることを検出するという機序を採用する。この新たな機序を採用したことにより、本願発明の非定常振動の検出装置によれば、環境振動を含んだ振動のデータである測定振動データが入力される場合であっても、対象物が非定常状態にあるということを正しく検出することができるようになる。
それのみならず、上述の新たな機序を採用したことにより、本願の検出装置は、対象物が機械であるときの機械の異常の検出や、対象物が橋梁であるときの橋梁におけるヒビの発生の検出といった従来の用途に加えて、そもそもが喧騒の中にある対象物、例えば、会議室や街角における不規則な状況の発生をも、非定常状態として検出できるものとなる。
例えていうなら、この検出装置は、いつもの振動(学習済みオートエンコーダが既に学習したことのある振動)とは異なる振動、或いは、いつもの音(学習済みオートエンコーダが既に学習したことのある音)とは異なる音を検出するものとなる。したがって、この検出装置は、いつもの振動やいつもの音を発する物を対象物として自由に選択できるので、言葉を変えれば対象物を選ばないので、従前では対象物とならなかったものまで、振動又は音によって非定常性を検出する対象とすることができるのである。
【0020】
本願発明の検出装置における第2演算部は、上述したように、測定振動特徴量データ生成部で生成された測定振動特徴量データと、第1演算部で生成された当該測定振動特徴量データから作られた推定測定振動特徴量データとの差分を取る。この際に、どうやってその差分を検出するかは、適宜決定することができる。
例えば、前記第2演算部は、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データと、前記第1演算部で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るために、両者についての損失関数を生成し、その損失関数に、所定の閾値を超える値が所定の個数以上含まれる場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定するようになっていてもよい。
このようにすることにより、第2演算部は、閾値を超える損失関数中の値の数を数えるだけで、対象物からの振動に非定常振動が含まれるかどうかを、つまり対象物が非定常状態にあるかどうかを検出することができるようになる。
加えて、上述の如き閾値を用いることには以下の利点もある。従来の人工知能の場合、基本的には、人工知能から出力される値の種類は、人工知能に事前学習させたデータの種類に依存する。例えば、人工知能が出力する対象物から生じる異音の段階が、正常、普通、悪い、最悪の4段階であれば、人工知能に事前学習させるデータの種類は、上記4段階に則ったものとし、且つ各データに則ったラベリングがなされたものでなければならない。しかしながら、第2演算部が上述の如き閾値を用いるのであれば、本願発明の学習済みオートエンコーダに学習させたデータが定常状態のデータのみであったとしても、上述の閾値を変更するだけで、同一の損失関数から、異なる判定結果を得ることが可能となる。これは、学習済みオートエンコーダにおける事前学習を複雑化しなくても、上述の例であれば、4段階の判定を行うことができる、ということを意味する。この効果を得るためには、言うまでもないが、本願発明における検出装置では、第2演算部で用いる閾値を変更することが可能である。かかる閾値の変更は、例えば、検出装置に接続された所定の入力装置(キーボード、マウス等)からの入力によって行うことができる。また、閾値の変更は、予め定められた規則にしたがって、検出装置自体が自動的に行うことも可能である。
【0021】
本願発明者は、本願発明における学習済みオートエンコーダを応用した非定常振動の検出方法をも、本願発明の一態様として提案する。この方法の効果は、本願発明による非定常振動の検出装置の効果と同様である。
一例となるその方法は、以上で説明した学習済みオートエンコーダを記録した第1記録部を備えるコンピュータで実行される非定常振動の検出方法であって、いずれもコンピュータが実行する、以下の過程を含む。
その過程は、振動に基づく非定常性の検出が行われている前記対象物から生じる振動を含む測定振動についての特定の時間長さ分のデータである測定振動データを受取る第1過程と、前記第1過程で受取った前記測定振動データから、当該測定振動データで特定される測定振動の特徴量についてのデータである測定振動特徴量データを、事前学習で前記定常振動データから前記定常振動特徴量データを生成したと同じ方法で生成する第2過程と、前記第1記録部に記録された学習済みオートエンコーダを読込み、前記第2過程で生成された前記測定振動特徴量データを、前記学習済みオートエンコーダに入力して、前記測定振動特徴量データに対する前記学習済みオートエンコーダからの出力である推定測定振動特徴量データを得る第3過程と、前記第2過程で生成された前記測定振動特徴量データと、前記第3過程で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るとともに、その差分が予め定めた所定の範囲よりも大きい場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定し、非定常振動が発生したことを示す結果データを生成する第4過程と、である。
【0022】
本願発明者は、本願発明における学習済みオートエンコーダを応用した非定常振動の検出装置として、所定のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。この方法の効果は、本願発明による非定常振動の検出装置の効果と同様であり、また、汎用のコンピュータを本願発明による非定常振動の検出装置として機能させられることもその効果である。
一例となるコンピュータプログラムは、所定のコンピュータを、非定常振動の検出装置として機能させるためのコンピュータプログラムである。
このコンピュータプログラムは、前記コンピュータを、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダを、入力データを、音振動に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる音振動を含む定常音振動についての特定の時間長さ分のデータである定常音振動データから生成した当該定常音振動データで特定される定常音振動の特徴量についてのデータである定常音振動特徴量データとし、且つ出力データを推定定常音振動特徴量データとし、且つ複数の定常音振動特徴量データを入力して、入力データである前記定常音振動特徴量データと、当該入力データに対する出力データである前記推定定常音振動特徴量データとの差分が最小となるように事前学習させて得られる、学習済みオートエンコーダを記録した第1記録部と、振動に基づく非定常性の検出が行われている前記対象物から生じる振動を含む測定振動についての特定の時間長さ分のデータである測定振動データを受取る受付部と、前記受付部が受取った前記測定振動データから、当該測定振動データで特定される測定振動の特徴量についてのデータである測定振動特徴量データを、事前学習で前記定常振動データから前記定常振動特徴量データを生成したと同じ方法で生成する測定振動特徴量データ生成部と、前記第1記録部に記録された学習済みオートエンコーダを読込み、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データを、前記学習済みオートエンコーダに入力して、前記測定振動特徴量データに対する前記学習済みオートエンコーダからの出力である推定測定振動特徴量データを得る第1演算部と、前記測定振動特徴量データ生成部で生成された前記測定振動特徴量データと、前記第1演算部で生成された当該測定振動特徴量データから作られた前記推定測定振動特徴量データとの差分を取るとともに、その差分が予め定めた所定の範囲よりも大きい場合に、当該測定振動特徴量データの元となった測定振動データにより特定される測定振動が、非定常振動であると判定して、非定常振動が発生したことを示す結果データを生成する第2演算部と、して機能させるための、コンピュータプログラムである。
【0023】
上述したように、第2演算部は、損失関数と、閾値とを用いて、測定振動特徴量データの元となった測定振動データにより特定される測定振動に、非定常振動が含まれているか否かの判定を行う場合がある。この場合、閾値をどのように決定するのかが問題となる。もちろん、手動でこの閾値を決定することも可能である。
或いは、閾値は以下の方法によって検出することができる。
一例となるその方法は、損失関数と、閾値とを用いて、測定振動特徴量データの元となった測定振動データにより特定される測定振動に、非定常振動が含まれているか否かの判定を行う第2演算部を備える本願発明による非定常振動の検出装置において用いられる閾値を決定する方法であって、前記学習済みオートエンコーダに、当該学習済みオートエンコーダの学習に用いなかった前記定常振動データから作成した当該定常振動データで特定される定常振動の特徴量についてのデータである前記定常振動特徴量データを入力することで、前記学習済みオートエンコーダからの出力としての前記推定定常振動特徴量データを得るA過程と、前記A過程で前記学習済みオートエンコーダに入力した前記定常振動特徴量データ、及び当該定常振動特徴量データから前記学習済みオートエンコーダで作られた前記推定定常振動特徴量データとの差分についての損失関数を生成するB過程と、前記B過程で得られた損失関数の誤差に関する振幅の平均値と分散とに基づいて、前記閾値を決定するC過程と、を含む方法である。
A過程では、学習済みオートエンコーダに、当該学習済みオートエンコーダの学習に用いなかった定常振動データから作成した当該定常振動データで特定される定常振動の特徴量についてのデータである定常振動特徴量データを入力する。そうすると、学習済みオートエンコーダは既に説明したように、推定定常振動特徴量データを出力する。
そして、B過程では、学習済みオートエンコーダに入力した定常振動特徴量データ、及び定常振動特徴量データから作られた推定定常振動特徴量データとの差分についての損失関数を生成する。
C過程では、B過程で得られた損失関数の誤差に関する振幅の平均値と分散とに基づいて、閾値を決定する。
損失関数は、定常振動特徴量データの時間的な長さ(これは定常振動データの時間的な長さに等しい)に応じた時間的長さの、時間を横軸とし、誤差の大きさを縦軸とした関数とすることができる。そのような損失関数における誤差の大きさの平均を縦軸の中心とし、また、横軸を時間として損失関数のグラフを描画したことを想定した場合における、そのグラフの振れ幅と分散とを用いれば、閾値を超える誤差を誤差の数の何%まで許容することにするかということに基づいて、誤差を真に誤差とカウントするのか(どの程度の誤差までは誤差でないとすることができるのか)ということを決定する閾値を、自動的にそしてある程度客観的に決定できるようになる。学習済みオートエンコーダの事前の学習に用いていない定常振動特徴量データを用いるのは、事前の学習に用いていない定常振動について、改めて閾値を決定することで、閾値の客観性を増すためである。なお、分散の2乗である標準偏差と損失関数の平均値とを用いて閾値を求めても、それは、分散と損失関数の平均値とを用いて閾値を求めることと等価である。
【図面の簡単な説明】
【0024】
【
図1】第1実施形態による学習装置の全体構成を概略で示す斜視図。
【
図2】
図1に示した学習装置に含まれるコンピュータ装置のハードウェア構成を示す図。
【
図3】
図2に示したコンピュータ装置の内部に生成される機能ブロックを示すブロック図。
【
図4】
図2に示したコンピュータ装置に含まれるオートエンコーダの構成を概念的に示す図。
【
図5】
図3に示した損失関数生成部で生成される損失関数の一例を概念的に示す図。
【
図6】第1実施形態の検出装置に含まれるコンピュータ装置の内部に生成される機能ブロックを示すブロック図。
【
図7】
図6に示された損失関数生成部で、対象物が定常状態にある場合に生成される損失関数の一例を概念的に示す図。
【
図8】
図6に示された損失関数生成部で、対象物が非定常状態にある場合に生成される損失関数の一例を概念的に示す図。
【
図9】試験例1において、閾値を決定する際に作られた損失関数の一例を概念的に示す図。
【
図10】試験例1において、レベル2の切削音を含む音の音データのファイルを検出装置のコンピュータ装置に入力した場合に作られた損失関数の一例を概念的に示す図。
【
図11】試験例1において、レベル3の切削音を含む音の音データのファイルを検出装置のコンピュータ装置に入力した場合に作られた損失関数の一例を概念的に示す図。
【
図12】試験例1において、レベル4の切削音を含む音の音データのファイルを検出装置のコンピュータ装置に入力した場合に作られた損失関数の一例を概念的に示す図。
【
図13】試験例1において、レベル5の切削音を含む音の音データのファイルを検出装置のコンピュータ装置に入力した場合に作られた損失関数の一例を概念的に示す図。
【
図14】試験例2において、定常音のデータのファイルを学習装置のコンピュータ装置に入力した場合に作られた損失関数の一例を概念的に示す図。
【
図15】試験例2において、サンプル1の音データのファイルを検出装置のコンピュータ装置に入力した場合に作られた損失関数の一例を概念的に示す図。
【
図16】試験例2において、サンプル2の音データのファイルを検出装置のコンピュータ装置に入力した場合に作られた損失関数の一例を概念的に示す図。
【発明を実施するための形態】
【0025】
以下、図面を参照しつつ本発明の好ましい第1及び第2実施形態について説明する。また、追って、第1実施形態における検出装置を用いて行った試験例についても説明する。
両実施形態の説明において、同一の対象には同一の符号を付すものとし、重複する説明は場合により省略するものとする。また、特に矛盾しない限りにおいて、各実施形態に記載の技術内容は相互に組み合せることができるものとする。
【0026】
≪第1実施形態≫
第1実施形態では、非定常振動の検出装置(以下、単に「検出装置」と称する場合がある。)について説明する。
非定常振動の検出装置は、後述するように、学習済みオートエンコーダを含んでいる。したがって、非定常振動の検出装置を得るにはまず、学習済みオートエンコーダを得る必要がある。この実施形態では、学習済みオートエンコーダを得るために必要な装置を、便宜上学習装置と称することとする。
また、この実施形態における非定常振動の検出装置は、必ずしもそうする必要はないが、非定常振動を検出する際に、後述する閾値を用いる。そして、この実施形態においては、閾値は、学習済みオートエンコーダを得るために用いられる上述した学習装置で生成される。もっとも、閾値は、学習装置ではなく、検出装置で生成されても良いし、学習装置でも、検出装置でもない他の装置で生成されても構わない。
【0027】
上述したように、非定常振動の検出装置を成立させるには、検出装置に加え、学習装置と、場合によっては、検出装置及び学習装置とは別の、閾値を決定するための他の装置が必要となる。しかしながら、最大で3つ必要となる検出装置と、学習装置と、他の装置とは、必要なハードウェア構成は同じとすることができるので、それらにインストールするコンピュータプログラムを適宜なものとすることにより、1つの装置にまとめることが可能である。したがって、当然に、上述とした最大で3つ必要となる検出装置と、学習装置と、他の装置とのうちの任意の2つは、1つの装置にまとめることが可能である。
既に述べたように、この実施形態では、学習装置で閾値を決定することとしている。これは、言い換えれば、学習装置と他の装置とを1つの装置としてまとめた態様について例示するものであるといえる。
【0028】
検出装置、学習装置はともに、コンピュータ装置を含んでいる。検出装置と学習装置とに含まれるコンピュータ装置は同じとすることができ、この実施形態では同じである。また、検出装置、学習装置はともに、コンピュータ装置に接続される周辺機器を備えている。それら周辺機器も検出装置と学習装置とで同じとすることができ、これには限られないが、この実施形態ではそうすることとしている。
【0029】
<学習装置について>
ハードウェア的に見れば検出装置の構成も同じであるが、取り敢えず、学習装置のハードウェア構成を
図1に示す。学習装置は、コンピュータ装置と周辺機器を含むが、
図1にはそれらが示されている。
【0030】
図中100がコンピュータ装置である。コンピュータ装置100には、ディスプレイ101と入力装置102とが接続されている。また、コンピュータ装置100には、後述するように、マイクロフォン103が接続されている。
ディスプレイ101は、静止画像又は動画像を表示するためのものであり、公知、或いは周知のものを用いることができる。この実施形態におけるディスプレイ101は、静止画像と動画像の双方を表示できるものとされるが、別にこれは必須ではない。ディスプレイ101は公知、或いは周知のものでよく、市販品で足り、例えば、液晶ディスプレイである。この実施形態におけるディスプレイ101は、コンピュータ装置100に対してケーブルによって有線で接続されているが、コンピュータ装置100と無線で接続されていてもよい。かかるコンピュータ装置100とディスプレイ101との接続のために用いられる技術も、公知或いは周知のもので良い。
入力装置102は、ユーザが所望の入力をコンピュータ装置100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるコンピュータ装置100の入力装置102はキーボードとされているが、入力装置102はこれには限られず、テンキー、トラックボール、マウス、マイクロフォン端子を利用した公知、或いは周知の音声入力などを用いることも可能である。ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになる。
コンピュータ装置100には、マイクロフォン103が接続されている。マイクロフォン103は、後述する対象物が発する振動の一つである、対象物からの音を含む音を集音して、集音した音のデータである、音データを生成する機能を有している。マイクロフォン103は、そのような機能を有しているのであれば、公知、或いは周知のものでよく、市販品で足りる。マイクロフォン103が生成した音についての音データは、マイクロフォン103から、ケーブルを介してコンピュータ装置100に送られる。マイクロフォン103から、コンピュータ装置100へと音データを送るための手法は、有線でなくとも無線であっても良い。また、マイクロフォン103から、コンピュータ装置100への音データの送信は、インターネットを介してのものでも良い。また、上述した、有線、無線、或いはインターネットを介してのマイクロフォン103からコンピュータ装置100への音データの送信は、略実時間で行われる必要はない。例えば、マイクロフォン103で生成された音データが一旦コンピュータ装置100とは無関係の装置内の記録媒体に記録され、その記録媒体に記録された音データが、直接、或いは更に他の記録媒体を介してコンピュータ装置100に読み込まされることにより、コンピュータ装置100へと供給されるようになっていれば良い。要するに、マイクロフォン103で生成された音データは、コンピュータ装置100に送られることが必須ではあるものの、その提供の方法、タイミングは、事情に応じて適当に決定すれば良い。
なお、マイクロフォン103と、コンピュータ装置100との間には、音データを増幅するためのアンプが存在していても良い。アンプはもちろん、公知或いは周知であり、市販も大量にされているので、仮にアンプを用いるのであればそれらのうちの適当なものを選択して用いれば良い。この実施形態ではアンプを用いてはいるが、それはごく普通のものであるから、詳細な説明は省略する。
【0031】
次に、学習装置を構成するコンピュータ装置100の構成について説明する。コンピュータ装置100のハードウェア構成を、
図2に示す。
ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インタフェイス114、大容量記録媒体115が含まれており、これらはバス116によって相互に接続されている。
CPU111は、演算を行う演算装置である。CPU111は、例えば、ROM112、或いはRAM113に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。大容量記録媒体115は、大量のデータを記録するための公知或いは周知の装置であり、例えば、HDD(hard disk drive)やSSD(solid state drive)である。上述のコンピュータプログラムは大容量記録装置115に記録されていても構わず、むしろその方が一般的である。
ここでいうコンピュータプログラムには、コンピュータ装置100を学習装置として機能させるために必要な後述の処理をコンピュータ装置100に実行させるためのコンピュータプログラムが含まれる。このコンピュータプログラムは、コンピュータ装置100にプリインストールされていたものであっても良いし、ポストインストールされたものであっても良い。このコンピュータプログラムのコンピュータ装置100へのインストールは、メモリカード等の図示を省略の所定の記録媒体を介して行なわれても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。もちろん、コンピュータプログラムには、上記コンピュータプログラムの他、OSその他の必要なコンピュータプログラムが含まれていても構わない。
ROM112は、CPU111が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。
RAM113は、CPU111が処理を行うために必要なワーク領域を提供する。場合によっては、上述のコンピュータプログラムやデータ(の少なくとも一部)が記録されていたり、或いは一時的に記録されたりする場合があり得る。
インタフェイス114は、バス116で接続されたCPU111やRAM113等と外部との間でデータのやり取りを行うものである。インタフェイス114には、上述のディスプレイ101と、入力装置102と、マイクロフォン103とが接続されている。
入力装置102から入力された操作内容のデータと、マイクロフォン103から送られる音データとは、インタフェイス114からバス116に入力されるようになっている。
また、周知のようにディスプレイ101に画像を表示するためのデータは、バス116からインタフェイス114に送られ、インタフェイス114からディスプレイ101に出力されるようになっている。
【0032】
以上説明したコンピュータ装置100を含むシステム一式は以下の機能ブロックによって、学習装置として機能するために必要な処理を実行する。
CPU111がコンピュータプログラムを実行することにより、コンピュータ装置100内部には、
図3で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、コンピュータ装置100に、コンピュータ装置100が学習装置として機能するために必要な以下に述べるような処理を実行させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、コンピュータ装置100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
コンピュータ装置100内には、本願発明の機能との関係で、入力部121、主制御部122、特徴量検出部123、オートエンコーダ124、損失関数生成部125、最適化部126、閾値決定部127、出力部128が生成される。
【0033】
入力部121は、インタフェイス114からの入力を受取るものである。
インタフェイス114から入力部121への入力には、入力装置102からの入力がある。入力装置102からの入力には、詳細は追って説明するが、例えば、モード選択データがある。入力装置102からモード選択データ等の入力があった場合、入力装置102から入力されたモード選択データ等はいずれも、入力部121から主制御部122へと送られるようになっている。インタフェイス114から入力部121へ入力されるデータには、また、マイクロフォン103からの音データがある。音データは入力部121に受取られた場合、入力部121は音データを特徴量検出部123へと送るようになっている。なお、この実施形態では、入力部121は、音データに対して必要な処理、例えば、音データをアナログデータから所定の形式のデジタルデータ(例えば、wav形式のデジタルデータ)へ変換する処理、音データの長さを所定の長さ(例えば、10秒間とか、30秒間といった予定された長さ)に整えるといった処理も行うこととしている。そのようにして整えられた音データが、この実施形態では、入力部121から特徴量検出部123へと送られる。
主制御部122は、コンピュータ装置100内に生成される上述の機能ブロックの全体的な制御を行うものである。例えば、主制御部122は、上述したようにモード選択データを受取ることがある。この実施形態における学習装置は、学習装置として機能する学習モードと、閾値を決定する装置として機能する閾値決定モードとの2つのモードの1つから択一的に選択されたモードで機能するようにされている。モード選択データは、それら2つのモードのうちのどちらのモードでコンピュータ装置100を機能させるかを決定する(指定する)データであるが、そのデータを受取った主制御部122は、選択されたモードを実行するように、他の機能ブロックのうちの適宜のものに指示を行う。この実施形態でいえば、少なくとも主制御部122は、損失関数生成部125に対して、後述するようにして損失関数生成部125が生成した損失関数(正確にいえば、そのデータ)の出力先についての指示を行う。具体的には、主制御部122は、損失関数生成部125に対して、学習装置が学習モードを実行するときには損失関数のデータを最適化部126へ送るよう、また、学習装置が閾値決定モードを実行するときには損失関数のデータを閾値決定部127へ送るよう、指示を行う。
【0034】
特徴量検出部123は、受取った音データの特徴量を検出して、音の特徴量についてのデータである音特徴量データを生成するものである。音特徴量データは、追って詳述するが、この実施形態では、これには限られないがメル周波数スペクトログラム(より正確にいえば、そのデータ)である。メル周波数スペクトログラムをどのようにして生成するのかについては後述する。特徴量検出部123は、生成した音特徴量データを、オートエンコーダ124と、損失関数生成部125とに送るようになっている。
オートエンコーダ124は、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして入力データと同じ次元のデータに戻す自己符号化機である。人工知能の分野では、このようなオートエンコーダは公知或いは周知であり、この実施形態のオートエンコーダ124はそのような既知のオートエンコーダから選択すれば良い。オートエンコーダ124は、概念的に示すと、
図4に示したようなものである。入力xを受付ける入力層(Input Layer)と、入力xをエンコードして特徴量を圧縮し、また圧縮されたデータをデコードして特徴量を伸長する中間層と、出力x’を行う出力層(Output Layer)との組合せにより、オートエンコーダ124は構成されている。上述したように、オートエンコーダ124は、音特徴量データを特徴量検出部123から受取る場合がある。音特徴量データを受取ると、オートエンコーダ124は、それをエンコードするとともにエンコードされたデータを続けてデコードすることにより音特徴量データに戻して出力する。出力された音特徴量データを、推定音特徴量データと称することにする。オートエンコーダ124は、生成した推定音特徴量データを損失関数生成部125へと送るようになっている。
また、オートエンコーダ124は、後述するタイミングで、学習済みオートエンコーダ自体の情報を、出力部128へ送るようになっている。
【0035】
損失関数生成部125は、上述したように、特徴量検出部123から音特徴量データを、オートエンコーダ124から、推定音特徴量データをそれぞれ受取るようになっている。それら音特徴量データと、推定音特徴量データは、要するにオートエンコーダ124でエンコードとデコードの処理を1回行う際の入力と出力にそれぞれ相当する、1組のデータである。損失関数生成部125は、それら1組の音特徴量データと、推定音特徴量データとの差分を取るために、損失関数を生成する。公知或いは周知の損失関数は何種類か存在しているが、これには限られないが、この実施形態では、損失関数として、平均二乗誤差 (Mean Squared Error:MSE)を用いる。これを用いる理由は、音特徴量データと推定音特徴量データの差が極端に大きい場合に推論誤差を小さくするためである。
学習時の損失関数の値を直感的に認識しやすくすることを重視するのであれば、平均二乗誤差に代えて、二乗平均平方根誤差(Root Mean Squared Error:RMSE)を用いても良い。それ以外の損失関数として、音特徴量データと推定音特徴量データの誤差平均を小さくすることを目的とするのであれば、平均絶対誤差(MAE)を使っても良い。同様に、音特徴量データと推定音特徴量データの誤差の平均と分散が最小になるような値を損失関数として採用することもできる。この場合、データ間のユークリッド距離が損失関数として利用されることになる。
損失関数生成部125は、生成した損失関数を、学習装置が学習モードを実行している場合には最適化部126へと送り、学習装置が閾値決定モードを実行している場合には閾値決定部127へと送るようになっている。
【0036】
最適化部126は、上述したように、学習装置が学習モードを実行している場合に、損失関数生成部125から損失関数(のデータ)を受取る場合がある。最適化部126は、損失関数を最小化するように、オートエンコーダ124を調整する機能を有する。この実施形態における最適化部126は、既に学習済みオートエンコーダ124が存在する場合、その損失関数のデータを受取る直前の学習済みオートエンコーダ124を初期状態として、追加した入力データに対してオートエンコーダ124の追加学習を実施し、オートエンコーダ124の更新をする機能を有している。
既知のように、オートエンコーダ124は、入力されたデータをエンコードすることにより入力されたデータの特徴量を圧縮し、且つ最小化された特徴量のデータをデコードすることにより最小化された特徴量を伸長していくが、その過程で、複数の重み付けの係数を利用する。最適化部126は、それら複数の係数を、新たに受取った損失関数を加えたすべての損失関数の例えば総和が最小となるように調整する。これが、上述した追加学習である。それにより、学習装置が学習モードを実行している場合、オートエンコーダ124は、音特徴量データと推定音特徴量データの差分が最小となるようにチューニングされていくことになる。
【0037】
閾値決定部127は、上述したように、学習装置が閾値決定モードを実行している場合に、損失関数生成部125から損失関数(のデータ)を受取る場合がある。
閾値決定部127は、受取った損失関数に基づいて閾値を決定して、その閾値(のデータ)を出力部128へと送るようになっている。
閾値決定部127がどのようにして閾値を決定するのかということについての詳細は、後述することにする。
閾値決定部127は、後述するタイミングで、閾値のデータを、出力部128へ送るようになっている。
【0038】
出力部128は、コンピュータ装置100内の機能ブロックで生成されたデータのうちの必要なものを、インタフェイス114を介して外部へ出力する機能を有している。
出力部128は、上述したように、学習済みオートエンコーダのデータ、閾値のデータを受取る場合がある。それらを受取ったら、出力部128は、それらのデータをインタフェイス114へ出力するようになっている。
【0039】
以下、学習装置の使用方法、及び動作について説明する。
上述したように、学習装置は、学習モードと、閾値決定モードの2種類のいずれかとして、択一的に機能する。したがって、学習装置を用いるには、まず、学習装置をいずれのモードで機能させるかということを決定しなければならない。後述するように、閾値は、学習モードで学習を行った後の学習済みオートエンコーダの特性に依存して決定されるものであるので、学習済みオートエンコーダが完成するよりも前に閾値を決定することはできない。したがって、学習装置では、まず、学習モードが実行されることになり、次いで、閾値決定モードが実行されることになる。
【0040】
学習モードを学習装置乃至コンピュータ装置100に実行させるには、まず、コンピュータ装置100における入力装置102からモード選択データを入力する。モード選択データは、学習装置が実行すべきモードを上述の2つから選択するものであるが、この場合にはユーザは、入力装置102を操作して、学習装置を、学習モードで機能させることを選択する旨のデータが、モード選択データとして入力装置102から入力される。
このデータは、入力装置102からインタフェイス114を介して、入力部121に送られ、入力部121から主制御部122へ至る。これを受取った主制御部122は、各機能ブロックに対して、学習モードを実行せよとの指示をなす。例えば、主制御部122は、損失関数生成部125に対して、生成した損失関数のデータを最適化部126へ送るように指示をする。
【0041】
この状態で、学習装置では、学習モードが実行される。
マイクロフォン103は、対象物が発する音を含む音を集音して、集音した音のデータである、音データを生成する機能を有している。したがって、マイクロフォン103は、対象物が発する音を少なくともセンシングできる位置に配される。例えば、対象物が機械であれば、その機械が発する音をセンシングできる位置に、対象物が橋梁であれば、打音検査時に橋梁を何かで叩いたときに橋梁が発する音をセンシングできる位置に、また、対象物が会議室であれば会議室内の音を集音できる位置に、マイクロフォン103は配される。
ただし、学習モードを実行するときにマイクロフォン103で集音される音は、対象物が定常状態にあるときの音とする。ただし、その音には環境音が含まれる場合がある。定常状態の定義は、学習装置を操作するユーザが適宜決定することができる。マイクロフォン103は、集音乃至センシングした音のデータである音データを生成する。音データは、必要に応じてアンプによって増幅され、この実施形態では、有線接続された、学習装置内のコンピュータ装置100へと送られる。
音データは、インタフェイス114から、入力部121に送られ、そこで整えられる。上述したように、これには限られないがこの実施形態では、入力部121は、アナログデータとして送られてくる音データを所定形式のデジタルデータ(この実施形態では、これには限られないがwav形式)に変換し、変換されたそのデータの時間的長さを、予め定められた時間(例えば、10秒間、或いは30秒間、これには限られないがこの実施形態では12秒間)のデータに整える。
整えられた音データは、入力部121から特徴量検出部123へと送られる。
【0042】
特徴量検出部123は、受取った音データの特徴量を検出して、音の特徴量についてのデータである音特徴量データを生成する。
音特徴量データはどのような形式のものでも良いが、この実施形態では、音の特徴量を表現するためのデータの形式として公知或いは周知である、メル周波数スペクトログラムとする。
音データから、メル周波数スペクトログラムである音特徴量データを得るための方法は、公知或いは周知の方法を採用することができる。例えば、音データのファイルに、短時間フーリエ変換処理(STFT)を施すことによりパワースペクトルデータに変換し、変換されたそのデータにメルフィルタバンクを適用し、メルフィルタバンクを適用されたそのデータに対数演算を実施することでスムージングすることにより、メル周波数スペクトログラムを得ることができる。もちろん、公知、周知の他の方法によってメル周波数スペクトログラムを得ることができる。なお、可聴音域の周波数の音そのものではなく、音の動的な時間的変化を捉えるために、メル周波数スペクトログラムの前後フレームの差を抽出するデルタメル周波数スペクトログラムを特徴量検出部で検出しても良い。
いずれにせよ、メル周波数スペクトログラムとしての音特徴量データが生成されたら、特徴量検出部123は、生成した音特徴量データを、オートエンコーダ124に送るとともに、損失関数生成部125に送る。
【0043】
オートエンコーダ124には、特徴量検出部123から送られてきた音特徴量データが入力される。より詳細には、オートエンコーダ124の入力層に音特徴量データが入力される。
オートエンコーダ124は、最初の音特徴量データが入力される前の状態では、既知の適当なオートエンコーダ124となっている。オートエンコーダ124は、入力された音特徴量データをエンコードし、続けてエンコードされたそのデータをデコードすることにより、推定音特徴量データを生成する。
オートエンコーダ124は、生成した推定音特徴量データを、損失関数生成部125へ送る。
【0044】
損失関数生成部125は、上述したように、特徴量検出部123から音特徴量データを、オートエンコーダ124から、推定音特徴量データをそれぞれ受取る。それら音特徴量データと、推定音特徴量データは、要するにオートエンコーダ124でエンコードとデコードの処理を1回行う際の入力と出力にそれぞれ相当する、1組のデータである。損失関数生成部125は、それら1組の音特徴量データと、推定音特徴量データとの差分を取るために、損失関数を生成する。これには限られないがこの実施形態では、損失関数生成部125は、上述したように平均二乗誤差(MSE)として、損失関数を生成する。生成された損失関数の一例を、
図5に示す。
損失関数生成部125は、上述のようにして生成した損失関数のデータを、最適化部126へ送る。
【0045】
最適化部126は、最適化部126は、損失関数を最小化するように機能する。より具体的には、この実施形態における最適化部126は、既に学習済みオートエンコーダ124が存在する場合、その学習済みオートエンコーダ124を初期状態として、追加した入力データに対してオートエンコーダ124の追加学習を実施し、オートエンコーダ124の更新をする機能を有している。
既に説明したように、オートエンコーダ124は、エンコードとデコードの際に用いられる複数の重み付けの係数を含んだとものとなっている。最適化部126は、それら複数の係数を、新たに受取った損失関数を加えたすべての損失関数の例えば総和が最小となるように調整する。その調整は、例えば、変更すべき係数を最適化部126がオートエンコーダ124に送るとか、すべての係数の新たなセットを最適化部126がオートエンコーダ124へ送るといった、方法で実現することができる。
【0046】
学習装置が学習モードを実行している間、学習装置を構成するコンピュータ装置100において、入力部121から特徴量検出部123への音データの入力の処理から、最適化部126が損失関数を最小化するためにオートエンコーダ124が含んでいる係数を最適化する処理、つまり追加学習の処理が、繰り返し実行される。
この処理を、複数回、例えば、これには限られないが、200回(入力の処理で与えられた音特徴量データを全て少なくとも1回を利用したのを1回として)程度繰り返すことにより、オートエンコーダ124への入力としての音特徴量データとオートエンコーダ124からの出力としての推定音特徴量データとの差分である損失関数は、同じにはならないものの、ある範囲内に収まる程度に小さくなる。学習に用いられる音データは、対象物が定常状態にあるときの音を含んだ音についてのものであるので、オートエンコーダ124は、対象物が定常状態にあるとき専用のものとなり、象物が定常状態にあるときにおける音特徴量データと、その音特徴量データから作られる推定音特徴量データとを、殆ど同じものとするような機能を持つことになる。対象物が定常状態にあるときにおいて入力と出力の関係が上述のような関係を充足するものとなったときのオートエンコーダ124は、学習済みオートエンコーダであるといえる。
学習済みオートエンコーダを得るためには、上述したように、多数の音データが必要であるが、それら音データは、対象物が定常状態である場合の音についてのもののみで良い。対象物が定常状態にある時間と、非定常状態にある時間とでは一般的に、対象物が定常状態にある時間の方が圧倒的に長いのであるから、そのような音データを集めるのは比較的容易である。また、音データを集める際に、非定常状態の音についての音データを集める必要がないし、多段階の異なる種類の非定常状態の音についての音データを集める必要もない。また、オートエンコーダ124の学習のために用いられる音データは、定常状態のデータのみなのであるから、音データに対するラベリングも不要である。また、音データに対するノイズキャンセリングの処理も少なくとも必須ではない。
なお、この実施形態では、マイクロフォン103から入力される音データから作られた音特徴量データを、次々にオートエンコーダ124に入力するものとして説明した。しかしながら、多数の音データを予め生成しておきそれら多数の音データを予め記録媒体(コンピュータ装置100に内蔵されていても、コンピュータ装置100の外部に存在していても良い。)に記録しておけば、当該記録媒体からコンピュータ装置100が読み込んだ音データを次々に特徴量検出部123に送ることにより、上述したのと同じようにして、オートエンコーダ124に学習を行わせることができる。同様に、記録媒体に音特徴量データを多数記録しておけば、その音特徴量データをオートエンコーダ124に次々と供給することにより、上述したのと同じようにして、オートエンコーダ124に学習を行わせることができる。つまり、マイクロフォン103による音データの生成と、オートエンコーダ124の学習は、時間的に連続して行われる必要はない。
【0047】
以上のようにして学習済みオートエンコーダが生成されたら、次は、閾値を決定する。
閾値は、後述するようにして検出装置にて利用されるものであり、検出装置に後述するようにして入力された音データによって特定される音が、非定常性を持つか(非定常音を含むか)否かを判定する際に利用される。
閾値が決定されるとき、学習装置或いは学習装置を構成するコンピュータ装置100は、上述したように、閾値決定モードを実行する。ユーザは、コンピュータ装置100における入力装置102から、閾値決定モードを選択する旨のモード選択データを入力する。
モード選択データは、上述したように、入力装置102からインタフェイス114を介して、入力部121に送られ、入力部121から主制御部122へ至る。これを受取った主制御部122は、各機能ブロックに対して、閾値決定モードを実行せよとの指示をなす。例えば、主制御部122は、損失関数生成部125に対して、生成した損失関数のデータを閾値決定部127へ送るように指示をする。
【0048】
この状態で、学習装置では、閾値決定モードが実行される。
閾値決定モードが実行されるときの処理は、損失関数生成部125で損失関数が作られるまでは、学習モードが実行されるときと同じである。ただし、閾値決定モードを実行する際に用いられる音データは、定常音を含む音の音データではあるものの、学習モードが実行される際に用いられた音データ、つまり、オートエンコーダ124を学習済みオートエンコーダとするための学習に用いられた音データとは異なる音データとする必要がある。
例えば、マイクロフォン103で新たに生成された音データがコンピュータ装置100に入力されるのであれば、その音データはいきおい、オートエンコーダ124を学習済みオートエンコーダとするための学習に用いられた音データとは異なる音データとなる。その音データが、定常音を含む音の音データなのであれば、それを閾値決定モードを実行する際に用いることができる。
これには限られないが、この実施形態では、マイクロフォン103から新たに入力された音データを、オートエンコーダ124の学習に用いられなかった音データとして利用することとする。
【0049】
音データは、コンピュータ装置100で学習モードが実行されている場合と同様に、入力部121に入力され、特徴量検出部123でメル周波数スペクトログラムである音特徴量データに変換され、そして、学習済みオートエンコーダ124と損失関数生成部125へと送られる。学習済みオートエンコーダ124は、入力された音特徴量データに応じた推定音特徴量データを出力し、それを損失関数生成部125へと送る。そして、損失関数生成部125は、入力されたオートエンコーダ124の入力と出力とにそれぞれ対応する1組の音特徴量データ及び推定音特徴量データから損失関数を生成する。
生成された損失関数は、損失関数生成部125から閾値決定部127へと送られる。これを受付けた閾値決定部127は、閾値を決定する。
【0050】
損失関数を概念的に現すと、既に説明したように、例えば
図5に示したようなものとなる。
図5に示した損失関数は、オートエンコーダ124の学習に用いた音データから作られたものであるから、オートエンコーダ124の学習に用いていない音データから作られた今回の損失関数は、本当であれば
図5に示したものとは異なるものとなるはずである。しかしながら、簡単のために、
図5に示した損失関数は、今回作られたものであることとして、話を進める。
図5に示した損失関数は、損失の値を縦軸とし、損失の値の平均値が0となるようにして、且つ時間を横軸として記載されている。例えば、
図5におけるAの符号が付された箇所では、損失関数の値は1.69で、Bの符号が付された箇所では、損失関数の値は-1.02である(両数字は、正確性を欠くかもしれない)。
そのように、損失関数の値を横軸の各箇所についてすべて求めることにより、上述した損失関数の値の平均と、分散(或いは標準偏差)を求めることができる。ここで、分散か或いは標準偏差を適宜に決定すれば、多数の値のうちの何%を包含させることが可能かを決定することができる。例えば、分散=9(標準偏差=3)と定めると、この例では、多数の値のうちの例えば、凡そ98%が包含されることになる。この場合、正の値側で考えて、2%の値のみがその水平な線を超えるような高さとなるようにして、
図5に水平な線を引けば、その水平な線の高さの座標が、後述する検出装置において、誤差を真に誤差とカウントするのか(どの程度の誤差までは誤差でないとすることができるのか)ということを決定する閾値として機能することになる。
このようにして、この実施形態では、閾値を決定する。
なお、閾値は、上述の処理を複数の音データに基づいて複数回実行することによって求められた複数の閾値から、例えば、複数の閾値の平均として求めることも可能である。
また、閾値は、どの程度の誤差を真の誤差として取扱うかという観点から、複数決定することも可能である。これには限られないが、この実施形態では、閾値決定部127は、複数の閾値を決定することとしている。
【0051】
以上のようにして、オートエンコーダ124は学習済みオートエンコーダ124となり、また、学習済みオートエンコーダ124で使用される閾値が決定された。
これらは、後述する検出装置に移植して用いられる。学習装置から検出装置にこれらデータを移す処理、或いは学習装置に含まれるコンピュータ装置100から検出装置に含まれるコンピュータ装置へとこれらデータを移す処理は、公知或いは周知技術によって適当に行えば良い。
例えば、入力装置102から入力され、インタフェイス114から、入力部121を経て主制御部122へと至った入力にしたがって、主制御部122は、オートエンコーダ124に対して、学習済みオートエンコーダ124についてのデータ一式を出力部128に送れという命令を送るとともに、閾値決定部127に閾値のデータを出力部128に送れという命令を送るようになっていても良い。
仮にそうなっているとすると、出力部128から、インタフェイス114に対して、学習済みオートエンコーダ124のデータと、閾値のデータとが送られることになる。
これらデータは、例えば、インタフェイス114から、所定のケーブルを介して検出装置に含まれるコンピュータ装置100へ送られる。或いは、それらデータは、インタフェイス114から、そのインタフェイス114に接続された記録媒体に記録され、その記録媒体を介して、検出装置に含まれるコンピュータ装置100へ送られることになる。
【0052】
<検出装置について>
既に述べたように、その周辺機器まで含めても、ハードウェア構成に関していえば、学習装置と検出装置とは同じであってよく、これには限られないがこの実施形態では事実上そうされている。
検出装置は、学習装置におけるコンピュータ装置100と同等のハードウェア構成を備えたコンピュータ装置100Xと、このコンピュータ装置100Xとそれぞれ接続される、学習装置におけるディスプレイ101と同等のディスプレイ101Xと、学習装置における入力装置102と同等の入力装置102Xと、学習装置のマイクロフォン103と同等のマイクロフォン103Xとを備えている。
コンピュータ装置100とコンピュータ装置100X、ディスプレイ101とディスプレイ101X、入力装置102と入力装置102X、マイクロフォン103とマイクロフォン103Xはいずれも、同等のものとすることができるが、完全に同一のものであっても良い。また、学習装置が音データを増幅するアンプを備えるのであれば、検出装置にもアンプを含める。これら両アンプも同等のものであればよく、完全に同一でも良い。
なお、検出装置を図示すると、
図1の各符号にXを付しただけのものとなるから、検出装置の図示は省略する。
【0053】
上述したように、検出装置のコンピュータ装置100Xのハードウェア構成は、学習装置のコンピュータ装置100のハードウェア構成と同等である。
検出装置のコンピュータ装置Xは、CPU111X、ROM112X、RAM113X、インタフェイス114X、大容量記録媒体115Xが含まれており、これらはバス116Xによって相互に接続されている。
ハードウェアとして見た場合、検出装置のコンピュータ装置100Xが備える、CPU111X、ROM112X、RAM113X、インタフェイス114X、大容量記録媒体115X、バス116Xの各機能は、学習装置のコンピュータ装置100が備える、CPU111、ROM112、RAM113、インタフェイス114、大容量記録媒体115、バス116の各機能と同等か、同一である。なお、検出装置のコンピュータ装置100Xのハードウェア構成を図示すると、
図2の各符号にXを付しただけのものとなるから、検出装置のコンピュータ装置100Xが備えるハードウェア構成の図示は省略する。
検出装置のコンピュータ装置100Xと学習装置のコンピュータ装置100との間で異なるのは、せいぜい、検出装置のコンピュータ装置100XのROM112Xか大容量記録媒体115Xに記録されているコンピュータプログラムが、学習装置のコンピュータ装置100に記録されていたコンピュータプログラムとは異なるという点である。検出装置のコンピュータ装置100Xに記録されているコンピュータプログラムには、検出装置のコンピュータ装置100Xに、コンピュータ装置100Xが検出装置として機能するために必要な後述の処理をコンピュータ装置100Xに実行させるためのコンピュータプログラムが含まれる。
もっとも、このコンピュータプログラムが、コンピュータ装置100Xにプリインストールされていたものでもポストインストールされたものであっても良いこと、また、コンピュータプログラムのコンピュータ装置100Xへのインストールは、記録媒体を介して行われてもネットワークを介して行われても良いこと、更には、コンピュータ装置100Xには、上記のコンピュータプログラムの他、OSその他の必要なコンピュータプログラムがインストールされていても構わないことは、コンピュータ装置100或いはコンピュータ装置100にインストールされたコンピュータプログラムの場合と同様である。
【0054】
CPU111Xがコンピュータプログラムを実行することにより、コンピュータ装置100X内部には、
図6で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、コンピュータ装置100Xに、コンピュータ装置100Xが検出装置として機能するために必要な以下に述べるような処理を実行させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、コンピュータ装置100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
コンピュータ装置100内には、本願発明の機能との関係で、入力部121X、主制御部122X、特徴量検出部123X、第1演算部124X、損失関数生成部125X、状態判定部126X、第1記録部127X、出力部128Xが生成される(
図6)。
【0055】
入力部121Xは、インタフェイス114Xからの入力を受取るものである。
インタフェイス114Xから入力部121Xへの入力には、入力装置102Xからの入力がある。入力装置102Xからの入力には、詳細は追って説明するが、例えば、閾値設定データがある。入力装置102Xから閾値設定データの入力があった場合、閾値設定データは、入力部121Xから主制御部122Xへと送られるようになっている。インタフェイス114Xから入力部121Xへ入力されるデータには、また、マイクロフォン103からの音データがある。音データが入力部121Xに受取られた場合、入力部121Xは音データを特徴量検出部123Xへと送るようになっている。また、この実施形態では、これには限られないが、入力部121Xは音データに対して、学習装置のコンピュータ装置100の入力部121が行ったのと同じ必要な処理を行うようになっている。
主制御部122Xは、コンピュータ装置100X内に生成される上述の機能ブロックの全体的な制御を行うものである。例えば、主制御部122Xは、上述したように閾値設定データを受取ることがある。閾値設定データを受取った主制御部122Xは、それを、状態判定部126Xへと送るようになっている。
【0056】
特徴量検出部123Xは、学習装置のコンピュータ装置100の特徴量検出部123が備えていた機能と同等の機能を有する。つまり、受取った音データの特徴量を検出して、音の特徴量についてのデータである音特徴量データを生成する。特徴量検出部123Xが生成する音特徴量データは、特徴量検出部123が作る音特徴量データと同じ形式のものとされる。したがってこの実施形態では、特徴量検出部123Xで生成される音特徴量データは、これには限られないがメル周波数スペクトログラムである。特徴量検出部123Xは、生成した音特徴量データを、第1演算部124Xと、損失関数生成部125Xとに送るようになっている。
【0057】
第1演算部124Xは、事実上、学習装置で作られた学習済みオートエンコーダとして機能する。第1記録部127Xには、学習装置で作られた学習済みオートエンコーダのデータが記録されている。第1演算部124Xは、以下に説明する演算を行う場合、その都度、学習済みオートエンコーダのデータを第1記録部127Xから読込み、それ自身が学習済みオートエンコーダとして機能するようになっている。
第1演算部124Xは学習済みオートエンコーダとして機能するので、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして入力データと同じ次元のデータに戻す機能を有する。つまり、第1演算部124Xは、自己符号化機として機能する。この実施形態では、第1演算部124X内に存在する仮想の学習済みオートエンコーダに入力されるデータは、特徴量検出部123Xから入力される音特徴量データである。学習済みオートエンコーダとして機能する第1演算部124Xは、学習装置の学習済みオートエンコーダ124がそうであったように、音特徴量データを入力されると、推定音特徴量データを出力するようになっている。
第1演算部124Xは、生成した推定音特徴量データを損失関数生成部125Xへと送るようになっている。
【0058】
損失関数生成部125Xは、学習装置のコンピュータ装置100内に存在する損失関数生成部125と同じ機能を有している。
損失関数生成部125Xは、上述したように、特徴量検出部123Xから音特徴量データを、第1演算部124Xから、推定音特徴量データをそれぞれ受取るようになっている。それら音特徴量データと、推定音特徴量データは、要するに、第1演算部124Xの機能によって生成されるオートエンコーダでエンコードとデコードの処理を1回行う際の入力と出力にそれぞれ相当する、1組のデータである。損失関数生成部125Xは、学習装置のコンピュータ装置100における損失関数生成部125の場合と同じ方法で、それら1組の音特徴量データと、推定音特徴量データとの差分を取るために、損失関数を生成するようになっている。
損失関数生成部125Xは、生成した損失関数のデータを、状態判定部126Xへ送るようになっている。
【0059】
状態判定部126Xは、損失関数生成部125Xから受取った損失関数のデータに基づいて、その損失関数の元となった音データにより特定される音に、対象物が非定常状態であることを示す音が含まれていたか(非定常音であったか)、或いは、その音データにより特定される音を発した対象物が非定常状態であったか、ということについての判定を行う機能を有している。かかる判定をどのように行うのかについては後述する。
その損失関数の元となった音データにより特定される音に、対象物が非定常状態であることを示す音が含まれている、或いは、その音データにより特定される音を発した対象物が非定常状態であるとの判定を行った場合、状態判定部126Xは、その旨を示す結果データを生成する。なお、結果データは、かかる判定が行われたときのみ生成されても良いが、その損失関数の元となった音データにより特定される音に、対象物が非定常状態であることを示す音が含まれていない(つまり定常音である)、或いは、その音データにより特定される音を発した対象物が非定常状態でない(つまり、定常状態である)との判定を行った場合にも、その旨を示す結果データが生成されても良い。
状態判定部126Xは、生成した結果データを出力部128Xへ出力するようになっている。
【0060】
出力部128Xは、コンピュータ装置100X内の機能ブロックで生成されたデータのうちの必要なものを、インタフェイス114Xを介して外部へ出力する機能を有している。
出力部128Xは、上述したように、結果データを受取る場合がある。結果データを受取ったら、出力部128Xは、結果データをインタフェイス114Xへ出力するようになっている。
【0061】
以下、検出装置の使用方法、及び動作について説明する。
検出装置を使用する場合、まず、閾値の設定を行う。もっとも、閾値が1つのみで変更不可能となっている場合には、その1つのみの閾値が、検出装置で用いられる唯一の閾値となるので、以下に説明する閾値の設定の処理は不要である。
閾値の設定は、ユーザが入力装置102Xの操作によって行う。ユーザは、検出装置によって行われる対象物が非定常状態にあることの検出に用いられる閾値を特定するためのデータを、入力装置102Xから入力する。閾値を特定するための上述のデータが閾値設定データである。学習装置についての、より詳細には、閾値決定モードについての説明の中で述べたように、この検出装置では複数種類の閾値が利用可能となっている。これには限られないが、閾値設定データは、その中の1つを選択するためのデータとして生成される。閾値を、学習装置の閾値決定モードで生成しない場合等においては、閾値の値を、入力装置102Xから手入力するようにしても良い。
閾値設定データは、入力装置102Xからインタフェイス114Xを介して入力部121Xへ送られ、入力部121Xから、主制御部122Xへ至る。主制御部122Xは、閾値設定データを、状態判定部126Xへ送る。その結果、状態判定部126Xで使用される閾値が、閾値設定データに応じて設定される。
【0062】
マイクロフォン103Xは、学習装置に含まれるマイクロフォン103がそうであったように、対象物が発する音を含む音を集音して、集音した音のデータである、音データを生成する。マイクロフォン103Xが配置される位置は、学習装置のマイクロフォン103が配置される位置に準ずる。
検出装置のマイクロフォン103Xが音を収集する場合、対象物は、定常状態か非定常状態かわからず、したがって、マイクロフォン103Xで集音される音は定常音の場合も非定常音の場合もある。これは、検出装置が、本来であれば定常状態であることが期待されている対象物が非定常状態となったことを検出するものであるから、検出装置の性質上当然である。したがって、マイクロフォン103Xが収集する音には、定常状態の対象物が発する音が含まれているかも知れないし、非定常状態の対象物が発する音が含まれているかも知れない。
マイクロフォン103Xは、集音乃至センシングした音のデータである音データを生成する。音データは、必要に応じてアンプによって増幅され、この実施形態では、有線接続された、コンピュータ装置100Xへと送られる。
【0063】
ここからの処理はしばらく、損失関数生成部125Xで損失関数が生成されるまでは、学習装置のコンピュータ装置100における、損失関数生成部125で損失関数が生成されるまでの処理と同じであり、各データの仕様、音特徴量データの生成の方法、損失関数の生成の方法等の処理の条件はすべて同一である。
【0064】
音データは、インタフェイス114Xから、入力部121Xに送られ、そこで整えられる。入力部121Xでは、音データは、12秒間のwav形式のファイルに変換される。整えられた音データは、入力部121Xから特徴量検出部123Xへと送られる。
特徴量検出部123Xは、受取った音データの特徴量を検出して、音の特徴量についてのデータである音特徴量データを生成する。特徴量検出部123Xは、学習装置におけるコンピュータ装置100内の特徴量検出部123が実行したのと同じ方法で、音データから、メル周波数スペクトログラムである音特徴量データを生成する。可聴音域の周波数の音そのものではなく、音の動的な時間的変化を捉えるために、メル周波数スペクトログラムの前後フレームの差を抽出するデルタメル周波数スペクトログラムを特徴量検出部で検出してもよい。
メル周波数スペクトログラムとしての音特徴量データが生成されたら、特徴量検出部123Xは、生成した音特徴量データを、学習済みオートエンコーダとして機能する第1演算部124Xに送るとともに、損失関数生成部125Xに送る。
【0065】
第1演算部124X内の学習済みオートエンコーダには、特徴量検出部123Xから送られてきた音特徴量データが入力される。そうすると、学習済みオートエンコーダとしての第1演算部124Xは、推定音特徴量データを出力する。
第1演算部124Xから出力された推定音特徴量データは、損失関数生成部125Xへと送られる。
【0066】
損失関数生成部125Xは、特徴量検出部123Xから音特徴量データを、第1演算部124から推定音特徴量データを、それぞれ受取る。それら音特徴量データと、推定音特徴量データは、第1演算部124X内のオートエンコーダでエンコードとデコードの処理を1回行う際の入力と出力に相当する、1組のデータである。損失関数生成部125Xは、それら1組の音特徴量データと、推定音特徴量データとの差分を取るために、損失関数を生成する。損失関数生成部125Xが損失関数を生成する方法は、学習装置におけるコンピュータ装置100の損失関数生成部125が損失関数を生成する方法と同じである。
損失関数生成部125Xは、上述のようにして生成した損失関数のデータを、状態判定部126Xへ送る。
【0067】
状態判定部126Xは、受取った損失関数のデータに基づいて、その損失関数の元となった音データにより特定される音に、対象物が非定常状態であることを示す音が含まれているか、或いは、その音データにより特定される音を発した対象物が非定常状態であるか、ということについての判定を行う。
その判定の方法は、以下のようなものである。
上述したように、第1演算部124Xが内包する学習済みオートエンコーダは、定常状態にある対象物から生じる音を含む音(定常音)についてのみよく学習させられており、定常音から生成された音特徴量データ(この実施形態ではメル周波数スペクトログラム)が入力されたときは、それと殆ど変わらない推定音特徴量データ(「推定メル周波数スペクトログラム」とでも呼ぶべきメル周波数スペクトログラム)を出力するようになっている。他方、第1演算部124Xが内包する学習済みオートエンコーダは、非定常状態にある対象物から生じる音を含む音(非定常音)については学習させられておらず、非定常音から生成された音特徴量データが入力されたときは、出力される推定音特徴量データは、入力された音特徴量データとは有意に異なるものとなるようになっている。
したがって、音特徴量データと推定音特徴量データとの差分に相当する損失関数は、前者の場合には相対的に小さく、後者の場合には相対的に大きくなる。
したがって、状態判定部126Xは、損失関数の大小に基づき、対象物が定常状態にあるか(マイクロフォン103Xに入力された音が定常音か)、対象物が非定常状態にあるか(マイクロフォン103Xに入力された音が非定常音か)を、区別することができる。
【0068】
この実施形態では、これには限られないが、その区別に、上述したようにして状態判定部126Xに設定されている閾値を用いる。
図7に、対象物が定常状態にある場合に生成される損失関数の例を示す。
図7において、縦軸、横軸が示す対象は、
図5に倣うが、
図7における損失関数の値は、値が正の範囲のみ図示されている。
図7において、水平に引かれた線は閾値を表しており、閾値は、0.07である。
図7に示した場合において、損失関数に閾値を超える値は無い。したがって、損失関数が
図7に示したような場合には、状態判定部126Xは、対象物が定常状態にある、或いはマイクロフォン103Xに入力された音が定常音である(対象物が非定常音を発していない)、と判定する。
図8に、対象物が非定常状態にある場合に生成される損失関数の例を示す。
図8の記載方法は、
図7に倣う。閾値は、上述の場合と同一で、0.07である。
この場合、損失関数の値の中に、閾値を超えるものが存在する。破線で囲まれた損失関数の5つのピークが、閾値を超えている。損失関数が閾値を超える点が少ない場合(例えば、1つ或いは2つだけの場合)には、閾値を超える損失関数の値は、単なる誤差であるとも考えられる。そのような点を踏まえて、これには限られないが、この実施形態における状態判定部126Xは、損失関数の閾値を超える値が3つ以上存在する場合に、当該損失関数は、対象物が非定常状態にある、或いはマイクロフォン103Xに入力された音が非定常音である、と判定することにしている。したがって、損失関数が
図8のようなものであった場合には、状態判定部126Xは、対象物が非定常状態にある、或いはマイクロフォン103Xに入力された音が非定常音である、と判定する。
図7、
図8に示した例から明らかなように、状態判定部126Xは、損失関数と、ある1つの閾値を用いて、対象物が定常状態にあるか(入力された音が定常音であるか)、或いは対象物が非定常状態にあるか(入力された音が非定常音であるか)を区別することが可能となる。
なお、マイクロフォン103Xから入力される音データで特定される音に、環境音が含まれていても構わない。マイクロフォン103Xから入力される音データによって特定される音に環境音が含まれていても、その環境音が、学習済みオートエンコーダの学習の過程で既に学習済みのものなのであれば、当該環境音を含んだ音についての音データに基づいて生成された損失関数では、その環境音は損失関数の値の誤差として反映されることがないからである。
【0069】
上述の例では、状態判定部126Xは、0.07という1つの閾値を用いて、マイクロフォン103Xから入力された音データが、定常音についてのものなのか、或いは非定常音についてのものなのか、という2段階での判定を行っている。そして、上述の例では、音データで特定される音が非定常音であるという判定を行うための基準として、「損失関数の閾値を超える値が3つ以上存在する」というものを用いている。この、「損失関数の閾値を超える値が3つ以上存在する」という基準を変更することにより、上述の2段階の判定を、3段階以上とすることが可能である。
例えば、対象物が機械であり、対象物としての機械が正常な場合には、機械からは異音が生じず、そのときの環境音を含めた音が定常音であると仮定する。対して、機械に不具合が生じた場合には、機械から生じる音に異音が混じり、更に異音の割合が、機械の不具合の悪化の程度に応じて増えていくとする。このような場合においては、損失関数の閾値を超える値の数は、機械の不具合の悪化の程度に応じて増えていく。したがって、例えば、「損失関数の閾値を超える値が2つ以下である」というのを、対象物である機械が正常である(非定常状態でない)と判定する基準とするとともに、損失関数の閾値を超える値が3つ以上である場合をすべて、対象物である機会が正常でない状態(非定常状態)であるとし、且つ「損失関数の閾値を超える値が3つ以上、9つ以下である」というのを、非定常状態の1(対象物たる機械の状態がやや悪い状態)と判定する基準とし、「損失関数の閾値を超える値が10以上、49以下である」というのを、非定常状態の2(対象物たる機械の状態がかなり悪い状態)と判定する基準とし、そして、「損失関数の閾値を超える値が50以上である」というのを、非定常状態の3(対象物たる機械を停止しなければならない程悪い状態)と判定する基準とすることにより、音データに基づいて生成された損失関数によって、機械の不具合の程度を4段階に区別することが可能となる。しかも、このときに必要な閾値は1つのみである。
もちろん、既に述べたように閾値を変更することによっても、音データに基づいて生成された損失関数によって、3段階以上の区別を行うことが可能となる。例えば、上述の0.07という閾値とは異なる閾値をより小さくすれば、定常状態と判定される範囲が当然に小さくなるから、音データによって特定される音の、定常状態の音からの相違がより小さい場合も、対象物の状態が非定常状態として検出されることになる。逆に、閾値を0.07よりも大きくすれば、定常状態と判定される範囲が当然に大きくなるから、音データによって特定される音の、定常状態の音からの相違がより大きくならないと、対象物の状態が非定常状態として検出されないことになる。どの閾値を適用したときに非定常状態が検出されるのか、ということに基づいて、音データによって特定される状態を、3段階以上とすることが可能である。
【0070】
状態判定部126Xは、判定結果に応じた結果データを生成する。
これには限られないが、この実施形態では、状態判定部126Xが行う判定は、2段階であるとする。
結果データは、対象物が非定常状態にある、或いはマイクロフォン103Xに入力された音が非定常音を含むという判定がなされたときのみ生成されても良いし、そうでなくても良い。この実施形態では、これには限られないが、対象物が非定常状態にある、或いはマイクロフォン103Xに入力された音が非定常音であるという判定がなされたときのみ結果データが生成されるものとする。
また、対象物が非定常状態にある、或いはマイクロフォン103Xに入力された音が非定常音であるという判定がなされたときに生成される結果データは、対象物が非定常状態にある、或いはマイクロフォン103Xに入力された音が非定常音であるという判定がなされた旨を示すデータのみを含むものとされていてもよいが、例えば、そのデータに加えて、損失関数における閾値を超える値の数(
図8の例でいえば、「5」)を含むものであっても良い。
【0071】
結果データは、必要に応じて利用される。
これには限られないがこの実施形態では、状態判定部126Xは、結果データを出力部128Xに送る。出力部128Xは、その結果データを、インタフェイス114Xを介して、コンピュータ装置100Xの外部の他の装置に出力する。
他の装置は、例えば、電子メールの送信を行う装置である。他の装置は、結果データを受取った場合、その結果データによって特定される内容(例えば、対象物が非定常状態にあるという内容)を電子メールで、予め登録されていたメールアドレスに送信するようにすることができる。また、他の装置は、パトランプであって、結果データを受取ると、鳴動することで、対象物が非定常状態にあることを周囲の者に知らせるようになっている。対象物が非定常状態にあることを周囲の者に知らせるための手段がパトランプに限らないことは、当然である。
もっとも、例えば、電子メールの送信の機能をコンピュータ装置100Xが備えている場合には、結果データは、コンピュータ装置100Xから外部の装置へ出力される必要はない。
また、結果データは、時系列で蓄積することにより、対象物の状態が今後どのように推移していくのかという将来的な予想や、過去に対象物がどのように推移したのかという事後的な検証を行うために用いることもできる。例えば、結果データに含まれる「損失関数における閾値を超える値の数(
図8の例でいえば、「5」)」を時系列で記録しておいた場合、その数が、2、1、2、2、2、3、4、3、5、15、30、48というように推移していったのであれば、今後、その対象物における非定常状態は急速に悪化することが明らかである。このような用途で結果データを用いるのであれば、結果データは、コンピュータ装置100X内、或いはコンピュータ装置100X外の記録媒体に時系列で、例えばタイムスタンプを付した状態で記録しておくのが良い。そのような時系列で記録された結果データの集合体が存在するのであれば、対象物が今後どう推移していくかというリアルタイムでの将来の予測を行うことや、或いは対象物が過去にどう推移したのかという事後的な検証を行うことが可能となる。
【0072】
≪第2実施形態≫
第2実施形態の検出装置は、第1実施形態の検出装置と概ね同じである。
異なるのは、第1実施形態の検出装置では、振動の一態様としての対象物からの音を含む音を、対象物が定常状態にあるか、非定常状態にあるかを判定するための材料として用いていたが、第2実施形態の検出装置では、固体から伝わる振動(例えば、対象物としての機械の筐体に取付けられた振動センサによって検出可能な、対象物からの振動を含む振動)を、対象物が定常状態にあるか、非定常状態にあるかを判定するための材料として用いる。
【0073】
第2実施形態でも、検出装置に内蔵させるべき学習済みオートエンコーダが必要であるから、第2実施形態でも、必要な装置は、第1実施形態と同様に、検出装置と学習装置となる。更に、第2実施形態でも、検出装置で閾値を利用した処理を実行するのであれば、第1実施形態の場合と同様に、上記検出装置及び学習装置に加えて、閾値を決定するための装置も必要である。とはいえ、これら3つの装置のうちの任意の2つを1つの装置としてまとめることも、更にはこれら3つの装置のすべてを1つの装置にまとめることも可能なのは、第1実施形態と同様である。
第2実施形態では、これには限られないが、第1実施形態の場合と同様に、閾値を決定するための装置の機能をも持つ学習装置と、検出装置とにより、振動に基づいて対象物が定常状態にあるか、非定常状態にあるかを判定することとする。
【0074】
<学習装置について>
第2実施形態における学習装置は、概ね第1実施形態における学習装置と同じであり、全体的なハードウェア構成は、
図1に示したようなものとなる。
明確な相違点は、第1実施形態におけるマイクロフォン103が、振動センサに置き換わるということである。
振動センサは、公知或いは周知のものでよく、センシングしようとする振動の周波数や場合によっては振幅に応じて、適宜選択することができる。マイクロフォン103が生成するデータは集音した音についての音データであったが、振動センサが生成するデータは、振動センサがセンシングした振動に応じたデータである振動データである。振動データは、必要であれば第1実施形態の場合と同様にアンプで増幅され、コンピュータ装置100に送られるようになっている。
【0075】
第2実施形態でも、学習装置はコンピュータ装置100を含む。
第2実施形態のコンピュータ装置100は第1実施形態のコンピュータ装置100とハードウェア構成の点では同等であり、完全に同じでも良い。
第2実施形態のコンピュータ装置100の内部には、
図3に示したような、第1実施形態の場合と同じ機能ブロックが生成される。第2実施形態におけるコンピュータ装置100の中に生成される各機能ブロックの機能は、第1実施形態におけるコンピュータ装置100の中に生成される対応する各機能ブロックの機能と基本的に変わらない。
異なるのは、特徴量検出部123が検出する特徴量程度である。第2実施形態の特徴量検出部123は、振動データによって特定される振動の特徴量として、第1実施形態で用いられたメル周波数スペクトログラムではなく、窓幅のサンプリングデータで切り出した時系列データから周波数スペクトログラム(振幅スペクトル)を用いる。
振動データから、窓幅のサンプリングデータで切り出した時系列データから周波数スペクトログラム(振幅スペクトル)である振動特徴量データを得るための方法には、公知或いは周知の方法を採用することができる。例えば、振動データのファイルに、正規化処理を実施し、そのデータに更にフーリエ変換処理(FFT)を施すことによりパワースペクトルデータに変換することにより、周波数スペクトログラム(振幅スペクトル)を得ることができる。もちろん、公知、周知の他の方法によって周波数スペクトログラム(振幅スペクトル)を得ることも可能である。
【0076】
第2実施形態におけるコンピュータ装置100で第1実施形態において説明した学習モードが実行される場合に振動センサでセンシングされる振動は、定常状態にある対象物からの振動を含む振動である定常振動のみであり、従って学習モードが実行される際に第2実施形態におけるコンピュータ装置100に入力される振動データは、定常振動についての振動データである。
音特徴量データが振動特徴量データに置き換わってはいるものの、第1実施形態の場合と同様に、第2実施形態でも、振動データに基づいて特徴量検出部123で生成された振動特徴量データはオートエンコーダ124に入力される。その結果オートエンコーダ124は、第1実施形態における推定音特徴量データに対応する推定振動特徴量データを出力することとなる。
第1実施形態では、オートエンコーダ124の一回分の入出力に対応する音特徴量データと推定音特徴量データとが損失関数生成部125に送られ、損失関数生成部125で両者の損失に対応した損失関数が生成された。第2実施形態では、これに対応して、オートエンコーダ124の一回分の入出力に対応する振動特徴量データと推定振動特徴量データとが損失関数生成部125に送られ、損失関数生成部125で両者の損失に対応した損失関数が生成される。
第2実施形態でも、第1実施形態の場合と同様に、かかる損失関数を最小化するように最適化部126が機能し、それによりオートエンコーダ124内の係数が適宜修正されていく。
以上の処理を複数回、通常は多数回繰り返すことにより、第1実施形態の場合と同様に、第2実施形態におけるオートエンコーダ124も、やがては学習済みオートエンコーダ124となる。第2実施形態の学習済みオートエンコーダ124は、コンピュータ装置100に入力される振動データが、定常振動についての振動データの場合に限り、一回の入力と出力にあたる振動特徴量データと推定振動特徴量データとが殆ど同じものとなるようにチューニングされた、いわば定常振動専用のオートエンコーダ124といえるものとなる。
【0077】
また、第2実施形態のコンピュータ装置100でも、第1実施形態の場合と同様の閾値決定モードを実行する。
第2実施形態のコンピュータ装置100が閾値決定モードを実行する際に入力されるのは、学習済みオートエンコーダ124の学習に使用されていなかった定常振動についての振動データである。
第2実施形態における閾値決定モードは、基本的に第1実施形態のときと同じである。音データが振動データに、音特徴量データが振動特徴量データに、推定音特徴量データが推定振動特徴量データにそれぞれ置き換わっている以外は、第1実施形態と第2実施形態の間に相違はない。
第2実施形態における閾値決定部127は、損失関数生成部125で生成された損失関数に対して、第1実施形態と同様に機能する。それにより、第2実施形態のコンピュータ装置100でも、第1実施形態の場合と同様に、閾値が決定されることになる。
【0078】
<検出装置について>
次に、第2実施形態の検出装置についてである。
第2実施形態でも、検出装置はコンピュータ装置100Xを含む。また、検出装置は周辺機器を含むが、第2実施形態の検出装置における周辺機器は、第2実施形態の学習装置の場合と同じである。
第2実施形態のコンピュータ装置100Xは第1実施形態のコンピュータ装置100Xとハードウェア構成の点では同等であり、完全に同じでも良い。
第2実施形態のコンピュータ装置100Xの内部には、
図6に示したような、第1実施形態の場合と同じ機能ブロックが生成される。第2実施形態におけるコンピュータ装置100Xの中に生成される各機能ブロックの機能は、第1実施形態におけるコンピュータ装置100Xの中に生成される対応する各機能ブロックの機能と基本的に変わらない。
異なるのは、特徴量検出部123Xが検出する特徴量程度である。第2実施形態のコンピュータ装置100Xにおける特徴量検出部123Xは、第2実施形態の学習装置に含まれるコンピュータ装置100における特徴量検出部123と同じく、振動データによって特定される振動の特徴量として、周波数スペクトログラム(振幅スペクトル)を用いる。振動データから、周波数スペクトログラム(振幅スペクトル)である振動特徴量データを得るための方法は、第2実施形態の特徴量検出部123で使用される方法と同じである。
【0079】
第2実施形態における検出装置に含まれるコンピュータ装置100Xで、振動に基づいて対象物が定常状態にあるか、非定常状態にあるかを判定する方法は、概ね第1実施形態と同じである。
第2実施形態でも、第1実施形態の場合と同様に、検出装置でかかる判定を行うときに振動センサでセンシングされる振動は、定常状態の対象物が生じる振動を含む振動である定常振動のみではなく、非定常状態の対象物が生じる振動を含む振動である非定常振動の場合もある。
第2実施形態では、コンピュータ装置100Xに入力される振動データに基づいて、特徴量検出部123Xで振動特徴量データが生成され、その振動特徴量データが、第1演算部124Xに入力される。そうすると、第1演算部124Xに内包される学習済みオートエンコーダに振動特徴量データが入力され、その結果、学習済みオートエンコーダから、推定振動特徴量データが出力される。
学習済みオートエンコーダにおける一組の入力と出力に相当する振動特徴量データと推定振動特徴量データとは、損失関数生成部125Xに入力され、そこで、第1実施形態の場合と同様にして、損失関数が生成される。この損失関数は、状態判定部126Xに送られる。
第2実施形態のコンピュータ装置100Xにおける状態判定部126Xは、第1実施形態の場合と同様に、閾値が設定されている。状態判定部126Xは、損失関数生成部125Xから受取った損失関数に、その閾値を適用して、第1実施形態の場合と同様の手順で、その損失関数の元となった振動データを生成したときに振動センサでセンシングされた振動が、対象物が非定常状態にあるときの振動である非定常振動であるか、或いはそのときの対象物が非定常状態にあるか否かを判定する。
第2実施形態の状態判定部126Xは、その損失関数の元となった振動データを生成したときに振動センサでセンシングされた振動が、対象物が非定常状態にあるときの振動である非定常振動であるか、或いはそのときの対象物が非定常状態にあると判定したときには、第1実施形態に応じた結果データを生成する。
結果データは、第1実施形態の場合と同様に、上述の判定がなされなかった場合にも生成されても良い。
また、結果データは、第1実施形態の場合と同様に利用可能である。結果データは、必要に応じて出力部128Xから、コンピュータ装置100X外に出力され、或いはコンピュータ装置100X内外で記録される。
【0080】
以下、試験例について説明する。
以下に説明する試験例は、第1実施形態で説明した学習装置により学習モードを実行することによって学習を行った学習済みオートエンコーダのデータを持つ、第1実施形態で説明した検出装置を用いて実施した。また、その検出装置で用いた閾値は、第1実施形態で説明した学習装置で閾値決定モードを実行することにより決定した。
【0081】
(試験例1:電動ドリルの切削刃から生じる非定常音の検出)
電動ドリルの切削刃は、電動ドリルの使用時間の経過とともに劣化し、やがては刃こぼれが生じる等して、交換が必要となる。そのような電動ドリルの切削刃の劣化を切削音を含む音(環境音と切削音を含む音)の音データから検出できるか試験を行った。
試験例1で用いたのは、第1実施形態で説明した学習装置及び検出装置である。
試験例1を行うに先立ち、ドリルの切削刃から生じる音を以下のように定義した。レベル1の切削音を含む音(環境音を含む音)が、第1実施形態でいう定常音であり、レベル2から5の切削音を含む音が、第1実施形態でいう非定常音である。
レベル1:新品の切削刃から生じる切削音
レベル2:交換前(切削不良は生じない)だが交換時期が近い時の切削刃から生じる切削音
レベル3:交換時期に至っており、切削不良が発生する初期段階の切削刃から生じる切削音
レベル4:交換時期に至っており、切削不良の発生頻度が高い状態の切削刃から生じる切削音
レベル5:交換必須の切削刃から生じる切削音
【0082】
以上説明したレベル1からレベル5の各切削音を含む音についての音データのファイル(wav形式のファイル)を、レベル1の切削音を含む音については多数収集可能であるが、学習用のトレーニングデータとして1サンプル(音データファイルの時間:12秒、サンプリングレート:44.1kHz、ビット深度:16bit、モノラル)、レベル2から5の切削音を含む音については発生が稀な異常事象であるため、テストデータとして1サンプルずつ(音データファイルの時間:12秒、サンプリングレート:44.1kHz、ビット深度:16bit、モノラル)準備した。
学習装置では、レベル1の音を含む音についての音データのみを用いて、オートエンコーダに繰り返し学習を行わせ、学習済みのオートエンコーダを得た。音特徴量データは、メル周波数スペクトログラムである。また、損失関数は、平均二乗誤差 (MSE)である。
当該学習済みのオートエンコーダは、レベル1の音を含む音については、その音(定常音)についての音データから生成され学習済みオートエンコーダに入力された音特徴量データと、当該入力に対応して学習済みオートエンコーダから出力された推定音特徴量データとが、殆ど一致する状態となり、損失関数の値が全体に小さくなった。
なお、学習装置で閾値決定モードを実行して、学習済みオートエンコーダの学習のために用いなかった、レベル1の音を含む音についての音データのファイルを用いて閾値を決定することが可能であるが、今回は学習済みのレベル1の音を含む音についての音データファイルを使った損失関数の値を利用して設定した。当該音データのファイルを学習装置のコンピュータ装置100に読み込ませて損失関数を生成したところ、それは、
図9に示したようなものであった。
図9の記載方法は、
図8に倣っている。損失関数の値は、0.10を概ね下回っていた。破線の丸で囲った2点では、損失関数の値が0.08を上回っているが、損失関数の平均(0.00)と、損失関数の標準偏差(σ)から、σ=3を満たす閾値として、0.08という閾値が決定された。
これに従い、検出装置では、損失関数の値のうち、0.08という閾値を超えるものが3つ以上存在する場合に、対象物が非定常状態であると判定するという基準を設けた。
【0083】
以上で説明した、学習済みオートエンコーダと、閾値とを、検出装置に適用した。そして、その検出装置に、レベル2の切削音を含む音のファイルから、レベル5の切削音を含む音のファイルを読み込ませ、作成された損失関数を観察した。
【0084】
レベル2の切削音を含む音の音データのファイルを検出装置のコンピュータ装置100に入力して損失関数を生成したところ、例えば、
図10に示したような損失関数が生成された。
図10の記載方法は、
図8に倣っている。つまり、損失関数の値は、全体として概ね0.1を下回るが、閾値である0.08を超える値が存在し、閾値である0.08を超えた値の数は3つ以上であった。その結果、検出装置では、入力された切削音を含む音は非定常音である、と判定された。
【0085】
同様に、レベル3から5の切削音を含む音の音データのファイルを検出装置のコンピュータ装置100に入力して損失関数を生成したところ、例えば、
図11、12、13に示したような損失関数が生成された。
図11、12、13の記載方法は、
図8に倣っている。つまり、損失関数の値のうち、閾値で0.08を上回る点の数は、レベル3の切削音を含む音の音データが入力された場合には多数、レベル4、5の切削音を含む音の音データが入力された場合にはもはや無数といえるものであった。その結果、検出装置では、レベル3から5の切削音を含む音の音データのファイルを検出装置のコンピュータ装置100に入力したすべての場合で、入力された切削音を含む音は非定常音である、と判定された。
より詳細には、レベル3から5の切削音を含む音の音データのファイルそれぞれを検出装置のコンピュータ装置100に入力して損失関数を生成したところ、そのすべての場合において、切削音を含む音は非定常音である、と判定された。このように、レベル3から5の切削音を含む音のすべてが非定常音であると正しく判定された。
【0086】
以上のように、レベル2から5の切削音を含む音の音データが検出装置に入力された場合においては、閾値である0.08を超える損失関数の値の数はいずれも3以上であったため、それらすべての場合で、切削音を含む音が非定常音であると正しく判定された。また、レベル2からレベル5へとレベルが上がるにしたがって、閾値である0.08を超える損失関数の値の数が増えていったので、その数の多寡に基づいて、入力された切削音を含む音のレベルを判定できることがわかった。
とはいえ、レベル3から5の切削音を含む音の音データが検出装置に入力された場合においては、閾値である0.08を超える損失関数の値がもはや多すぎて、それら音データにより特定される音が非定常音であると判定することはできても、それら音データにより特定される音がレベル3から5のどのレベルの音を含む非定常音であるのかということを区別することが難しい。
そこで、この試験例1では、レベル3から5の切削音を含む音の音データが検出装置に入力され、閾値である0.08を超える損失関数の値が所定の数(例えば、30)を超えた場合には、0.08よりも大きな閾値を適用することとしている。これには限られないが、試験例1では、その場合に、0.15という閾値を適用することにした。
そうすると、レベル3の切削音を含む音の音データが検出装置に入力されたときに生成される損失関数では、閾値である0.15を超える値の数は3つ(
図11中の破線の丸で囲まれた部分)、レベル4の切削音を含む音の音データが検出装置に入力されたときに生成される損失関数では、閾値である0.15を超える値の数は9つ(
図12中の破線の丸で囲まれた部分)、レベル5の切削音を含む音の音データが検出装置に入力されたときに生成される損失関数では、閾値である0.15を超える値の数は多数である。例えば、閾値である0.15を超える損失関数の値の数が2つから5つの場合、6つから20の場合、21以上の場合に、その損失関数が生成されたときに検出装置に入力された音データにより特定される音に含まれていた切削音をそれぞれ、レベル3、4、5と判定するようにしておけば、そのようなルール(アルゴリズム)と、新たな閾値である0.15とを用いることにより、音データにより特定される音が、レベル3から5のどのレベルの切削刃から生じる音を含んでいるかを区別することが可能となるということがわかった。
【0087】
(試験例2:会議中の非定常音の検出)
次に、会議中の会議室を対象物として、対象物から生じる非定常音の検出が可能か否か(会議室が非定常状態にあることの検出が可能か否か)について、試験例2としての試験を行った。
試験例2で用いたのは、第1実施形態で説明した学習装置及び検出装置である。
会議中の会議室では、会議の参加者の話し声、紙をめくる音、咳の音、椅子を引く音等が日常的に生じている。加えて、試験に用いた会議室の近くに消防署が存在することもあり、会議室には、消防署が発するサイレンの音が頻繁に入り込んで来る。それらすべての音を、対象物としての会議室から生じる定常音を含む音として定義して、定常音を含む音のデータを用いて、オートエンコーダに事前学習を行わせ学習済みオートエンコーダを得た。なお、会議室内で鉛筆を落としたときに生じる音は、この試験では会議室から生じる非定常音としており、鉛筆が落ちたときの音を含む音データは、事前学習に用いる音データには含めていない。
学習装置で学習を行う際に用いた、音特徴量データは、メル周波数スペクトログラムである。また、損失関数は、平均二乗誤差 (MSE)である。なお、試験例2では、学習装置では閾値決定モードを実施しなかった。したがって、試験例2では、自動的な閾値の決定を行わなかった。
他方、オートエンコーダの事前学習で用いなかった会議室内の音であって、サイレンの音が会議室に入り込んでいる状態の音のデータをサンプル1として準備した。
また、オートエンコーダの事前学習で用いなかった会議室内の音であって、サイレンの音が会議室に入り込んでいないが、鉛筆を2回落としたときの音のデータをサンプル2として準備した。
事前学習に用いた定常音のデータはサイレンの音が入り込んでいる時間帯を含む通常の会議中の会議室内の音のデータ1時間分(サンプリングレート:44.1kHz、ビット深度:16bit、モノラル)である。他方、事前学習で用いなかった会議室内の音のデータであるサンプル1、サンプル2はそれぞれ1つずつである。これら各データの仕様は、音データファイルの時間:60秒、サンプリングレート:44.1kHz、ビット深度:16bit、モノラルである。
【0088】
上述した会議室が定常状態にあるときの1時間分のデータを1分毎に分割し、合計60個のデータを第1実施形態の学習装置におけるコンピュータ装置100に繰り返し入力し、それによりオートエンコーダに事前学習を行わせて、学習済みオートエンコーダを得た。
会議室が定常状態にあるときの、事前学習に用いた音データから生成された損失関数の例を
図14に示す。
図14の記載方法は、
図8に倣っている。つまり、損失関数の値は、全体として概ね10を下回り、値が16を超えることは略無かった。このような損失関数を生成するような音特徴量データと推定音特徴量データの組を作るように、学習済みオートエンコーダは学習を行ったこととなる。
その後、サンプル1、サンプル2の音データを、上述の如き学習済みオートエンコーダが組込まれた第1実施形態の検出装置におけるコンピュータ装置100Xに入力することにより生成された損失関数を観察した。
サンプル1、サンプル2の音データを本願の検出装置に入力することにより生成された損失関数を
図15、
図16に示す。
図15、16の記載方法は、
図8に倣っている。
図15に示した損失関数のうち、破線で囲まれた部分が、会議室の中に消防車のサイレンの音が入り込んでいる状態である。
図14に示した損失関数の値よりはそのタイミングでの損失関数の値は大きくなっているが、その大きさは、大きい部分でもせいぜい40程度である。
他方、
図16において破線の丸で囲んだ2つの値は、会議室内で鉛筆を落としたタイミングにおける損失関数の値である。それら値は、概ね1100と1300であり、鉛筆を落としたときに生じた音の方がサイレンの音よりも小さいにも関わらず、鉛筆を落としたときに損失関数に生じる誤差の値の方が、
図15で示したサイレンの音が会議室に及んだときにおける損失関数の最大値を一桁超えるという結果となった。
つまり、適切な閾値を設定しておけば、
図15の損失関数が生じるサンプル1の状態の音と、
図15の損失関数が生じるサンプル2の状態の音とを、第1実施形態の検出装置で区別できることが明らかとなった。例えば、閾値の値を500~800程度の適宜の値としておけば、サンプル1と、サンプル2を明確に区別することができる。もちろん、サンプル1の音が生じていたときの会議室の状態が定常状態であり、サンプル2の音が生じていたときの会議室の状態が非定常態である。
【符号の説明】
【0089】
100 コンピュータ装置
101 ディスプレイ
102 入力装置
103 マイクロフォン
100X コンピュータ装置
101X ディスプレイ
102X 入力装置
103X マイクロフォン
121 入力部
122 主制御部
123 特徴量検出部
124 オートエンコーダ
125 損失関数生成部
126 最適化部
127 閾値決定部
128 出力部
121X 入力部
122X 主制御部
123X 特徴量検出部
124X 第1演算部
125X 損失関数生成部
126X 状態判定部
127X 第1記録部
128X 出力部