JP7322997B2 - データ変換装置 - Google Patents

データ変換装置 Download PDF

Info

Publication number
JP7322997B2
JP7322997B2 JP2022063343A JP2022063343A JP7322997B2 JP 7322997 B2 JP7322997 B2 JP 7322997B2 JP 2022063343 A JP2022063343 A JP 2022063343A JP 2022063343 A JP2022063343 A JP 2022063343A JP 7322997 B2 JP7322997 B2 JP 7322997B2
Authority
JP
Japan
Prior art keywords
data
domain
learning
input data
probability distribution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022063343A
Other languages
English (en)
Other versions
JP2022082713A (ja
Inventor
正隆 山口
悠馬 小泉
登 原田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JP2022082713A publication Critical patent/JP2022082713A/ja
Application granted granted Critical
Publication of JP7322997B2 publication Critical patent/JP7322997B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0224Process history based detection method, e.g. whereby history implies the availability of large amounts of data
    • G05B23/024Quantitative history assessment, e.g. mathematical relationships between available data; Functions therefor; Principal component analysis [PCA]; Partial least square [PLS]; Statistical classifiers, e.g. Bayesian networks, linear regression or correlation analysis; Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
  • Testing Of Devices, Machine Parts, Or Other Structures Thereof (AREA)

Description

特許法第30条第2項適用 (1) 発行日 2018年8月29日 刊行物 日本音響学会 2018年秋季研究発表会 講演論文集
本発明は、異常検知技術及びドメイン変換技術に関する。
例えば、故障により、工場に設置された大型の製造機・造型機などの業務用機器の稼働がストップすると、業務に大きな支障をもたらす。そのため、動作状況を日常的に監視し、異常が発生した場合にはただちに対処を行う必要がある。この問題に対応する方法として、業務用機器の管理業者が定期的に現場へ整備員を派遣し、整備員がパーツの摩耗などを確認する方法がある。しかし、この方法は、多大な費用(例えば、人件費や移動費)及び労力がかかるため、すべての業務用機器や工場を対象に実施するのは難しい。そこで、代替手段として、機器の内部に設置したマイクロホンが収音する動作音に基づいて日常的に動作状況を監視する方法がある。具体的には、当該動作音を解析し、異常と思われる音(異常音)を検知した場合にはアラートをあげる。このように、音を利用して監視対象である機器が正常状態にあるか異常状態にあるかを判定する技術を異常音検知技術という。
異常音検知技術において、機器の種類や個体毎に、異常音の種類と検出方法を設定するのではコストがかかる。そのため、異常音を検知するためのルールを自動設計する必要がある。その解決方法の1つとして、統計的手法に基づく異常音検知がよく知られている(非特許文献1)。この統計的手法に基づく異常音検知は、教師あり異常音検知と教師なし異常音検知に大別できる。教師あり異常音検知では、正常音と異常音を学習データとして大量に収集し、識別率(正常音と異常音を識別できる割合)を最大化するように識別器を学習する。一方、教師なし異常音検知では、正常音のみを学習データとして大量に収集し、正常音の発生に関する確率分布(以下、正常モデルという)を学習する。そして、正常モデルを用いて、新しく収集した音(つまり、異常検知対象となる音)が正常音に類似している(尤度が高い)と判定される場合は正常、類似していない(尤度が低い)と判定される場合は異常と判定する。
産業的応用分野では異常音の学習データを大量に集めることが困難であるため、教師なし異常音検知が採用されることが多い。また、産業的応用分野では、大量の同種の機器に対してそれぞれを異常検知の対象としたい場合がある。例えば、データセンタに存在する膨大なサーバの異常音を監視したい場合である。この場合、各サーバに対してそれぞれ異常検知システムを適用することになるが、各サーバから発せられる音の分布は設置場所や組み立て誤差に起因して微妙に異なることが想定される。そこで、このような大量の同種の機器に対して異常検知システムを適用する方法として、以下のような方法が考えられる。
(1)いくつかの機器から収集した正常音を用いて、これらの機器に共通の正常モデルを学習する。そして、この共通のモデルを用いてすべての機器の異常検知を行う。
(2)機器ごとに収集した正常音を用いて、機器ごとに異なる正常モデルを学習する。そして、この個々のモデルを用いて各機器の異常検知を行う。
(1)の方法は、機器ごとに学習を行わないため、監視したい機器が増加しても学習データ収集やモデル学習を行う必要がなく、データ収集や学習に係るコストが抑えられる一方、機器ごとの正常音発生に関する微妙な違いを捉えることができないため、精度が高い異常検知を行えない可能性がある。また、(2)の方法は、各機器から得られた正常音だけを用いて学習を行うため精度の高い正常モデルが生成されることが期待される一方、機器ごとに学習データを収集してモデル学習を行わなければならないため、監視したい機器の増加に伴い、データ収集や学習に係るコストがかかってしまうという問題がある。
次に、ドメイン変換について説明する。ドメイン変換とは、あるドメインのデータを、当該ドメインとは異なるドメインのデータに変換する技術である。ここで、対象とするデータは、例えば、画像や音である。例えば、参考非特許文献1にあるように、「風景写真の画像」を「風景画の画像」に変換したり、「馬の写真の画像」を「シマウマの写真の画像」に変換したりするものである。
(参考非特許文献1:Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros, “Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”, arXiv:1703.10593v5, https://arxiv.org/abs/1703.10593v5)
ドメイン変換を実現するためには、ドメインDからドメインD’へのデータ変換器を作ればよい。このようなデータ変換器を作るために、例えば「風景写真」とそれを写実した「風景画」のペアを学習データとして大量に集め、ニューラルネットワークを用いて「風景写真」から「風景画」への変換を学習させるという方法を考えることができる。以下、このように2つのドメインのデータのペアを用いてデータ変換器を学習させる枠組みのことをペアデータありドメイン変換と呼ぶ。ペアデータありドメイン変換は、入力とそれに対する正解となる2つのドメインのデータのペアを学習データとして、比較的簡単に学習によりデータ変換器を構成できるという利点がある。しかし、学習データを多数集めなければならない。先ほどの「風景写真」と「風景画」の例では、まず「風景写真」を集め、その上で(例えば、画家に作成を依頼するなどして)「風景写真」を写実した「風景画」を作成する必要がある。また、「馬の写真」と「シマウマの写真」の例では、同じ構図の写真を撮ることは難しいため、学習データを集めることは現実的には不可能である。
そこで、近年、学習データ収集に関する問題を解決するために、ペアデータを用いることなくデータ変換器を学習することができる枠組みが提案されている。この枠組みのことをペアデータなしドメイン変換という。ペアデータなしドメイン変換では、ドメインDのデータとドメインD’のデータを用いて、ドメインDのデータからドメインD’のデータに変換するデータ変換器を学習する。ここで、学習に用いるドメインDのデータとドメインD’のデータは、ペアである必要はない。したがって、「馬の写真」と「シマウマの写真」のようなペアデータを収集することが困難なドメイン間での変換であってもデータ変換器を学習することが可能となる。
ペアデータなしドメイン変換の例として、例えば、非特許文献2に記載のStarGANという手法が提案されている。
井出剛,杉山将,"異常検知と変化検知",講談社,pp.6-7,2015. Yunjey Choi, Minje Choi, Munyoung Kim, Jung-Woo Ha, Sunghun Kim, Jaegul Choo, "StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation", IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2018, pp.8789-8797, 2018.
まず、第1の課題について説明する。
上述の通り、(1)、(2)の方法には、データ収集や学習に係るコストと異常検知の精度のトレードオフの問題がある。そこで、第3の方法として、以下のような方法も考えられる。
(3)いくつかの機器から収集した正常音を用いて、これらの機器に共通の正常モデルを学習する。次に、機器ごとに収集した正常音を用いて、この共通のモデルから機器ごとに異なる正常モデルを適応的に学習する。そして、この個々の適応済み正常モデルを用いて各機器の異常検知を行う。
(3)の方法は、上記トレードオフの問題を解決できる可能性があるが、実際にこのような方法を実現するためには、異常検知の対象とする機器ごとに比較的少量の正常音を収集すればよいこと、当該正常音を用いて共通の正常モデルから各機器に適応した正常モデルを効率的に学習できることが必要になる。しかし、これまでそのような方法は開発されていなかった。
これが第1の課題である。
次に、第2の課題について説明する。
非特許文献2のStarGANでは、参考非特許文献2に記載のGenerative Adversarial Networks (GAN)という手法を利用してペアデータなしドメイン変換を実現しているが、学習が不安定であるという問題がある。
(参考非特許文献2:Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu,David Warde-Farley, Sherjil Ozair, Aaron Courville, Yoshua Bengio, “Generative Adversarial Nets”, Advances in Neural Information Processing Systems 27 (NIPS 2014), 2018.)
これが第2の課題である。
そこで本発明では、安定したペアデータなし学習が可能となるドメイン変換技術を提供することを目的とする。
本発明の一態様は、第1ドメインのドメインデータに対応する入力データから、潜在変数を計算する潜在変数計算部と、前記潜在変数から、第2ドメインのドメインデータに対応する出力データを計算する出力データ計算部とを含むデータ変換装置であって、前記潜在変数計算部は、逆関数を有する所定の関数(以下、第1関数という)を用いて計算するものであり、前記出力データ計算部は、逆関数を有する所定の関数(以下、第2関数という)を用いて計算するものであり、第1関数と第2関数は、潜在変数z0を変数xに変換する所定の関数から導出されるものである。
本発明によれば、安定したペアデータなしの学習が可能となるドメイン変換を実現することができる。
確率分布学習装置100の構成の一例を示すブロック図である。 確率分布学習装置100の動作の一例を示すフローチャートである。 確率分布適応学習装置200の構成の一例を示すブロック図である。 確率分布適応学習装置200の動作の一例を示すフローチャートである。 異常検知装置300の構成の一例を示すブロック図である。 異常検知装置300の動作の一例を示すフローチャートである。 異常度推定部320の構成の一例を示すブロック図である。 異常度推定部320の動作の一例を示すフローチャートである。 自己符号化器学習装置400の構成の一例を示すブロック図である。 自己符号化器学習装置400の動作の一例を示すフローチャートである。 自己符号化器適応学習装置500の構成の一例を示すブロック図である。 自己符号化器適応学習装置500の動作の一例を示すフローチャートである。 異常検知装置600の構成の一例を示すブロック図である。 異常検知装置600の動作の一例を示すフローチャートである。 異常度推定部620の構成の一例を示すブロック図である。 異常度推定部620の動作の一例を示すフローチャートである。 確率分布学習装置1100の構成の一例を示すブロック図である。 確率分布学習装置1100の動作の一例を示すフローチャートである。 データ変換装置1200の構成の一例を示すブロック図である。 データ変換装置1200の動作の一例を示すフローチャートである。 潜在変数計算部1220と出力データ計算部230による処理の様子を示す図である。 データ変換装置1300の構成の一例を示すブロック図である。 データ変換装置1300の動作の一例を示すフローチャートである。 本発明の実施形態における各装置を実現するコンピュータの機能構成の一例を示す図である。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<記法>
_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
まず、本発明の第1実施形態から第3実施形態に対する技術的背景と、各実施形態について説明する。
<技術的背景>
本発明の実施形態は、複数の同一種類の機器に適用可能な異常検知の枠組みを提供するものである。具体的には、上述の(3)の方法による枠組みを提供する。各機器から発せられる正常音の分布の違いは音に関する特徴量の統計量で表現されるという仮説に基づき、特徴量の1次統計量である平均と2次統計量である分散を異なる機器間で一致させることにより、異なる機器の正常モデルを一つのモデルから導出できるようにするものである。
まず、本発明の実施形態で用いる従来技術について説明する。
《教師なし異常音検知》
異常音検知とは、異常検知対象となる音(観測信号)を発した監視対象機器の状況が正常であるか異常であるかを判定するタスクである。ここで、観測信号から生成される入力データxには、例えば次式のように観測信号の対数振幅スペクトルln|Xt,f|を要素とするベクトルを用いることができる。
Figure 0007322997000001
ここで、t={1, …, T}、f = {1, …, F}は、それぞれ時間のインデックス、周波数のインデックスを表す。また、Qは入力で考慮する過去・未来のフレーム数を表す。
入力データxは、上記の例に限るものではなく、観測信号から生成される入力データとして、その他の特徴量を用いてもよい。
次に、密度推定ベースの異常音検知について説明する。正常音から生成される入力データ(以下、単に正常音の入力データという)は確率分布p(x)に従って生成されると仮定する。まず、パラメータθを持つ確率分布q(x;θ)を設計する。次に、確率分布p(x)から生成されたN個の正常音の入力データの集合{xi}i=1 Nを用いて、q(x;θ)がp(x)に最も近くなるようなパラメータθ*を求め、q(x;θ*)をp(x)の近似分布とする。そして、異常検知対象となる音の入力データが入力された場合、例えば次式によりその入力データに関する異常度A(x;θ*)を求める。
Figure 0007322997000002
最後に、判定結果Rを、例えば次式により求める。
Figure 0007322997000003
ここで、閾値φは所定の定数、H(・)は引数が非負なら1、負なら0を返すステップ関数である。R=1の場合、当該異常検知対象となる音を発した機器は異常、R=0の場合、正常と判定する。つまり、異常度A(x;θ*)が事前に設定した閾値φより大きければ異常と判定する。
上述の通り、密度推定ベースの異常音検知では、(1)確率分布q(x;θ)の設計、(2)パラメータθの決定を行う必要がある。(1)の確率分布q(x;θ)の設計には、ノーマライジング・フロー(Normalizing Flow)を用いることができる。また、(2)のパラメータθの決定には、例えば、損失関数(目的関数)をL(θ)=-Σlogq(xi;θ)(つまり、正常音の入力データの集合{xi}i=1 Nに対する負の対数尤度の和)とする勾配降下法による学習を用いることができる。
《ノーマライジング・フロー(Normalizing Flow)》
ノーマライジング・フローは、データ生成に関する確率分布p(x)を近似する分布を求める手法である。
以下、説明する。{fi(z)}i=1 Kを逆変換を有するK個の変換(ただし、fi(z):RD→RD, Rは実数の集合、Dは1以上の整数)とする。また、fi -1(z)(i=1, …, K)をfi(z)の逆変換とする。
ノーマライジング・フローでは、N個の入力データの集合{xi}i=1 Nに対して、それぞれ対応する潜在変数{z0,i}i=1 Nが存在し、入力データxiは、K個の変換{fi(z)}i=1 Kとxの潜在変数z0を用いた次式により、対応する潜在変数z0,iを変換したものであると考える。
Figure 0007322997000004
つまり、i=1, …, Kに対して、次式が成り立つ。
Figure 0007322997000005
なお、z1=f1(z0), z2=f2(z1), …, x=fK(zK-1)と表すこともある。
更に、潜在変数{z0,i}i=1 Nは、例えば等方ガウス分布のような、モンテカルロサンプリングが容易な確率分布q0(z0)から生成されると仮定する。このとき、入力データの集合{xi}i=1 Nが従う確率分布q(x;θ)(xは入力データを示す変数)は、次の形で表現できる。
Figure 0007322997000006
ここで、z0=f1 -1(f2 -1(…(fK -1(x))…)))である。また、{θi}i=1 Kは、変換{fi(z)}i=1 Kに対応するパラメータ、θ=[θ1 T, θ2 T, …, θK T]Tである。
なお、確率分布q0(z0)は、モンテカルロサンプリングが容易な分布に限るものではなく、厳密な確率密度推定が容易な分布であればよい。厳密な確率密度推定が容易な分布の一例として、以下の条件を満たす確率分布p(x)が挙げられる。
(条件1)確率分布p(x)に対して、RD上の非負関数g(x)(≧0)が存在し、任意のx∈RDに対してp(x)=g(x)/∫g(x)dxとなる。
(条件2)関数g(x)に対して∫g(x)dxを計算することは容易である。
条件2を満たす関数として、ガウス分布が挙げられる。一方、条件2を満たさない関数として、g(x)=exp(sin(x)-x2)が挙げられる。
ノーマライジング・フローでは、確率分布q(x;θ)のパラメータθを入力データの集合{xi}i=1 Nを用いて学習する。そして学習により得られたパラメータθ*を用いた確率分布q(x;θ*)により本来のデータ生成に関する確率分布p(x)を近似する。
ノーマライジング・フローでは、変換{fi(z)}i=1 Kとして様々なものを用いることができる。例えば、参考非特許文献3に記載のバッチ正規化(Batch Normalization)やLeaky ReLU(Rectified Linear Unit:正規化線形関数)などを用いることができる。また、参考非特許文献4に記載の以下の線型変換を用いることもできる。
Figure 0007322997000007
ここで、L, U∈RD×Dは、それぞれ下三角行列、上三角行列である。この変換はLとUの対角成分の積の絶対値(つまり、|Πi=1 DLiiUii|)によりヤコビアンの行列式の絶対値|det(∂f(z;θ)/∂z)|を計算することができるため、入力データxの確率密度q(x;θ)を容易に計算することができる(入力データxの確率密度q(x;θ)の計算コストを抑えることができる)という特徴がある(式(5)参照)。
(参考非特許文献3:S. Ioffe, C. Szegedy, “Batch normalization: accelerating deep network training by reducing internal covariate shift”, ICML 2015, 2015.)
(参考非特許文献4:J. Oliva, et al., “Transformation Autoregressive Networks”, ICML 2018, 2018.)
以下、簡単にバッチ正規化BN:x→y(x, y∈RD)について説明する。バッチ正規化BNは、入力データの集合{xi}i=1 Nの各次元の要素の平均が0、分散が1になるように調整した後、スケール変換とシフト変換を行う。具体的には、次式により、yi=BN(xi)が計算される。
Figure 0007322997000008
ここで、γ, βは、それぞれスケール変換パラメータ、シフト変換パラメータであり、いずれも学習対象となるパラメータである。また、εは非負の実数であり、ゼロで割ることを避けたい場合は正の実数、避ける必要がない場合はゼロとすればよい。
なお、スケール変換パラメータγ、シフト変換パラメータβを明示するため、BN(・)をBNγβ(・)と表すこともある。
また、K個の変換すべてが同じ種類の変換である必要はない。したがって、例えば、変換f1(z)をバッチ正規化、変換f2(z)を線形変換というように、いくつかの種類の変換を組み合わせてもよい。
《適応バッチ正規化(AdaBN:Adaptive Batch Normalization)》
ドメイン適応とは、モデル学習に用いる学習データの分布と学習済みモデルを用いた処理の対象であるテストデータの分布が異なる場合に、当該分布の相違により、学習済みモデルを用いた処理の精度が低下しないように、学習済みモデルを調整する技術のことである。ここで、学習データの集合、テストデータの集合がドメインであり、それぞれ学習用ドメイン、テスト用ドメインということもある。
深層ニューラルネットワーク(DNN:Deep Neural Network)と組み合わせることができるドメイン適応の手法には様々なものがあるが、ここでは適応バッチ正規化について説明する(参考非特許文献5参照)。適応バッチ正規化は、バッチ正規化における平均・分散の計算と平均・分散の調整(式(7a)~(7d)参照)をドメインごとに行うという手法である。つまり、式(7a)~(7c)による計算を同一のドメインのデータごとに行うようにする。実際にテストする際には、テスト用ドメインの入力データの集合{xi}i=1 Nに対して統計量(平均と分散)を計算して、その統計量を用いて式(7c)、式(7d)により処理結果yiを出力する。なお、変換が適応バッチ正規化である場合、AdaBN:x→y(x, y∈RD)と表すこともある。
(参考非特許文献5:Y. Li, et al., “Revisiting Batch Normalization For Practical Domain Adaptation”, ICLR 2017, 2016.)
以下、本発明の実施形態における異常検知について説明する。まず、本発明の実施形態における異常検知のための問題設定について説明する。次に、上記従来技術を用いた、本発明の実施形態における異常検知の具体的構成について説明する。
《問題設定》
解きたい問題は、「複数の機器から得られた大量の正常音を用いて学習した共通の正常モデルである第1確率分布と、異常検知対象機器から得られた少量の正常音とを用いて、異常検知対象機器のために用いることができる正常モデルである第2確率分布を学習し、この第2確率分布を用いて異常検知対象機器が発した音から異常検知することを可能とする」ことである。したがって、以下のデータを扱うことになる。
(1)学習データ:異常検知対象機器とは異なる1以上の機器から発せられた正常音であり、大量に用意することが可能であると仮定する。学習に用いることから、これらの音のことを学習用正常音という。また、その集合のことを学習用ドメインという。なお、正常音の収集対象となる機器は、異常検知対象機器と種類が同じものが好ましい。
(2)適応学習データ:異常検知対象機器から発せられた正常音であり、少量しか用意できないものと仮定する。適応学習に用いることから、これらの音のことを適応学習用正常音という。なお、その集合は、後述するテスト用ドメインである。
(3)テストデータ:異常検知対象機器から発せられた音であり、この音から機器が正常であるか異常であるかを判定する。そこで、この音のことを異常検知対象音という。また、その集合のことをテスト用ドメインという。
以下、学習用正常音を用いて学習するフェーズを学習フェーズ、適応学習用正常音を用いて適応学習するフェーズを適応学習フェーズ、異常検知対象音から異常検知を行うフェーズをテストフェーズ(異常検知フェーズ)という。
《ポイント》
本発明の実施形態では、少量の適応学習データから第2確率分布を低い計算量で適応学習できるようにするため、ノーマライジング・フローに適応バッチ正規化を導入する。具体的には、ノーマライジング・フローで用いるK個の変換{fi(z)}i=1 Kのうち少なくとも1つの変換fi(z)に対して、その逆変換fi -1(z)が適応バッチ正規化であるというものである。なお、適応バッチ正規化の計算のうち、スケール変換及びシフト変換、つまり、式(7d)の計算は、省略したものであってもよい。別の言い方をすると、逆変換fi -1(z)がγ=1, β=0である適応バッチ正規化であるとも表現できる。
《具体的構成》
以下、具体的構成について説明する。
(1)学習フェーズ
まず、異常検知対象機器とは異なる1以上の機器から発せられた正常音(つまり、学習データ)から生成される入力データxを、確率分布q0(z0)に従って生成されているとみなす潜在変数z0(~q(z0))に変換するニューラルネットワークについて説明する。ここでは5個の変換{fi(z)}i=1 5を用いる場合について説明する。つまり、z0は、z0=f1 -1(f2 -1(f3 -1(f4 -1(f5 -1(x)))))として得られることになる。
上記5個の変換{fi(z)}i=1 5を次式により定義する。なお、便宜上変換fiを示す代わりにその逆変換fi -1を示す(ただし、z4=f5 -1(x), z3=f4 -1(z4), z2=f3 -1(z3), z1=f2 -1(z2), z0=f1 -1(z1))。
Figure 0007322997000009
ここで、L2、L5∈RD×Dは、対角成分が1の下三角行列であり、上三角部分を除くすべての要素L2,ij, L5,ij(i≧j)が学習対象パラメータ(つまり、パラメータθ2またはパラメータθ5)である。D2、D5∈RD×Dは、対角行列であり、対角成分D2,ij, D5,ij(i=j)が学習対象パラメータ(つまり、パラメータθ2またはパラメータθ5)である。U2、U5∈RD×Dは、対角成分が1の上三角行列であり、下三角部分を除くすべての要素U2,ij, U5,ij(i≦j)が学習対象パラメータ(つまり、パラメータθ2またはパラメータθ5)である。また、α3(≧0)はLeakyReLUのパラメータであり、超パラメータとして設定してもよいし、学習対象パラメータ(つまり、パラメータθ3)としてもよい(α3を学習対象とする場合は、Parametric ReLUと呼ばれる(参考非特許文献6))。また、AdaBNγ_4β_4(・)及びAdaBNγ_1β_1(・)は上述の適応バッチ正規化であり、γ1, β1, γ4, β4が学習対象パラメータ(つまり、パラメータθ1またはパラメータθ4)である。
(参考非特許文献6:K. He, et al., “Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification”, ICCV 2015, pp.1026-1034, 2015.)
また、変換{fi(z)}i=1 5のヤコビアンの行列式の絶対値は、それぞれ次式により計算される(ただし、x=f5(z4), z4=f4(z3), z3=f3(z2), z2=f2(z1), z1=f1(z0))。
Figure 0007322997000010
ここで、s4’は(学習データから生成された入力データxに対応する)z4の標準偏差、δは(学習データから生成された入力データxに対応する)z3のうちゼロを下回る要素の数、s1’は(学習データから生成された入力データxに対応する)z1の標準偏差である。なお、変換f4, f1に対するヤコビアンの行列式の絶対値|det(∂f4(z3)/∂z3)|, |det(∂f1(z0)/∂z0)|に関しては、学習時ではなく推論時(つまり、学習済みモデルを用いた処理時)におけるヤコビアンの行列式の絶対値を用いて表記している。
また、先述の通り、確率分布q0(z0)は厳密な確率密度推定が容易な確率分布とする。例えば、確率分布q0(z0)を平均が0、分散が単位行列Iのガウス分布N(0, I)とすると、確率分布q0(z0)は次式により表される。
Figure 0007322997000011
したがって、q1(x;θ)を学習データから生成された入力データxの確率分布とし、式(5)を用いることにより、潜在変数z0,iの確率密度q0(z0,i)から入力データxiの確率密度q1(xi;θ)が計算できることがわかる。
続いて、パラメータθの学習方法について説明する。通常のニューラルネットワークの学習と同様、損失関数L(θ)を用いて、例えば、勾配降下法、Momentum SGD(Stochastic Gradient Descent)、ADAM(Adaptive Moment Estimation)、あるいはそれらの組合せにより学習することができる。ノーマライジング・フローを用いる場合、損失関数L(θ)として、次式で定義される負の対数尤度の平均を用いることが多い。
Figure 0007322997000012
なお、上記学習には、ミニバッチと呼ばれる学習データの集合を単位にして行うミニバッチ学習法を用いることができる。ここで、ミニバッチとは、すべての学習データからランダムに選択した複数の学習データのことである。このミニバッチごとに損失関数L(θ)の値を計算することになる。
(2)適応学習フェーズ
次に、異常検知対象機器から発せられた正常音(つまり、適応学習データ)から生成される入力データxの確率分布q2(x;θ)の適応学習方法について説明する。例えば、z4=f5 -1(x), z3=f4 -1(z4), z2=f3 -1(z3), z1=f2 -1(z2), z0=f1 -1(z1)を利用して、以下の手順で学習を実行すればよい。まず、入力データの集合{x’i}i=1 Mから{z’4,i}i=1 M(z’4,i=f5 -1(x’i))を計算する。次に、{z’4,i}i=1 M‘の平均、分散を求める。最後に、式(7c)のm, s2を求めた平均と分散で置換する。同様に、入力データの集合{x’i}i=1 Mから{z’1,i}i=1 M(z’1,i=f2 -1(f3 -1(f4 -1(f5 -1(x’i)))))を計算する。次に、{z’1,i}i=1 Mの平均、分散を求める。最後に、式(7c)のm, s2を求めた平均と分散で置換する。
(3)テストフェーズ
異常検知の方法には、例えば、《教師なし異常音検知》で説明した方法を用いることができる。
《効果》
ノーマライジング・フローに適応バッチ正規化を導入することにより、以下の効果が得られる。
(1)学習データの分布とテストデータの分布の相違を調整することが可能となり、テスト用ドメインにおける異常検知の精度低下を抑えることが可能となる。
具体的に説明する。仮に最終層に適応バッチ正規化を用いた場合、ドメイン間のデータの分布の軸方向の平行移動とスケールのずれを是正することが可能となる。また、異なるドメイン間のデータの分布の相違が平行移動と軸方向のスケーリングによって表現される場合は、原理的には1層目に適応バッチ正規化を導入すれば、学習用ドメインにおいて学習済みのパラメータθをテスト用ドメインにそのまま適用してもテスト用ドメインでの異常検知が精度よく実行できる。
(2)第2確率分布を低計算量で適応学習することが可能となる。
第2確率分布の適応学習に必要な処理は、上述の通り、基本的には、適応学習データに対して、適応バッチ正規化における統計量を計算するだけである。したがって、適応学習は、通常の学習を繰り返す場合と比べると低い計算量で実行可能であり、場合によっては、オンラインで実行することも可能となる。
また、上述の例のように、ノーマライジング・フローに線形変換を導入している場合、当該線形変換に対応する行列WをLU分解またLDU分解しておくことにより、以下の効果が得られる。
(3)確率密度の計算コストが抑制され、学習コストが抑制される。
具体的に説明する。ノーマライジング・フローでは、線形変換fのヤコビアンの行列式を逐一計算する必要がある。そのため、行列WをLU分解またはLDU分解しない形で保持している場合は、行列式|W|の計算はWの次数をkとしてO(k3)の計算量がかかることになる。しかし、W=LUまたはW=LDUのようにLU分解またはLDU分解した形で保持している場合は、|W|=|LU|=|L|×|U|(つまり、Lの対角成分とUの対角成分のすべての積)または|W|=|LDU|=|L|×|D|×|U|(つまり、Lの対角成分とDの対角成分とUの対角成分のすべての積)により|W|を求めることができるため、非常に高速に計算することができる。
<第1実施形態>
同種の機器が2台以上ある状況において、その中の1台の機器(これを異常検知対象機器とする)の異常を検知することを考える。そのために、まずこの異常検知対象機器とは異なる1以上の機器から発せられた正常音(以下、学習用正常音という)から、異常検知対象機器とは異なる1以上の機器から発せられた正常音の分布を示す確率分布(以下、第1確率分布という)を学習する(学習フェーズ)。次に、異常検知対象機器から発せられた正常音(以下、適応学習用正常音という)を用いて、第1確率分布から、異常検知対象機器から発せられた正常音の分布を示す確率分布(以下、第2確率分布という)を適応学習する(適応学習フェーズ)。そして、異常検知対象機器から発せられた音(以下、異常検知対象音という)から、当該機器が異常であるか否かを判定する(テストフェーズ(異常検知フェーズ))。
確率分布学習装置100は、学習用正常音から、第1確率分布を学習する。確率分布適応学習装置200は、適応学習用正常音を用いて、第1確率分布から第2確率分布を適応学習する。異常検知装置300は、異常検知対象音から、当該機器が異常であるか否かを判定する。
以下、図1~図2を参照して確率分布学習装置100を説明する。図1は、確率分布学習装置100の構成を示すブロック図である。図2は、確率分布学習装置100の動作を示すフローチャートである。図1に示すように確率分布学習装置100は、入力データ生成部110と、潜在変数推定部120と、損失関数計算部130と、パラメータ更新部140と、収束条件判定部150と、記録部190を含む。記録部190は、確率分布学習装置100の処理に必要な情報を適宜記録する構成部である。記録部190は、例えば、学習対象となる第1確率分布q1(x;θ)のパラメータθを記録する。パラメータθの初期値として、例えば乱数を用いて生成された値が記録されている。
確率分布学習装置100は、学習用正常音記録部910に接続している。学習用正常音記録部910には、事前に用意した学習用正常音が学習データとして記録されている。先述した通り、学習用正常音はできるだけ多く用意しておくことが好ましい。
図2に従い確率分布学習装置100の動作について説明する。入力データ生成部110は、入力である学習用正常音si(i=1, …, N)から、入力データxi(i=1, …, N)を生成する(S110)。例えば、式(1)のように、学習用正常音siの対数振幅スペクトルを要素とするベクトルを生成し、これを入力データxiとすればよい。なお、学習用正常音siから生成される入力データxiとして、上記以外の音響特徴量を用いるようにしてもよい。
潜在変数推定部120は、第1確率分布q1(x;θ)のパラメータθを用いて、S110で生成した入力データxi(i=1, …, N)から、入力データxiに対応する潜在変数z0,i(i=1, …, N)を推定する(S120)。なお、ここで用いるパラメータθは、学習中の値である。
ここで、学習対象となる第1確率分布q1(x;θ)の変数xは、異常検知対象機器とは異なる1以上の機器から発せられた正常音から生成された入力データを示す変数であり、変数xは、変換fi(i=1, …, K、Kは1以上の整数、変換fiに対して逆変換fi -1が存在する)と潜在変数z0を用いて、x=fK(fK-1(…(f1(z0))…))と表されるものとする。
したがって、入力データxiに対応する潜在変数z0,iは次式により与えられる。
Figure 0007322997000013
また、潜在変数z0,i(i=1, …, N)は、潜在変数z0の確率分布q0(z0)に従って生成されるものとする。ただし、確率分布q0(z0)は厳密な確率密度推定が容易であるという性質を有する。
したがって、確率分布q1(x;θ)は、確率分布q0(z0)を用いた次式により表現できる(式(5)参照)。
Figure 0007322997000014
ここで、θiは変換fiに対応するパラメータであり、θ=[θ1 T, θ2 T, …, θK T]Tとなる。
潜在変数推定部120は、入力データxから潜在変数z0を計算するニューラルネットワークNNを用いて実現できる。なお、計算式は以下の通りである。
Figure 0007322997000015
つまり、ニューラルネットワークNNは、入力データxを入力とし、逆変換fK -1, fK-1 -1, …, f2 -1, f1 -1の順に計算を進めていき、最終的に潜在変数z0を出力するものである。
上記変換fi(i=1, …, K)のうち、少なくとも1つの変換fi_0(ただし、i0は1≦i0≦Kを満たす整数)に対して、その逆変換fi_0 -1は適応バッチ正規化となるようにする。このようにすることで、比較的少量の適応学習正常音を用いて第2確率分布q2(x;θ)を適応学習できるようになる(《ポイント》参照)。
また、変換fi(i=1, …, K)のうち、少なくとも1つの変換fi_1(ただし、i1は1≦i1≦Kを満たす整数)に対して、その逆変換fi_1 -1は、線形変換であり、当該線形変換に対応する行列が、下方三角行列と上方三角行列の積、または、下方三角行列と対角行列と上方三角行列の積として表されているようにしてもよい。このようにすることで、第1確率分布q1(x;θ)の学習時に必要となる確率密度の計算(後述する損失関数計算部130における計算)を低コストで実行できるようになる(《効果》の(3)参照)。
具体的な変換fi(i=1, …, K)の例として、例えばK=5として、逆変換が式(8a)~式(8e)で表される5つの変換を用いることができる。
損失関数計算部130は、S120で推定した潜在変数z0,i(i=1, …, N)から、第1確率分布q1(x;θ)のパラメータθの最適化に用いる損失関数L(θ)の値を計算する(S130)。損失関数L(θ)は、例えば、式(11)のように負の対数尤度の平均として定義することができる。その際、入力データxi(i=1, …, N)の確率密度q1(xi;θ)を計算する必要があるが、入力データxiの確率密度q1(xi;θ)は入力データxiに対応する潜在変数z0,iの確率密度q0(z0,i)を用いて計算することができる。例えば、確率分布q0(z0)がガウス分布N(0, I)である場合、潜在変数z0,iの確率密度q0(z0,i)は、次式で計算できるので、
Figure 0007322997000016
式(5)’を用いて、上記計算した潜在変数z0,iの確率密度q0(z0,i)から入力データxiの確率密度q1(xi;θ)を計算することができる。
パラメータ更新部140は、S130で計算した損失関数L(θ)の値を最適化(最小化)するように、第1確率分布q1(x;θ)のパラメータθを更新する(S140)。パラメータθの更新には、例えば、勾配降下法を用いるとよい。
収束条件判定部150は、パラメータ更新の終了条件として事前に設定された収束条件を判定し、収束条件が満たされた場合はS140で更新したパラメータθを用いた第1確率分布q1(x;θ)を出力し、収束条件が満たされない場合はS110~S140の処理を繰り返す(S150)。収束条件として、例えばS110~S140の処理の実行回数が所定の回数に達したかという条件を採用することができる。出力に際して、S140で更新したパラメータθ(このパラメータのことを学習済みパラメータともいう)、逆変換fK -1(x;θK), fK-1 -1(zK-1K-1), …, f2 -1(z22), f1 -1(z11)を出力するようにしてもよい。
なお、入力データ生成部110、潜在変数推定部120、損失関数計算部130、パラメータ更新部140、収束条件判定部150を含む構成部を学習部105という。つまり、学習部105は、学習用正常音から第1確率分布を学習する構成部である。
本実施形態の発明によれば、学習データの分布とテストデータの分布の相違を容易に調整することを可能とする第1確率分布q1(x;θ)を学習することができる。
<変形例>
確率分布学習装置100は、異常検知対象機器とは異なる1以上の機器から発せられた正常音である学習用正常音から、1つの第1確率分布q1(x;θ)を学習するものとして説明したが、異常検知対象機器とは異なる1以上の機器の数をW(Wは1以上の整数)とし、W個の機器の各々から発せられた正常音の分布を示す第1確率分布q1 (1)(x;θ), …, q1 (W)(x;θ)を学習するようにしてもよい。この場合、(ミニバッチに相当する)入力データxi(i=1, …, N)の中で同一の機器から発せられた学習用正常音から生成した入力データごとに適応バッチ正規化における平均と分散を計算することにより、潜在変数推定部120は潜在変数の推定処理を実行する。つまり、適応バッチ正規化における計算において、1組の平均と分散を用いる代わりに、W組の平均と分散を用いることになる。ただし、学習済みパラメータθは、W個の第1確率分布q1 (1)(x;θ), …, q1 (W)(x;θ)で共通となるため、1組である。
<第2実施形態>
以下、図3~図4を参照して確率分布適応学習装置200を説明する。図3は、確率分布適応学習装置200の構成を示すブロック図である。図4は、確率分布適応学習装置200の動作を示すフローチャートである。図3に示すように確率分布適応学習装置200は、入力データ生成部110と、パラメータ更新部240と、出力部250と、記録部190を含む。記録部190は、確率分布適応学習装置200の処理に必要な情報を適宜記録する構成部である。記録部190は、例えば、確率分布学習装置100を用いて学習した第1確率分布q1(x;θ)のパラメータθ(つまり、学習済みパラメータ)を記録しておく。この学習済みパラメータが、第2確率分布q2(x;θ)のパラメータθの初期値となるものである。なお、第2確率分布q2(x;θ)の変数xは、異常検知対象機器から発せられた正常音から生成された入力データを示す変数である。
確率分布適応学習装置200は、適応学習用正常音記録部920に接続している。適応学習用正常音記録部920には、事前に用意した適応学習用正常音が適応学習データとして記録されている。先述した通り、適応学習用正常音は、学習用正常音に比べると、比較的少量用意しておくのでよい。
図4に従い確率分布適応学習装置200の動作について説明する。入力データ生成部110は、入力である適応学習用正常音s’i(i=1, …, M)から、入力データx’i(i=1, …, M)を生成する(S110)。ここで、適応学習用正常音の数Mは、基本的には学習用正常音の数Nを超えない整数であるが、超える整数であってもかまわない。
パラメータ更新部240は、S110で生成した入力データx’i(i=1, …, M)を用いて、第2確率分布q2(x;θ)のパラメータθを更新する(S240)。具体的には、逆変換が適応バッチ正規化である変換fi_0に対して、その計算に用いる平均と分散を入力データx’i(i=1, …, M)から計算される逆変換fi_0 -1への入力データz’i_0,i(=fi_0-1 -1(fi_0-2 -1(…(fK -1(x’i))…)))の平均と分散で更新すればよい。つまり、式(7c)のmとs2を入力データz’i_0,i(i=1, …, M)の平均と分散で置換する。
出力部250は、S240で更新したパラメータθを用いた第2確率分布q2(x;θ)を出力する(S250)。また、出力に際して、S240で更新したパラメータθ(このパラメータのことを学習済みパラメータともいう)、逆変換fK -1(x;θK), fK-1 -1(zK-1K-1), …, f2 -1(z22), f1 -1(z11)を出力するようにしてもよい。
なお、入力データ生成部110、パラメータ更新部240、出力部250を含む構成部を適応学習部205という。つまり、適応学習部205は、適応学習用正常音を用いて第1確率分布から第2確率分布を適応学習する構成部である。
本実施形態の発明によれば、学習データの分布とテストデータの分布の相違を調整することにより、第2確率分布q2(x;θ)を学習することができる。
<変形例>
確率分布学習装置100がW個の第1確率分布q1 (1)(x;θ), …, q1 (W)(x;θ)を学習する場合においても、学習済みパラメータθは1組しかない。確率分布適応学習装置200はこの1組のパラメータを用いて適応学習をする。
<第3実施形態>
以下、図5~図6を参照して異常検知装置300を説明する。図5は、異常検知装置300の構成を示すブロック図である。図6は、異常検知装置300の動作を示すフローチャートである。図5に示すように異常検知装置300は、入力データ生成部110と、異常度推定部320と、異常判定部330と、記録部390を含む。記録部390は、異常検知装置300の処理に必要な情報を適宜記録する構成部である。記録部390は、例えば、確率分布適応学習装置200を用いて学習した第2確率分布q2(x;θ)のパラメータθ(つまり、学習済みパラメータ)を記録しておく。
つまり、この学習済みパラメータを用いた第2確率分布q2(x;θ)を学習済みの第2確率分布として、異常検知装置300は異常検知を実行する。
図6に従い異常検知装置300の動作について説明する。入力データ生成部110は、入力である異常検知対象音sから、入力データxを生成する(S110)。
異常度推定部320は、学習済みの第2確率分布q2(x;θ)に基づいて、S110で生成した入力データxから、機器の異常の程度を示す異常度を推定する(S320)。以下、図7~図8を参照して異常度推定部320について説明する。図7は、異常度推定部320の構成を示すブロック図である。図8は、異常度推定部320の動作を示すフローチャートである。図7に示すように異常度推定部320は、潜在変数計算部321と、異常度計算部322を含む。
図8に従い異常度推定部320の動作について説明する。潜在変数計算部321は、S110で生成した入力データxから、入力データxに対応する潜在変数z0を計算する(S321)。具体的には、ニューラルネットワークNNのパラメータを第2確率分布の学習済みパラメータとしたニューラルネットワークを用いて計算することができる。
異常度計算部322は、S321で計算した潜在変数z0から、入力データxに関する異常度A(x;θ)を計算する(S322)。異常度は、例えば次式により計算できる。
Figure 0007322997000017
確率分布q0(z0)が、厳密な確率密度推定が容易な分布である場合、入力データxの確率密度q2(x;θ)は、次式により計算することができる。
Figure 0007322997000018
式(5)’’の計算に際して、例えば、確率分布q0(z0)がガウス分布N(0, I)、逆変換が式(8a)~式(8e)で表される5つの変換である場合は、式(10)や式(9a)~式(9e)を用いればよい。
異常度判定部330は、S320で推定した異常度A(x;θ)から、機器が異常であるか否かを示す判定結果を生成する(S330)。例えば、式(3)を用いて、R=1の場合は異常を示す判定結果、R=0の場合は正常を示す判定結果を生成すればよい。
つまり、異常検知装置300は、異常検知対象機器とは異なる1以上の機器から発せられた正常音の分布を示す第1確率分布と異常検知対象機器から発せられた正常音(適応学習用正常音)との関連付けに基づいて、異常検知対象機器から発せられた音(異常検知対象音)から、当該機器の異常の程度を示す異常度を推定する異常度推定部320とを含むものであると言える。関連付けの一例は、適応学習用正常音を用いて第1確率分布を更新することにより得た、異常検知対象機器から発せられた正常音の分布を示す第2確率分布である。
本実施形態の発明によれば、学習データの分布とテストデータの分布の相違を調整した第2確率分布を用いて異常検知することにより、精度のよい異常検知が可能となる。つまり、異常検知精度の低下を抑えることが可能となる。
なお、第1実施形態から第3実施形態では、ノーマライジング・フローを用いて異常度A(x;θ)を計算する方法を説明してきたが、その他の統計モデルを用いて異常度を求めることもできる。例えば、参考非特許文献7に記載の自己符号化器(AE: autoencoder)を用いることもできる。自己符号化器とは、符号化器(エンコーダ)と復号器(デコーダ)の組である。
(参考非特許文献7:Y. Koizumi, S. Saito, H. Uematsu, Y. Kawachi, and N. Harada, “Unsupervised Detection of Anomalous Sound based on Deep Learning and the Neyman-Pearson Lemma,” IEEE/ACM Transactions on Audio, Speech, and Language Processing, Vol.27-1, pp.212-224, 2019.)
以下、本発明の第4実施形態から第6実施形態に対する技術的背景と、各実施形態について説明する。
<技術的背景>
自己符号化器を利用する場合、異常度は次式により計算できる。
Figure 0007322997000019
ここで、||・||はL2ノルム、EとDはそれぞれ符号化器と復号器、θEとθDはそれぞれ符号化器Eのパラメータと復号器Dのパラメータを表す。つまり、θ={θE, θD}である。
符号化器E、復号器Dはいずれもニューラルネットワークとして構成できる。この場合、例えば、θは正常音の学習データの再構成(復元)誤差を最小化するように学習する。
Figure 0007322997000020
ここで、xiはi番目の正常音の学習データ、Nは正常音の学習データのサンプル数である。
自己符号化器を用いた適応学習を実現するためには、適応バッチ正規化(AdaBN)を用いたニューラルネットワークとして、符号化器Eと復号器Dの両方、もしくはそのどちらか一方を構成すればよい。つまり、符号化器Eと復号器Dの両方、もしくはそのどちらか一方の計算の途中に適応バッチ正規化を利用する。例えば、符号化器EをE(x;θE)=W2[σ(W1x+b1)]+b2という3層ニューラルネットワークとして構成する代わりに、符号化器EをAdaBN層を挿入した次式を計算するニューラルネットワークとして構成すればよい。
Figure 0007322997000021
ここで、W1, W2は重み行列、b1, b2はバイアスベクトル、σは活性化関数を表す。AdaBN層とは、例えば式(8b)や式(8e)のように、AdaBN(適応バッチ正規化)の計算を実行する層のことである。
<第4実施形態>
同種の機器が2台以上ある状況において、その中の1台の機器(これを異常検知対象機器とする)の異常を検知することを考える。そのために、まずこの異常検知対象機器とは異なる1以上の機器から発せられた正常音(以下、学習用正常音という)から、異常検知対象機器とは異なる1以上の機器から発せられた正常音を復元する自己符号化器(以下、第1自己符号化器という)を学習する(学習フェーズ)。次に、異常検知対象機器から発せられた正常音(以下、適応学習用正常音という)を用いて、第1自己符号化器から、異常検知対象機器から発せられた正常音を復元する自己符号化器(以下、第2自己符号化器という)を適応学習する(適応学習フェーズ)。そして、異常検知対象機器から発せられた音(以下、異常検知対象音という)から、当該機器が異常であるか否かを判定する(テストフェーズ(異常検知フェーズ))。
自己符号化器学習装置400は、学習用正常音から、第1自己符号化器を学習する。自己符号化器適応学習装置500は、適応学習用正常音を用いて、第1自己符号化器から第2自己符号化器を適応学習する。異常検知装置600は、異常検知対象音から、当該機器が異常であるか否かを判定する。
以下、図9~図10を参照して自己符号化器学習装置400を説明する。図9は、自己符号化器学習装置400の構成を示すブロック図である。図10は、自己符号化器学習装置400の動作を示すフローチャートである。図9に示すように自己符号化器学習装置400は、入力データ生成部110と、復元入力データ推定部420と、損失関数計算部430と、パラメータ更新部440と、収束条件判定部450と、記録部490を含む。記録部490は、自己符号化器学習装置400の処理に必要な情報を適宜記録する構成部である。記録部490は、例えば、学習対象となる第1自己符号化器のパラメータθを記録する。パラメータθの初期値として、例えば乱数を用いて生成された値が記録されている。
自己符号化器学習装置400は、学習用正常音記録部910に接続している。学習用正常音記録部910には、事前に用意した学習用正常音が学習データとして記録されている。先述した通り、学習用正常音はできるだけ多く用意しておくことが好ましい。
図10に従い自己符号化器学習装置400の動作について説明する。入力データ生成部110は、入力である学習用正常音si(i=1, …, N)から、入力データxi(i=1, …, N)を生成する(S110)。
復元入力データ推定部420は、第1自己符号化器のパラメータθを用いて、S110で生成した入力データxi(i=1, …, N)から、入力データxiに対応する復元入力データyi(i=1, …, N)を推定する(S420)。なお、ここで用いるパラメータθは、学習中の値である。
復元入力データ推定部420は、入力データxiから復元入力データyiを計算するニューラルネットワークを用いて実現できる。なお、計算式は以下の通りである。
Figure 0007322997000022
このニューラルネットワークが第1自己符号化器(ニューラルネットワークNNという)である。
ここで、θ={θE, θD}(ただし、θEとθDはそれぞれ符号化器Eのパラメータと復号器Dのパラメータを表す)である。また、符号化器Eを構成するニューラルネットワーク、復号器Dを構成するニューラルネットワークの少なくとも1つは、AdaBN層を含むものとする。AdaBN層とは、AdaBN(適応バッチ正規化)の計算を実行する層のことである。つまり、ニューラルネットワークNNは、AdaBN層を含む。
損失関数計算部430は、S420で推定した復元入力データyi(i=1, …, N)から、第1自己符号化器のパラメータθの最適化に用いる損失関数L(θ)の値を計算する(S430)。損失関数L(θ)は、例えば、次式により定義される異常度の平均とすることができる。
Figure 0007322997000023
パラメータ更新部440は、S430で計算した損失関数L(θ)の値を最適化(最小化)するように、第1自己符号化器のパラメータθを更新する(S440)。パラメータθの更新には、例えば、勾配降下法を用いるとよい。
収束条件判定部450は、パラメータ更新の終了条件として事前に設定された収束条件を判定し、収束条件が満たされた場合はS440で更新したパラメータθを出力し、収束条件が満たされない場合はS110~S440の処理を繰り返す(S450)。収束条件として、例えばS110~S440の処理の実行回数が所定の回数に達したかという条件を採用することができる。
なお、入力データ生成部110、復元入力データ推定部420、損失関数計算部430、パラメータ更新部440、収束条件判定部450を含む構成部を学習部405という。つまり、学習部405は、学習用正常音から第1自己符号化器(のパラメータθ)を学習する構成部である。
本実施形態の発明によれば、学習データの分布とテストデータの分布の相違を容易に調整することを可能とする第1自己符号化器を学習することができる。
<第5実施形態>
以下、図11~図12を参照して自己符号化器適応学習装置500を説明する。図11は、自己符号化器適応学習装置500の構成を示すブロック図である。図12は、自己符号化器適応学習装置500の動作を示すフローチャートである。図11に示すように自己符号化器適応学習装置500は、入力データ生成部110と、パラメータ更新部540と、出力部550と、記録部490を含む。記録部490は、自己符号化器適応学習装置500の処理に必要な情報を適宜記録する構成部である。記録部490は、例えば、自己符号化器学習装置400を用いて学習した第1自己符号化器のパラメータθ(つまり、学習済みパラメータ)を記録しておく。この学習済みパラメータが、第2自己符号化器のパラメータθの初期値となるものである。
自己符号化器適応学習装置500は、適応学習用正常音記録部920に接続している。適応学習用正常音記録部920には、事前に用意した適応学習用正常音が適応学習データとして記録されている。先述した通り、適応学習用正常音は、学習用正常音に比べると、比較的少量用意しておくのでよい。
図12に従い自己符号化器適応学習装置500の動作について説明する。入力データ生成部110は、入力である適応学習用正常音s’i(i=1, …, M)から、入力データx’i(i=1, …, M)を生成する(S110)。ここで、適応学習用正常音の数Mは、基本的には学習用正常音の数Nを超えない整数であるが、超える整数であってもかまわない。
パラメータ更新部540は、S110で生成した入力データx’i(i=1, …, M)を用いて、第2自己符号化器のパラメータθを更新する(S540)。具体的には、第1自己符号化器(ニューラルネットワークNN)に含まれる、適応バッチ正規化を計算する層であるAdaBN層に対して、その計算に用いる平均と分散を入力データx’i(i=1, …, M)から計算される復元入力データy’iの平均と分散で更新すればよい。
出力部550は、S540で更新したパラメータθを出力する(S550)。
なお、入力データ生成部110、パラメータ更新部540、出力部550を含む構成部を適応学習部505という。つまり、適応学習部505は、適応学習用正常音を用いて第1自己符号化器から第2自己符号化器を適応学習する構成部である。
本実施形態の発明によれば、学習データの分布とテストデータの分布の相違を調整することにより、第2自己符号化器を学習することができる。
<第6実施形態>
以下、図13~図14を参照して異常検知装置600を説明する。図13は、異常検知装置600の構成を示すブロック図である。図14は、異常検知装置600の動作を示すフローチャートである。図13に示すように異常検知装置600は、入力データ生成部110と、異常度推定部620と、異常判定部630と、記録部690を含む。記録部690は、異常検知装置600の処理に必要な情報を適宜記録する構成部である。記録部690は、例えば、自己符号化器適応学習装置500を用いて学習した第2自己符号化器のパラメータθ(つまり、学習済みパラメータ)を記録しておく。
つまり、この学習済みパラメータを用いた第2自己符号化器を学習済みの第2自己符号化器として、異常検知装置600は異常検知を実行する。
図14に従い異常検知装置600の動作について説明する。入力データ生成部110は、入力である異常検知対象音sから、入力データxを生成する(S110)。
異常度推定部620は、学習済みの第2自己符号化器に基づいて、S110で生成した入力データxから、機器の異常の程度を示す異常度を推定する(S620)。以下、図15~図16を参照して異常度推定部620について説明する。図15は、異常度推定部620の構成を示すブロック図である。図16は、異常度推定部620の動作を示すフローチャートである。図15に示すように異常度推定部620は、復元入力データ計算部621と、異常度計算部622を含む。
図16に従い異常度推定部620の動作について説明する。復元入力データ計算部621は、S110で生成した入力データxから、入力データxに対応する復元入力データyを計算する(S621)。具体的には、ニューラルネットワークNNのパラメータを第2自己符号化器の学習済みパラメータとしたニューラルネットワークを用いて計算することができる。
異常度計算部622は、S621で計算した復元入力データyから、入力データxに関する異常度A(x;θ)を計算する(S622)。異常度は、例えば式(13)により計算できる。
異常度判定部630は、S620で推定した異常度A(x;θ)から、機器が異常であるか否かを示す判定結果を生成する(S630)。例えば、式(3)を用いて、R=1の場合は異常を示す判定結果、R=0の場合は正常を示す判定結果を生成すればよい。
つまり、異常検知装置600は、異常検知対象機器とは異なる1以上の機器から発せられた正常音を復元する第1自己符号化器と異常検知対象機器から発せられた正常音(適応学習用正常音)との関連付けに基づいて、異常検知対象機器から発せられた音(異常検知対象音)から、当該機器の異常の程度を示す異常度を推定する異常度推定部620とを含むものであると言える。関連付けの一例は、適応学習用正常音を用いて第1自己符号化器を更新することにより得た、異常検知対象機器から発せられた正常音を復元する第2自己符号化器である。
本実施形態の発明によれば、学習データの分布とテストデータの分布の相違を調整した第2自己符号化器を用いて異常検知することにより、精度のよい異常検知が可能となる。つまり、異常検知精度の低下を抑えることが可能となる。
次に、本発明の第7実施形態から第9実施形態に対する技術的背景と、各実施形態について説明する。
<技術的背景>
本発明の実施形態は、ノーマライジング・フロー(Normalizing Flow)を用いてペアデータなしドメイン変換のデータ変換器の学習を行う。ノーマライジング・フローは、GANに比べて学習を行いやすいという特徴があり、その結果として従来のGANベースのペアデータなしドメイン変換技術(StarGAN)よりも安定して学習することができる。
以下、本発明の実施形態で用いる従来技術について説明する。
《ノーマライジング・フロー(Normalizing Flow)》
ノーマライジング・フローは、データ生成に関する確率分布p(x)を近似する分布を求める手法である。
{fi(z)}i=1 Kを逆変換を有するK個の変換(ただし、fi(z):RD→RD, Rは実数の集合、Dは1以上の整数、Kは1以上の整数)とする。また、fi -1(z)(i=1, …, K)をfi(z)の逆変換とする。
ノーマライジング・フローでは、N個の入力データの集合{xi}i=1 Nに対して、それぞれ対応する潜在変数{z0,i}i=1 Nが存在し、入力データxiは、K個の変換{fi(z)}i=1 Kとxの潜在変数z0を用いた式(21)により、対応する潜在変数z0,iを変換したものであると考える。
Figure 0007322997000024
つまり、i=1, …, Kに対して、次式が成り立つ。
Figure 0007322997000025
なお、z1=f1(z0), z2=f2(z1), …, x=fK(zK-1)と表すこともある。
更に、潜在変数{z0,i}i=1 Nは、例えば等方ガウス分布のような、モンテカルロサンプリングが容易な確率分布q0(z0)から生成されると仮定する。このとき、入力データの集合{xi}i=1 Nが従う確率分布q(x;θ)(xは入力データを示す変数)は、次の形で表現できる。
Figure 0007322997000026
ここで、z0=f1 -1(f2 -1(…(fK -1(x))…)))である。また、{θi}i=1 Kは変換{fi(z)}i=1 Kに対応するパラメータ、θ=[θ1 T, θ2 T, …, θK T]Tである。
なお、確率分布q0(z0)は、モンテカルロサンプリングが容易な分布に限るものではなく、厳密な確率密度推定が容易な分布であればよい。厳密な確率密度推定が容易な分布の一例として、以下の条件を満たす確率分布p(x)が挙げられる。
(条件1)確率分布p(x)に対して、RD上の非負関数g(x)(≧0)が存在し、任意のx∈RDに対してp(x)=g(x)/∫g(x)dxとなる。
(条件2)関数g(x)に対して∫g(x)dxを計算することは容易である。
条件2を満たす関数として、ガウス分布が挙げられる。一方、条件2を満たさない関数として、g(x)=exp(sin(x)-x2)が挙げられる。
ノーマライジング・フローでは、確率分布q(x;θ)のパラメータθを入力データの集合{xi}i=1 Nを用いて学習する。そして学習により得られたパラメータ(学習済みパラメータという)θを用いた確率分布q(x;θ)により本来のデータ生成に関する確率分布p(x)を近似する。
ノーマライジング・フローでは、変換{fi(z)}i=1 Kとして様々なものを用いることができる。例えば、参考非特許文献3に記載のバッチ正規化(Batch Normalization)やLeaky ReLU(Rectified Linear Unit:正規化線形関数)などを用いることができる。また、参考非特許文献4に記載の以下の線型変換を用いることもできる。
Figure 0007322997000027
ここで、L, U∈RD×Dは、それぞれ下三角行列、上三角行列である。この変換はLとUの対角成分の積の絶対値(つまり、|Πi=1 DLiiUii|)によりヤコビアンの行列式の絶対値|det(∂f(z;θ)/∂z)|を計算することができるため、入力データxの確率密度q(x;θ)を容易に計算することができる(換言すれば、入力データxの確率密度q(x;θ)の計算コストを抑えることができる)という特徴がある(式(22)参照)。
以下、簡単にバッチ正規化BN:x→y(x, y∈RD)について説明する。バッチ正規化BNは、入力データの集合{xi}i=1 Nの各次元の要素の平均が0、分散が1になるように調整した後、スケール変換とシフト変換を行う。具体的には、次式により、yi=BN(xi)が計算される。
Figure 0007322997000028
ここで、γ, βは、それぞれスケール変換パラメータ、シフト変換パラメータであり、いずれも学習対象となるパラメータである。また、εは非負の実数であり、ゼロで割ることを避けたい場合は正の実数、避ける必要がない場合はゼロとすればよい。
なお、スケール変換パラメータγ、シフト変換パラメータβを明示するため、BN(・)をBNγβ(・)と表すこともある。
ノーマライジング・フローで用いるK個の変換すべてが同じ種類の変換である必要はない。したがって、例えば、変換f1(z)をバッチ正規化、変換f2(z)を線形変換というように、いくつかの種類の変換を組み合わせてもよい。
《適応バッチ正規化(AdaBN:Adaptive Batch Normalization)》
ドメイン適応とは、モデル学習に用いる学習データの分布と学習済みモデルを用いた処理の対象であるテストデータの分布が異なる場合に、当該分布の相違により、学習済みモデルを用いた処理の精度が低下しないように、学習済みモデルを調整する技術のことである。ここで、学習データの集合、テストデータの集合がドメインであり、それぞれ学習用ドメイン、テスト用ドメインということもある。
深層ニューラルネットワーク(DNN:Deep Neural Network)と組み合わせることができるドメイン適応の手法には様々なものがあるが、ここでは適応バッチ正規化について説明する(参考非特許文献5参照)。適応バッチ正規化は、バッチ正規化における平均・分散の計算と平均・分散の調整(式(24a)~(24d)参照)をドメインごとに行うという手法である。つまり、式(24a)~(24c)による計算を同一のドメインのデータごとに行うようにする。実際にテストする際には、テスト用ドメインの入力データの集合{xi}i=1 Nに対して統計量(平均と分散)を計算して、その統計量を用いて式(24c)、式(24d)により処理結果yiを出力する。なお、変換が適応バッチ正規化である場合、AdaBN:x→y(x, y∈RD)と表すこともある。
《AdaFlow》
AdaFlowは、ノーマライジング・フローに適応バッチ正規化を導入した手法である。具体的には、ノーマライジング・フローで用いるK個の変換{fi(z)}i=1 Kのうち少なくとも1つの変換fi_0(z)に対して、その逆変換fi_0 -1(z)が適応バッチ正規化であるというものである。なお、適応バッチ正規化の計算のうち、スケール変換及びシフト変換、つまり、式(24d)の計算は、省略したものであってもよい。別の言い方をすると、逆変換fi_0 -1(z)がγ=1, β=0である適応バッチ正規化であるとも表現できる。
AdaFlowを用いて学習をすると、1つの学習済みモデルから複数ドメインの確率分布の生成が行えるようになる。また、複数ドメイン間でのデータ変換も行えるようになる。
以下、AdaFlowについて具体的に説明する。AdaFlowとは、学習データから生成される入力データxを、確率分布q0(z0)に従って生成されているとみなす潜在変数z0(~q(z0))に変換するニューラルネットワークである。ここでは5個の変換{fi(z)}i=1 5を用いる場合について説明する。つまり、z0は、z0=f1 -1(f2 -1(f3 -1(f4 -1(f5 -1(x)))))として得られることになる。
上記5個の変換{fi(z)}i=1 5を次式により定義する。なお、便宜上変換fiを示す代わりにその逆変換fi -1を示す(ただし、z4=f5 -1(x), z3=f4 -1(z4), z2=f3 -1(z3), z1=f2 -1(z2),z0=f1 -1(z1))。
Figure 0007322997000029
ここで、L2、L5∈RD×Dは、対角成分が1の下三角行列であり、上三角部分を除くすべての要素L2,ij, L5,ij(i≧j)が学習対象パラメータ(つまり、パラメータθ2またはパラメータθ5)である。D2、D5∈RD×Dは、対角行列であり、対角成分D2,ij, D5,ij(i=j)が学習対象パラメータ(つまり、パラメータθ2またはパラメータθ5)である。U2、U5∈RD×Dは、対角成分が1の上三角行列であり、下三角部分を除くすべての要素U2,ij, U5,ij(i≦j)が学習対象パラメータ(つまり、パラメータθ2またはパラメータθ5)である。また、α3(≧0)はLeakyReLUのパラメータであり、超パラメータとして設定してもよいし、学習対象パラメータ(つまり、パラメータθ3)としてもよい(α3を学習対象とする場合は、Parametric ReLUと呼ばれる(参考非特許文献6))。また、AdaBNγ_4β_4(・)及びAdaBNγ_1β_1(・)は上述の適応バッチ正規化であり、γ1, β1, γ4, β4が学習対象パラメータ(つまり、パラメータθ1またはパラメータθ4)である。
また、変換{fi(z)}i=1 5のヤコビアンの行列式の絶対値は、それぞれ次式により計算される(ただし、x=f5(z4), z4=f4(z3), z3=f3(z2), z2=f2(z1), z1=f1(z0))。
Figure 0007322997000030
ここで、s4’は(学習データから生成された入力データxに対応する)z4の標準偏差、δは(学習データから生成された入力データxに対応する)z3のうちゼロを下回る要素の数、s1’は(学習データから生成された入力データxに対応する)z1の標準偏差である。なお、変換f4, f1に対するヤコビアンの行列式の絶対値|det(∂f4(z3)/∂z3)|, |det(∂f1(z0)/∂z0)|に関しては、学習時ではなく推論時(つまり、学習済みモデルを用いた処理時)におけるヤコビアンの行列式の絶対値を用いて表記している。
また、先述の通り、確率分布q0(z0)は厳密な確率密度推定が容易な確率分布とする。例えば、確率分布q0(z0)を平均が0、分散が単位行列Iのガウス分布N(0, I)とすると、確率分布q0(z0)は次式により表される。
Figure 0007322997000031
したがって、q1(x;θ)を学習データから生成された入力データxの確率分布とし、式(22)を用いることにより、潜在変数z0,iの確率密度q0(z0,i)から入力データxiの確率密度q1(xi;θ)が計算できることがわかる。
続いて、パラメータθの学習方法について説明する。通常のニューラルネットワークの学習と同様、損失関数L(θ)を用いて、例えば、勾配降下法、Momentum SGD(Stochastic Gradient Descent)、ADAM(Adaptive Moment Estimation)、あるいはそれらの組合せにより学習することができる。ノーマライジング・フローを用いる場合、損失関数L(θ)として、次式で定義される負の対数尤度の平均を用いることが多い。
Figure 0007322997000032
なお、上記学習には、ミニバッチと呼ばれる学習データの集合を単位にして行うミニバッチ学習法を用いることができる。ここで、ミニバッチとは、すべての学習データからランダムに選択した複数の学習データのことである。このミニバッチごとに損失関数L(θ)の値を計算することになる。
<第7実施形態>
確率分布学習装置1100は、P種類のドメインDj(j=1, …, P)のデータ(以下、ドメインデータという。)から生成される入力データxを、確率分布q0(z0)に従って生成されているとみなす潜在変数z0(~q(z0))に変換するニューラルネットワークのモデルパラメータθを学習する。このモデルパラメータθを用いて、確率分布q0(z0)から入力データxの確率分布q(x;θ)を求めることができる(式(22)参照)。ここで、ドメインDjは、Nj個のドメインデータを含むものとする。したがって、P種類のドメインの和集合に含まれるドメインデータの数をNとすると、N=ΣjNjとなる。
以下、図17~図18を参照して確率分布学習装置1100を説明する。図17は、確率分布学習装置1100の構成を示すブロック図である。図18は、確率分布学習装置1100の動作を示すフローチャートである。図17に示すように確率分布学習装置1100は、入力データ生成部1110と、潜在変数推定部1120と、損失関数計算部1130と、パラメータ更新部1140と、収束条件判定部1150と、記録部1190を含む。記録部1190は、確率分布学習装置1100の処理に必要な情報を適宜記録する構成部である。記録部1190は、例えば、入力データxの確率分布q(x;θ)のパラメータθを記録する。パラメータθの初期値として、例えば乱数を用いて生成された値が記録されている。
確率分布学習装置1100は、学習用ドメインデータ記録部1910に接続している。学習用ドメインデータ記録部1910には、事前に用意したドメインデータsi(i=1, …, N)と当該ドメインデータsiが含まれるドメインを識別するためのドメイン識別子jの組(si, j)が学習データとして記録されている。なお、(si, j)のことを学習用ドメインデータともいう。
図18に従い確率分布学習装置1100の動作について説明する。S1110において、入力データ生成部1110は、入力である学習用ドメインデータ(si, j)(i=1, …, N、siはドメインデータ、jはsiを含むドメインのドメイン識別子である)を入力とし、ドメインデータsiから、入力データxi(i=1, …, N)を生成し、入力データxiとドメイン識別子jの組を出力する。ドメインデータから入力データを生成する方法は、入力データからドメインデータを復元できるのであれば、どのような方法であってもよい。例えば、ドメインデータが画像や音である場合、ドメインデータsiから生成される入力データxiとして、抽出元である画像や音を復元することができる所定の特徴量を用いるとよい。
S1120において、潜在変数推定部1120は、S1110で生成した入力データxi(i=1, …, N)とドメインデータsiを含むドメインのドメイン識別子jの組を入力とし、確率分布q(x;θ)のパラメータθを用いて、入力データxi(i=1, …, N)から、入力データxiに対応する潜在変数z0,i(i=1, …, N)を推定し、出力する。なお、ここで用いるパラメータθは、学習中の値である。
ここで、確率分布q(x;θ)の変数xは、P種類のドメインDjのドメインデータから生成された入力データを示す変数であり、変数xは、変換fi(i=1, …, K、Kは1以上の整数、変換fiに対して逆変換fi -1が存在する)と潜在変数z0を用いて、x=fK(fK-1(…(f1(z0))…))と表されるものとする。
したがって、入力データxiに対応する潜在変数z0,iは次式により与えられる。
Figure 0007322997000033
また、潜在変数z0,i(i=1, …, N)は、潜在変数z0の確率分布q0(z0)に従って生成されるものとする。ただし、確率分布q0(z0)は厳密な確率密度推定が容易であるという性質を有する。
したがって、確率分布q(x;θ)は、確率分布q0(z0)を用いた次式により表現できる。
Figure 0007322997000034
ここで、θiは変換fiに対応するパラメータであり、θ=[θ1 T, θ2 T, …, θK T]Tとなる。
潜在変数推定部1120は、入力データxから潜在変数z0を計算するニューラルネットワークNNを用いて実現できる。なお、潜在変数z0の計算式は以下の通りである。
Figure 0007322997000035
つまり、ニューラルネットワークNNは、入力データxを入力とし、逆変換fK -1, fK-1 -1,…, f2 -1, f1 -1の順に計算を進めていき、最終的に潜在変数z0を出力するものである。
上記変換fi(i=1, …, K)のうち、少なくとも1つの変換fi_0(ただし、i0は1≦i0≦Kを満たす整数)に対して、その逆変換fi_0 -1は適応バッチ正規化となるようにする。
また、変換fi(i=1, …, K)に含まれる変換fi_1(ただし、i1は1≦i1≦Kを満たす整数)に対して、その逆変換fi_1 -1は、線形変換であり、当該線形変換に対応する行列が、下方三角行列と上方三角行列の積、または、下方三角行列と対角行列と上方三角行列の積として表されているようにしてもよい。
具体的な変換fi(i=1, …, K)の例として、例えばK=5として、逆変換が式(25a)~式(25e)で表される5つの変換を用いることができる。
また、潜在変数推定部1120は、逆変換が適応バッチ正規化である変換fi_0に対して、逆変換fi_0 -1の計算に用いる平均と分散を入力データxi(i=1, …, N)から計算される逆変換fi_0 -1への入力データzi_0,i(=fi_0-1 -1(fi_0-2 -1(…(fK -1(xi))…)))の平均と分散をドメインごとに計算するため、(zi_0,i, j)(ただし、jは入力データxiの生成元であるドメインデータsiのドメイン識別子である)を記録部1190に記録しておく。以下、逆変換fi_0 -1への入力データのドメインDjの平均と分散をそれぞれmi_0,jとsi_0,j 2と表すことにする。なお、平均mi_0,jと分散si_0,j 2を計算するのは、後述するように、収束条件判定部1150である。
S1130において、損失関数計算部1130は、S1120で推定した潜在変数z0,i(i=1, …, N)を入力とし、潜在変数z0,i(i=1, …, N)から、確率分布q(x;θ)のパラメータθの最適化に用いる損失関数L(θ)の値を計算し、出力する。損失関数L(θ)は、例えば、式(28)のように負の対数尤度の平均として定義することができる。その際、入力データxi(i=1,…, N)の確率密度q(xi;θ)を計算する必要があるが、入力データxiの確率密度q(xi;θ)は入力データxiに対応する潜在変数z0,iの確率密度q0(z0,i)を用いて計算することができる。例えば、確率分布q0(z0)がガウス分布N(0, I)である場合、潜在変数z0,iの確率密度q0(z0,i)は、次式で計算できるので、
Figure 0007322997000036
式(22)を用いて、上記計算した潜在変数z0,iの確率密度q0(z0,i)から入力データxiの確率密度q(xi;θ)を計算することができる。
S1140において、パラメータ更新部1140は、S1130で計算した損失関数L(θ)の値を入力とし、損失関数L(θ)の値を最適化(最小化)するように、確率分布q(x;θ)のパラメータθを更新し、出力する。パラメータθの更新には、例えば、勾配降下法を用いるとよい。
S1150において、収束条件判定部1150は、パラメータ更新の終了条件として事前に設定された収束条件を判定し、収束条件が満たされた場合はS1140で更新したパラメータθ(このパラメータのことを学習済みパラメータという)を用いた確率分布q(x;θ)を出力する。その際、収束条件判定部1150は、S1120において記録した(zi_0,i, j) (i=1, …, N)を用いて、逆変換fi_0 -1への入力データのドメインDj_0の平均mi_0,jと分散si_0,j 2(j=1, …, P)とを計算し、出力する。一方、収束条件が満たされない場合、収束条件判定部1150は、S1110~S1140の処理を繰り返す。収束条件として、例えばS1110~S1140の処理の実行回数が所定の回数に達したかという条件を採用することができる。なお、S1140で更新したパラメータθ、逆変換fK -1(x;θK), fK-1 -1(zK-1K-1), …, f2 -1(z22), f1 -1(z11)を出力するようにしてもよい。以下、逆変換fi_0 -1への入力データのドメインDjの平均mi_0,jと分散si_0,j 2のことをドメインDjのドメインデータから算出される統計量という。
本実施形態の発明によれば、P種類のドメインDjのドメインデータから生成される入力データxの確率分布q(x;θ)を学習することができる。ノーマライジング・フローに基づくAdaFlowを用いて学習することにより、ペアデータなし学習を安定的に行うことが可能となる。
<第8実施形態>
データ変換装置1200は、確率分布学習装置1100で学習した学習済みモデルパラメータθと、逆変換fi_0 -1への入力データのドメインDjの平均mi_0,jと分散si_0,j 2(j=1, …, P)とを用いて、ドメインDj_0のドメインデータをドメインDj_1のドメインデータに変換する(ただし、j0, j1は1≦j0, j1≦Pを満たす整数であり、j0≠j1である)。以下、ドメインDj_0のことを変換元ドメイン、ドメインDj_1のことを変換先ドメインという。
以下、図19~図20を参照してデータ変換装置1200を説明する。図19は、データ変換装置1200の構成を示すブロック図である。図20は、データ変換装置1200の動作を示すフローチャートである。図19に示すようにデータ変換装置1200は、入力データ生成部1110と、潜在変数計算部1220と、出力データ計算部1230と、ドメインデータ生成部1240と、記録部1190を含む。記録部1190は、データ変換装置1200の処理に必要な情報を適宜記録する構成部である。記録部1190は、例えば、確率分布学習装置1100を用いて学習した確率分布q(x;θ)のパラメータθ(つまり、学習済みパラメータθ)を記録しておく。また、記録部1190は、例えば、逆変換fi_0 -1への入力データのドメインDjの平均mi_0,jと分散si_0,j 2(j=1, …, P)を記録しておく。
図20に従いデータ変換装置1200の動作について説明する。S1110において、入力データ生成部1110は、入力である変換元ドメインDj_0のドメインデータsとそのドメイン識別子j0(変換元ドメイン識別子という)を入力とし、ドメインデータsから、入力データxを生成し、出力する。
S1220において、潜在変数計算部1220は、S1110で生成した入力データxと変換元ドメイン識別子j0を入力とし、学習済みパラメータθと逆変換fi_0 -1への入力データのドメインDj_0の平均mi_0,j_0と分散si_0,j_0 2とを用いて、入力データxから、入力データxに対応する潜在変数z0を計算し、出力する。入力データxに対応する潜在変数z0は、確率分布学習装置1100で用いた変換fi(i=1, …, K)を用いて、次式により計算される。
Figure 0007322997000037
その際、学習済みパラメータθと逆変換fi_0 -1への入力データのドメインDj_0の平均mi_0,j_0と分散si_0,j_0 2とを用いる。潜在変数計算部1220は、この点において確率分布学習装置1100の潜在変数推定部1120と異なる。
S1230において、出力データ計算部1230は、変換先ドメインの識別子である変換先ドメイン識別子j1とS1220で計算した潜在変数z0とを入力とし、学習済みパラメータθと逆変換fi_0 -1への入力データのドメインDj_1の平均mi_0,j_1と分散si_0,j_1 2とを用いて、潜在変数z0から、潜在変数z0に対応する出力データx’を計算し、出力する。潜在変数z0に対応する出力データx’は、確率分布学習装置1100で用いた変換fi(i=1, …, K)を用いて、次式により計算される。
Figure 0007322997000038
その際、学習済みパラメータθと逆変換fi_0 -1への入力データのドメインDj_1の平均mi_0,j_1と分散si_0,j_1 2とを用いる。なお、出力データ計算部1230を実現するニューラルネットワークは、潜在変数計算部1220を実現するニューラルネットワークNNの出力を入力に、ニューラルネットワークNNの入力を出力にしたものとすればよい。
潜在変数計算部1220と出力データ計算部1230による処理の様子を図21に示す。図21は、<技術的背景>の説明で用いた5個の変換{fi(z)}i=1 5により、入力データから潜在変数、潜在変数から出力データに変換する様子を示している。ここで、f1 -1(j_0), f1 (j_1)はドメインDj_0の平均mi_0,j_0と分散si_0,j_0 2を、f4 -1(j_0), f4 (j_1)はドメインDj_1の平均mi_0,j_1と分散si_0,j_1 2を用いた関数となる。
S1240において、ドメインデータ生成部1240は、S1230で計算した出力データx’を入力とし、出力データx’から、変換先ドメインDj_1のデータである変換済ドメインデータs’を生成し、出力する。
なお、潜在変数計算部1220、出力データ計算部1230を含む構成部をデータ変換部1205という。つまり、データ変換部1205は、変換元ドメインのドメインデータから生成した入力データを、変換先ドメインのドメインデータの生成元となる出力データに変換する構成部である。
本実施形態の発明によれば、ドメイン間でデータを相互に変換することが可能となる。
<第9実施形態>
第7実施形態及び第8実施形態では、Pを1以上の整数とし、P種類のドメインのドメインデータを用いるものとして説明した。ここでは、P=2とした場合のデータ変換装置1300について説明する。
以下、図22~図23を参照してデータ変換装置1300を説明する。図22は、データ変換装置1300の構成を示すブロック図である。図23は、データ変換装置1300の動作を示すフローチャートである。図22に示すようにデータ変換装置1300は、入力データ生成部1310と、潜在変数計算部1320と、出力データ計算部1330と、ドメインデータ生成部1340と、記録部1190を含む。記録部1190は、データ変換装置1300の処理に必要な情報を適宜記録する構成部である。記録部1190は、例えば、確率分布学習装置1100を用いて学習した確率分布q(x;θ)のパラメータθ(つまり、学習済みパラメータθ)を記録しておく。
以下、変換元ドメインを第1ドメイン、変換先ドメインを第2ドメインと呼ぶことにし、それぞれD1、D2で表す。また、潜在変数計算部1320には、逆変換fi_0 -1への入力データの第1ドメインD1の平均mi_0,1と分散si_0,1 2を設定しておく。同様に、出力データ計算部1330には、逆変換fi_0 -1への入力データの第2ドメインD2の平均mi_0,2と分散si_0,2 2を設定しておく。
図23に従いデータ変換装置1300の動作について説明する。S1310において、入力データ生成部1310は、第1ドメインのドメインデータsを入力とし、ドメインデータsから、入力データxを生成し、出力する。以下、この入力データのことを第1ドメインのドメインデータに対応する入力データともいう。
S1320において、潜在変数計算部1320は、S1310で生成した入力データxを入力とし、学習済みパラメータθを用いて、入力データxから、入力データxに対応する潜在変数z0を計算し、出力する。
S1330において、出力データ計算部1330は、S1320で計算した潜在変数z0を入力とし、学習済みパラメータθを用いて、潜在変数z0から、潜在変数z0に対応する出力データx’を計算し、出力する。
S1340において、ドメインデータ生成部1340は、S1330で計算した出力データx’を入力とし、出力データx’から、第2ドメインのドメインデータs’を生成し、出力する。以下、この出力データのことを第2ドメインのドメインデータに対応する出力データともいう。
なお、潜在変数計算部1320、出力データ計算部1330を含む構成部をデータ変換部1305という。つまり、データ変換部1305は、第1ドメインのドメインデータに対応する入力データを、第2ドメインのドメインデータに対応する出力データに変換する構成部である。
以上の説明からわかるように、潜在変数計算部1320は、潜在変数を入力データに変換する、逆関数を有する関数(以下、第1関数という)を用いて計算するものであり、出力データ計算部1330は、潜在変数を出力データに変換する、逆関数を有する関数(以下、第2関数という)を用いて計算するものであるといえる。そして、第1関数と第2関数は、潜在変数z0を変数xに変換する所定の関数から導出されるものである。この所定の関数は、第1ドメインと第2ドメインの和集合を用いて得られる関数である。より具体的に言えば、当該所定の関数は、変換fi(i=1, …, K、Kは1以上の整数、変換fiに対して逆変換fi -1が存在する)を用いて、x=fK(fK-1(…(f1(z0))…))と表される関数(ただし、変換fi(i=1, …, K)のうち、少なくとも1つの変換fi_0(1≦i0≦K)に対して、その逆変換fi_0 -1は適応バッチ正規化である)として、第1ドメインと第2ドメインの和集合の要素であるドメインデータを学習データとして学習することにより、得られる関数である。また、第1関数は、当該和集合に含まれる第1ドメインのドメインデータから算出される統計量(具体的には、逆変換fi_0 -1への入力データの第1ドメインD1の平均mi_0,1と分散si_0,1 2)を用いて、上記所定の関数から導出されるものであり、第2関数は、当該和集合に含まれる第2ドメインのドメインデータから算出される統計量(具体的には、逆変換fi_0 -1への入力データの第2ドメインD2の平均mi_0,2と分散si_0,2 2)を用いて、所定の関数から導出されるものである。
[適用例:教師あり異常検知問題への応用]
データ変換装置1300を教師あり異常検知問題に応用することができる。ここで、教師あり異常検知とは、多数の正常データと少数の異常データから異常検知モデルを学習し、この異常検知モデルを用いて異常検知する枠組みである。
異常データが多いほど高精度なモデルを学習することができるが、多くの異常データを集めるのは難しい。そこで、異常検知対象としたいドメインを複数用意し、できるだけ多くのデータを集め、確率分布学習装置1100を用いて当該データからモデルパラメータθを学習する。そして、データ変換装置1300を用いて、第1ドメインの異常データを第1ドメインとは異なる第2ドメインの異常データに変換する。このようにすることにより、収集に困難が伴う異常データを人工的に作り出し、その数を増加させることができ、結果としてより高精度な異常検知モデルを学習することが可能となる。
例えば、第1ドメインを異常検知対象機器とは異なる1以上の機器から発せられた音の集合、第2ドメインを異常検知対象機器の音の集合とし、確率分布学習装置1100を用いて、パラメータθを学習する。次に、データ変換装置1300を用いて、第1ドメインのドメインデータである異常検知対象機器とは異なる1以上の機器から発せられた異常音から、第2ドメインのドメインデータとして異常検知対象機器の音を生成する。当該生成された異常検知対象機器の音は、異常音であることが期待される。そして、生成された異常検知対象機器の音を学習データとして用いて、第2ドメインの異常検知モデルを学習する。
なお、発せられた音の多くは、正常音であると考えられる。学習に際しては、できるだけ多くのデータを用いるのが好ましいため、正常音、異常音を問わず、第1ドメインの音を学習に用いるようにするとよい。
本実施形態の発明によれば、ドメイン間でデータを相互に変換することが可能となる。その結果、例えば、異常検知モデル学習に用いる異常データを効率的に生成することができるようになる。
<実験結果>
「風景写真」の集合と「風景画」の集合をドメインとし、ノーマライジング・フローのアーキテクチャとして参考非特許文献8に記載のGlowを採用し、GlowのActivation NormalizationをAdaBNに置き換えたニューラルネットワークAdaFlowを用いて学習を行う。風景写真と風景画の画像データをそれぞれ400枚ずつ集め、これらを用いてニューラルネットワークAdaFlowを学習させ、データ変換を行う。具体的には、「風景写真」を「風景画」に変換、または、「風景画」を「風景写真」に変換した。
(参考非特許文献8:Diederik P. Kingma, Prafulla Dhariwal, “Glow: Generative Flow with Invertible 1x1 Convolutions”, arXiv:1807.03039, https://arxiv.org/abs/1807.03039)
この実験、つまり、AdaFlowを用いたペアデータなしドメイン変換により、質のいい画像データが生成されることが確認できた。
<補記>
図24は、上述の各装置を実現するコンピュータの機能構成の一例を示す図である。上述の各装置における処理は、記録部2020に、コンピュータを上述の各装置として機能させるためのプログラムを読み込ませ、制御部2010、入力部2030、出力部2040などに動作させることで実施できる。
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。

Claims (5)

  1. 第1ドメインのドメインデータに対応する入力データから、潜在変数を計算する潜在変数計算部と、
    前記潜在変数から、第2ドメインのドメインデータに対応する出力データを計算する出力データ計算部と
    を含むデータ変換装置であって、
    前記潜在変数計算部は、逆関数を有する所定の関数(以下、第1関数という)を用いて計算するものであり、
    前記出力データ計算部は、逆関数を有する所定の関数(以下、第2関数という)を用いて計算するものであり、
    第1関数と第2関数は、潜在変数z0を変数xに変換する所定の関数から導出されるものである
    データ変換装置。
  2. 請求項1に記載のデータ変換装置であって、
    前記潜在変数z 0 を変数xに変換する所定の関数は、第1ドメインと第2ドメインの和集合を用いて得られる関数である
    ことを特徴とするデータ変換装置。
  3. 請求項2に記載のデータ変換装置であって、
    前記潜在変数z 0 を変数xに変換する所定の関数は、変換fi(i=1, …, K、Kは1以上の整数、変換fiに対して逆変換fi -1が存在する)を用いて、x=fK(fK-1(…(f1(z0))…))と表される関数(ただし、変換fi(i=1, …, K)のうち、少なくとも1つの変換fi_0(1≦i0≦K)に対して、その逆変換fi_0 -1は適応バッチ正規化である)として、前記和集合のドメインデータを学習データとして学習することにより、得られる関数である
    ことを特徴とするデータ変換装置。
  4. 請求項3に記載のデータ変換装置であって、
    第1関数は、前記和集合に含まれる第1ドメインのドメインデータから算出される統計量を用いて、前記潜在変数z 0 を変数xに変換する所定の関数から導出されるものであり、
    第2関数は、前記和集合に含まれる第2ドメインのドメインデータから算出される統計量を用いて、前記潜在変数z 0 を変数xに変換する所定の関数から導出されるものである
    ことを特徴とするデータ変換装置。
  5. 請求項1ないし4のいずれか1項に記載のデータ変換装置であって、
    第1ドメインは、異常検知対象機器とは異なる1以上の機器から発せられた音の集合であり、
    第2ドメインは、前記異常検知対象機器の音の集合であり、
    前記第1ドメインのドメインデータは、前記異常検知対象機器とは異なる1以上の機器から発せられた異常音である
    ことを特徴とするデータ変換装置。
JP2022063343A 2018-08-10 2022-04-06 データ変換装置 Active JP7322997B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2018151412 2018-08-10
JP2018151412 2018-08-10
JP2018209416 2018-11-07
JP2018209416 2018-11-07
JP2020536385A JP7140194B2 (ja) 2018-08-10 2019-07-04 異常検知装置、確率分布学習装置、自己符号化器学習装置、プログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020536385A Division JP7140194B2 (ja) 2018-08-10 2019-07-04 異常検知装置、確率分布学習装置、自己符号化器学習装置、プログラム

Publications (2)

Publication Number Publication Date
JP2022082713A JP2022082713A (ja) 2022-06-02
JP7322997B2 true JP7322997B2 (ja) 2023-08-08

Family

ID=69415502

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020536385A Active JP7140194B2 (ja) 2018-08-10 2019-07-04 異常検知装置、確率分布学習装置、自己符号化器学習装置、プログラム
JP2022063343A Active JP7322997B2 (ja) 2018-08-10 2022-04-06 データ変換装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020536385A Active JP7140194B2 (ja) 2018-08-10 2019-07-04 異常検知装置、確率分布学習装置、自己符号化器学習装置、プログラム

Country Status (5)

Country Link
US (1) US20210327456A1 (ja)
EP (3) EP4216216A1 (ja)
JP (2) JP7140194B2 (ja)
CN (1) CN112567460A (ja)
WO (1) WO2020031570A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020070916A1 (ja) * 2018-10-02 2020-04-09 日本電信電話株式会社 算出装置、算出方法及び算出プログラム
CA3128957A1 (en) * 2019-03-04 2020-03-03 Bhaskar Bhattacharyya Near real-time detection and classification of machine anomalies using machine learning and artificial intelligence
KR20200108523A (ko) * 2019-03-05 2020-09-21 주식회사 엘렉시 이상 패턴 감지 시스템 및 방법
JPWO2021241576A1 (ja) * 2020-05-29 2021-12-02
JPWO2021241580A1 (ja) * 2020-05-29 2021-12-02
JP7399797B2 (ja) 2020-06-15 2023-12-18 株式会社日立製作所 異常度算出システムおよび方法
US20230366729A1 (en) * 2020-09-24 2023-11-16 Si Synergy Technology Co., Ltd. Trained autoencoder, trained autoencoder generation method, non-stationary vibration detection method, non-stationary vibration detection device, and computer program
CN112767331B (zh) * 2021-01-08 2022-10-04 北京航空航天大学 基于零样本学习的图像异常检测方法
US11443758B2 (en) * 2021-02-09 2022-09-13 International Business Machines Corporation Anomalous sound detection with timbre separation
JP2022190376A (ja) * 2021-06-14 2022-12-26 株式会社日立製作所 異常検知システムおよび方法
CN113762333B (zh) * 2021-07-20 2023-02-28 广东省科学院智能制造研究所 一种基于双流联合密度估计的无监督异常检测方法和系统
JP7103539B1 (ja) 2022-01-17 2022-07-20 富士電機株式会社 運転支援装置、運転支援方法及びプログラム
CN114783417B (zh) * 2022-04-29 2023-03-24 北京远鉴信息技术有限公司 一种语音检测方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196040A (ja) 2004-01-09 2005-07-21 Japan Science & Technology Agency 歪みあり符号方法及び装置、歪みあり符号化プログラム及び記録媒体
WO2017094267A1 (ja) 2015-12-01 2017-06-08 株式会社Preferred Networks 異常検出システム、異常検出方法、異常検出プログラム及び学習済モデル生成方法
WO2017171051A1 (ja) 2016-04-01 2017-10-05 日本電信電話株式会社 異常音検出学習装置、音響特徴量抽出装置、異常音サンプリング装置、これらの方法及びプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3012449B2 (ja) * 1994-01-31 2000-02-21 バブコック日立株式会社 音響信号の識別方法および装置
EP0666542A3 (en) * 1994-02-04 1996-05-15 Fuji Facom Corp Multimedia system for monitoring and controlling processes.
JP4100414B2 (ja) * 2005-04-25 2008-06-11 松下電工株式会社 設備監視方法および設備監視装置
JP5767825B2 (ja) * 2011-02-28 2015-08-19 綜合警備保障株式会社 音処理装置および音処理方法
JP6236282B2 (ja) * 2013-10-21 2017-11-22 株式会社日立ハイテクノロジーズ 異常検出装置、異常検出方法、及びコンピュータ読み取り可能な記憶媒体
JP2015161745A (ja) * 2014-02-26 2015-09-07 株式会社リコー パターン認識システムおよびプログラム
JP2016007800A (ja) 2014-06-25 2016-01-18 株式会社リコー 異常検知システム、電子機器、異常検知方法およびプログラム
US9576583B1 (en) * 2014-12-01 2017-02-21 Cedar Audio Ltd Restoring audio signals with mask and latent variables
US10068445B2 (en) * 2015-06-24 2018-09-04 Google Llc Systems and methods of home-specific sound event detection
CN105244038A (zh) * 2015-09-30 2016-01-13 金陵科技学院 一种基于hmm的选矿设备故障异常音频分析与识别方法
JP6377592B2 (ja) * 2015-11-09 2018-08-22 日本電信電話株式会社 異常音検出装置、異常音検出学習装置、これらの方法及びプログラム
WO2018136915A1 (en) * 2017-01-23 2018-07-26 Nrg Systems, Inc. System and methods of novelty detection using non-parametric machine learning
US11609115B2 (en) * 2017-02-15 2023-03-21 Nippon Telegraph And Telephone Corporation Anomalous sound detection apparatus, degree-of-anomaly calculation apparatus, anomalous sound generation apparatus, anomalous sound detection training apparatus, anomalous signal detection apparatus, anomalous signal detection training apparatus, and methods and programs therefor
CN106941005A (zh) * 2017-02-24 2017-07-11 华南理工大学 一种基于语音声学特征的声带异常检测方法
JP6947219B2 (ja) * 2017-09-06 2021-10-13 日本電信電話株式会社 異常音検知装置、異常モデル学習装置、異常検知装置、異常音検知方法、異常音生成装置、異常データ生成装置、異常音生成方法、およびプログラム
JPWO2019087987A1 (ja) * 2017-11-02 2020-11-12 日本電信電話株式会社 異常検知装置、異常検知方法、及びプログラム
JP6930503B2 (ja) * 2018-07-20 2021-09-01 日本電信電話株式会社 異常検知装置、異常検知方法、およびプログラム
US11475910B2 (en) * 2020-02-11 2022-10-18 Purdue Research Foundation System and methods for machine anomaly detection based on sound spectrogram images and neural networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196040A (ja) 2004-01-09 2005-07-21 Japan Science & Technology Agency 歪みあり符号方法及び装置、歪みあり符号化プログラム及び記録媒体
WO2017094267A1 (ja) 2015-12-01 2017-06-08 株式会社Preferred Networks 異常検出システム、異常検出方法、異常検出プログラム及び学習済モデル生成方法
WO2017171051A1 (ja) 2016-04-01 2017-10-05 日本電信電話株式会社 異常音検出学習装置、音響特徴量抽出装置、異常音サンプリング装置、これらの方法及びプログラム

Also Published As

Publication number Publication date
WO2020031570A1 (ja) 2020-02-13
CN112567460A (zh) 2021-03-26
EP3836142A4 (en) 2022-08-17
EP4216215A1 (en) 2023-07-26
JP2022082713A (ja) 2022-06-02
EP3836142B1 (en) 2024-04-03
JPWO2020031570A1 (ja) 2021-08-26
EP3836142A1 (en) 2021-06-16
EP4216216A1 (en) 2023-07-26
US20210327456A1 (en) 2021-10-21
JP7140194B2 (ja) 2022-09-21

Similar Documents

Publication Publication Date Title
JP7322997B2 (ja) データ変換装置
Rakotomamonjy Direct optimization of the dictionary learning problem
JP7179835B2 (ja) モデル生成装置、モデル生成方法、プログラム
Jia et al. Federated domain adaptation for asr with full self-supervision
Guo et al. Gaussian Mixture Solvers for Diffusion Models
JP6567478B2 (ja) 音源強調学習装置、音源強調装置、音源強調学習方法、プログラム、信号処理学習装置
Sergides et al. Bootstrapping the local periodogram of locally stationary processes
JP7231027B2 (ja) 異常度推定装置、異常度推定方法、プログラム
JP7047665B2 (ja) 学習装置、学習方法及び学習プログラム
WO2021255925A1 (ja) 目的音信号生成装置、目的音信号生成方法、プログラム
Amrane et al. On the use of ensembles of metamodels for estimation of the failure probability
JP2020030373A (ja) 音源強調装置、音源強調学習装置、音源強調方法、プログラム
Alfred Short-term time series modelling forecasting using genetic algorithm
Jiang et al. Renewable Huber estimation method for streaming datasets
Yümlü et al. Bayesian changepoint and time-varying parameter learning in regime switching volatility models
JP7226568B2 (ja) ニューラルネットワーク学習装置、ニューラルネットワーク学習方法、プログラム
JP7163977B2 (ja) 推定装置、学習装置、それらの方法、およびプログラム
US20240112013A1 (en) Generative Models for Discrete Datasets Constrained by a Marginal Distribution Specification
WO2022157862A1 (ja) トラフィック変動予測装置、及びトラフィック変動予測方法、並びにトラフィック変動予測プログラム
WO2023013081A1 (ja) 学習装置、推定装置、学習方法及び学習プログラム
WO2020144853A1 (ja) 学習装置、学習方法および学習プログラム
US11971332B2 (en) Feature extraction apparatus, anomaly score estimation apparatus, methods therefor, and program
US20230409901A1 (en) Systems and methods for time series forecasting
Chi et al. Negative Moment Bounds for Stochastic Regression Models with Deterministic Trends and Their Applications to Prediction Problems
JP2020107199A (ja) ニューラルネットワーク、潜在パラメータ学習装置、潜在パラメータ生成装置、変数変換装置、これらの方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220406

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230117

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230303

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230627

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230710

R150 Certificate of patent or registration of utility model

Ref document number: 7322997

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150