(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023100055
(43)【公開日】2023-07-18
(54)【発明の名称】異常音検知システムおよび方法
(51)【国際特許分類】
G10L 25/51 20130101AFI20230710BHJP
G06N 20/00 20190101ALI20230710BHJP
【FI】
G10L25/51
G06N20/00 130
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022000419
(22)【出願日】2022-01-05
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110000279
【氏名又は名称】弁理士法人ウィルフォート国際特許事務所
(72)【発明者】
【氏名】西田 智哉
(72)【発明者】
【氏名】川口 洋平
(72)【発明者】
【氏名】土肥 宏太
(57)【要約】
【課題】背景雑音が入力音に混合される場合においても、高精度に異常音検知可能である異常音検知システムを提供すること。
【解決手段】対象機械の正常音信号と当該対象機械の実際の動作区間を示す動作区間情報との組の集合を学習した学習結果を用いて(1000)、対象機械の異常音検知対象の入力信号に対して異常判定する異常音検知システムであって、対象機械の異常音検知対象の入力信号を受けた場合、異常音検知対象の入力信号から学習結果を用いて対象機械の動作区間を推定し(21)、推定された動作区間と、動作区間情報に示される実際の動作区間との乖離度に基づいて、対象機械の異常音検知対象の入力信号の異常を判定する(2000)。
【選択図】
図1
【特許請求の範囲】
【請求項1】
対象機械の正常音信号と当該対象機械の実際の動作、非動作区間を示す動作区間情報の組の集合を学習した学習結果を用いて、前記対象機械の正常音信号の入力に対して前記対象機械の動作、非動作区間の推定を行う動作区間検出サブシステムと、前記対象機械の異常音検知対象の入力信号に対して正常か異常かを判定する異常判定部とを備える異常音検知システムであって、
前記対象機械の異常音検知対象の入力信号と、当該入力信号と対応する前記対象機械の実際の動作、非動作区間を示す前記動作区間情報を受けた場合、
前記動作区間検出サブシステムは、前記異常音検知対象の入力信号から前記学習結果を用いて前記対象機械の動作、非動作区間を推定し、
前記異常判定部は、前記推定された動作、非動作区間と、前記動作区間情報に示される実際の動作、非動作区間との乖離度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する、
異常音検知システム。
【請求項2】
請求項1に記載の異常音検知システムであって、
前記学習結果は、前記対象機械の正常音信号からの特徴量の生成に用いる特徴量埋め込みパラメータと、前記抽出された特徴量からの前記対象機械の動作、非動作の推定に用いる動作、非動作推定パラメータを含み、
前記動作区間検出サブシステムは、前記特徴量埋め込みパラメータと、前記動作・非動産推定パラメータを用いて、前記対象機械の正常音信号または異常音検知対象の入力信号から前記対象機械の動作、非動作の推定を行う
異常音検知システム。
【請求項3】
請求項2に記載の異常音検知システムであって、
前記学習結果に含まれる前記特徴量埋め込みパラメータを用いて生成された前記対象機械の正常音信号の中間特徴量を学習した学習結果に基づき、前記特徴量埋め込みパラメータを用いて生成された前記対象機械の異常音検知対象の入力信号の中間特徴量の前記正常音信号の中間特徴量の分布に対する異常度を算出する外れ値検知部をさらに備え、
前記異常判定部は、前記算出された異常度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する、
異常音検知システム。
【請求項4】
請求項1に記載の異常音検知システムであって、
前記対象機械の正常音信号には、前記対象機械の正常動作音と、背景雑音が含まれ、
前記学習結果は、前記正常音信号または異常音検知対象の入力信号のうち、前記対象機械の正常動作音と対応する周波数帯から動作、非動作区間を推定するよう誘導するものである
異常音検知システム。
【請求項5】
対象機械の正常音信号と当該対象機械の実際の動作、非動作区間を示す動作区間情報の組の集合を学習した学習結果を用いて、前記対象機械の正常音信号の入力に対して前記対象機械の動作、非動作区間の推定を行い、前記対象機械の異常音検知対象の入力信号に対して正常か異常かを判定する異常音検知システムによる異常音検知方法であって、
前記対象機械の異常音検知対象の入力信号と、当該入力信号と対応する前記対象機械の実際の動作、非動作区間を示す前記動作区間情報を受けた場合、
前記異常音検知対象の入力信号から前記学習結果を用いて前記対象機械の動作、非動作区間を推定し、
前記推定された動作、非動作区間と、前記動作区間情報に示される実際の動作、非動作区間との乖離度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する、
異常音検知方法。
【請求項6】
請求項5に記載の異常音検知方法であって、
前記学習結果は、前記対象機械の正常音信号からの特徴量の生成に用いる特徴量埋め込みパラメータと、前記抽出された特徴量からの前記対象機械の動作、非動作の推定に用いる動作、非動作推定パラメータを含み、
前記特徴量埋め込みパラメータと、前記動作・非動産推定パラメータを用いて、前記対象機械の正常音信号または異常音検知対象の入力信号から前記対象機械の動作、非動作の推定を行う
異常音検知方法。
【請求項7】
請求項6に記載の異常音検知方法であって、
前記学習結果に含まれる前記特徴量埋め込みパラメータを用いて生成された前記対象機械の正常音信号の中間特徴量を学習した学習結果に基づき、前記特徴量埋め込みパラメータを用いて生成された前記対象機械の異常音検知対象の入力信号の中間特徴量の前記正常音信号の中間特徴量の分布に対する異常度を算出し、
前記算出された異常度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する、
異常音検知方法。
【請求項8】
請求項5に記載の異常音検知方法であって、
前記対象機械の正常音信号には、前記対象機械の正常動作音と、背景雑音が含まれ、
前記学習結果は、前記正常音信号または異常音検知対象の入力信号のうち、前記対象機械の正常動作音と対応する周波数帯から動作、非動作区間を推定するよう誘導するものである
異常音検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常音検知システムおよび方法に関する。
【背景技術】
【0002】
異常音検知技術とは、音が正常か異常かを判定する技術である。異常音とは、普段の音(正常音)とは異なる音のことである。異常音検知技術は、工場の機械等の故障に起因した異常音を検知可能であり、機械の保全や保守を自動化することに有用である。機械によっては、連続的に動作し続けるものと、動作と非動作とを繰り返すものとがある。
【0003】
非特許文献1では、正常音の特徴量を自己符号化器に学習させる。非特許文献1では、次に、自己符号化器の再構成誤差に基づいて異常音を検知することで、学習させた音の特徴量と異なる音を異常音として検知する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】E. Marchi, “A novel approach for automatic acoustic novelty detection using a denoising autoencoder with Bidirectional LSTM neural networks,” in Proc of ICASSP, 2015
【発明の概要】
【発明が解決しようとする課題】
【0005】
工場で多様な機械が同時に稼働するケースにおいて、異常音検知システムへの入力音には、異常音検知対象の機械(以降、対象機械という)からの音以外の音も背景雑音として含まれることがある。それにより、例えば、対象機械の動作音が背景雑音より小さい場合、対象機械の正常な動作音(以降、正常動作音という)に背景雑音を含んだ混合音と、対象機械の異常な動作音(以降、異常動作音という)に背景雑音を含んだ混合音との違いが、小さくなる。よって、異常音検知システムにおいては、正常動作音と背景雑音の混合音を入力して得られる異常度と、異常動作音と背景雑音の混合音を入力して得られる異常度との差が小さくなり、正しく正常と異常の判定ができないという第一の問題がある。さらに、正常動作音の主な周波数帯域と異なる周波数帯域に背景雑音が混合された場合、異常音検知システムは、入力音を異常と誤判定してしまう第二の問題もある。
【0006】
従来技術としてではなく、本開示の異常音検知システムと比較するための比較例としての異常音検知システム(以降、異常音検知システムの一例という)は、例えば特徴量抽出部、尤度計算部、異常判定部を備えることができるであろう。
【0007】
特徴量抽出部は、入力音の時間波形から時間周波数領域の特徴量を抽出する。尤度計算部は、前記時間周波数領域の特徴量の負対数尤度を推定する。尤度計算部は、正常音サンプルの時間周波数領域特徴量に対して低い負対数尤度を出力するように事前学習させておく。そして、尤度計算部は、推定した負対数尤度を音の異常度として出力する。最後に、前記異常度が事前に定めた閾値以上であった場合、異常判定部は、前記入力音を異常音と判定し、判定結果を出力する。一方、前記異常度が前記閾値未満の場合、異常判定部は、入力音を正常音と判定判定し、判定結果を出力する。
【0008】
前記第二の問題の一例としては、対象機械が正常動作している際、対象機械の近くで稀にハンマーを用いて金属を叩くような修理作業が行われる例が考えられる。この例では、異常音検知システムの入力音には、対象機械の動作音だけでなく、金属が叩かれる高周波数帯域の音が混合される。修理作業による音が稀にしか発生しない場合、尤度計算部は、入力音の負対数尤度を高いと推定する。よって、対象機械は正常動作しているにも関わらず、前述の異常音検知システムの一例は、異常と誤判定する問題がある。
【0009】
そこで、本発明は、背景雑音より対象機械の動作音が小さい場合であっても正常音に対して低い異常度を出力し、異常音に対して高い異常度を出力する、異常音検知システム及び方法を提供するものである。また、本発明は、背景雑音が正常動作音と無関係な周波数に発生する場合であっても、正常音に対して低い異常度を出力し、異常音に対して高い異常度を出力する、異常音検知システム及び方法を提供するものである。
【課題を解決するための手段】
【0010】
上記課題の少なくとも一つを解決するために、本願において開示される発明の代表的な一例は、対象機械の正常音信号と当該対象機械の実際の動作、非動作区間を示す動作区間情報との組の集合を学習した学習結果を用いて、前記対象機械の正常音信号の入力に対して前記対象機械の動作、非動作区間の推定を行う動作区間検出サブシステムと、前記対象機械の異常音検知対象の入力信号に対して正常か異常かを判定する異常判定部とを備える異常音検知システムであって、前記対象機械の異常音検知対象の入力信号と、当該入力信号と対応する前記対象機械の実際の動作、非動作区間を示す前記動作区間情報を受けた場合、前記動作区間検出サブシステムは、前記異常音検知対象の入力信号から前記学習結果を用いて前記対象機械の動作、非動作区間を推定し、前記異常判定部は、前記推定された動作、非動作区間と、前記動作区間情報に示される実際の動作、非動作区間との乖離度に基づいて、前記対象機械の異常音検知対象の入力信号の正常、異常を判定する。
【発明の効果】
【0011】
本発明によれば、背景雑音が入力音に混合される場合においても、高精度に異常音検知可能である。
【図面の簡単な説明】
【0012】
【
図1】実施例1における異常音検知システムの全体構成を示すブロック図である。
【
図2】実施例1における学習サブシステムを示すブロック図である。
【
図3】実施例1における学習サブシステムの処理フローを示す図である。
【
図4】実施例1における異常音検知サブシステムを示すブロック図である。
【
図5】実施例1における異常音検知サブシステムの処理フローを示す図である。
【
図6】実施例1における異常音検知システムのハードウエア構成の一例を示す図である。
【
図7】実施例2における異常音検知システムの全体構成を示すブロック図である。
【
図8】実施例2における学習サブシステムを示すブロック図である。
【
図9】実施例2における学習サブシステムの処理フローを示す図である。
【
図10】実施例2における異常音検知サブシステムを示すブロック図である。
【
図11】実施例2における異常音検知サブシステムの処理フローを示す図である。
【
図12】実施例2における異常音検知システムのハードウエア構成の一例を示す図である。
【
図13】実施例3における学習サブシステムを示すブロック図である。
【
図14】実施例3における学習サブシステムの処理フローを示す図である。
【
図15】実施例4における学習サブシステムのブロック構成を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の実施形態を詳述する。本実施の形態の異常音検知システムは、対象機械の動作状態と対象機械について得られた入力信号(入力音)とに基づいて、対象機械の異常を判定する。本実施形態の異常音検知システムは、背景雑音が入力音に混合される場合でも、異常音を検知する。本実施形態では、対象機械の正常音信号と当該対象機械の実際の動作区間を示す動作区間情報との組の集合を学習した学習結果を用いて、対象機械の異常音検知対象の入力信号に対して異常判定する。
【0014】
本実施形態では、対象機械の異常音検知対象の入力信号を受けた場合、異常音検知対象の入力信号から学習結果を用いて対象機械の動作区間を推定し、推定された動作区間と、動作区間情報に示される実際の動作区間との乖離度に基づいて、対象機械の異常音検知対象の入力信号の異常を判定する。
【0015】
本実施形態の異常音検知システムは、例えば、発電プラント、鉄鋼プラント、化学プラント、食品プラント、機械組立プラントなどの様々な場所で使用される対象機械Mの異常検知に用いることができる。対象機械Mは、例えば、モータ、バルブ、ポンプ、ソレノイド、コンプレッサ、ボイラ、コンベア、攪拌機、加熱炉などの、動作に際して音を発生する種々の機械である。
【実施例0016】
図1~
図6、
図16および
図17を用いて実施例1を説明する。
図1は、実施例1における異常音検知システムのブロック構成図である。異常音検知システムは、訓練用データセットデータベース(DB)1から、正常音信号の時間波形100と動作区間情報200とを読み出し、学習サブシステム1000へ入力する。
【0017】
正常音信号は、対象機械Mの正常動作音と背景雑音を含む。動作区間情報200とは、対応する正常音信号の時間波形100のうちどの時間に対象機械Mが動作していたかを表す情報である。
図16に示すように、例えば、動作区間情報200は、動作開始時刻と動作終了時刻の組の集合である。対象機械Mの動作中ではない時間が、対象機械Mの非動作区間となる。以下、対象機械の符号Mを適宜省略して説明する。
【0018】
図1に戻る。学習サブシステム1000は、正常音の時間波形100と動作区間情報200に基づいて学習処理を実施し、特徴量埋め込み部10のパラメタと動作・非動作推定部11のパラメタとを出力する。動作・非動作推定部11は、対象機械が動作しているか否かを推定する機能を持つ。特徴量埋め込み部10のパラメタは、特徴量埋め込みパラメタDB2に格納される。動作・非動作推定部11のパラメタは、動作・非動作推定パラメタDB3に格納される。
【0019】
特徴量埋め込み部10と動作・非動作推定部11とは、縦続接続されることで、入力信号から動作区間情報を推定する、動作区間検出サブシステム1100を構成する。したがって、DB2に格納された特徴量埋め込み部10のパラメタとDB3に格納された動作・非動作推定部11のパラメタとを用いることで、正常音信号に対して正しい動作区間を推定する動作区間検出サブシステム1100が得られる。
【0020】
異常音検知サブシステム2000は、特徴量埋め込み部20のパラメタと動作・非動作推定部21のパラメタとをDB2,3から読み出す。異常音検知サブシステム2000には、動作区間情報400と信号の時間波形300とが入力される。異常音検知サブシステム2000は、入力された信号が正常か異常かを判定する。
【0021】
詳細は
図4にて説明するが、入力された波形信号300が正常か異常かの判定は、次のように行われる。まず、特徴量埋め込み部20と動作・非動作推定部21とで構成される動作区間検出サブシステム2100を用いて、信号の時間波形300から対象機械の動作区間を推定する。次に、推定した動作区間と入力された動作区間情報400との間の乖離度に応じて、波形信号300の異常度を算出する。最後に、異常度の大きさに応じて、判定信号500を出力する。判定信号500は、図示せぬ他システムへ送られる。実施例1では、対象機械の動作区間の推定に失敗した信号を異常と判定する。
【0022】
実施例1が前記課題をどのように解決するかを記述する。まず、対象機械の動作している区間を推定することは、非動作区間の音と動作区間の音を識別することと等価である。非動作区間の音は、背景雑音のみである。一方、動作区間の音は、対象機械の動作音と背景雑音の混合音である。したがって、動作区間検出サブシステム2100は、背景雑音と混合音を識別するモデルである。
【0023】
背景雑音が正常動作音より大きい場合、背景雑音と混合音の違いは、わずかな正常動作音の有無のみである。そのため、動作区間検出サブシステム2100は、正常動作音のわずかな特徴を捉えるモデルとなる。そのわずかな特徴から外れた異常動作音は、動作区間として検出できず、異常音検知が可能となる。一方、比較例として前述した異常音検知システムの一例では、混合音の特徴のみを学習させ、それをもとに異常音検知する。実施例1は、正常動作音の特徴を直接捉えるモデルを用いて異常音検知するため、比較例の異常音検知システムに比べて、正常動作音の特徴から外れた音を正しく検知できる。
【0024】
図2に示すように、実施例1における学習サブシステム1000は、時間周波数特徴量生成部12、特徴量埋め込み部10、動作・非動作推定部11、動作ラベル生成部13、学習部14を含む。
【0025】
図3は、実施例1における学習サブシステム1000の処理フローである。学習サブシステム1000は、訓練用データセットDB1から、正常音信号の時間波形100と動作区間情報200との集合を読み出す。以降の処理は、ステップS301において、学習終了条件として、反復回数C1が閾値ThC以上となるまで、後述のステップS302~S306を繰り返す。
【0026】
ステップS302において、時間周波数特徴量生成部12は、正常音信号の時間波形100を時間周波数領域特徴量110に変換する。例えば、時間周波数領域特徴量110は、時間波形を短時間フーリエ変換して得られる、パワースペクトログラムや、対数メルパワースペクトログラムであってもよい。
【0027】
ステップS303において、動作ラベル生成部13は、動作区間情報200から、動作ラベル210を生成する。動作ラベル210は、例えば、時間周波数領域特徴量110の時間フレーム数と同じ長さの二値ベクトルである。二値ベクトルの値は、時間フレーム毎に対象機械が動作中であれば1、非動作中であれば0となる。この例を
図17に示す。あるいは、ベクトルの代わりにスカラー値を使用し、時間周波数領域特徴量110の中央の時間フレームに、対象機械が動作中であれば1を、非動作中であれば0を設定してもよい。例えば、時間周波数領域特徴量110の時間フレーム数が5の場合、3番目の時間フレームに、対象機械が動作中であるか非動作中であるかに応じて動作ラベルを決定する。また、前記二つの動作ラベルどちらにおいても、一つの時間フレーム中に動作と非動作が切り替わる場合、対応する動作ラベルの値を、時間フレーム長のうちの動作中だった時間の割合にしてもよい。すなわち、時間フレーム長の半分の時間だけ動作中だった場合、対応する動作ラベルの値を0.5とする。
【0028】
ステップS304において、特徴量埋め込み部10は、時間周波数領域特徴量110を、動作ラベルを推定するための中間特徴量120に変換する。特徴量埋め込み部10は、全結合層と活性化関数を積層したもの、あるいは、複数の畳み込み層と活性化関数を積層したもの、または再帰型ニューラルネットワークであってよい。
【0029】
ステップS305において、動作・非動作推定部11は、中間特徴量120を用いて、動作ラベル推定値130を出力する。動作・非動作推定部11は例えば、全結合層とソフトマックス関数を積層したものであってよい。
【0030】
ステップS306において、学習部14は、動作ラベル推定値130と動作ラベル210の誤差とで定義される損失関数の値を最小化することにより、特徴量埋め込み部10のパラメタと動作・非動作推定部11のパラメタとを更新する。動作ラベル推定値130と動作ラベル210との誤差は、例えば両者の間の交差エントロピーでよい。損失関数の値の最小化には、例えば、SGD、Momentum SGD、RMSProp、AdaGrad、AdaDelta、Adamなどの最適化アルゴリズムを用いることができる。
【0031】
ステップS301において反復回数C1がThC以上となった場合(S301:YES)、ステップS307において、特徴量埋め込み部10のパラメタをDB2へ保存させると共に、動作・非動作推定部11のパラメタDB3に保存させ、学習サブシステム1000の処理フローを終了する。
【0032】
図4に示すように、実施例1における異常音検知サブシステム2000は、時間周波数特徴量生成部22、特徴量埋め込み部20、動作・非動作推定部21、動作ラベル生成部23、異常度計算部24、異常判定部25を含んでいる。
【0033】
図5は、実施例1における異常音検知サブシステム2000の処理フローである。ステップS501において、時間周波数特徴量生成部22は、信号の時間波形300から、時間周波数領域特徴量310を生成する。時間周波数特徴量生成部22は、
図2に示した学習サブシステム1000の時間周波数特徴量生成部12と同じものを用いる。
【0034】
ステップS502において、動作ラベル生成部23は、動作区間情報400から、動作ラベル410を生成する。動作ラベル生成部23は、
図2に示した学習サブシステム1000の動作ラベル生成部13と同じものを用いる。
【0035】
ステップS503において、特徴量埋め込み部20は、特徴量埋め込みパラメタDB2から読み込んだパラメタを用いることにより、時間周波数領域特徴量310を、動作ラベルを推定するための中間特徴量320に変換する。
【0036】
ステップS504において、動作・非動作推定部21は、動作・非動作推定パラメタDB3から読み込んだパラメタを用いることにより、中間特徴量320から、動作ラベル推定値330を出力する。
【0037】
ステップS505において、異常度計算部24は、動作ラベル410と動作ラベル推定値330とから、事前に定義した両者の乖離度を計算し、算出した乖離度を異常度340として出力する。
【0038】
乖離度は、例えば、動作ラベルと動作ラベル推定値との間の交差エントロピー誤差であってよい。または、動作ラベルと動作ラベル推定値とから、対象機械が動作している区間のラベルのみを取り出し、それらの間の交差エントロピーを乖離度として用いてもよい。すなわち、対象機械が非動作中の区間の、動作ラベルと動作ラベル推定値との乖離度は無視してもよい。さらに、対象機械の動作と非動作とが切り替わる前後数フレームの動作ラベルと動作ラベル推定値との乖離度も無視し、残りの区間の動作ラベルと非動作ラベルの交差エントロピー誤差を用いてもよい。
【0039】
ステップS506において、異常判定部25は、異常度340から、信号の時間波形300が正常か異常かを判定し、判定結果500を出力する。あらかじめ定めた閾値を異常度が超えていれば異常と判定し、超えていなければ正常と判定する。
【0040】
図6は、実施例1の異常音検知システムH1の構成の一例を示す図である。異常音検知システムH1は、計算機H2及びマイクロフォン(以下マイク)H7を有する。計算機H2及びマイクH7の数は二つ以上でもよい。
【0041】
マイクH7は、異常検知の対象機械から発生した動作音を収集する装置である。マイクH7は、収集した音から音声データを計算機に送信する。マイクH7は、対象機械の周辺に配置される。マイクH7は、対象機械に取り付けられてもよいし、対象機械から離れた場所に取り付けられてもよい。
【0042】
計算機H2は、対象機械から収集した音が異常か正常かを判定する。計算機H2は、例えば、プロセッサH5、主記憶装置H3、副記憶装置H4、及び接続インタフェースH6を備える。各ハードウェアは内部パスを介して互いに接続される。
【0043】
接続インタフェースH6は、外部装置と接続するためのインタフェースである。接続インタフェースH6は、例えば、ネットワークインタフェース及びI/Oインタフェースである。マイクH7で取得された音は、接続インターフェースH6を介して、計算機H2へ入力される。
【0044】
プロセッサH5は、主記憶装置H3に格納されたコンピュータプログラムを実行する。プロセッサH5がコンピュータプログラムにしたがって処理を実行することにより、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサH5が当該機能部を実現するプログラムを実行していることを示す。
【0045】
主記憶装置H3は、プロセッサH5が実行するコンピュータプログラム及びコンピュータプログラムが使用するデータを格納する。また、主記憶装置H3は、コンピュータプログラムが一時的に使用するワークエリアを含む。主記憶装置H3は、例えば、DRAM(Dynamic Random Access Memory)等である。主記憶装置H3に格納されるコンピュータプログラムについては後述する。
【0046】
主記憶装置H3に格納されるコンピュータプログラム及びデータは、副記憶装置H4に格納されてもよい。この場合、プロセッサH5が、副記憶装置H4からコンピュータプログラム及びデータを読み出し、主記憶装置H3に格納する。
【0047】
副記憶装置H4はデータを永続的に格納する。副記憶装置H4は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等である。副記憶装置H4に格納されるデータについては後述する。
【0048】
計算機H2が保持するコンピュータプログラム及びデータについて説明する。
図2にブロック構成を示した学習サブシステム1000の構成要素と、
図4にブロック構成を示した異常音検知サブシステム2000の構成要素とは、全てコンピュータプログラムであり、主記憶装置H3に格納される。
【0049】
学習サブシステム1000が読み出すデータを格納する訓練用データセットDB1は、副記憶装置H4に格納される。学習サブシステム1000により格納され、異常音検知サブシステム2000により読み出される、特徴量埋め込み部のパラメタを保持する特徴量埋め込みパラメタDB2は、副記憶装置H4に格納される。同様に、学習サブシステム1000により格納され、異常音検知サブシステム2000により読み出される、動作・非動作推定部のパラメタを保持する動作・非動作推定パラメタDB3は、副記憶装置H4に格納される。
【0050】
実施例1にによれば、背景雑音が対象機械の動作音に重なって入力される場合でも、正確に対象機械が正常か異常か判定することができる。
ステップS901において、反復回数C1が閾値ThC1よりも大きくなるまで、時間周波数特徴量生成(S902)、動作ラベル生成(S903)、特徴量埋め込み(S904)、動作・非動作推定(S905)、特徴量埋め込み部のパラメタ更新と動作・非動作のパラメタ更新(S906)、の処理を順次繰り返す。これらステップは、実施例1と同様に実施する。
ステップS901での学習終了条件が満たされると(S901:YES)、ステップS907に移る。ステップS907で反復回数C2が閾値ThC2よりも大きくなったと判定されるまで、以下の各ステップS908~S910が繰り返される。
ステップS908において、時間周波数特徴量生成部12は、正常音信号の時間波形100から、正常音信号の時間周波数領域特徴量110を生成する。ステップS909において、特徴量埋め込み部10は、時間周波数領域特徴量110から、中間特徴量120を生成する。ステップS910において、外れ値学習部17は、中間特徴量120を正常データとして外れ値検知を行うように、外れ値検知部16のパラメタを更新する。
外れ値検知部16としては、外れ値検知に用いられる公知の、混合ガウス分布、自己符号化器、変分自己符号化器などのモデルを用いることができる。パラメタの更新アルゴリズムは、各モデルのパラメタの更新に用いられる、公知のアルゴリズムでよい。なお、後述するように、外れ値検知部16を異常音検知サブシステム2000Aで利用することで、動作ラベルを用いずに異常音検知対象信号が正常か異常かを判定できる。
ステップS907において学習終了条件を満たすと判定されると(S907:YES)、ステップS911において、特徴量埋め込み部10のパラメタをDB2へ保存させる共に、外れ値検知部16のパラメタをDB4に保存させ、学習サブシステム1000Aの処理フローを終える。
ステップS1102において、特徴量埋め込み部20は、特徴量埋め込みパラメタDB2から特徴量埋め込み部のパラメタを読み込み、時間周波数領域特徴量310を中間特徴量320に変換する。
ステップS1104において、異常判定部25は、異常度340に基づいて、信号の時間波形300が正常か異常かを判定し、判定結果500を出力する。あらかじめ定めた閾値を異常度が超えていれば異常と判定し、超えていなければ正常と判定する。
以上、実施例2では、特徴量埋め込み部20が出力する中間特徴量320に対して外れ値検知を行うことにより、動作ラベルを用いずに異常音検知対象信号が正常か異常か判定することができる。
特徴量埋め込み部20のパラメタは、学習サブシステム1000Aにおいて、動作ラベル210を正しく推定できるように学習されたパラメタである。したがって、動作区間と非動作区間との識別を正しく行うために、動作区間中の時間周波数特徴量を特徴量埋め込み部20に入力して得られる中間特徴量と、非動作区間中の時間周波数特徴量を特徴量埋め込み部20に入力して得られる中間特徴量とは大きく異なる。これは、特徴量埋め込み部20が正常動作音のわずかな特徴に反応して出力を変えることを意味する。したがって、実施例2は、実施例1と同様に、正常動作音の特徴を直接捉えるモデルを用いて異常音検知するため、比較例として述べた異常音検知システムの一例に比べて、正常動作音の特徴から外れた音を正しく検知できる。