(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】学習済みオートエンコーダ、学習済みオートエンコーダの生成方法、非定常音の検出方法、非定常音の検出装置、並びにコンピュータプログラム
(51)【国際特許分類】
G01H 17/00 20060101AFI20240723BHJP
G06N 3/048 20230101ALI20240723BHJP
【FI】
G01H17/00 Z
G06N3/048
(21)【出願番号】P 2024520582
(86)(22)【出願日】2024-02-22
(86)【国際出願番号】 JP2024006599
【審査請求日】2024-04-24
【早期審査対象出願】
(73)【特許権者】
【識別番号】515060827
【氏名又は名称】SIシナジーテクノロジー株式会社
(74)【代理人】
【識別番号】100108604
【氏名又は名称】村松 義人
(72)【発明者】
【氏名】志村 秀幸
(72)【発明者】
【氏名】和田 亮
【審査官】山口 剛
(56)【参考文献】
【文献】国際公開第2022/064590(WO,A1)
【文献】特開2022-124477(JP,A)
【文献】特開2022-104666(JP,A)
【文献】特開2023-180842(JP,A)
【文献】米国特許出願公開第2021/0287098(US,A1)
【文献】中国特許出願公開第113033490(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01H 1/00 - 17/00
G01M 13/00 - 13/045
G01M 99/00
G06N 3/00 - 3/126
(57)【特許請求の範囲】
【請求項1】
所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダに、
入力データを、音に基づいてその非定常性を検出しようとする、回転体を含む対象である対象物から定常時に生じる音を含む定常音についての特定の時間長さ分のデータである定常音データから生成した当該定常音データで特定される定常音の特徴量についてのデータである定常音特徴量データとし、且つ出力データを前記特定の時間長さ分の推定定常音特徴量データとし、
且つ複数の定常音特徴量データを入力して、入力データである前記定常音特徴量データと、当該入力データに対する出力データである前記推定定常音特徴量データとについての損失を損失関数を用いて求めるとともに、前記損失が最小となるように事前学習させて得られる、
学習済みオートエンコーダであって、
前記損失関数を、前記定常音特徴量データと前記推定定常音特徴量データとの差分に基づくデータである複数の差分データを生成した後に求められる、前記差分データからノイズを除去する関数であるノイズ除去関数に前記差分データを入力した場合の出力であるノイズ除去データと、前記差分データの所定時間帯におけるトレンドを抽出する関数であるトレンド抽出関数に前記差分データを入力した場合の出力であるトレンドデータとに基づいて前記損失を求める、というものとする、
学習済みオートエンコーダ。
【請求項2】
前記定常音特徴量データは、前記定常音データから生成されるメル周波数スペクトログラムである、
請求項1記載の学習済みオートエンコーダ。
【請求項3】
前記ノイズ除去関数は、
ローパスフィルタとして機能する関数、移動平均を求める関数、フーリエ変換を実施し、所定の閾値を超える周波数帯信号を除去して逆フーリエ変換して戻す関数のいずれかである、
請求項1記載の学習済みオートエンコーダ。
【請求項4】
前記トレンド抽出関数は、
前記差分データと、前記差分データの前、後、又は前後の複数のデータの中央値を求める関数である、
請求項1記載の学習済みオートエンコーダ。
【請求項5】
前記トレンド抽出関数は、
前記差分データの階差系列を取る関数である、
請求項1記載の学習済みオートエンコーダ。
【請求項6】
前記トレンド抽出関数は、前記差分データと、前記差分データの前、後、又は前後の複数のデータの中央値を求める関数であり、
前記損失関数は、前記損失を、前記ノイズ除去データと前記トレンドデータとの差として求めるものとなっている、
請求項1から3のいずれかに記載の学習済みオートエンコーダ。
【請求項7】
前記トレンド抽出関数は、前記差分データの階差系列を取る関数であり、
前記損失関数は、前記損失を、前記トレンドデータに、前記ノイズ除去関数を適用して求めるものとなっている、
請求項1から3のいずれかに記載の学習済みオートエンコーダ。
【請求項8】
所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダを、学習済みオートエンコーダにする方法であって、
入力データを、音に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる音である定常音についての特定の時間長さ分のデータである定常音データから生成した当該定常音データで特定される定常音の特徴量についてのデータである定常音特徴量データとし、且つ出力データを前記特定の時間長さ分の推定定常音特徴量データとし、
複数の定常音特徴量データを入力して、入力データである前記定常音特徴量データと、当該入力データに対する出力データである前記推定定常音特徴量データとについての損失を損失関数を用いて求めるとともに、前記損失が最小となるように事前学習させる過程を含み、
前記損失関数を、前記定常音特徴量データと前記推定定常音特徴量データとの差分に基づくデータである複数の差分データを生成した後に求められる、前記差分データからノイズを除去する関数であるノイズ除去関数に前記差分データを入力した場合の出力であるノイズ除去データと、前記差分データの所定時間帯におけるトレンドを抽出する関数であるトレンド抽出関数に前記差分データを入力した場合の出力であるトレンドデータとに基づいて前記損失を求める、というものものとする、
方法。
【請求項9】
請求項1から
5のいずれかに記載の学習済みオートエンコーダを記録した第1記録部と、
音に基づく非定常性の検出が行われている前記対象物から生じる音を含む測定音についての特定の時間長さ分のデータである測定音データを受取る受付部と、
前記受付部が受取った前記測定音データから、当該測定音データで特定される測定音の特徴量についてのデータである測定音特徴量データを、事前学習で前記定常音データから前記定常音特徴量データを生成したと同じ方法で生成する測定音特徴量データ生成部と、
前記第1記録部に記録された学習済みオートエンコーダを読込み、前記測定音特徴量データ生成部で生成された前記測定音特徴量データを、前記学習済みオートエンコーダに入力して、前記測定音特徴量データに対する前記学習済みオートエンコーダからの出力である前記特定の時間長さ分の推定測定音特徴量データを得る第1演算部と、
前記測定音特徴量データ生成部で生成された前記測定音特徴量データと、前記第1演算部で生成された当該測定音特徴量データから作られた前記推定測定音特徴量データとの差分についての前記損失を、前記学習済みオートエンコーダの学習時に使用したのと同じ前記損失関数を用いて求めるとともに、生成した前記損失についてのデータが所定の条件を充足した場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が非定常音であると判定して、非定常音が発生したことを示す結果データを生成する第2演算部と、
を含んでいる、非定常音の検出装置。
【請求項10】
前記第2演算部は、前記損失についてのデータに、所定の閾値を超える値が所定の個数以上含まれる場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が、非定常音であると判定するようになっている、
請求項9記載の非定常音の検出装置。
【請求項11】
所定のディスプレイ装置を備えており、
前記第2演算部は、前記結果データを、前記測定音特徴量データの元となった測定音データにより特定される測定音が、非定常音であるということを示すグラフの画像を前記ディスプレイ装置に表示するための画像データとして生成するようになっている、
請求項9記載の非定常音の検出装置。
【請求項12】
前記測定音特徴量データは、前記測定音データから生成されるメル周波数スペクトログラムである、
請求項9記載の非定常音の検出装置。
【請求項13】
請求項1から
5のいずれかに記載の学習済みオートエンコーダを記録した第1記録部を備えるコンピュータで実行される非定常音の検出方法であって、いずれもコンピュータが実行する、
音に基づく非定常性の検出が行われている前記対象物から生じる音を含む測定音についての特定の時間長さ分のデータである測定音データを受取る第1過程と、
前記第1過程で受取った前記測定音データから、当該測定音データで特定される測定音の特徴量についてのデータである測定音特徴量データを、事前学習で前記定常音データから前記定常音特徴量データを生成したと同じ方法で生成する第2過程と、
前記第1記録部に記録された学習済みオートエンコーダを読込み、前記第2過程で生成された前記測定音特徴量データを、前記学習済みオートエンコーダに入力して、前記測定音特徴量データに対する前記学習済みオートエンコーダからの出力である前記特定の時間長さ分の推定測定音特徴量データを得る第3過程と、
前記第2過程で生成された前記測定音特徴量データと、前記第3過程で生成された当該測定音特徴量データから作られた前記推定測定音特徴量データとの差分についての前記損失を、前記学習済みオートエンコーダの学習時に使用したのと同じ前記損失関数を用いて求めるとともに、生成された前記損失についてのデータが所定の条件を充足した場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が非定常音であると判定し、非定常音が発生したことを示す結果データを生成する第4過程と、
を含む、非定常音の検出方法。
【請求項14】
所定のコンピュータを、非定常音の検出装置として機能させるためのコンピュータプログラムであって、前記コンピュータを、
請求項1から
5のいずれかに記載の学習済みオートエンコーダを記録した第1記録部と、
音に基づく非定常性の検出が行われている前記対象物から生じる音を含む測定音についての特定の時間長さ分のデータである測定音データを受取る受付部と、
前記受付部が受取った前記測定音データから、当該測定音データで特定される測定音の特徴量についてのデータである測定音特徴量データを、事前学習で前記定常音データから前記定常音特徴量データを生成したと同じ方法で生成する測定音特徴量データ生成部と、
前記第1記録部に記録された学習済みオートエンコーダを読込み、前記測定音特徴量データ生成部で生成された前記測定音特徴量データを、前記学習済みオートエンコーダに入力して、前記測定音特徴量データに対する前記学習済みオートエンコーダからの出力である推定測定音特徴量データを得る第1演算部と、
前記測定音特徴量データ生成部で生成された前記測定音特徴量データと、前記第1演算部で生成された当該測定音特徴量データから作られた前記推定測定音特徴量データとの差分についての前記損失を、前記学習済みオートエンコーダの学習時に使用したのと同じ前記損失関数を用いて求めるとともに、生成した前記損失についてのデータが所定の条件を充足した場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が、非定常音であると判定して、非定常音が発生したことを示す結果データを生成する第2演算部と、
して機能させるための、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対象物から生じる音に基づいて、対象物の非定常性を検出する技術に主に関する。
【背景技術】
【0002】
追って詳しく説明するが、本願発明は、対象物の非定常性を音に基づいて検出するものである。それに対して、従来技術の殆どは、音に基づいて、対象物の異常性を検出するか、或いは対象物が正常性を持っているか異常性を持っているかの判別を行うものである。
【0003】
対象物の非定常性(対象物が非定常状態にあること)を判定するということと、対象物の異常性(或いは正常性と異常性のいずれを持っているか)を判定することとがどのように違うかということについては追って説明するとして、従来の技術について順に説明していくこととする。
例えば、対象物が機械であるとする。機械の不具合を音により検出する、或いは、構造物、設備等の不具合を音により検出するというアイデア自体は、非破壊検査の手法として古くから存在しており、もはや古典的ともいえる。
故障中の或いは故障が生じる時期が迫っている機械が異音を生じることはよく知られており、その異音によって機械の故障、或いは故障が近いことを検出するというのは、ごく普通の手法である。また、構造物等に好ましくない状況が生じたとき、例えば、壁等にヒビが入ったときには打音検査で生じる音に異音が交じることもよく知られており、その異音の発生によって構造物等に不具合が生じていること、或いは生じかかっていることがわかるということも常識である。
古くはこのような異音の検出は、熟練した人間によって行われていた。
【0004】
ところで、人工知能の発達の目覚ましい近年では、機械の故障や、打音検査時に交じる異音を聞き分ける熟練した人間を、人工知能に置き換えようという動きが当然に発生している。
例えば、対象物が機械の場合を例に取ると、正常な状態の機械の音である正常音のデータを大量にサンプリングするとともに、機械の故障が生じている、或いは近い将来に生じる状態の機械の音である異常音のデータを大量にサンプリングし、それら正常音と異常音のデータの双方を、それらデータにより特定される音が正常音である、或いは異常音であるというラベリングを付した上で人工知能に学習させる。そして、学習済みのその人工知能に、対象物(つまり、現在の状態が正常であるか異常であるかの検出或いは判定の対象である機械)が発した音のデータを入力すると、人工知能は、その音のデータにより特定される音が正常音であるか、異常音であるかを判定する。
もちろん、その音が異常音であるという判定がなされたら、その機械が故障中であるか、近い将来に故障が生じるであろうという判定を行うことができる。この判定は、ラベリングの種類に応じて、2段階ではなく、より多くの段階に分けることが可能である。
【0005】
上述の如き人工知能を用いた異常音の検出の技術は、熟練した人間の能力を単純に人工知能に置き換えたものであると言える。上述の人工知能は、入力された音のデータが、既に学習した正常音のデータと異常音のデータとのどちらに近いかということに基づいて、入力された音のデータにより特定される音が、正常音であるか異常音であるかを判定する。
【0006】
上述した人工知能では、上述したように、その学習に、非常に多くの正常音と異常音のデータを必要とするが、それは、学習済みの人工知能を作るために非常に手間とコストがかかることを意味する。
判定の対象物が機械の場合であれば、機械が正常であることを確認した上で、正常な状態の機械が生じる音である正常音のデータを大量にサンプリングするとともに、機械が異常であることを確認した上で、これも大量の異常音のデータをサンプリングしなければならない。正常、異常の2段階だけではなく、例えば、異常の段階を軽度から重度にまで多段階に分けるのであれば、サンプリングしなければならないデータの数は益々増える。
加えて、サンプリングした音のデータには、人工知能に学習させるために正しくラベリングをしなければならない。これもまた、手間、コストを上昇させる。
しかしながら、上述した学習済み人工知能を得るためには、これらの手間、コストは不可避である。
【0007】
そのような学習済み人工知能を得るための手間、コストの抑制を解決するために、本願発明者は以下のようなコンセプトの発明を既に行い、特許出願を行っている。
その発明について以下説明するが、それに先立ちまず、本願における「非定常性」という言葉の定義について述べる。本願における「非定常性(或いは非定常な状態)」とは、後述するようにして事前学習を行った際に対象物から生じていた音以外の音が、対象物から生じている状態を意味する。つまり、本願発明では、定常な状態で生じている音を、後述するオートエンコーダに学習させる。擬人化されたオートエンコーダからの視点でいえば、学習したことのある音のみが生じている(或いは入力されている)状態が定常な状態であり、学習したことのない音が生じている状態が非定常な状態である。
【0008】
例えば、ある機械が対象物だとする。その機械が正常に稼働しているときにその機械が発している音を含む音(周囲の音、つまり雑音というべき環境音をも含んでいても良い)が定常時に生じている音だとすると、その機械に故障その他の不具合が生じている(或いは近い将来に不具合が生じる状態になっている)場合において、その機械が異音を発しているとすれば、異音を含む音が生じているその状態は、非定常の状態である。つまり、この例の場合であれば、対象物の非定常性を検出することができれば、機械に不具合が生じていること、或いは近い将来に不具合が生じることの検出を行えることになる。
【0009】
つまり、対象物から生じる定常時の音である定常音のデータを人工知能に機械学習させることにより学習済み人工知能を得ることが可能であり、そのような学習済み人工知能に対象物の状態を判定する際に必要な音である測定音のデータを入力することにより、対象物の非定常性を検出することが可能となる。
このようなコンセプトを採用する場合、学習済み人工知能を得るために必要なデータは、対象物が定常時であるときに発する音を含む定常音のデータだけとなり、また、ラベルの付与も不要となる。したがって、このようなコンセプトによれば、学習済み人工知能を得るために必要な手間とコストを大いに抑制することが可能となる。
とはいえ、定常音のデータのみを使って学習を行った学習済み人工知能が、定常時ではない非定常時を正しく検出するためには、定常音と非定常音との双方によって学習を行う上述した人工知能で用いられていたのとは異なる手法が必要となる。
【0010】
本願発明者は、求められる異なる手法としてオートエンコーダを利用した。
本願発明者が既に開発し特許出願を行った学習済みオートエンコーダは、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして入力データと同じ次元のデータに戻すオートエンコーダから作られる。このようなオートエンコーダは、人工知能の分野では公知或いは周知である。
本願発明者が開発した学習済みオートエンコーダは、そのような学習前のオートエンコーダに基づいて生成されるものであって、入力データを、音に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる音を含む定常音についての特定の時間長さ分のデータである定常音データから生成した当該定常音データで特定される定常音の特徴量についてのデータである定常音特徴量データとし、且つ出力データを推定定常音特徴量データとし、且つ複数の定常音特徴量データを入力して、入力データである定常音特徴量データと、当該入力データに対する特定の時間長さ分の出力データである推定定常音特徴量データとの差分についての損失が最小となるように事前学習させて得られる、学習済みオートエンコーダである。
【0011】
上述した学習済みオートエンコーダは、以下のような非定常音の検出装置に組込まれる。
その非定常音の検出装置は、上述した学習済みオートエンコーダを記録した第1記録部と、音に基づく非定常性の検出が行われている対象物から生じる音を含む測定音についての特定の時間長さ分のデータである測定音データを受取る受付部と、受付部が受取った測定音データから、当該測定音データで特定される測定音の特徴量についてのデータである測定音特徴量データを、事前学習で定常音データから定常音特徴量データを生成したと同じ方法で生成する測定音特徴量データ生成部と、第1記録部に記録された学習済みオートエンコーダを読込み、測定音特徴量データ生成部で生成された測定音特徴量データを、学習済みオートエンコーダに入力して、測定音特徴量データに対する学習済みオートエンコーダからの出力である特定の時間長さ分のデータである推定測定音特徴量データを得る第1演算部と、測定音特徴量データ生成部で生成された測定音特徴量データと、第1演算部で生成された当該測定音特徴量データから作られた推定測定音特徴量データとの差分についての損失を学習済みオートエンコーダの学習時に使用したのと同じ損失関数を用いて求めるとともに、生成された損失についてのデータが所定の条件を充足した場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が、非定常音であると判定して、非定常音が発生したことを示す結果データを生成する第2演算部と、を含んでいる、非定常音の検出装置である。
【先行技術文献】
【特許文献】
【0012】
【発明の概要】
【発明が解決しようとする課題】
【0013】
上述したオートエンコーダを利用した非定常音の検出装置は、定常音のみによって学習させた人工知能(オートエンコーダ)しか用いないにも関わらず、非定常音の発生を、或いは対象物が非定常状態にあることを検出できるものとなり、対象物の非定常性を検出する人工知能を開発する際の手間とコストを抑制するという効果をも生じるものであった。
しかしながら、ある種の装置を対象物としてそれが発する音に基づいてその非定常性を検出しようとした場合、上述したオートエンコーダを含む非定常性の検出装置はその判定結果にやや正確性を欠くことがあった。その機械とは、回転機構を有する機械である。回転機構とは、軸周りの回転を行う機構である。回転機構を持つ機械として典型的なのは、モータである。したがって、例えば、風力発電設備のプロペラ駆動部、その他発電所のモータ駆動部、ガラス工場等の製造工場の回転駆動部等モータを組込んだ機械の非定常性を上述したオートエンコーダを含む非定常性の検出装置で正確に検出することは難しかった。
【0014】
本願発明は、定常音のみで学習させたオートエンコーダを含む非定常音の検出装置を、回転機構を有する機械である対象物が生じる音に基づく非定常性の検出を従前よりも精度よく行えるように改良することをその課題とする。
【課題を解決するための手段】
【0015】
本願発明者は、本願発明の一態様として、以下のような学習済みオートエンコーダを提案する。この学習済みオートエンコーダは、本願発明における人工知能の中核をなすものである。
本願発明における学習済みオートエンコーダは、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダから作られる。このようなオートエンコーダは、人工知能の分野では公知或いは周知であり、教師データ有りの人工知能の学習にも幾らか使われているが、教師データ無しの人工知能の学習に広く使われている。
本願発明における学習済みオートエンコーダは、そのようなオートエンコーダに基づいて生成されるものであって、入力データを、音に基づいてその非定常性を検出しようとする、回転機構を含む機械である対象物から定常時に生じる音を含む定常音についての特定の時間長さ分のデータである定常音データから生成した当該定常音データで特定される定常音の特徴量についてのデータである定常音特徴量データとし、且つ出力データを前記特定の時間長さ分の推定定常音特徴量データとし、且つ複数の定常音特徴量データを入力して、入力データである前記定常音特徴量データと、当該入力データに対する出力データである前記推定定常音特徴量データとについての損失を損失関数を用いて求めるとともに、前記損失が最小となるように事前学習させて得られる、学習済みオートエンコーダである。
そして、この学習済みオートエンコーダを生成する場合には、前記損失関数を、前記定常音特徴量データと前記推定定常音特徴量データとの差分に基づくデータである複数の差分データを生成した後に求められる、前記差分データからノイズを除去する関数であるノイズ除去関数に前記差分データを入力した場合の出力であるノイズ除去データと、前記差分データの所定時間帯におけるトレンドを抽出する関数であるトレンド抽出関数に前記差分データを入力した場合の出力であるトレンドデータとに基づいて前記損失を求める、というものとする。
つまり、このオートエンコーダは、何度も入力と出力を繰り返すことにより、入力としての定常音特徴量データと、出力としての推定定常音特徴量データとが、なるべく同一に近くなるように学習させられることになる。言い換えれば、本願発明による学習済みオートエンコーダは、入力されるデータが定常音特徴量データである場合において、入出力のデータが同一に近くなるようにチューニングされたものであると言え、雑にいうなら、定常状態に発生している音に関するデータなら、入力されるデータと出力されるデータとを、殆ど同じものとすることができるオートエンコーダであるといえる。そして、その学習の過程で、上述したような損失関数が使われるのである。
【0016】
以上説明した学習済みオートエンコーダを用いて作られる後述する非定常音の検出装置によれば、回転機構を有する機械である対象物が生じる音に基づく非定常性の検出を従前よりも精度よく行うことができるようになる。なお、この学習済みオートエンコーダに学習させるデータは、定常音のデータに基づいて生成される定常音特徴量データのみであるため、学習済みオートエンコーダを生成する場合に必要となる手間とコストが抑制されるという効果も維持される。
本願発明による学習済みオートエンコーダが、回転機構を有する機械である対象物が生じる音に基づいて対象物の非定常性を従前よりも精度よく検出できる理由は以下の通りである。
従来の学習済みオートエンコーダを組み込んだ非定常音の検出装置について、回転機構を有する対象物が生じる音に基づく非定常性の検出の精度が低くなりがちとなる理由について本願発明者が研究を重ねた結果、以下のことがわかった。
回転機構を含む対象物には、回転軸等の回転を行う回転体の他、一般的にギア、ベアリング等が含まれる。そして、回転機構を含む対象物が非定常状態になった場合には、軸のズレ、回転体の偏心、ギアの欠損、ギアの接触異常、ベアリングの欠損等が生じていることが多い。そのような対象物の不具合は、対象物から生じる音においては、スパイク状の極めて短時間の異音として現れる。この異音は、損失関数の出力(損失)としては、スパイク状の誤差スコアとして現れることになる。
ところで、回転機構を含む対象物は常に慣性形の振動状態にあり、例えば隣接するギアの接合によって微小な誤差スコアの変動が常に生じている。この誤差スコアの変動は、損失においてノイズとして現れる。また、回転機構では、回転体が回転することにより同じ状態が繰り返し生じるため、損失に当たる誤差スコアにトレンドとでも称するべきある程度長期的な時間的な傾向が含まれることがある。
損失関数を用いて求められる損失における上述したノイズとトレンドの影響を抑制しないと、入力データである定常音特徴量データと、出力データである推定定常音特徴量データとを極力一致させるような機能を持つ学習済みオートエンコーダを得ることができないということが判明した。これは本願発明者が得た知見である。
この知見に基づき本願発明では、エンコーダに学習を行わせる際に用いる損失関数を、定常音特徴量データと推定定常音特徴量データとの差分に基づくデータである複数の差分データを生成した後に求められる、差分データからノイズを除去する関数であるノイズ除去関数に差分データを入力した場合の出力であるノイズ除去データと、差分データの所定時間帯におけるトレンドを抽出する関数であるトレンド抽出関数に差分データを入力した場合の出力であるトレンドデータとに基づいて生成することとしている。
損失関数をこのようなものとすることにより、求められる損失から、ノイズと、トレンドに相当する成分が完全にではないかもしれないが除去される。したがって、本願による学習済みオートエンコーダを用いて作られる後述する非定常音の検出装置によれば、回転機構を有する機械である対象物が生じる音に基づく非定常性の検出を従前よりも精度よく行うことができるようになる。
【0017】
本願発明の学習済みオートエンコーダを得る過程で用いられる損失関数には、上述したように、差分データに現れるノイズを除去するためにノイズ除去関数を用いるとともに、差分データに現れるトレンドを除去するためにトレンド抽出関数を用いることとしている。
ここで、ノイズ除去関数としては、ローパスフィルタとして機能する関数、移動平均を求める関数、フーリエ変換を実施し、所定の閾値を超える周波数帯信号を除去して逆フーリエ変換して戻す関数という3つの関数のうちのいずれかを用いることができる。いずれにせよ、これら3つの関数のいずれかを用いることにより、回転機構を有する機械である対象物に特有のノイズである、連続して多数生成される差分データの中で前後の差分データから短時間で極端に生じる激しい変動を修正することができるようになる。
また、トレンド抽出関数としては、前記差分データと、前記差分データの前、後、又は前後の複数のデータの中央値を求める関数、又は前記差分データの階差系列を取る関数を用いることができる。
ここで、複数のデータの中央値を求める関数は、文字通りトレンドを抽出する関数である。差分データは連続して多数生成されるところ、非定常性の検出に影響しないが、長期的にわたる持続的な変化や周期性をもつ緩やかな変化である、回転機構を有する機械である対象物に特有のトレンドの発生を伴う場合がある。中央値を求める関数を用いて、着目する1つの差分データを含む連続した複数個の差分データの中央値を求めることにより、上述のトレンド或いはトレンドを表現するトレンドデータの抽出が可能となり、トレンドデータを用いることで差分データからトレンドの影響を除去することができるからである。
他方、差分データの階差系列を取る関数は、差分データからトレンドの影響を除去する関数であり、トレンド自体を抽出する中央値を求める関数とはその性質が若干異なる。中央値を求める関数を用いて生成されるトレンドデータは、上述するようにトレンドを表すものであったが、階差系列を用いて生成されるトレンドデータは、上述したトレンドの影響が除去された後の差分データに相当する。
【0018】
本願発明の学習済みオートエンコーダの学習の過程で用いられる損失関数は、上述したように、損失をノイズ除去データとトレンドデータとに基づいて求めるものとなっている。
より詳細には、前記損失関数は、前記トレンド抽出関数が、前記差分データと、前記差分データの前、後、又は前後の複数のデータの中央値を求める関数である場合には、前記損失を、前記ノイズ除去データと前記トレンドデータとの差として求めるものとなっていてもよい。
ノイズ除去データは、概念としては、定常音特徴量データとその定常音特徴量データと対になる推定定常音特徴量データの差分についての差分データからノイズの影響を除いたものとなっている。そのような差分データからノイズの影響を除いたデータと、概念としてはトレンドに対応したトレンドデータとの差を求めると、そのデータは、概念としては、差分データからノイズの影響を除いたデータから更にトレンドの影響を除いたものとなる。
したがって、そのような損失関数を用いることにより、定常音特徴量データと推定定常音特徴量データとの間の損失から、回転機構を有する対象物から生じる音に特有のノイズ及びトレンドの影響を良く除くことができることになる。
前記損失関数は、前記トレンド抽出関数が、前記差分データの階差系列を取る関数である場合には、前記損失を、前記トレンドデータに、前記ノイズ除去関数を適用して求めるものとなっていてもよい。
この場合のトレンドデータは、概念としては、定常音特徴量データとその定常音特徴量データと対になる推定定常音特徴量データの差分についての差分データからトレンドの影響を除いたものとなっている。そのような差分データにノイズ除去関数を適用することによって求められるデータは、概念としては、差分データからトレンドの影響を除いたデータから更にノイズの影響を除いたものとなる。
したがって、そのような損失関数を用いることにより、定常音特徴量データと推定定常音特徴量データとの間の損失から、回転機構を有する対象物から生じる音に特有のノイズ及びトレンドの影響を良く除くことができることになる。
【0019】
本願発明者は、上述した学習済みオートエンコーダを生成する方法も、本願発明の一態様として提案する。この方法の効果は、上述した学習済みオートエンコーダの効果と同様である。
一例となるその方法は、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダを、学習済みオートエンコーダにする方法であって、入力データを、音に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる音である定常音についての特定の時間長さ分のデータである定常音データから生成した当該定常音データで特定される定常音の特徴量についてのデータである定常音特徴量データとし、且つ出力データを前記特定の時間長さ分の推定定常音特徴量データとし、複数の定常音特徴量データを入力して、入力データである前記定常音特徴量データと、当該入力データに対する出力データである前記推定定常音特徴量データとについての損失を損失関数を用いて求めるともに、前記損失関数が最小となるように事前学習させる過程を含み、前記損失関数を、前記定常音特徴量データと前記推定定常音特徴量データとの差分に基づくデータである複数の差分データを生成した後に求められる、前記差分データからノイズを除去する関数であるノイズ除去関数に前記差分データを入力した場合の出力であるノイズ除去データと、前記差分データの所定時間帯におけるトレンドを抽出する関数であるトレンド抽出関数に前記差分データを入力した場合の出力であるトレンドデータとに基づいて前記損失を求めるというものとする、方法である。
【0020】
本願発明者はまた、上述した学習済みオートエンコーダを利用した非定常音の検出装置をも、本願発明の一態様として提案する。
一例となるその非定常音の検出装置(以下、単に「検出装置」と呼ぶ場合がある。)は、これまでに説明したいずれかの学習済みオートエンコーダを記録した第1記録部と、音に基づく非定常性の検出が行われている前記対象物から生じる音を含む測定音についての特定の時間長さ分のデータである測定音データを受取る受付部と、前記受付部が受取った前記測定音データから、当該測定音データで特定される測定音の特徴量についてのデータである測定音特徴量データを、事前学習で前記定常音データから前記定常音特徴量データを生成したと同じ方法で生成する測定音特徴量データ生成部と、前記第1記録部に記録された学習済みオートエンコーダを読込み、前記測定音特徴量データ生成部で生成された前記測定音特徴量データを、前記学習済みオートエンコーダに入力して、前記測定音特徴量データに対する前記学習済みオートエンコーダからの出力である前記所定の時間長さ分の推定測定音特徴量データを得る第1演算部と、前記測定音特徴量データ生成部で生成された前記測定音特徴量データと、前記第1演算部で生成された当該測定音特徴量データから作られた前記推定測定音特徴量データとの差分についての前記損失を、前記学習済みオートエンコーダの学習時に使用したのと同じ前記損失関数を用いて求めるとともに、生成した前記損失についてのデータが所定の条件を充足した場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が非定常音であると判定して、非定常音が発生したことを示す結果データを生成する第2演算部と、を含んでいる非定常音の検出装置である。
【0021】
この非定常音の検出装置は、上述した学習済みオートエンコーダを記録した第1記録部を備えている。第1記録部に記録された学習済みオートエンコーダは、後述するようにして用いられる。
この検出装置は、音に基づく非定常性の検出が行われている対象物から生じる音を含む測定音についての特定の時間長さ分のデータである測定音データを受取る受付部を備えている。受付部が受付けるデータは測定音データであり、それは、音に基づく非定常性の検出が行われている対象物から生じる音を含む測定音についての特定の時間長さ分のデータである。つまり、対象物から生じる音を含む測定音に基づいて、この検出装置は、非定常音を検出する。
この検出装置は、測定音特徴量データ生成部を備える。測定音特徴量データ生成部は、受付部が受取った測定音データから、当該測定音データで特定される測定音の特徴量についてのデータである測定音特徴量データを生成するものである。測定音データは、事前学習の段階で用いられた定常音データと、データの形式、種類が同じものであり、測定音特徴量データは、事前学習の段階で定常音データから定常音特徴量データを生成したときに用いられた方法と同じ方法で生成される。測定音特徴量データは、学習済みオートエンコーダへの入力となるが、測定音特徴量データも、学習済みオートエンコーダの学習のために学習中のオートエンコーダに入力された定常音特徴量データも、音についてのデータであるから、両者のデータの形式或いは種類は同じものとすることができる。例えば、定常音特徴量データが定常音データから生成されるメル周波数スペクトログラムであるときは、測定音特徴量データは、測定音データから生成されるメル周波数スペクトログラムとなる。
【0022】
そして、この非定常音の検出装置は、第1演算部を備えている。第1演算部は、第1記録部に記録された学習済みオートエンコーダを読込み、学習済みオートエンコーダを機能させる。第1演算部は、第1記録部から読み込んだ学習済みオートエンコーダに、測定音特徴量データ生成部で生成された測定音特徴量データを入力し、その出力としての推定測定音特徴量データを得るようになっている。
学習済みオートエンコーダは、既に述べたように、定常音の特徴についてのデータ(学習中であれば、定常音特徴量データ)が入力されたときには、それと同一に近い推定定常音特徴量データを出力するようにチューニングされている。したがって、測定音特徴量データの元になった測定音データで特定される測定音が定常音(定常状態にある対象物からの音を含む音)である場合には、学習済みオートエンコーダが出力する推定測定音特徴量データは、その推定測定音特徴量データの元となった測定音特徴量データと殆ど同じものとなっている。この結論は、測定音特徴量データの元となった測定音データで特定される測定音に、環境音が含まれている場合であっても変わらない。なぜなら、測定音に環境音が含まれる場合があるのと同様に、学習の過程で学習済みオートエンコーダに入力された音特徴量データの元となった定常音データで特定される定常音にも、環境音が含まれ得るのであるから、測定音特徴量データの中に含まれる環境音由来の成分は、学習済みオートエンコーダから見れば、既に学習した、定常音由来の成分と見做すことができるので、定常音から外れた成分と把握されることがないからである。
他方、第1演算部で用いられる学習済みオートエンコーダは、入力が定常音に関するデータのときのみ、入力と出力が略一致するようにチューニングされている。言い換えれば、上述の学習済みオートエンコーダは、入力と出力が略一致するという機能を発揮できるのが、対象物が定常状態にあるとき、或いは定常状態にある対象物からの音を含む定常音が入力されたときだけの、定常状態、或いは定常音に特化して学習が行われた、定常状態、或いは定常音専用のオートエンコーダであるといえる。したがって、測定音特徴量データの元になった測定音データで特定される測定音が非定常状態にある対象物からの音を含む非定常音である場合には、学習済みオートエンコーダは対象物が定常状態であるときと同様には機能しない(言ってみれば、予定されたようには機能せず、或いは、雑な表現であることを承知でいうと誤作動する)。したがって、この場合において学習済みオートエンコーダが出力する推定測定音特徴量データは、その推定測定音特徴量データの元となった測定音特徴量データと有意に異なるものとなる。そして、この結論も、既に述べた理由により、測定音に環境音が含まれている場合であっても変わらない。
この検出装置は、第2演算部を含んでいる。第2演算部は、第1演算部との協働により、或いは、測定音特徴量データ生成部及び第1演算部との協働により、外部から受取った測定音データに基づいて、対象物が非定常状態にあることを検出する人工知能として機能する。
第2演算部は、測定音特徴量データ生成部で生成された測定音特徴量データと、第1演算部で生成された当該測定音特徴量データから作られた推定測定音特徴量データとの差分についての損失を求めるようになっている。損失を求めるときに用いられる損失関数は、学習済みオートエンコーダの学習時に使用したのと同じ損失関数である。つまり、損失を求めるときに用いられる方法は、学習済みオートエンコーダの学習時に使用したのと同じ方法である。上述したように、測定音データが定常音である場合においては、学習済みオートエンコーダに対する入力としての測定音特徴量データと学習済みオートエンコーダからの出力としての推定測定音特徴量データとは略一致し、測定音データが非定常音である場合においては、学習済みオートエンコーダに対する入力としての測定音特徴量データと学習済みオートエンコーダからの出力としての推定測定音特徴量データとは有意に異なるものとなる。したがって、測定音データが定常音である場合においては、学習済みオートエンコーダに対する入力としての測定音特徴量データと学習済みオートエンコーダからの出力としての推定測定音特徴量データとの間の損失は比較的小さくなり、測定音データが非定常音である場合においては、学習済みオートエンコーダに対する入力としての測定音特徴量データと学習済みオートエンコーダからの出力としての推定測定音特徴量データとの間の損失は比較的大きくなる。測定音特徴量データと推定測定音特徴量データの差分についての損失を生成する場合において用いられる損失関数が学習済みオートエンコーダの学習時に使用したのと同じ損失関数であるから、その結果得られる損失からは、ノイズとトレンドの影響が除去されている。したがって、測定音データが定常音である場合においては、損失関数を用いて得られる損失が比較的小さくなり、測定音データが非定常音である場合においては、損失関数を用いて得られる損失が比較的大きくなるという特徴は、一定以上の精度で保証されることになる。
第2演算部は、また、生成した損失についてのデータが所定の条件を充足した場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が非定常音であると判定して、非定常音が発生したことを示す結果データを生成するようになっている。上述した損失の大小の相違に基づいて、第2演算部は、検出装置が受付けた測定音データで特定される測定音に含まれる音を発した対象物が、定常状態にあるのか非定常状態にあるのかを判定することが可能となり、ひいては対象物が非定常状態にあることを示すデータである結果データを生成することが可能となる。
対象物が非定常状態にあることを示すデータである結果データは、どのように利用されても構わない。例えば、結果データが生成されたら、検出装置、或いは検出装置から結果データを受取った所定の他の装置は、対象物が非定常状態にあるという事実を検出装置のユーザに知らせるための適当な動作を実行しても良い。例えば、検出装置や他の装置は、電子メールその他のメッセージで、所定のユーザに上記事実が発生したことを通知しても良いし、上記事実が発生したことを、検出装置や他の装置に接続されたディスプレイに表示したり、パトランプを鳴動させる等、ユーザが五感のいずかによって検出可能な方法でユーザに通知するといったことが可能である。
また、多数の結果データを時系列で、例えば、タイムスタンプとともに検出装置内外の記録媒体に記録することにより、蓄積された結果データの傾向から、対象物の状態が将来どう変わるかを予測することや、また、過去に対象物の状態がどのような経緯を辿ったかの検証が可能となる。
検出装置は、所定のディスプレイ装置を備えていてもよい。その場合、前記第2演算部は、前記結果データを、前記測定音特徴量データの元となった測定音データにより特定される測定音が、非定常音であるということを示すグラフの画像を前記ディスプレイに表示するための画像データとして生成するようになっていてもよい。これによって、ユーザに、入力された測定音データを生じている対象物の状態、例えば、定常状態にあるか非定常状態にあるかを直観的に把握させることが可能となる。
【0023】
以上の説明から明らかなように、この出願による非定常音の検出装置によれば、測定音データが仮に環境音を含む場合であっても、対象物が非定常状態にあることを検出することができる。この検出装置は、測定音データに対してノイズキャンセリングの技術を適用する必要がないという利点も持つ。
【0024】
本願発明の検出装置における第2演算部は、上述したように、測定音特徴量データ生成部で生成された測定音特徴量データと、第1演算部で生成された当該測定音特徴量データから作られた推定測定音特徴量データとの差分を取る。この際に、どうやってその差分を検出するかは、適宜決定することができる。
例えば、前記第2演算部は、前記損失についてのデータに、所定の閾値を超える値が所定の個数以上含まれる場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が、非定常音であると判定するようになっていてもよい。
このようにすることにより、第2演算部は、閾値を超える損失関数中の値の数を数えるだけで、対象物からの音に非定常音が含まれるかどうかを、つまり対象物が非定常状態にあるかどうかを検出することができるようになる。
加えて、上述の如き閾値を用いることには以下の利点もある。従来の人工知能の場合、基本的には、人工知能から出力される値の種類は、人工知能に事前学習させたデータの種類に依存する。例えば、人工知能が出力する対象物から生じる異音の段階が、正常、普通、悪い、最悪の4段階であれば、人工知能に事前学習させるデータの種類は、上記4段階に則ったものとし、且つ各データに則ったラベリングがなされたものでなければならない。しかしながら、第2演算部が上述の如き閾値を用いるのであれば、本願発明の学習済みオートエンコーダに学習させたデータが定常状態のデータのみであったとしても、上述の閾値を変更するだけで、同一の損失関数から、異なる判定結果を得ることが可能となる。これは、学習済みオートエンコーダにおける事前学習を複雑化しなくても、上述の例であれば、4段階の判定を行うことができる、ということを意味する。この効果を得るためには、言うまでもないが、本願発明における検出装置では、第2演算部で用いる閾値を変更することが可能である。かかる閾値の変更は、例えば、検出装置に接続された所定の入力装置(キーボード、マウス等)からの入力によって行うことができる。また、閾値の変更は、予め定められた規則にしたがって、検出装置自体が自動的に行うことも可能である。
【0025】
本願発明者は、本願発明における学習済みオートエンコーダを応用した非定常音の検出方法をも、本願発明の一態様として提案する。この方法の効果は、本願発明による非定常音の検出装置の効果と同様である。
一例となるその方法は、以上で説明した学習済みオートエンコーダを記録した第1記録部を備えるコンピュータで実行される非定常音の検出方法であって、いずれもコンピュータが実行する、以下の過程を含む。
その過程は、音に基づく非定常性の検出が行われている前記対象物から生じる音を含む測定音についての特定の時間長さ分のデータである測定音データを受取る第1過程と、前記第1過程で受取った前記測定音データから、当該測定音データで特定される測定音の特徴量についてのデータである測定音特徴量データを、事前学習で前記定常音データから前記定常音特徴量データを生成したと同じ方法で生成する第2過程と、前記第1記録部に記録された学習済みオートエンコーダを読込み、前記第2過程で生成された前記測定音特徴量データを、前記学習済みオートエンコーダに入力して、前記測定音特徴量データに対する前記学習済みオートエンコーダからの出力である前記所定の時間長さ分の推定測定音特徴量データを得る第3過程と、前記第2過程で生成された前記測定音特徴量データと、前記第3過程で生成された当該測定音特徴量データから作られた前記推定測定音特徴量データとの差分についての前記損失を、前記学習済みオートエンコーダの学習時に使用したのと同じ前記損失関数を用いて求めるとともに、生成された前記損失についてのデータが所定の条件を充足した場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が非定常音であると判定し、非定常音が発生したことを示す結果データを生成する第4過程と、である。
【0026】
本願発明者は、本願発明における学習済みオートエンコーダを応用した非定常音の検出装置として、所定のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。このコンピュータプログラムの効果は、本願発明による非定常音の検出装置の効果と同様であり、また、汎用のコンピュータを本願発明による非定常音の検出装置として機能させられることもその効果である。
一例となるコンピュータプログラムは、所定のコンピュータを、非定常音の検出装置として機能させるためのコンピュータプログラムである。
このコンピュータプログラムは、前記コンピュータを、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして前記入力データと同じ次元のデータに戻すオートエンコーダを、入力データを、音に基づいてその非定常性を検出しようとする対象である対象物から定常時に生じる音を含む定常音についての特定の時間長さ分のデータである定常音データから生成した当該定常音データで特定される定常音の特徴量についてのデータである定常音特徴量データとし、且つ出力データを推定定常音特徴量データとし、且つ複数の定常音特徴量データを入力して、入力データである前記定常音特徴量データと、当該入力データに対する出力データである前記推定定常音特徴量データとの差分が最小となるように事前学習させて得られる、学習済みオートエンコーダを記録した第1記録部と、音に基づく非定常性の検出が行われている前記対象物から生じる音を含む測定音についての特定の時間長さ分のデータである測定音データを受取る受付部と、前記受付部が受取った前記測定音データから、当該測定音データで特定される測定音の特徴量についてのデータである測定音特徴量データを、事前学習で前記定常音データから前記定常音特徴量データを生成したと同じ方法で生成する測定音特徴量データ生成部と、前記第1記録部に記録された学習済みオートエンコーダを読込み、前記測定音特徴量データ生成部で生成された前記測定音特徴量データを、前記学習済みオートエンコーダに入力して、前記測定音特徴量データに対する前記学習済みオートエンコーダからの出力である推定測定音特徴量データを得る第1演算部と、前記測定音特徴量データ生成部で生成された前記測定音特徴量データと、前記第1演算部で生成された当該測定音特徴量データから作られた前記推定測定音特徴量データとの差分についての損失を、前記学習済みオートエンコーダの学習時に使用したのと同じ損失関数を用いて求めるとともに、生成した前記損失についてのデータが所定の条件を充足した場合に、当該測定音特徴量データの元となった測定音データにより特定される測定音が、非定常音であると判定して、非定常音が発生したことを示す結果データを生成する第2演算部と、して機能させるための、コンピュータプログラムである。
【図面の簡単な説明】
【0027】
【
図1】一実施形態による学習装置の全体構成を概略で示す斜視図。
【
図2】
図1に示した学習装置に含まれるコンピュータ装置のハードウェア構成を示す図。
【
図3】
図2に示したコンピュータ装置の内部に生成される機能ブロックを示すブロック図。
【
図4】
図2に示したコンピュータ装置に含まれるオートエンコーダの構成を概念的に示す図。
【
図5】
図3に示した損失生成部で生成される損失の一例を概念的に示す図。
【
図6】一実施形態の検出装置に含まれるコンピュータ装置の内部に生成される機能ブロックを示すブロック図。
【
図7】状態判定部で判定が行われる場合における損失と閾値との関係を示す図。
【
図8】対象物が定常状態にある場合のヒストグラムの一例を示す図。
【
図9】対象物が非定常状態にある場合のヒストグラムの一例を示す図。
【発明を実施するための形態】
【0028】
以下、図面を参照しつつ本発明の好ましい一実施形態について説明する。また、追って、実施形態における検出装置を用いて行った試験例についても説明する。
【0029】
この実施形態では、非定常音の検出装置(以下、単に「検出装置」と称する場合がある。)について説明する。
非定常音の検出装置は、後述するように、学習済みオートエンコーダを含んでいる。したがって、非定常音の検出装置を得るにはまず、学習済みオートエンコーダを得る必要がある。この実施形態では、学習済みオートエンコーダを得るために必要な装置を、便宜上学習装置と称することとする。この検出装置は、回転機構を持つ機械である対象物からの音により、その機械が非定常状態にあることを検出するためのものである。回転機構を持つ機械として典型的なのは、モータである。モータを組込んだ装置、例えば、風力発電設備のプロペラ駆動部、その他発電所のモータ駆動部、ガラス工場等の製造工場の回転駆動部等が、この実施形態の検出装置で非定常状態にあることを検出する対象物となりうる。
また、この実施形態における非定常音の検出装置は、必ずしもそうする必要はないが、非定常音を検出する際に、後述する閾値を用いる。そして、この実施形態においては、閾値は、学習済みオートエンコーダを得るために用いられる上述した学習装置で生成される。もっとも、閾値は、学習装置ではなく、検出装置で生成されても良いし、学習装置でも、検出装置でもない他の装置で生成されても構わない。
【0030】
上述したように、非定常音の検出装置を成立させるには、検出装置に加え、学習装置と、場合によっては、検出装置及び学習装置とは別の、閾値を決定するための他の装置が必要となる。しかしながら、最大で3つ必要となる検出装置と、学習装置と、他の装置とは、必要なハードウェア構成は同じとすることができるので、それらにインストールするコンピュータプログラムを適宜なものとすることにより、1つの装置にまとめることが可能である。したがって、当然に、上述した最大で3つ必要となる検出装置と、学習装置と、他の装置とのうちの任意の2つは、1つの装置にまとめることが可能である。
既に述べたように、この実施形態では、学習装置で閾値を決定することとしている。これは、言い換えれば、学習装置と他の装置とを1つの装置としてまとめた態様について例示するものであるといえる。
【0031】
検出装置、学習装置はともに、コンピュータ装置を含んでいる。検出装置と学習装置とに含まれるコンピュータ装置は同じとすることができ、この実施形態では同じである。また、検出装置、学習装置はともに、コンピュータ装置に接続される周辺機器を備えている。それら周辺機器も検出装置と学習装置とで同じとすることができ、これには限られないが、この実施形態ではそうすることとしている。
【0032】
<学習装置について>
ハードウェア的に見れば検出装置の構成も同じであるが、取り敢えず、学習装置のハードウェア構成を
図1に示す。学習装置は、コンピュータ装置と周辺機器を含むが、
図1にはそれらが示されている。
【0033】
図中100がコンピュータ装置である。コンピュータ装置100には、ディスプレイ101と入力装置102とが接続されている。また、コンピュータ装置100には、後述するように、マイクロフォン103が接続されている。
ディスプレイ101は、静止画像又は動画像を表示するためのものであり、公知、或いは周知のものを用いることができる。この実施形態におけるディスプレイ101は、静止画像と動画像の双方を表示できるものとされるが、別にこれは必須ではない。ディスプレイ101は公知、或いは周知のものでよく、市販品で足り、例えば、液晶ディスプレイや有機EL(electro-luminescence)ディスプレイである。この実施形態におけるディスプレイ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との間には、音データを増幅するためのアンプが存在していても良い。アンプはもちろん、公知或いは周知であり、市販も大量にされているので、仮にアンプを用いるのであればそれらのうちの適当なものを選択して用いれば良い。この実施形態ではアンプを用いてはいるが、それはごく普通のものであるから、詳細な説明も図示も省略する。
【0034】
次に、学習装置を構成するコンピュータ装置100の構成について説明する。コンピュータ装置100のハードウェア構成を、
図2に示す。
ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インタフェイス114、大容量記録媒体115が含まれており、これらはバス116によって相互に接続されている。
CPU111は、演算を行う演算装置である。演算装置であるCPU111は、これらも演算装置であるGPU(graphics processing unit)やGPGPU(general purpose computing on GPU)に置換することができる。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に出力されるようになっている。
【0035】
以上説明したコンピュータ装置100を含むシステム一式は以下の機能ブロックによって、学習装置として機能するために必要な処理を実行する。
CPU111がコンピュータプログラムを実行することにより、コンピュータ装置100内部には、
図3で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、コンピュータ装置100に、コンピュータ装置100が学習装置として機能するために必要な以下に述べるような処理を実行させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、コンピュータ装置100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
コンピュータ装置100内には、本願発明の機能との関係で、入力部121、主制御部122、特徴量検出部123、オートエンコーダ124、オートエンコーダ記録部124A、損失生成部125、損失関数記録部125A、損失記録部125B、最適化部126、閾値決定部127、出力部128が生成される。
これらのうち、情報処理を実行する機能ブロック、つまり、主制御部122、特徴量検出部123、オートエンコーダ124、損失生成部125、最適化部126、及び閾値決定部127は、ハードウェアとしては演算装置(この実施形態ではCPU111)に相当し、或いは上述のコンピュータプログラムの命令によって情報処理を実行する演算装置の機能によって実現される。
入力部121と出力部128とは、ハードウェアとして見た場合には、インタフェイス114に相当し、或いはインタフェイス114の機能によって実現される。より具体的には、入力部121と出力部128は、概念としては、インタフェイス114とバス116との接続部分に相当する。
また、データを記録する機能ブロック、つまり、オートエンコーダ記録部124Aと、損失関数記録部125Aと、損失記録部125Bとは、ハードウェアとしては記録装置、例えば、RAM113、又は大容量記録媒体115に相当し、或いはそれら記録装置の一領域として実現される。
【0036】
入力部121は、インタフェイス114からの入力を受取るものである。
インタフェイス114から入力部121への入力には、入力装置102からの入力がある。入力装置102からの入力には、詳細は追って説明するが、例えば、モード選択データがある。入力装置102からモード選択データ等の入力があった場合、入力装置102から入力されたモード選択データ等はいずれも、入力部121から主制御部122へと送られるようになっている。インタフェイス114から入力部121へ入力されるデータには、また、マイクロフォン103からの音データがある。音データは入力部121に受取られた場合、入力部121は音データを特徴量検出部123へと送るようになっている。
主制御部122は、コンピュータ装置100内に生成される上述の機能ブロックの全体的な制御を行うものである。例えば、主制御部122は、上述したようにモード選択データを受取ることがある。この実施形態における学習装置は、学習装置として機能する学習モードと、閾値を決定する装置として機能する閾値決定モードとの2つのモードの1つから択一的に選択されたモードで機能するようにされている。モード選択データは、それら2つのモードのうちのどちらのモードでコンピュータ装置100を機能させるかを決定する(指定する)データであるが、そのデータを受取った主制御部122は、選択されたモードを実行するように、他の機能ブロックのうちの適宜のものに指示を行う。この実施形態でいえば、少なくとも主制御部122は、損失生成部125に対して、後述するようにして損失生成部125が生成した損失(正確にいえば、そのデータ)の出力先についての指示を行う。具体的には、主制御部122は、学習装置が学習モードを実行するときには例えば、最適化部126にオートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するための後述のデータを更新するように、また、学習装置が閾値決定モードを実行するときには例えば、閾値決定部127に後述する閾値を決定するよう、指示を行う。
【0037】
特徴量検出部123は、受取った音データの特徴量を検出して、音の特徴量についてのデータである音特徴量データを生成するものである。
なお、この実施形態では、特徴量検出部123は、音特徴量データを生成するのに先立って、音データに対して必要な処理、例えば、音データをアナログデータから所定の形式のデジタルデータ(例えば、wav形式のデジタルデータ)へ変換する処理、音データの長さを所定の長さ(例えば、10秒間とか、30秒間といった予定された長さ)に整えるといった処理を必要に応じて行うこととしている。必ずしもこの限りではないがこの実施形態では、特徴量検出部123は、そのようにして整えられた音データの特徴量についての音特徴量データを生成するようになっている。
音特徴量データは、追って詳述するが、この実施形態では、これには限られないがメル周波数スペクトログラム(より正確にいえば、そのデータ)である。メル周波数スペクトログラムをどのようにして生成するのかについては後述する。特徴量検出部123は、生成した音特徴量データを、オートエンコーダ124と、損失生成部125とに送るようになっている。
【0038】
オートエンコーダ記録部124Aにはオートエンコーダを生成するためのデータが記録されている。演算装置たるCPU111がオートエンコーダ記録部124Aからオートエンコーダを生成するためのデータを読み込むことにより、オートエンコーダ124が生成される。
オートエンコーダ124は、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして入力データと同じ次元のデータに戻す自己符号化機である。人工知能の分野では、このようなオートエンコーダは公知或いは周知であり、この実施形態のオートエンコーダ124(或いはオートエンコーダを生成するためのデータ)はそのような既知のオートエンコーダ(或いはオートエンコーダを生成するためのデータ)から選択すれば良い。オートエンコーダ124は、概念的に示すと、
図4に示したようなものである。入力xを受付ける入力層(Input Layer)と、入力xをエンコードして特徴量を圧縮し、また圧縮されたデータをデコードして特徴量を伸長する中間層と、出力x’を出力する出力層(Output Layer)との組合せにより、オートエンコーダ124は構成されている。上述したように、オートエンコーダ124は、音特徴量データを特徴量検出部123から受取る場合がある。音特徴量データを受取ると、オートエンコーダ124は、それをエンコードするとともにエンコードされたデータを続けてデコードすることにより音特徴量データに戻して出力する。出力された音特徴量データを、推定音特徴量データと称することにする。オートエンコーダ124は、生成した推定音特徴量データを損失生成部125へと送るようになっている。
オートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するためのデータは、後述するように最適化部126により更新されていくようになっている。
また、オートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するためのデータは、後述するタイミングで、出力部128へ送られるようになっている。
【0039】
損失生成部125は、上述したように、特徴量検出部123から音特徴量データを、オートエンコーダ124から、推定音特徴量データをそれぞれ受取るようになっている。それら音特徴量データと、推定音特徴量データは、要するにオートエンコーダ124でエンコードとデコードの処理を1回行う際の入力と出力にそれぞれ相当する、1組のデータである。損失生成部125は、それら1組の音特徴量データと、推定音特徴量データとの差分についての損失を、損失関数を用いて生成する。公知或いは周知の損失関数は何種類か存在しているが、これには限られないが、この実施形態では、以下のような損失関数を用いることとしている。
なお、損失関数を特定するデータは損失関数記録部125Aに記録されている。損失生成部125が損失についてのデータを生成する場合には、損失生成部125はその前に、損失関数記録部125Aに記録されていた損失関数を特定するデータを読込み、損失関数を特定するそのデータによって特定される損失関数を用いて演算を実行するようになっている。
【0040】
この実施形態で用いられる損失関数は、以下の(a)から(d)をそれぞれ数式化したものを組み合わせた関数とされる。
(a)音特徴量データと推定音特徴量データとの差分に基づくデータである複数の差分データを生成する
(b)差分データからノイズを除去する関数であるノイズ除去関数に差分データを入力した場合の出力であるノイズ除去データを生成する
(c)差分データの所定時間帯におけるトレンドを抽出する関数であるトレンド抽出関数に差分データを入力した場合の出力であるトレンドデータを生成する
(d)ノイズ除去データとトレンドデータとに基づいて損失を求める
ここで、損失関数は(a)から(d)と等価な数式をその順で組合せたものとなるが、(b)と(c)は順不同である。
【0041】
「音特徴量データと定常音特徴量データとの差分に基づくデータである複数の差分データを生成する」という上述した(a)で用いることができる数式は、例えば、平均二乗誤差 (Mean Squared Error:MSE)である。これを用いる理由は、音特徴量データと推定音特徴量データの差が極端に大きい場合に推論誤差を小さくするためである。
具体的には、以下の(数1)で示したものが平均二乗誤差を求めるための数式である。
学習時の損失関数の値を直感的に認識しやすくすることを重視するのであれば、平均二乗誤差に代えて、二乗平均平方根誤差(Root Mean Squared Error:RMSE)を用いても良い。以下の(数2)で示したものが二乗平均平方根誤差を求めるための数式である。
それ以外の損失関数として、音特徴量データと推定音特徴量データの誤差平均を小さくすることを目的とするのであれば、平均絶対誤差(Mean Absolute Error:MAE)を使っても良い。以下の(数3)で示したものが平均絶対誤差を求めるための数式である。
(数1)から(数3)において、「i」は、i番目という意味である。なお、「i」の意味は後述する(数4)以降でも同じである。
上述したように音データは特定の時間長さの音のデータである。そこから時間の流れに沿って短時間分ずつの多数の音特徴量データ、推定音特徴量データの組が作られる。(数1)から(数3)における「yハット
i(ハットを出願ソフトのテキストで使用できないため便宜上こう記す。)」は、i番目の推定音特徴量データであり、「y
i」はi番目の音特徴量データを意味する。
また、(数1)における「MSE
i」は、i番目の音特徴量データと推定音特徴量データの平均二乗誤差を意味する。同様に、(数2)における「RMSE
i」は、i番目の音特徴量データと推定音特徴量データの二乗平均平方根誤差を、(数3)における「MAE
i」は、i番目の音特徴量データと推定音特徴量データの平均絶対誤差を意味する。
これには限られないが、この実施形態では、「定常音特徴量データと推定定常音特徴量データとの差分に基づくデータである複数の差分データを生成する」という上述した(a)で用いることができる数式として、平均二乗誤差についての(数1)を用いることとする。
それにより、多数のMSE
i(ただし、iは1からn(nは2以上の自然数))が生成されることになる。多数のMSE
iのそれぞれは、差分データである。
【0042】
「差分データからノイズを除去する関数であるノイズ除去関数に差分データを入力した場合の出力であるノイズ除去データを生成する」という上述した(b)で用いることができる数式は、例えば ローパスフィルタとして機能する関数、移動平均を求める関数、フーリエ変換を実施し、所定の閾値を超える周波数帯信号を除去して逆フーリエ変換して戻す関数のいずれかである。これら3つの関数はいずれも、あるデータからノイズを除去するために用いることができるということが知られている。
ローパスフィルタとして機能する数式の例を、以下の(数4)に示す。移動平均を求める数式の例を、以下の(数5)に示す。
f(MSE
i)=α×MSE
i+(1-α)×MSE
i-1……(数4)
※αはパラメータであり、0から1の間の定数。
※mはパラメータであり、2以上の整数値。
(数5)の式で表された例では、差分データであるMSE
iは、MSE
i-(m-1)、…、MSE
i-1、MSE
iという、MSE
iを含むMSE
iよりも手前のm個のMSEの平均であるf(MSE
i)に修正される。移動平均を求めるときに、MSE
iを含むよりも後のm個のMSEを用いても良いし、MSE
iを含むMSE
iの前後m個のMSEを用いても良いことは自明である。
これには限られないが、この実施形態では、「差分データからノイズを除去する関数であるノイズ除去関数に差分データを入力した場合の出力であるノイズ除去データを生成する」という上述した(b)で用いることができる数式として、ローパスフィルタとして用いることのできる関数を用いることとしている。
それにより、多数のf(MSE
i)(ただし、iは1からn(nは2以上の自然数))が生成されることになる。多数のf(MSE
i)のそれぞれは、ノイズ除去データである。
【0043】
「差分データの所定時間帯におけるトレンドを抽出する関数であるトレンド抽出関数に差分データを入力した場合の出力であるトレンドデータを生成する」という上述した(c)で用いることができる数式は、例えば 差分データの前、後、又は前後の複数のデータの中央値を求める関数、又は差分データの階差系列を取る関数を用いることができる。これら3つの関数はいずれも、ある多数のデータの経時的なトレンドを抽出するために用いることができるということが知られている。
中央値を求める数式の例を、以下の(数6)に示す。
g(MSEi)=Median(MSEi,MSEi-1,・・・MSEi-(m-1))……(数6)
※mはパラメータ、2以上の整数値
これにより求められたg(MSEi)は、i番目のMSEのトレンドを表すものとなっている。
なお、この式では、あるMSEiのトレンドを求めるために、MSEiからMSEi-(m-1)というMSEiと、それより前のm-1個のMSEについてのデータを用いることとしており、合わせてm個のデータの中央値をMedian(MSEi, MSEi-1,・・・MSEi-(m-1))という式により求めることとしている。ただし、中央値を求める場合に用いられるデータは、MSEiとMSEiよりも前のデータに限られず、MSEiとMSEiよりも後のデータでも良いし、MSEiとMSEiの前後のデータでも良い。例えば、MSEiの前後のデータを用いて中央値を求める場合、(数6)は、例えば、以下の(数6x)のようになる。
g(MSEi)=Median(MSEi+j,MSEi+j-1,…,MSEi,MSEi-1,…,,MSEi-(m-1))……(数6x)
※j、mはパラメータ、それぞれ2以上の整数値
次に、階差系列を求める数式の例を、以下の(数7)に示す。
g(MSEi)=MSEi-MSEi-1……(数7)
数7の階差系列により求められたg(MSEi)は、i番目のMSEからトレンドの影響を除去したものとなっている。
この場合、階差系列は隣り合うMSEの値の差となるが、階差系列は必ずしも隣り合うMSEの値の差となる必要はなく、例えば、MSEと2つ前の或いは後のMSEとの差等とすることも可能である。
これには限られないが、この実施形態では、「差分データの所定時間帯におけるトレンドを抽出する関数であるトレンド抽出関数に差分データを入力した場合の出力であるトレンドデータを生成する」という上述した(c)で用いることができる数式として、中央値を求める(数6)で示した関数を用いることとしている。
それにより、多数のg(MSEi)(ただし、iは1からn(nは2以上の自然数))が生成されることになる。多数のg(MSEi)のそれぞれは、トレンドデータである。
【0044】
ノイズ除去データとトレンドデータとを求めたら、損失生成部125は、「ノイズ除去データとトレンドデータとに基づいて損失を求める」という上述した(d)の演算を実行する。(d)では例えば、ノイズ除去データとトレンドデータの差を求めることで損失を求めることができる。その場合に用いられる数式は、ノイズ除去データとトレンドデータの差を求めるというものである。この演算は、具体的には以下の(数8)ようなものとなる。
Lossi=f(MSEi)-g(MSEi)……(数8)
ここで、Lossiは、i番目のノイズ除去データとi番目のトレンドデータの差として求められる損失である。なお、Lossiが負数の場合は0に置換することでLossiを0以上の値として得ることができ、これには限られないがこの実施形態ではそうしている。
ノイズ除去データは、概念としては、音特徴量データとその音特徴量データと対になる推定音特徴量データの差分についての差分データからノイズの影響を除いたものとなっている。そのような差分データからノイズの影響を除いたデータと、概念としてはトレンドに対応したトレンドデータとの差を求めると、そのデータは、概念としては、差分データからノイズの影響を除いたデータから更にトレンドの影響を除いたものとなる。
以上の説明から明らかなように、この実施形態における損失関数は、(数1)、(数4)、(数6)、(数8)を組合せたものとして定義される。そのような損失関数を定義するデータが、損失関数記録部125Aに記録されている。
いずれにせよ、Lossi(ただし、iはiからn(nは2以上の自然数))が生成されることになる。多数のLossiの集合が最終的に得られる、音特徴量データと推定音特徴量データとの間の損失である。
なお、トレンド抽出関数として、例えば、(数7)で示したような階差系列を求める関数を用いた場合には、トレンドデータとして求められたg(MSEi)は、i番目のMSEからトレンドの影響を除去したものとなっている。
この場合には、「ノイズ除去データとトレンドデータとに基づいて損失を求める」という損失生成部125が実行する上述した(d)の演算は、例えば、トレンドデータに、以上で説明したノイズ除去関数のいずれかを適用して損失を求めるというものであってもよい。
この場合のトレンドデータは、概念としては、定常音特徴量データとその定常音特徴量データと対になる推定定常音特徴量データの差分についての差分データからトレンドの影響を除いたものとなっている。そのような差分データにノイズ除去関数を適用することに求められるデータは、概念としては、差分データからトレンドの影響を除いたデータから更にノイズの影響を除いたものとなる。
この演算は、具体的には以下の(数8x)ようなものとなる。
Lossi=f(g(MSEi))……(数8x)
この場合のfは、ノイズ除去関数、例えば既に説明したノイズ除去関数のいずれかである。このような演算によっても損失を求めることができる。
したがって、そのような損失関数を用いることにより、定常音特徴量データと推定定常音特徴量データとの間の損失から、回転機構を有する対象物から生じる音に特有のノイズ及びトレンドの影響を良く除くことができることになる。
この場合における損失関数は、例えば、(数1)、(数4)、(数7)、(数8x)を組合せたものとして定義される。この場合には、そのような損失関数を定義するデータが、損失関数記録部125Aに記録されている。
【0045】
損失生成部125は、生成した多数のLossiの集合である損失についてのデータを、損失記録部125Bへと送るようになっている。損失記録部125Bには、損失についてのデータが逐次追加書込みされ、それにより損失についてのデータが記録されていく。
【0046】
最適化部126は、損失関数を最小化するように、オートエンコーダ124を生成するためのデータ、つまりオートエンコーダ記録部124Aに記録されたデータを調整する或いは更新する機能を有する。
最適化部126は、損失生成部125が損失に関するデータ、つまりLossiを生成して損失記録部125Bに記録する度に、オートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するためのデータを更新する。例えば、損失生成部125は、損失についてのデータを生成するたびに、オートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するためのデータの更新を促すデータを最適化部126に送るようになっており、その更新を促すデータを受取った最適化部126が、オートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するためのデータを更新する。
最適化部126は、例えば、以下のようにして、オートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するためのデータを更新する。
初期状態において、オートエンコーダ記録部124Aには、学習済みではないがオートエンコーダ124を生成するためのデータセットが記録されている。既知のように、オートエンコーダ124は、入力されたデータをエンコードすることにより入力されたデータの特徴量を圧縮し、且つ最小化された特徴量のデータをデコードすることにより最小化された特徴量を伸長していくが、その過程で、複数の重み付けの係数を利用する。このデータセットが、オートエンコーダ124を生成するためのデータである。
オートエンコーダ124を生成するためのデータを最適化する最初の処理を行う場合、最適化部126は、損失記録部125Bから、最初の損失であるLoss1を読み出すとともに、オートエンコーダ記録部124Aから、オートエンコーダ124を生成するためのデータを読み出す。そして、オートエンコーダ124を生成するためのデータである複数の係数を、損失を最小化するように変化させることにより複数の係数を調整する。そして、調整後の各係数を、オートエンコーダ124を生成するための新たなデータとしてオートエンコーダ記録部124Aに記録する。それにより、オートエンコーダ記録部124Aに記録されていたオートエンコーダ124を生成するためのデータは更新される。
オートエンコーダ124を生成するためのデータを最適化する2回目の処理を行う場合、最適化部126は、損失記録部125Bから、Loss1とLoss2とを読み出すとともに、オートエンコーダ記録部124Aから、オートエンコーダ124を生成するためのデータを読み出す。そして、例えば、Loss1とLoss2の和が最小となるように複数の係数を調整する。そして、調整後の各係数を、オートエンコーダ124を生成するための新たなデータとしてオートエンコーダ記録部124Aに記録する。それにより、オートエンコーダ記録部124Aに記録されていたオートエンコーダ124を生成するためのデータは更新される。
以後も同様である。オートエンコーダ124を生成するためのデータを最適化するi回目の処理を行う場合、最適化部126は、損失記録部125Bから、Loss1、Loss2、……Lossiを読み出すとともに、オートエンコーダ記録部124Aから、オートエンコーダ124を生成するためのデータを読み出す。そして、例えば、Loss1、Loss2、……Lossiの総和が最小となるように複数の係数を調整する。そして、調整後の各係数を、オートエンコーダ124を生成するための新たなデータとしてオートエンコーダ記録部124Aに記録する。それにより、オートエンコーダ記録部124Aに記録されていたオートエンコーダ124を生成するためのデータは更新される。
なお、Loss1、Loss2、……Lossiのすべてを用いず、Loss1のみを用いて、逐次的にオートエンコーダ124を生成するためのデータを更新しても良い。
このようにして、オートエンコーダ124の学習が進められる。それにより、学習装置が学習モードを実行している場合、オートエンコーダ124は、音特徴量データと推定音特徴量データの差分が最小となるようにチューニングされていくことになる。
【0047】
閾値決定部127は、主制御部122から閾値データを生成せよとの指示についてのデータを受取る場合がある。そのデータを受取った閾値決定部127は、後述するような方法で閾値を決定して、その閾値を特定するデータである閾値設定データを出力部128へと送るようになっている。
閾値の詳細と、閾値決定部127がどのようにして閾値を決定するのかということについての説明は、後述することにする。
閾値決定部127は、後述するタイミングで、閾値設定データを、出力部128へ送るようになっている。
【0048】
出力部128は、コンピュータ装置100内の機能ブロックで生成されたデータのうちの必要なものを、インタフェイス114を介して外部へ出力する機能を有している。
出力部128は、上述したように、学習済みオートエンコーダのデータ、閾値設定データを受取る場合がある。それらを受取ったら、出力部128は、それらのデータをインタフェイス114へ出力するようになっている。
【0049】
以下、学習装置の使用方法、及び動作について説明する。
上述したように、学習装置は、学習モードと、閾値決定モードの2種類のいずれかとして、択一的に機能する。したがって、学習装置を用いるには、まず、学習装置をいずれのモードで機能させるかということを決定しなければならない。後述するように、閾値は、学習モードで学習を行った後の学習済みオートエンコーダの特性に依存して決定されるものであるので、学習済みオートエンコーダが完成するよりも前に閾値を決定することはできない。したがって、学習装置では、まず、学習モードが実行されることになり、次いで、閾値決定モードが実行されることになる。
【0050】
学習モードを学習装置乃至コンピュータ装置100に実行させるには、まず、コンピュータ装置100における入力装置102からモード選択データを入力する。モード選択データは、学習装置が実行すべきモードを上述の2つから選択するものであるが、この場合にはユーザは、入力装置102を操作して、学習装置を、学習モードで機能させることを選択する旨のデータが、モード選択データとして入力装置102から入力される。
このデータは、入力装置102からインタフェイス114を介して、入力部121に送られ、入力部121から主制御部122へ至る。これを受取った主制御部122は、各機能ブロックに対して、学習モードを実行せよとの指示をなす。
【0051】
この状態で、学習装置では、学習モードが実行される。
マイクロフォン103は、対象物が発する音を含む音を集音して、集音した音のデータである、音データを生成する機能を有している。したがって、マイクロフォン103は、対象物が発する音を少なくともセンシングできる位置に配される。例えば、対象物がモータである場合には、モータが生じる音を集音できる位置にマイクロフォン103は配置されることになる。
ただし、学習モードを実行するときにマイクロフォン103で集音される音は、対象物が定常状態にあるときの音とする。その音には環境音が含まれる場合がある。これは、後に検出装置が利用される場合においてマイクロフォンで集音される音にも環境音が含まれるのであれば許容可能である。これは、学習モードが実行されるときと、検出装置が利用される場合とにおける、マイクロフォン103での集音環境が同じであれば良い、ということを意味する。
定常状態の定義は、学習装置を操作するユーザが適宜決定することができる。マイクロフォン103は、集音乃至センシングした音のデータである音データを生成する。音データは、必要に応じてアンプによって増幅され、この実施形態では、有線接続された、学習装置内のコンピュータ装置100へと送られる。
音データは、インタフェイス114から、入力部121に送られる。音データは、入力部121から特徴量検出部123へと送られる。
【0052】
特徴量検出部123は、受取った音データの特徴量を検出して、音の特徴量についてのデータである音特徴量データを生成する。
音特徴量データはどのような形式のものでも良いが、この実施形態では、音の特徴量を表現するためのデータの形式として公知或いは周知である、メル周波数スペクトログラムとする。
特徴量検出部123は、まず、受取った音データを整える。これには限られないがこの実施形態では、特徴量検出部123は、アナログデータとして送られてくる音データを所定形式のデジタルデータ(この実施形態では、これには限られないがwav形式)に変換し、変換されたそのデータの時間的長さを、予め定められた時間(例えば、10秒間、或いは30秒間、これには限られないがこの実施形態では60秒間)のデータに整える。
整えられた音データから、メル周波数スペクトログラムである音特徴量データを得るための方法は、公知或いは周知の方法を採用することができる。例えば、音データのファイルに、短時間フーリエ変換処理(STFT)を施すことによりパワースペクトルデータに変換し、変換されたそのデータにメルフィルタバンクを適用し、メルフィルタバンクを適用されたそのデータに対数演算を実施することでスムージングすることにより、メル周波数スペクトログラムを得ることができる。もちろん、公知、周知の他の方法によってメル周波数スペクトログラムを得ることができる。なお、可聴音域の周波数の音そのものではなく、音の動的な時間的変化を捉えるために、メル周波数スペクトログラムの前後フレームの差を抽出するデルタメル周波数スペクトログラムを特徴量検出部123で検出しても良い。
いずれにせよ、メル周波数スペクトログラムとしての音特徴量データが生成されたら、特徴量検出部123は、生成した音特徴量データを、オートエンコーダ124に送るとともに、損失生成部125に送る。
【0053】
オートエンコーダ124には、特徴量検出部123から送られてきた音特徴量データが入力される。より詳細には、オートエンコーダ124の入力層に音特徴量データが入力される。
オートエンコーダ124は、入力された音特徴量データをエンコードし、続けてエンコードされたそのデータをデコードすることにより、推定音特徴量データを生成する。オートエンコーダ124は、音特徴量データをエンコードしてデコードする前に、オートエンコーダ記録部124Aから、オートエンコーダ124を生成するためのデータセットを読み込む。このデータの読込みは、音特徴量データをエンコードしてデコードする都度行う。したがって、オートエンコーダ124は、オートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するための最新のデータに基づく、最新の状態となる。オートエンコーダ124は、最初の音特徴量データをエンコードしてデコードする前の状態では、既知の適当なオートエンコーダ124となっている。2回目以降の音特徴量データの入力がされるときには、学習が進んだ状態のオートエンコーダ124となっている。
上述したように、オートエンコーダ124は推定音特徴量データを出力する。オートエンコーダ124は、生成した推定音特徴量データを、損失生成部125へ送る。
【0054】
損失生成部125は、上述したように、特徴量検出部123から音特徴量データを、オートエンコーダ124から、推定音特徴量データをそれぞれ受取る。それら音特徴量データと、推定音特徴量データは、要するにオートエンコーダ124でエンコードとデコードの処理を1回行う際の入力と出力にそれぞれ相当する、1組のデータである。損失生成部125は、それら1組の音特徴量データと、推定音特徴量データとの差分を取り損失を求める。損失を求める場合に損失生成部125は損失関数を用いるが、損失生成部125は、損失を求める前の適当なタイミングで、損失関数を特定するデータを損失関数記録部125Aから読込む。損失関数を特定するデータは、最初の損失が求められる前に一回だけ行われれば十分である。
損失関数を用いて音特徴量データと推定音特徴量データとの間の損失についてのデータを生成する方法は既に述べた通りである。既に説明した通りの損失関数を用いて、損失生成部125では、損失Loss
iについてのデータが生成される。上述したように、多数のLoss
iのデータの集合が、1つの音データから生成される損失についてのデータである。一回分の、つまり、この実施形態では、60秒分の音データに基づいて生成された一連のLoss
iを時間についてのx軸方向に配列した損失の一例を
図5に示す。
損失生成部125は、上述のようにして生成した損失のデータを、損失記録部125Bへ送る。
【0055】
損失記録部125Bに新たな損失のデータが記録される度に、最適化部126は、損失を最小化するようにオートエンコーダ124を修正する。
より具体的には、この実施形態における最適化部126は、損失記録部125Bに新たな損失のデータが記録される度に、オートエンコーダ記録部124Aから、その時点においてオートエンコーダ記録部124Aに記録されていたオートエンコーダ124を生成するためのデータ、つまり複数の係数のデータを読出すとともに、損失記録部125Bから、それ以前に損失記録部125Bに記録されていたすべての損失のデータを読み出す。
そして、この実施形態では、最適化部126は、読み出された損失Lossiの総和が最小となるように、読出されたオートエンコーダ124を生成するためのデータである複数の係数のそれぞれを修正する。そして、修正する事により新たに生成されたオートエンコーダ124を生成するためのデータで、オートエンコーダ記録部124Aに直前に記録されていたオートエンコーダ124を生成するためのデータを上書きする。
【0056】
学習装置が学習モードを実行している間、学習装置を構成するコンピュータ装置100において、入力部121から音データが入力される処理から、最適化部126が損失を最小化するために、オートエンコーダ記録部124Aに記録されたオートエンコーダ124を生成するためのデータに含まれる複数の係数を最適化する処理までの各処理、つまり追加学習の処理が、繰り返し実行される。
この処理を、複数回、例えば、これには限られないが、200回(入力の処理で与えられた音特徴量データを全て少なくとも1回利用したのを1回として)程度繰り返すことにより、オートエンコーダ124への入力としての音特徴量データとオートエンコーダ124からの出力としての推定音特徴量データとの差分である損失関数は、同じにはならないものの、ある範囲内に収まる程度に小さくなる。学習に用いられる音データは、対象物が定常状態にあるときの音を含んだ音についてのものであるので、オートエンコーダ124は、対象物が定常状態にあるとき専用のものとなり、対象物が定常状態にあるときにおける音特徴量データと、その音特徴量データから作られる推定音特徴量データとを、殆ど同じものとするような機能を持つことになる。対象物が定常状態にあるときにおいて入力と出力の関係が上述のような関係を充足するものとなったときのオートエンコーダ124は、学習済みオートエンコーダとして完成したといえる。
学習済みオートエンコーダを得るためには、上述したように、多数の音データが必要であるが、それら音データは、対象物が定常状態である場合の音についてのもののみで良い。対象物が定常状態にある時間と、非定常状態にある時間とでは一般的に、対象物が定常状態にある時間の方が圧倒的に長いのであるから、そのような音データを集めるのは比較的容易である。また、音データを集める際に、非定常状態の音についての音データを集める必要がないし、多段階の異なる種類の非定常状態の音についての音データを集める必要もない。また、オートエンコーダ124の学習のために用いられる音データは、定常状態のデータのみなのであるから、音データに対するラベリングも不要である。また、音データから例えば環境音を除くためのいわゆるノイズキャンセリングの処理も少なくとも必須ではない。
なお、この実施形態では、マイクロフォン103から入力される音データから作られた音特徴量データを、次々にオートエンコーダ124に入力するものとして説明した。しかしながら、多数の音データを予め生成しておきそれら多数の音データを予め記録媒体(コンピュータ装置100に内蔵されていても、コンピュータ装置100の外部に存在していても良い。)に記録しておけば、当該記録媒体からコンピュータ装置100が読み込んだ音データを次々に特徴量検出部123に送ることにより、上述したのと同じようにして、オートエンコーダ124に学習を行わせることができる。同様に、記録媒体に音特徴量データを多数記録しておけば、その音特徴量データをオートエンコーダ124に次々と供給することにより、上述したのと同じようにして、オートエンコーダ124に学習を行わせることができる。つまり、マイクロフォン103による音データの生成と、オートエンコーダ124の学習は、時間的に連続して行われる必要はない。
【0057】
以上のようにして学習済みオートエンコーダが生成されたら、次は、閾値を決定する。
閾値は、後述するようにして検出装置にて利用されるものであり、検出装置に後述するようにして入力された音データによって特定される音が、非定常性を持つか(非定常音を含むか)否かを判定する際に利用される。
閾値が決定されるとき、学習装置或いは学習装置を構成するコンピュータ装置100は、上述したように、閾値決定モードを実行する。ユーザは、コンピュータ装置100における入力装置102から、閾値決定モードを選択する旨のモード選択データを入力する。
モード選択データは、上述したように、入力装置102からインタフェイス114を介して、入力部121に送られ、入力部121から主制御部122へ至る。これを受取った主制御部122は、各機能ブロックに対して、閾値決定モードを実行せよとの指示をなす。例えば、主制御部122は、閾値決定部127に閾値を決定せよと指示をする。
【0058】
この状態で、学習装置では、閾値決定モードが実行される。
閾値決定モードが実行されるときの処理は、以下のようなものである。
閾値決定部127は、損失記録部125Bから、オートエンコーダ124の学習の過程で生成され、損失記録部125Bに記録されたすべての損失についてのデータを読出す。
上述したように損失についてのデータのそれぞれは、多数のLossiのデータの集合である。
この実施形態では、損失記録部125Bは、複数の損失についてのデータに含まれている多数のLossiの中から、対象物が定常状態にあるときに生じる最大のLossiとなる値を決定する。言い換えれば、対象物が発した音から得られる損失のうち、対象物が定常状態にあると見做すことを許容可能な最大の損失を決定する。そのような損失の値の決定の仕方は、例えば、統計的な処理によることができる。この実施形態では、多数のLossiのうちの第3四分位数、つまり、多数のLossiを小さい方から配列した場合において小さい方から3/4の順番にあるものの値に1.5を乗じた値を、そのような対象物が定常状態にあるときに生じる最大の損失の値と決定する。このような処理を行うことにより、Lossiに含まれる外れ値を除外することができる。このようにして求めた値を、便宜上、基準閾値(Lossmax)と称することとする。
これには限られないがこの実施形態における閾値決定部127は、更に、この基準閾値に基づいて更に、幾つかの閾値を決定する。
次に、基準閾値に、ある係数を乗じることにより、新たな閾値を決定する。基準閾値に乗じられる係数は1より大きい値とする。したがって、この新たな閾値は基準閾値よりも大きくなる。この新たな閾値を、上限損失閾値(Losslimit)と称することにする。上限損失閾値は、観念的には、非定常状態において生じる損失(当然に、非定常状態で生じる損失は、定常状態で生じる損失よりも一般的に大きくなる)の中で、最大と予想される損失の値に相当する。上限損失閾値の値が、このような観念的な意味合いに即したものとなるように、基準閾値に乗じられる上述の係数を決定する。この係数は、一般的に、1.5から3.0の間の値とする。しかし、計測対象の環境に依存する場合もあるため係数の値は上述の範囲に収める必要はない。
これには限られないが、この実施形態では、基準閾値と、上限損失閾値との間に、更に異なる閾値を設けることとしている。この閾値を、非定常中間閾値(LossinterH)と称することにする。非定常中間閾値の観念的な意味合いは次のようなものである。上述したように、基準閾値は、対象物が定常状態にあるときに生じる最大の損失の値である。したがって、基準閾値を超える値の損失は、対象物が非定常状態にあることを示唆する。もっとも、損失の値が、基準閾値を僅かに超えるのか、大きく超えるのかによって、対象物が非定常状態にあることの示唆の強さが変化する。非定常中間閾値は、基準閾値と非定常中間閾値の間に位置する値の損失は、対象物が非定常状態にあることを比較的弱く示唆し、非定常中間閾値と上限損失閾値の間に位置する値の損失は、対象物が非定常状態にあることを比較的強く示唆するという意味合いを持つ。観念的にこのような意味合いを持つ非定常中間閾値は、例えば、以下の(数9)に示した式により、求めることができる。
LossinterH =Lossmax+1/2(Losslimit-Lossmax)……(数9)
この実施形態においては、非定常中間閾値は1つである。それにより、Lossmax以上、Losslimit以下の領域は、非定常中間閾値を挟んで2つに区分される。もっとも、Lossmax以上、Losslimit以下の領域は2つ以上に区分することもできる。例えば、その領域を3つに区分するのであれば、非定常中間閾値を2つ、その領域を4つに区分するのであれば、非定常中間閾値を3つ、その領域をn個に区分するのであれば、非定常中間閾値をn-1個定めれば良い。
これには限られないが、この実施形態では、閾値決定部127は、更に、基準閾値よりも値が小さな領域においても、閾値を決定することとしている。基準閾値よりも損失の値が小さい場合には、対象物が定常状態にあることが示唆される。とはいえ、損失が基準閾値よりも僅かに小さいのか、0に近い程小さいのかによって、対象物が定常状態にあることの示唆の強さが変化する。基準閾値と上限損失閾値との間を複数の領域に区分するために非定常中間閾値を用いたように、損失が0から基準閾値までの間を区分するために閾値を設ける。その閾値を、定常中間閾値(LossinterL)と称することにする。この実施形態の定常中間閾値の持つ意味合いは、次のようなものである。上述したように、基準閾値よりも値が小さい損失は、その損失が生成される元となった音を発した対象物が定常状態にあることを示唆するものではあるが、損失の値が基準閾値よりも小さくても例えば基準閾値に近い程大きい場合には、対象物が非定常状態にあることを疑わせる。そのような疑いを持つために合理的な閾値を、定常中間閾値とするのである。観念的にこのような意味合いを持つ定常中間閾値は、例えば、以下の(数10)に示した式により、求めることができる。
LossinterL =Lossmax×0.75……(数10)
以上のように、この実施形態では、閾値決定部127は、基準閾値、上限損失閾値、非定常中間閾値、定常中間閾値を生成する。閾値決定部127は、それら各閾値を検出装置で設定するためのデータである閾値設定データを生成する。
【0059】
以上のようにして、オートエンコーダ124は学習済みオートエンコーダ124となり、また、学習済みオートエンコーダ124で使用される閾値が決定された。
これらは、後述する検出装置に移植して用いられる。学習装置から検出装置にこれらデータを移す処理、或いは学習装置に含まれるコンピュータ装置100から検出装置に含まれるコンピュータ装置へとこれらデータを移す処理は、公知或いは周知技術によって適当に行えば良い。
例えば、入力装置102から入力され、インタフェイス114から、入力部121を経て主制御部122へと至った入力にしたがって、主制御部122は、最適化部126に対して、学習済みオートエンコーダ124を生成するためのデータ一式をオートエンコーダ記録部124Aから読出して出力部128に送れという命令を送るとともに、閾値決定部127に決定した閾値のデータを出力部128に送れという命令を送るようになっていても良い。
仮にそうなっているとすると、出力部128から、インタフェイス114に対して、学習済みオートエンコーダ124のデータと、閾値のデータとが送られることになる。
これらデータは、例えば、インタフェイス114から、所定のケーブルを介して検出装置に含まれるコンピュータ装置100へ送られる。或いは、それらデータは、インタフェイス114から、そのインタフェイス114に接続された記録媒体に記録され、その記録媒体を介して、検出装置に含まれるコンピュータ装置100へ送られることになる。
【0060】
<検出装置について>
既に述べたように、その周辺機器まで含めても、ハードウェア構成に関していえば、学習装置と検出装置とは同じであってよく、これには限られないがこの実施形態では事実上そうされている。
検出装置は、学習装置におけるコンピュータ装置100と同等のハードウェア構成を備えたコンピュータ装置100Xと、このコンピュータ装置100Xとそれぞれ接続される、学習装置におけるディスプレイ101と同等のディスプレイ101Xと、学習装置における入力装置102と同等の入力装置102Xと、学習装置のマイクロフォン103と同等のマイクロフォン103Xとを備えている。
コンピュータ装置100とコンピュータ装置100X、ディスプレイ101とディスプレイ101X、入力装置102と入力装置102X、マイクロフォン103とマイクロフォン103Xはいずれも、同等のものとすることができるが、完全に同一のものであっても良い。また、学習装置が音データを増幅するアンプを備えるのであれば、検出装置にもアンプを含める。これら両アンプも同等のものであればよく、完全に同一でも良い。
なお、検出装置を図示すると、
図1の各符号にXを付しただけのものとなるから、検出装置の図示は省略する。
【0061】
上述したように、検出装置のコンピュータ装置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にインストールされたコンピュータプログラムの場合と同様である。
【0062】
CPU111Xがコンピュータプログラムを実行することにより、コンピュータ装置100X内部には、
図6で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、コンピュータ装置100Xに、コンピュータ装置100Xが検出装置として機能するために必要な以下に述べるような処理を実行させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、コンピュータ装置100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
コンピュータ装置100内には、本願発明の機能との関係で、入力部121X、主制御部122X、特徴量検出部123X、第1演算部124X、損失生成部125X、状態判定部126X、第1記録部127X、出力部128Xが生成される(
図6)。
これらのうち情報処理を実行する機能ブロック、つまり、主制御部122X、特徴量検出部123X、第1演算部124X、損失生成部125X、状態判定部126Xは、ハードウェアとしては演算装置(この実施形態ではCPU111X)に相当し、或いは上述のコンピュータプログラムの命令によって情報処理を実行する演算装置の機能によって実現される。
入力部121Xと出力部128Xとは、ハードウェアとして見た場合には、インタフェイス114Xに相当し、或いはインタフェイス114Xの機能によって実現される。より具体的には、入力部121Xと出力部128Xは、概念としては、インタフェイス114Xとバス116Xとの接続部分に相当する。
また、データを記録する機能ブロック、つまり、第1記録部127Xは、ハードウェアとしては記録装置、例えば、RAM113X、又は大容量記録媒体115Xに相当し、或いはそれら記録装置の一領域として実現される。
更に、損失生成部125X、状態判定部126Xを組合せたものが、本願で言う第2演算部に相当する。
【0063】
入力部121Xは、インタフェイス114Xからの入力を受取るものである。
インタフェイス114Xから入力部121Xへの入力には、入力装置102Xからの入力がある。入力装置102Xからの入力には、詳細は追って説明するが、例えば、閾値設定データがある。入力装置102Xから閾値設定データの入力があった場合、閾値設定データは、入力部121Xから主制御部122Xへと送られるようになっている。インタフェイス114Xから入力部121Xへ入力されるデータには、また、マイクロフォン103からの音データがある。音データが入力部121Xに受取られた場合、入力部121Xは音データを特徴量検出部123Xへと送るようになっている。
主制御部122Xは、コンピュータ装置100X内に生成される上述の機能ブロックの全体的な制御を行うものである。例えば、主制御部122Xは、上述したように閾値設定データを受取ることがある。閾値設定データを受取った主制御部122Xは、それを、状態判定部126Xへと送るようになっている。
【0064】
特徴量検出部123Xは、学習装置のコンピュータ装置100の特徴量検出部123が備えていた機能と同等の機能を有する。つまり、受取った音データの特徴量を検出して、音の特徴量についてのデータである音特徴量データを生成する。特徴量検出部123Xは、学習装置の特徴量検出部123と同様に、必要に応じて音データを整えてから、特徴量検出の処理を実行する。特徴量検出部123Xが生成する音特徴量データは、特徴量検出部123が作る音特徴量データと同じ形式のものとされる。したがってこの実施形態では、特徴量検出部123Xで生成される音特徴量データは、これには限られないがメル周波数スペクトログラムである。特徴量検出部123Xは、生成した音特徴量データを、第1演算部124Xと、損失生成部125Xとに送るようになっている。
【0065】
第1演算部124Xは、事実上、学習装置で作られた学習済みオートエンコーダ124として機能する。第1記録部127Xには、学習装置で作られた学習済みオートエンコーダ124を生成するためのデータ一式、つまり複数の係数の集合が記録されている。第1演算部124Xは、以下に説明する演算を行う場合、その都度、学習済みオートエンコーダのデータを第1記録部127Xから読込み、それ自身が学習済みオートエンコーダとして機能するようになっている。
第1演算部124Xは、学習装置で完成させられた学習済みオートエンコーダとして機能するので、所定のデータである入力データをエンコードした後、エンコードされた当該データをデコードして入力データと同じ次元のデータに戻す機能を有する。つまり、第1演算部124Xは、自己符号化機として機能する。この実施形態では、第1演算部124X内に存在する仮想の学習済みオートエンコーダに入力されるデータは、特徴量検出部123Xから入力される音特徴量データである。学習済みオートエンコーダとして機能する第1演算部124Xは、学習装置の学習済みオートエンコーダ124がそうであったように、音特徴量データを入力されると、推定音特徴量データを出力するようになっている。
第1演算部124Xは、生成した推定音特徴量データを損失生成部125Xへと送るようになっている。
【0066】
損失生成部125Xは、学習装置のコンピュータ装置100内に存在する損失生成部125と同じ機能を有している。
第1記録部127Xには、損失関数記録部125Aに記録されていたのと同じ、損失関数を特定するためのデータが記録されている。損失生成部125Xは、後述するようにして損失を求める場合には、それに先立って少なくとも一度、第1記録部127Xから損失関数を特定するためのデータを読込み、そのデータに基づいて、学習装置で用いられていたのと同じ損失関数を用いて損失を求めるようになっている。
損失生成部125Xは、上述したように、特徴量検出部123Xから音特徴量データを、第1演算部124Xから、推定音特徴量データをそれぞれ受取るようになっている。それら音特徴量データと、推定音特徴量データは、要するに、第1演算部124Xの機能によって生成されるオートエンコーダでエンコードとデコードの処理を1回行う際の入力と出力にそれぞれ相当する、1組のデータである。損失生成部125Xは、学習装置のコンピュータ装置100における損失生成部125の場合と同じ損失関数を用いて、それら1組の音特徴量データと、推定音特徴量データとの損失を求め損失に着いてのデータを生成するようになっている。
損失生成部125Xは、生成した損失のデータを、状態判定部126Xへ送るようになっている。
【0067】
状態判定部126Xは、損失生成部125Xから受取った損失のデータに基づいて、その損失の元となった音データにより特定される音に、対象物が非定常状態であることを示す音が含まれていたか(非定常音であったか)、或いは、その音データにより特定される音を発した対象物が非定常状態であったか、ということについての判定を行う機能を有している。かかる判定をどのように行うのかについては後述する。
なお、第1記録部127Xには、学習装置で生成された閾値設定データが記録されている。状態判定部126Xは、上述の判定を行うに先立って、閾値設定データを第1記録部127Xから読込み、閾値設定データによって生成された閾値、つまり、基準閾値、上限損失閾値、非定常中間閾値、定常中間閾値を、上述の判定に利用する。
その損失の元となった音データにより特定される音に、対象物が非定常状態であることを示す音が含まれている、或いは、その音データにより特定される音を発した対象物が非定常状態であるとの判定を行った場合、状態判定部126Xは、その旨を示す結果データを生成する。なお、結果データは、かかる判定が行われたときのみ生成されても良いが、その損失の元となった音データにより特定される音に、対象物が非定常状態であることを示す音が含まれていない(つまり定常音である)、或いは、その音データにより特定される音を発した対象物が非定常状態でない(つまり、定常状態である)との判定を行った場合にも、その旨を示す結果データが生成されても良く、これには限られないがこの実施形態ではそうされている。この場合に生成される結果データはもちろん、音データにより特定される音を発した対象物が非定常状態であるとの判定が行われたときに生成される結果データとは異なる。
状態判定部126Xは、生成した結果データを出力部128Xへ出力するようになっている。
【0068】
出力部128Xは、コンピュータ装置100X内の機能ブロックで生成されたデータのうちの必要なものを、インタフェイス114Xを介して外部へ出力する機能を有している。
出力部128Xは、上述したように、結果データを受取る場合がある。結果データを受取ったら、出力部128Xは、結果データをインタフェイス114Xへ出力するようになっている。
【0069】
以下、検出装置の使用方法、及び動作について説明する。
マイクロフォン103Xは、学習装置に含まれるマイクロフォン103がそうであったように、対象物が発する音を含む音を集音して、集音した音のデータである、音データを生成する。マイクロフォン103Xが配置される位置は、学習装置のマイクロフォン103が配置される位置に準ずる。
検出装置のマイクロフォン103Xが音を収集する場合、対象物は、定常状態か非定常状態かわからず、したがって、マイクロフォン103Xで集音される音は定常音の場合も非定常音の場合もある。これは、検出装置が、本来であれば定常状態であることが期待されている対象物が非定常状態となったことを検出するものであるから、検出装置の性質上当然である。したがって、マイクロフォン103Xが収集する音には、定常状態の対象物が発する音が含まれているかも知れないし、非定常状態の対象物が発する音が含まれているかも知れない。
マイクロフォン103Xは、集音乃至センシングした音のデータである音データを生成する。音データは、必要に応じてアンプによって増幅され、この実施形態では、有線接続された、コンピュータ装置100Xへと送られる。
【0070】
ここからの処理はしばらく、損失生成部125Xで損失関数が生成されるまでは、学習装置のコンピュータ装置100における、損失生成部125で損失関数が生成されるまでの処理と同じであり、各データの仕様、音特徴量データの生成の方法、損失関数の生成の方法等の処理の条件はすべて同一である。
【0071】
音データは、インタフェイス114Xから、入力部121Xに送られ更に特徴量検出部123Xに送られる。
音データは、特徴量検出部123Xで整えられる。この実施形態では、音データは、学習装置で行われたように、60秒間のwav形式のファイルに変換される。整えられた音データは、入力部121Xから特徴量検出部123Xへと送られる。
特徴量検出部123Xは、整えられた音データの特徴量を検出して、音の特徴量についてのデータである音特徴量データを生成する。特徴量検出部123Xは、学習装置におけるコンピュータ装置100内の特徴量検出部123が実行したのと同じ方法で、音データから、メル周波数スペクトログラムである音特徴量データを生成する。学習装置で検出されるのが、可聴音域の周波数の音そのものではなく、音の動的な時間的変化を捉えるために、メル周波数スペクトログラムの前後フレームの差を抽出するデルタメル周波数スペクトログラムであるのであれば、特徴量検出部123Xで検出する特徴量がデルタメル周波数スペクトログラムであってもよい。
メル周波数スペクトログラムとしての音特徴量データが生成されたら、特徴量検出部123Xは、生成した音特徴量データを、学習済みオートエンコーダとして機能する第1演算部124Xに送るとともに、損失生成部125Xに送る。
【0072】
第1演算部124X内の学習済みオートエンコーダには、特徴量検出部123Xから送られてきた音特徴量データが入力される。そうすると、学習済みオートエンコーダとしての第1演算部124Xは、推定音特徴量データを出力する。
第1演算部124Xから出力された推定音特徴量データは、損失生成部125Xへと送られる。
【0073】
損失生成部125Xは、特徴量検出部123Xから音特徴量データを、第1演算部124Xから推定音特徴量データを、それぞれ受取る。それら音特徴量データと、推定音特徴量データは、第1演算部124X内のオートエンコーダでエンコードとデコードの処理を1回行う際の入力と出力に相当する、1組のデータである。損失生成部125Xは、それら1組の音特徴量データと、推定音特徴量データとの損失を生成する。損失生成部125Xが損失を生成する方法は、学習装置におけるコンピュータ装置100の損失生成部125が損失を生成する方法と同じである。
損失生成部125Xは、上述のようにして生成した損失のデータを、状態判定部126Xへ送る。
【0074】
状態判定部126Xは、受取った損失のデータに基づいて、その損失の元となった音データにより特定される音に、対象物が非定常状態であることを示す音が含まれているか、或いは、その音データにより特定される音を発した対象物が非定常状態であるか、ということについての判定を行う。
その判定の方法は、以下のようなものである。
上述したように、第1演算部124Xが内包する学習済みオートエンコーダは、定常状態にある対象物から生じる音を含む音(定常音)についてのみよく学習させられており、定常音から生成された音特徴量データ(この実施形態ではメル周波数スペクトログラム)が入力されたときは、それと殆ど変わらない推定音特徴量データ(「推定メル周波数スペクトログラム」とでも呼ぶべきメル周波数スペクトログラム)を出力するようになっている。他方、第1演算部124Xが内包する学習済みオートエンコーダは、非定常状態にある対象物から生じる音を含む音(非定常音)については学習させられておらず、非定常音から生成された音特徴量データが入力されたときは、出力される推定音特徴量データは、入力された音特徴量データとは有意に異なるものとなるようになっている。
したがって、音特徴量データと推定音特徴量データとの差分に相当する損失は、前者の場合には相対的に小さく、後者の場合には相対的に大きくなる。
したがって、状態判定部126Xは、損失の大小に基づき、対象物が定常状態にあるか(マイクロフォン103Xに入力された音が定常音か)、対象物が非定常状態にあるか(マイクロフォン103Xに入力された音が非定常音か)を、区別することができる。
【0075】
この実施形態では、これには限られないが、その区別に、上述したようにして状態判定部126Xに設定されている閾値である、基準閾値、上限損失閾値、非定常中間閾値、定常中間閾値を用いる。これらの閾値を用いるために、状態判定部126Xは、第1記録部127Xから判定を行う前に閾値設定データを読込んでいる。
この実施形態では、状態判定部126Xは、基準閾値、上限損失閾値、非定常中間閾値、定常中間閾値を用いて、以下のようにして、対象物が発した音についての音データに対象物が非定常状態であることを示す音が含まれているか、或いは、その音データにより特定される音を発した対象物が非定常状態であるかを判定することとしている。
状態判定部126Xが受取った損失のデータによる損失が、
図5で示したものと同じであったと仮定する。そして、その損失のグラフに、基準閾値(Loss
max)、上限損失閾値(Loss
limit)、非定常中間閾値(Loss
interH)、定常中間閾値(Loss
interL)を描き込んだものが、
図7である。
それにより、損失に関する縦軸は、基準閾値よりも上であり上限損失閾値よりも下の範囲においては2つに、基準閾値よりも下の範囲においても2つにそれぞれ区分されている(
図7中の太い破線を参照のこと)。
また、状態判定部126Xは、グラフの縦軸方向を、領域を区切る線である細い線で示されたレンジ値(Rangevalue)で細かく分割する。上下に隣接するレンジ値間の間隔、及びあるレンジ値と、そのレンジ値と隣接する基準閾値、上限損失閾値、非定常中間閾値、又は定常中間閾値との間隔とは、概ね一定とされる(
図7中の太い破線と細い破線を参照のこと)。
レンジ値は例えば、以下のようにして決定される。この実施形態では、まず、定常中間閾値(Loss
interL)よりも下側の領域を幾つに区分するかが決定される。例えば、この実施形態ではその範囲を、均等に8つに区分するために7つのレンジ値が決定される。そうすると、
図7における定常中間閾値(Loss
interL)よりも下の範囲において、隣接するレンジ値の間の間隔が決まる。
次いで、その間隔となるべく近い間隔となるように、定常中間閾値(Loss
interL)と基準閾値(Loss
max)の間と、基準閾値(Loss
max)と非定常中間閾値(Loss
interH)の間と、非定常中間閾値(Loss
interH)と上限損失閾値(Loss
limit)の間を区切る。それにより、定常中間閾値(Loss
interL)と基準閾値(Loss
max)の間が2つのレンジ値(Rangevalue)により3つに、基準閾値(Loss
max)と非定常中間閾値(Loss
interH)の間と、非定常中間閾値(Loss
interH)と上限損失閾値(Loss
limit)の間が1つのレンジ値(Rangevalue)により2つにそれぞれ区分される。
このようにして、
図7の領域は、縦軸方向で、基準閾値(Loss
max)、上限損失閾値(Loss
limit)、非定常中間閾値(Loss
interH)、定常中間閾値(Loss
interL)と、レンジ値(Rangevalue)により15の領域(レンジ)に分割される。
図7で言えば、隣接した太い線と細い線のいずれかにより挟まれた各領域がレンジである。
当然に、レンジ値の間隔や、レンジの分割数は、対象とする機器の特性に応じたパラメータで設定可能とすることができる。
【0076】
以上のようにして、基準閾値(Loss
max)、上限損失閾値(Loss
limit)、非定常中間閾値(Loss
interH)、定常中間閾値(Loss
interL)とレンジとが定まると、状態判定部126Xは、各レンジに属する大きさの損失の数をカウントする。例えば、
図7において、Xの符号が付された損失は、上から2つ目のレンジに属している。
なお、隣接する領域の境界値(つまり、いずれかの閾値又はレンジ値と同じ値)の損失を、隣接する上下どちらのレンジに含めてカウントするかは適宜決定することができ、これには限られないがこの実施形態では、損失が大きい上側のレンジに含めてカウントすることとしている。また、上限損失閾値(Loss
limit)よりも大きい損失が存在するのであれば、一番上のレンジでカウントするとか、0よりも小さい損失が存在するのであれば一番下のレンジでカウントするとか、損失の数のカウントの仕方に関するルールは適宜決定することができる。
【0077】
そのようにしてカウントされた損失の数を、
図8、
図9にグラフ化して示す。このグラフの横軸は損失の大きさであり、縦軸は損失の数である。横軸には、基準閾値(Loss
max)、上限損失閾値(Loss
limit)、非定常中間閾値(Loss
interH)、定常中間閾値(Loss
interL)に相当する目盛が記載されている。注釈のない目盛は、レンジ値である。なお、レンジ値は、検出装置で生成されていても良いし、例えば、閾値設定データに含める形で、学習装置で生成されても良い。
図8は、対象物が定常状態にある場合における典型的なヒストグラムである。
図9は、対象物が非定常状態にある場合における典型的なヒストグラムである。
図8の場合であれば、ほとんどの損失が基準閾値(Loss
max)よりも低い値に集中しており、基準閾値(Loss
max)よりも大きな値の損失はほとんど存在していない。これは、ほとんどの損失が極めて小さい、つまり損失を求めるために用いられた音特徴量データと推定音特徴量データとの差が極めて小さいということを意味している。もっといえば、これは、検出装置内で生成された音特徴量データの元となった音データが、エンコーダとして機能している第1演算部124Xが学習したときの音データ(つまり、定常状態にある対象物が発した音に基づく音データ)と極めて近いということを意味している。これは即ち、検出装置で現在判定の対象となっている対象物からの音が、定常状態にある対象物からの音であるということである。
図9の場合には、基準閾値(Loss
max)よりも高い値の部分に多数の損失が存在することがわかる。特に、非定常中間閾値(Loss
interH)よりも大きな値の損失も相当数存在している。これは、一定以上の大きさの損失が多く存在している、つまり損失を求めるために用いられた音特徴量データと推定音特徴量データとの差が大きいということを意味している。もっといえば、これは、検出装置内で生成された音特徴量データの元となった音データが、エンコーダとして機能している第1演算部124Xが学習したときの音データ(つまり、定常状態にある対象物が発した音に基づく音データ)と異なっているということを意味している。これは即ち、検出装置で現在判定の対象となっている対象物からの音が、非定常状態にある対象物からの音であるということである。
状態判定部126Xは、対象物が定常状態にあるか、非定常状態にあるかを、例えば以下のような取決めによって判定することができる。
1.基準閾値(Loss
max)よりも大きな損失の数がXX個以上、或いは、全損失の数のXX%以上
2.非定常中間閾値(Loss
interH)よりも大きな損失の数がXX個以上、或いは、全損失の数のXX%以上
3.基準閾値(Loss
max)よりも大きな損失の数がXX個以上、或いは、全損失の数のXX%以上であり、且つ定常中間閾値(Loss
interL)よりも大きな損失の数がYY個以上、或いは、全損失の数のYY%以上
なお、状態判定部126Xは、以上のようなアルゴリズムによって受取った損失から対象物が定常状態か非定常状態かという判定を行うようになっていても良いが、所定の人工知能によってその判定を行うようになっていても良い。
いずれにせよ、状態判定部126Xは、例えば、「対象物は定常状態にあります」、「対象物は非定常状態にあります」といったテキストとともに、
図8や
図9に示したようなヒストグラムを所定のディスプレイに表示するための画像データを生成する。これが、本願で言う結果データに相当する。
これには限られないが、この実施形態では、状態判定部126Xが行う判定は、2段階であるとする。もっとも、状態判定部126Xが行う判定は、対象物が定常状態にあるから非定常状態にあるという間を例えば3段階や、5段階で判定するようになっていても良い。また、結果データに上述したテキストのデータや、ヒストグラムを所定のディスプレイに表示するための画像データが含まれていることは必須ではない。
【0078】
上述のようにして状態判定部126Xは、判定結果に応じた結果データを生成する。
結果データは、対象物が非定常状態にある、或いはマイクロフォン103Xに入力された音が非定常音を含むという判定がなされたときのみ生成されても良いし、そうでなくても良い。この実施形態では、これには限られないが、対象物が定常状態にある、或いはマイクロフォン103Xに入力された音が定常音であるという判定がなされたときと、非定常音であるという判定がなされたときの両方で結果データが生成されるものとする。
【0079】
結果データは、必要に応じて利用される。
これには限られないがこの実施形態では、状態判定部126Xは、結果データを出力部128Xに送る。出力部128Xは、その結果データを、インタフェイス114Xを介して、コンピュータ装置100Xの外部の他の装置に出力する。
他の装置は、例えば、コンピュータ装置100Xに接続された図示を省略のディスプレイである。ディスプレイの画面には、結果データに応じた上述した如きテキストとヒストグラムとが表示されることになる。他の装置の他の例は、コンピュータ装置100Xに接続されたパトランプであって、結果データを受取ると、鳴動することで、対象物が非定常状態にあることを周囲の者に知らせるようになっているものでもよい。この場合の結果データは、パトランプとを動作させるためのデータであり、上述したテキストや、ヒストグラムの画像データを含まないで良いことは自明であろう。対象物が非定常状態にあることを周囲の者に知らせるための手段がパトランプに限らないことは、当然である。
上述のディスプレイや、パトランプは、コンピュータ装置100Xに接続されている必要はない。例えば、コンピュータ装置100Xから遠隔地にあり且つコンピュータ装置100Xと例えばインターネットを介して通信可能な他のコンピュータ装置に、上述のディスプレイやパトランプが接続されていても良い。その場合においても、結果データを受取ったディスプレイに上述のテキストやヒストグラムの画像を表示することが可能であり、結果データを受取ったパトランプを鳴動させることが可能なことは、当業者にとっては自明であろう。
【0080】
なお、この実施形態では、学習装置で生成される閾値設定データを用いて検出装置の状態判定部126Xにおいて設定される、受取った損失のデータに基づいて状態判定部126Xが上述した判定を行うために用いられる閾値は、基準閾値(Lossmax)、上限損失閾値(Losslimit)、非定常中間閾値(LossinterH)、定常中間閾値(LossinterL)の4種類であり、更には閾値と類似のレンジ値も用いられることとなっていた。
これはこの限りではない。例えば、学習装置で生成され閾値設定データで特定される閾値が、例えば、基準閾値(Lossmax)のみの1種類であってもよい。
その場合、検出装置の状態判定部126Xは、単純に、基準閾値を超えた損失の数をカウントし、その数(或いは、全損失に占める割合)がある数(或いは割合)よりも多い場合に、対象物が発した音についての音データに対象物が非定常状態であることを示す音が含まれていると判定するようになっていてもよい。
【0081】
<試験例>
以下、試験例について説明する。
以下に説明する試験例は、一実施形態で説明した学習装置により学習モードを実行することによって学習を行った学習済みオートエンコーダのデータを持つ、第1実施形態で説明した検出装置を用いて実施した。
試験例では、定常状態、非定常状態の判定をなされる対象物として、実際の装置では異常の発生頻度が極めて低く、かつ、異常の原因が限定的になる可能性もあることから、回転機構を持ち、且つ異常振動の発生を意図的に生じさせることができる電動ドリルを模した試験治具(以下、試験装置と呼ぶ)を利用した。
この試験装置は、回転機構を有する電動ドリルの正常(定常)な状態の他、異常(非定常)な状態をも再現できる。この試験装置は、工場設備のメンテナンス技術を作業者が習得するための実習装置として、予知保全等の目的で一般的に利用されている装置である。試験装置がどのような異常を再現できるかについては後述する。
【0082】
検出装置での試験装置の定常状態、非定常状態の判定に先立って、学習装置でオートエンコーダの学習を行った。
学習装置での学習時においては当然に、試験装置の正常状態の環境を用いた。正常な試験装置から生じる音を定常音として用いて学習装置にて学習を行った。サンプリングする定常音については、サンプリングレートを44100Hz、FFTフレーム長を4096サンプルデータ数、FFTフレーム間隔を2048サンプルデータ数とするとともに、音特徴量データをメル周波数スペクトログラムとし、メル周波数スペクトログラムのメルバンドフィルタ数を8個とした。
なお、FFTフレーム長とは、高速フーリエ変換(Fast Fourier Transform)の処理を実施する場合に処理を実施する参照データ数で周波数分解能を制御するパラメータを意味し、FFTフレーム間隔は、同処理を実施する場合に時間間隔をとるサンプルデータ数で、時間分解能を制御するパラメータとなる。
定常音を、回転駆動部の回転数について、低速(100回/分)、中速(500回/分)、高速(1000回/分)の3パターンについて、それぞれ、30分×3回分を取得し、その定常音データを用いて学習させることにより、回転数の異なる機器を対象とした3種類の学習済みオートエンコーダを得た。
【0083】
次に、学習済みオートエンコーダを生成するためのデータを検出装置に移植し、検出装置を完成させ、その検出装置を用いて、試験装置の定常状態、非定常状態の判定を行った。
検出装置で用いた閾値は、実施形態で説明した学習装置で、閾値決定モードを実行することにより決定した。試験例で用いた閾値は、上述の実施形態で説明した基準閾値(Lossmax)1種類のみである。
ただし、基準閾値(Lossmax)は、学習装置において、利用された定常音のデータを入力して推論を実施した場合に得られた全数の損失のうちの第3四分位数、つまり、全数の損失を小さい方から配列した場合において小さい方から3/4の順番にあるものの値に1.5を乗じた値として決定した。
また、検出装置の状態判定部126Xは、基準閾値を超える損失の値が所定の数よりも多いか少ないかに基づいて、対象物が定常状態にあるか、非定常状態にあるかの判定を行うこととした。つまり、試験例における検出装置では、基準閾値を超える損失の数が所定の数よりも多い場合に、対象物が非定常状態にあると判定される。
ここで、基準閾値を超える損失の数がその数を超えた場合に対象物が非定常状態にあると判定される「所定の数」は、診断対象となる入力のデータ数に対する超過サンプル数に対する所定の割合(例えば、これに限られないが10%)に相当する数として決定した。つまり、損失の値のデータがZ個である場合、基準閾値を超える損失の値のデータの数が0.1Z個以上である場合に、状態判定部126Xは、対象物が非定常状態にあると判定する。
【0084】
検出装置による判定の際に用いた試験装置は上述したように、正常状態、つまり定常状態にある状態と、異常状態、つまり非定常状態にある状態とを、発する音を含めて再現できる。
非定常状態にある試験装置の状態として、以下の5種類を用意した。
1.ギアに異常があるもの
回転機構に含まれるギアに欠損が存在するものを用いた。
2.軸受けに異常があるもの
回転機構に含まれるベアリングに欠損が存在するものを用いた。
3.回転機構の角度に異常があるもの
回転機構の回転軸の角度を、本来の回転軸からずらしたもの
4.ギア接触異常があるもの
噛み合うギア同士の距離を本来の距離から僅かに引き離したもの
5.偏心異常があるもの
回転機構に含まれる回転を行う部材の重心を、回転軸からずらして偏荷重・アンバランスにしたもの
【0085】
まず、正常な試験装置が生じる音を測定音としてサンプリングして、試験装置の状態が定常状態にあるか、非定常状態にあるかを判定した。サンプリングの条件は、学習時の定常音のサンプリング時の条件にならった。
回転駆動部の回転数が低速(100回/分)、中速(500回/分)、高速(1000回/分)の場合についてそれぞれ、測定音のサンプリングを10分ずつ、且つ3回行った。測定音特徴量データをメル周波数スペクトログラムとし、メル周波数スペクトログラムのメルバンドフィルタ数を8個とした。
その結果、正常な試験装置が生じる測定音に基づいて、検出装置は、試験装置の回転数が低速(100回/分)、中速(500回/分)、高速(1000回/分)の場合のいずれの場合においても、測定音のサンプリングを行った3回ともに試験装置が定常状態にあると判定した。
なお、以下の例でも同様であるが、低速の状態での試験装置の定常状態、非定常状態の判定の際に検出装置で用いられた学習済みオートエンコーダは、低速の状態にある試験装置が発する音によって学習を行った学習済みオートエンコーダであり、同様に、中速、高速の状態での試験装置の定常状態、非定常状態の判定の際に検出装置で用いられた学習済みオートエンコーダはそれぞれ、中速、高速の状態にある試験装置が発する音によって学習を行った学習済みオートエンコーダである。
【0086】
次に、上述の1から5のいずれかの異常が付与された試験装置が生じる音を測定音としてサンプリングして、試験装置の状態が定常状態にあるか、非定常状態にあるかを判定した。サンプリングの条件は、学習時の定常音のサンプリング時の条件にならった。
回転駆動部の回転数が低速(100回/分)、中速(500回/分)、高速(1000回/分)の場合についてそれぞれ、測定音のサンプリングを10分ずつ、且つ3回、上述の1の異常を持つ試験装置から、5の異常を持つ試験装置に対して行った。
測定音特徴量データをメル周波数スペクトログラムとし、メル周波数スペクトログラムのメルバンドフィルタ数を8個とした。
その結果、1の異常を持つ試験装置が生じる測定音に基づいて、検出装置は、回転駆動部の回転数が低速(100回/分)、中速(500回/分)、高速(1000回/分)の場合のいずれの場合においても、測定音のサンプリングを行った3回とも、試験装置が非定常状態にあると判定した。
同様に、2、3、4の異常を持つ試験装置が生じる測定音に基づいて、検出装置は、試験装置の回転数が低速(100回/分)、中速(500回/分)、高速(1000回/分)の場合のいずれの場合においても、測定音のサンプリングを行った3回とも、試験装置が非定常状態にあると判定した。
5の異常を持つ試験装置が生じる測定音に基づいて、検出装置は、回転駆動部の回転数が中速(500回/分)、高速(1000回/分)の場合のいずれの場合においても、測定音のサンプリングを行った3回とも、試験装置が非定常状態にあると判定した。
他方、回転駆動部の回転数が低速(100回/分)の場合、5の異常を持つ試験装置が生じる測定音に基づいて、検出装置は、測定音のサンプリングを行った3回とも、試験装置が定常状態にあると判定し、試験装置が非定常状態にあることを検出できなかった。
【符号の説明】
【0087】
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 出力部
【要約】
環境音があっても正確に機能する、対象物の非定常性を検出するための学習済み人工知能を提供する。
オートエンコーダに、対象物から定常時に生じる音を含む定常音についてのデータである定常音データから生成した当該定常音データで特定される定常音の特徴量についてのデータである定常音特徴量データを入力し、推定定常音特徴量データを出力させる。定常音特徴量データと、推定定常音特徴量データとの損失を生成し、両者の差分を最小化させるようオートエンコーダに学習させる。損失を求める損失関数を、差分からノイズを除去するノイズ除去関数と、所定時間帯における差分のトレンドを抽出する関数であるトレンド抽出関数とで修正する。