(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024157752
(43)【公開日】2024-11-08
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06F 17/14 20060101AFI20241031BHJP
G06N 3/0475 20230101ALI20241031BHJP
G06N 3/088 20230101ALI20241031BHJP
G06N 3/0895 20230101ALI20241031BHJP
G06N 3/09 20230101ALI20241031BHJP
【FI】
G06F17/14 580
G06N3/0475
G06N3/088
G06N3/0895
G06N3/09
【審査請求】未請求
【請求項の数】25
【出願形態】OL
(21)【出願番号】P 2023072296
(22)【出願日】2023-04-26
(71)【出願人】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】山本 昌治
(72)【発明者】
【氏名】真矢 滋
【テーマコード(参考)】
5B056
【Fターム(参考)】
5B056BB11
5B056BB12
5B056BB95
(57)【要約】
【課題】ウェーブレット変換を用いた信号の解析をより高精度に実行可能とする情報処理装置、情報処理方法およびプログラムを提供する。
【解決手段】情報処理装置は、処理部を備える。処理部は、連続ウェーブレット変換に用いる局所波形を生成するための関数であって、少なくとも一部が機械学習モデルにより表される生成関数を生成する。処理部は、第1入力信号を含む学習データを用いて、生成関数を学習する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
連続ウェーブレット変換に用いる局所波形を生成するための関数であって、少なくとも一部が機械学習モデルにより表される生成関数を生成し、
第1入力信号を含む学習データを用いて、前記生成関数を学習する、
処理部
を備える情報処理装置。
【請求項2】
前記機械学習モデルは、周波数領域で定義されるニューラルネットワークモデルである、
請求項1に記載の情報処理装置。
【請求項3】
前記生成関数は、入力が0のときに0を出力し、入力が無限大に向かうに従い予め定められた閾値以上の速度で出力が0に収束する、
請求項1に記載の情報処理装置。
【請求項4】
前記生成関数は、入力が負のときに0を出力する、
請求項1に記載の情報処理装置。
【請求項5】
前記処理部は、
前記第1入力信号と、前記第1入力信号を入力したときの前記生成関数の出力と、を周波数領域で乗算した値をフーリエ逆変換することにより、前記第1入力信号を連続ウェーブレット変換した第1出力信号を算出し、前記第1出力信号に基づく損失関数の値を最適化することにより、前記生成関数を学習する、
請求項1に記載の情報処理装置。
【請求項6】
前記処理部は、
前記第1出力信号を入力とする汎関数の出力値を含む前記損失関数の値を最適化する、
請求項5に記載の情報処理装置。
【請求項7】
前記処理部は、
教師なし学習により、前記生成関数を学習する、
請求項6に記載の情報処理装置。
【請求項8】
前記汎関数は、前記第1出力信号のエントロピーを前記出力値として出力する、
請求項7に記載の情報処理装置。
【請求項9】
前記汎関数は、前記第1出力信号から推定される入力信号と、前記第1入力信号との差分を示す再構成誤差を前記出力値として出力する、
請求項7に記載の情報処理装置。
【請求項10】
前記処理部は、
正解を示すラベルを含む前記学習データを用いた教師あり学習により、前記生成関数を学習する、
請求項6に記載の情報処理装置。
【請求項11】
前記教師あり学習は、対照学習である、
請求項10に記載の情報処理装置。
【請求項12】
前記汎関数は、前記第1出力信号を前記ラベルに対応する値に集約する集約関数を含む、
請求項10に記載の情報処理装置。
【請求項13】
前記処理部は、
高速フーリエ変換により、前記第1入力信号の周波数領域での値を算出し、
周波数領域での前記第1入力信号と、前記第1入力信号を入力したときの前記生成関数の出力と、を乗算した値をフーリエ逆変換する、
請求項5に記載の情報処理装置。
【請求項14】
前記処理部は、
ハニング窓、ハミング窓、および、ガウス窓を含む窓関数を適用させた前記第1入力信号に対して前記高速フーリエ変換を実行する、
請求項13に記載の情報処理装置。
【請求項15】
前記処理部は、
閾値以下の値である前記第1出力信号を0に変更する、
請求項5に記載の情報処理装置。
【請求項16】
前記処理部は、
学習された前記生成関数に対して、対象の状態を推定するための第2入力信号を入力し、前記第2入力信号を連続ウェーブレット変換した第2出力信号を算出し、
前記第2出力信号を用いて、前記状態を推定する、
請求項1に記載の情報処理装置。
【請求項17】
前記第2入力信号は、前記第1入力信号に対して、サイズおよびサンプリングレートの少なくとも一方が異なる、
請求項16に記載の情報処理装置。
【請求項18】
前記処理部は、
前記第2入力信号の周波数成分に基づいて、連続ウェーブレット変換で用いるスケールを決定する、
請求項16に記載の情報処理装置。
【請求項19】
前記処理部は、
閾値以下の値である前記第2出力信号を0に変更する、
請求項16に記載の情報処理装置。
【請求項20】
前記処理部は、
推定の結果を出力する、
請求項16に記載の情報処理装置。
【請求項21】
前記処理部は、
前記第2出力信号を前記状態に対応する値に集約する集約関数を含む汎関数を用いて、前記状態を推定し、
前記集約関数を示す情報をさらに出力する、
請求項20に記載の情報処理装置。
【請求項22】
前記集約関数は、機械学習により構築される、
請求項21に記載の情報処理装置。
【請求項23】
前記処理部は、
前記生成関数を生成する生成部と、
前記生成関数を学習する学習部と、を備える、
請求項1に記載の情報処理装置。
【請求項24】
情報処理装置で実行される情報処理方法であって、
連続ウェーブレット変換に用いる局所波形を生成するための関数であって、少なくとも一部が機械学習モデルにより表される生成関数を生成する生成ステップと、
第1入力信号を含む学習データを用いて、前記生成関数を学習する学習ステップと、
を含む情報処理方法。
【請求項25】
コンピュータに、
連続ウェーブレット変換に用いる局所波形を生成するための関数であって、少なくとも一部が機械学習モデルにより表される生成関数を生成する生成ステップと、
第1入力信号を含む学習データを用いて、前記生成関数を学習する学習ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
機器の異常検知および耐用年数推定などのような故障予測および保守のために、時系列信号から抽出される特徴量が活用されている。ベアリングのような周期的に動作する機器の場合、時系列の周波数成分と時刻情報に関する特徴量が使用されている。
【0003】
時系列信号の特徴量を求めるためにウェーブレット変換(ウェーブレット解析)を適用する技術が提案されている。ウェーブレット変換には、高速な解析が可能な離散ウェーブレット変換(離散変換)と、解析結果に冗長性を持たせることで時間-周波数解析を高い分解能で実行可能な連続ウェーブレット変換(連続変換)とがある。ウェーブレット変換は、時系列の状態推定を行うための優れた特徴量を与える。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特許第7042315号公報
【特許文献2】特開2004-288144号公報
【特許文献3】特開2004-168286号公報
【非特許文献】
【0005】
【非特許文献1】Gabriel Michaua et al.、“Fully learnable deep wavelet transform for unsupervised monitoring of high-frequency time series”、 PNAS 2022 Vol. 119 No. 8 e2106598119
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、ウェーブレット変換を用いた信号の解析をより高精度に実行可能とする情報処理装置、情報処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
実施形態の情報処理装置は、処理部を備える。処理部は、連続ウェーブレット変換に用いる局所波形を生成するための関数であって、少なくとも一部が機械学習モデルにより表される生成関数を生成する。処理部は、第1入力信号を含む学習データを用いて、生成関数を学習する。
【図面の簡単な説明】
【0008】
【
図1】第1の実施形態の情報処理装置のブロック図。
【
図5】ウェーブレット表現の算出処理のフローチャート。
【
図7】第1の実施形態の推定結果の表示画面の例を示す図。
【
図8】第1の実施形態の推定結果の表示画面の例を示す図。
【
図9】第2の実施形態の情報処理装置のブロック図。
【
図10】第2の実施形態の推定結果の表示画面の例を示す図。
【
図11】第1または第2の実施形態の情報処理装置のハードウェア構成図。
【発明を実施するための形態】
【0009】
以下に添付図面を参照して、この発明にかかる情報処理装置の好適な実施形態を詳細に説明する。
【0010】
周波数解析を行う手法の1つに高速フーリエ変換(Fast Fourier transform:FFT)がある。FFTは、信号に含まれる時間情報をすべて失うために、突発的な現象が生じるような解析には向かない。時間情報を失うFFTの欠点を克服する手法の1つとして、短時間フーリエ変換(Short-Term Fourier transform:STFT)がある。STFTはコンパクトな窓関数を時刻ごとにずらしながら、窓関数内の信号に対してフーリエ変換を行うことで、時間-周波数情報を捉えることができる。しかし、不確定性原理により、時間の精度および周波数の精度はトレードオフの関係にあるため、固定した窓幅を使用するSTFTを用いて複数の周波数領域をカバーした高精度な解析を行うことはできない。
【0011】
ウェーブレット解析は、アナライジングウェーブレットと呼ばれる1つの局所波形を、スケールを変えながら時間相関を調べることで時間-周波数解析を可能にする手法である。ウェーブレット解析は、STFTとは異なり、高周波成分にはスケールを小さくしてズームアップし、低周波成分にはスケールを大きくすることで様々な周波数に対応させることが可能である。
【0012】
ウェーブレット解析に用いる局所波形は、関数形(局所波形を生成するための関数の形)により解析結果が異なる場合がある。離散ウェーブレット変換については、生成される局所波形をデータに合わせるように学習されたニューラルネットワークを用いることにより、より高精度に解析する技術が提案されている。
【0013】
一方、離散ウェーブレット変換は、時間-周波数解像度が低く、僅かな周波数の違いを検知できない。このため、ニューラルネットワークを用いる構成であっても、詳細な周波数情報を必要とする状態推定は依然として困難であった。
【0014】
連続ウェーブレット変換は、メキシカンハットなどの既存の関数が使われているが、ウェーブレットの構成条件が複雑であるため、ニューラルネットワークでタスクに特化した関数を実現することは困難であった。
【0015】
以下の実施形態では、より汎用的に使用できるウェーブレットを用いて連続ウェーブレット変換を実現し、ウェーブレット変換を用いた信号の解析をより高精度に実行可能とする。
【0016】
(第1の実施形態)
第1の実施形態の情報処理装置は、連続ウェーブレット変換に用いる局所波形(アナライジングウェーブレット)を生成するための生成関数を機械学習モデルにより表し、教師なし学習により生成関数を学習する。
【0017】
図1は、第1の実施形態の情報処理装置100の構成の一例を示すブロック図である。
図1に示すように、情報処理装置100は、記憶部151と、表示部152と、受付部101と、出力制御部102と、生成部111と、学習部112と、算出部121と、推定部122と、を備えている。
【0018】
記憶部151は、情報処理装置で用いられる各種情報を記憶する。例えば記憶部151は、学習に用いられる信号、および、解析の対象となる信号を記憶する。
【0019】
図2は、記憶部151に記憶される信号の一例を示す図である。
図2の例では、記憶部151は、信号を識別する識別情報であるidと、各時刻(t
1~t
6など)での信号の値と、を記憶する。なお、
図2は、6個の時刻の信号の値を1つの単位として記憶する例を示す。例えば、記憶部151は、常時出力される時系列信号のうち、定期的にサンプリングされた信号、または、指定された時刻にサンプリングされた信号を単位として記憶してもよい。これにより、信号を記憶するための記憶領域の増加を抑制できる。
図2の信号は一例でありこれに限られない。例えば、6個以外の個数の時刻の信号の値が1つの単位として記憶されてもよい。
【0020】
信号はどのような種類の信号であってもよいが、例えば以下のような信号を用いることができる。以下に示すように、信号は、時系列信号(時系列データ)に限られず、ウェーブレット変換を適用できればどのような種類(形式)のデータであってもよい。
・振動データ、音声データ、操業工程などを表す時系列データ
・画像データ(静止画像、動画像)
【0021】
本実施形態は、例えば以下のような対象の状態の推定に適用できる。
・ベアリングなどの機器を対象とし、機器からセンサ(検知装置)により検知した時系列信号を用いた機器の状態(異常など)の推定
【0022】
信号は、前処理が加えられてもよい。前処理は、例えば信号を独立な成分に分解する独立成分分析、並びに、信号の平均および分散の少なくとも一方を変える変換である。例えば、前処理は、平均が0になるように信号の値をシフトする処理であってもよい。
【0023】
なお、記憶部151は、フラッシュメモリ、メモリカード、RAM(Random Access Memory)、HDD(Hard Disk Drive)、および、光ディスクなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【0024】
表示部152は、情報処理装置で用いられる各種情報を表示するための表示装置であり、例えば、液晶ディスプレイなどにより実現される。
【0025】
受付部101は、情報処理装置で用いられる各種情報の入力を受け付ける。例えば受付部101は、信号の入力を受け付ける。信号は、例えば状態推定の対象となる機器から送信されてもよい。信号は、逐次(リアルタイムに)入力されてもよいし、一定の期間が経過するごとに入力されてもよい。ユーザ等により指定されたときに複数の信号がまとめて入力されてもよい。
【0026】
出力制御部102は、情報処理装置で用いられる各種情報の出力を制御する。例えば出力制御部102は、推定部122による推定結果を表示部152に表示する処理を制御する。
【0027】
生成部111は、連続ウェーブレット変換に用いる局所波形を生成するための生成関数を生成する。局所波形は、例えばアナライジングウェーブレット(マザーウェーブレットとも称される)である。生成関数は、少なくとも一部が機械学習モデルにより表される、フーリエ領域(周波数領域)上の関数である。機械学習モデルは、例えばフーリエ領域で定義されるニューラルネットワークモデル(以下、単にニューラルネットワークという場合がある)である。ニューラルネットワークは、重みおよびバイアスなどのパラメータが学習により更新される。
【0028】
機械学習モデルは、ニューラルネットワークに限られず、パラメータを調整(更新)することにより構築されるモデルであれば、どのようなモデルであってもよい。例えば、機械学習モデルは、パラメータに基づいて複数のウェーブレットを統合したモデルであってもよい。
【0029】
図3は、生成関数の構成例を示す図である。
図3に示すように、生成関数は、ニューラルネットワーク310と、関数320と、を含む。ニューラルネットワーク310は、入力層311、中間層である全結合層312~314、および、出力層315を含む。入力層311は、例えば1次元で表される周波数成分kを入力する。出力層315は、例えば1次元の出力値を出力する。なお、
図3は、生成関数が実関数である場合の例である。生成関数は、複素関数であってもよい。生成関数が複素関数の場合、ニューラルネットワーク310は、1次元の実数で表される周波数成分kを入力し、実部および虚部を含む2次元の出力値を出力してもよい。
【0030】
ニューラルネットワーク310の出力層の出力値と、関数320とを乗算した関数が生成関数330として生成される。生成関数330は、アナライジングウェーブレットとして満たすべき許容条件が満たされる。許容条件は、例えば、関数ψに対して、関数ψのフーリエ領域で表された関数ψ^(ψの上部にハット記号が付された関数)が、以下の(1)式を満たすことである。
【数1】
【0031】
ニューラルネットワークを含む生成関数で、この許容条件を満たす例として、以下の(2)式で表される生成関数が挙げられる。
【数2】
【0032】
g(k)は、一次元の周波数成分kを入力に取り、1次元の出力値を出力するニューラルネットワークを表す。g(k)に乗算される関数kexp(-k
2/2)は、例えば
図2の関数320に相当する。関数320を乗算することにより、生成関数は、原点で0になり、かつ、遠方で十分な速度で0に収束するようになる。言い換えると、生成関数は、入力kが0のときに0を出力し、入力kが無限大に向かうに従い予め定められた閾値以上の速度で出力が0に収束する。関数320は、入力が無限大に向かうに従い生成関数の出力を減衰させる減衰項と解釈することもできる。
【0033】
ニューラルネットワークg(k)は、アフィン変換および活性化関数を含むマルチレイヤ―パーセプトロン、並びに、スキップコネクションを用いた機構を含むニューラルネットワークなどを用いることができる。
【0034】
活性化関数が線形ユニットまたはReLU(Rectified Linear Unit)である場合は、以下の(3)式で表される生成関数が用いられてもよい。
【数3】
【0035】
活性化関数がロジスティックシグモイド関数またはハイパボリックタンジェント関数(tanh関数)である場合は、以下の(4)式で表される生成関数が用いられてもよい。
【数4】
【0036】
(3)式および(4)式のαは、α>0を満たす値である。(3)式および(4)式は、減衰項を指数的減衰から多項式減衰のように弱めた例と解釈することができる。
【0037】
(2)式から(4)式のようにkを含む関数を乗算して生成関数を生成するのは、原点で0になる項を導入するためである。原点で0とするための方法としては、ニューラルネットワークのパラメータからすべてのバイアスを無くして(例えばすべてのバイアスを0とする)活性化関数にReLUまたはtanh関数を使う方法も適用できる。
【0038】
フーリエ領域上の生成関数のサポートを正に限定するために、以下の(5)式で表される生成関数が用いられてもよい。(5)式の生成関数は、入力が負のときに0を出力する関数である。
【数5】
【0039】
(2)式から(5)式のように複数の種類の生成関数のいずれかを適用することができるため、タスク(推定の対象)により特化した(適した)ウェーブレットを構成することが可能となる。
【0040】
学習部112は、生成部111により生成された生成関数を学習する。例えば学習部112は、解析の対象となる入力信号(第1入力信号)を含む学習データを用いて、生成関数を学習する。
【0041】
学習部112は、まず、入力信号f(x)の周波数成分を求める。周波数成分の算出方法は、従来から用いられているどのような方法であってもよい。例えば、高速フーリエ変換、Blackman-Turkey法、および、最大エントロピー法などが適用できる。また高速フーリエ変換で周波数成分を取り出すとき、余分なスペクトルが含まれないように、学習部112は、ハニング窓、ハミング窓、および、ガウス窓などの、スペクトル分析で使われる窓関数を予め信号に適用させてもよい。
【0042】
学習部112は、周波数成分kと、生成関数と、を用いて、連続ウェーブレット表現Twavfを算出する。
【0043】
学習部112は、以下の(6)式に示すように、フーリエ領域上での周波数成分kと生成関数との積(乗算)を算出し、算出した積を逆フーリエ変換した信号(第1出力信号)を、連続ウェーブレット表現T
wavfとして算出する。例えば、F[f(x)](k)が、フーリエ領域上の周波数成分kに相当し、ψ^(ak)にバーが付された項がフーリエ領域上の生成関数に相当する。なおバーは、複素共役を表す。FおよびF
-1は、フーリエ変換およびフーリエ逆変換を表す。aはスケール、bは時刻を表す。
【数6】
【0044】
学習部112は、連続ウェーブレット表現Twavfに基づく損失関数の値を最適化することにより、生成関数を学習する。本実施形態では、学習部112は、教師なし学習により生成関数を学習する。
【0045】
まず学習部112は、連続ウェーブレット表現Twavfから特徴量を算出する。特徴量は、パラメータを更新するときに微分可能となるように実数として算出される。特徴量は、連続ウェーブレット表現Twavfを入力とする汎関数により算出される。汎関数は、例えば、以下の関数である。
・連続ウェーブレット表現Twavfのエントロピーを出力値として出力する関数
・連続ウェーブレット表現Twavfから推定される入力信号と、連続ウェーブレット表現Twavfの算出に用いられた入力信号との差分を示す再構成誤差を出力値として出力する関数
【0046】
汎関数は、例えば、推定の対象(タスク)に応じて決定することができる。これにより、ウェーブレット変換を用いた信号の解析をより高精度に実行可能となる。
【0047】
上記のように、特徴量は、例えば、エントロピーまたは再構成誤差である。エントロピーは、例えば以下の(7)式により算出される。(7)式内のp(a,b)は、連続ウェーブレット表現の絶対値|T
wavf(a,b)|を規格化した値であり、例えば以下の(8)式で表される。
【数7】
【数8】
【0048】
再構成誤差は、例えば以下の(9)式により算出される。
【数9】
【0049】
||・||は、ノルムを表す。ノルムは、例えば、L1ノルム、および、L2ノルムなどのどのようなノルムであってもよい。f
recは、再構成された信号を表し、以下の手順で算出される。
・連続ウェーブレット表現T
ψ1
wavf(a,b)を得るために使用したウェーブレットψ
1とは別に、(フーリエ領域ではなく)時間領域で定義され、以下の(10)式で表される条件を満たす関数ψ
2を用意する。なお、関数ψ
2は、既存の関数であってもよいし、ニューラルネットワークで構築されてもよい。
【数10】
・ψ
2を用いて以下の(11)式により、f
recを算出する。なお、学習部112は、連続ウェーブレット表現T
ψ1
wavf(a,b)の値が閾値以下の場合、値を0に変更するなどの処理を行ってもよい。これにより、信号の僅かな変動に対して学習をロバストにすることができる。
【数11】
【0050】
学習部112は、算出した特徴量と、正則化項と、を含む損失関数を求める。正則化項は、例えば生成関数の正則化項である。生成関数を関数ψで表したときの正則化項は、例えば以下の(12)~(14)式により算出される。(12)式、(13)式および(14)式は、それぞれ関数ψのL1ノルム、関数ψのL2ノルム、および、関数ψのL∞ノルムである。
【数12】
【数13】
【数14】
【0051】
なお、関数ψは、点(x1,・・・,xN)における値が求められているものとする。また、Δxnは、各点の間の幅を表す。
【0052】
学習部112は、損失関数の値を減少させるように生成関数のパラメータを更新する。更新方法は、従来から用いられているどのような方法であってもよいが、例えば、誤差逆伝搬法を用いることができる。誤差逆伝搬法では、損失関数のパラメータに対する勾配が求められ、勾配方向にパラメータの値が更新される。パラメータ更新時の最適化手法は、確率的勾配降下法、RMSProp、および、ADAMなどの従来から用いられているどのような最適化手法であってもよい。
【0053】
学習された生成関数は、以降、対象の状態を推定するために新たに入力される入力信号(第2入力信号)を用いた推定に使用することができる。推定は、主に以下の算出部121および推定部122により実行される。また、推定で用いる設定値などがユーザ等により指定されてもよい。
【0054】
例えば受付部101は、推定に用いる入力信号のほかに、連続ウェーブレット変換を行うスケールの範囲および分解能を示す情報の入力を受け付けてもよい。なお、推定に用いる入力信号は、学習時に用いられた入力信号に対して、サイズ(時系列長)およびサンプリングレートの少なくとも一方が異なっていてもよい。また、例えば入力信号が長期にわたる時系列信号である場合、短い時系列信号に区切って使用されてもよい。
【0055】
算出部121は、学習された生成関数に対して入力信号を入力し、入力された入力信号を連続ウェーブレット変換した出力信号(第2出力信号)を算出する。算出部121は、学習部112と同様に、例えば上記の(6)式により、連続ウェーブレット表現Twavfを算出する。
【0056】
受付部101によりスケールの範囲および分解能を示す情報が受け付けられている場合、算出部121は、これらの情報に従いスケールaを決定し、連続ウェーブレット表現Twavfを算出する。算出部121は、スケールの範囲および分解能を、適用する信号の周波数成分の大きさを元に決定してもよい。例えば算出部121は、高周波になるほど分解能を高くしてもよい。
【0057】
算出部121は、学習部112と同様に、連続ウェーブレット表現Twavf(a,b)の値が閾値以下の場合、値を0に変更するなどの処理を行ってもよい。これにより、信号の僅かな変動に対して推定をロバストにすることができる。
【0058】
推定部122は、算出部121により算出された出力信号(連続ウェーブレット表現)を用いて、対象の状態を推定する。例えば推定部122は、入力信号の適合度を算出し、適合度と閾値(状態判定のための閾値)との比較結果により、対象の状態を推定する。
【0059】
適合度は、例えば、入力信号と、生成関数により生成される局所波形(アナライジングウェーブレット)と、が適合する度合いを表す。適合度は、例えば、連続ウェーブレット表現TwavfのエントロピーをHとしたときにExp(-H)により算出される。適合度は、0以上1以下の値となるように規格化されてもよい。
【0060】
推定部122は、例えば、適合度が閾値より小さい場合、対象が異常な状態であると推定し、適合度が閾値以上である場合、対象が正常な状態であると推定する。
【0061】
上記のように、出力制御部102は、推定部122による推定結果を表示部152に表示する。出力制御部102による推定結果の出力例は後述する。
【0062】
上記各部(受付部101、出力制御部102、生成部111、学習部112、算出部121、および、推定部122)の少なくとも一部は、1つの処理部により実現されてもよい。上記各部は、例えば、1または複数のプロセッサにより実現される。例えば上記各部は、CPU(Central Processing Unit)およびGPU(Graphics Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2つ以上を実現してもよい。
【0063】
また情報処理装置100は、物理的に1つの装置によって構成されてもよいし、物理的に複数の装置によって構成されてもよい。例えば情報処理装置100は、クラウド環境上で構築されてもよい。また、情報処理装置100内の各部は、複数の装置に分散して備えられてもよい。例えば、学習に必要な機能(生成部111、学習部112など)を備える装置(例えば、学習装置)と、推定に必要な機能(算出部121、推定部122など)を備える装置(例えば、推定装置)と、を備えるように情報処理装置100(情報処理システム)を構成してもよい。
【0064】
次に、第1の実施形態の情報処理装置100による生成関数の学習処理について説明する。
図4は、第1の実施形態における学習処理の一例を示すフローチャートである。
【0065】
学習部112は、学習用の入力信号と、生成関数と、を取得する(ステップS101)。入力信号は、例えば、受付部101により受け付けられ、記憶部151に記憶された入力信号である。生成関数は、生成部111により生成される。
【0066】
学習部112は、入力信号の周波数成分を算出する(ステップS102)。例えば学習部112は、高速フーリエ変換、Blackman-Turkey法、および、最大エントロピー法などにより、入力信号の周波数成分を算出する。
【0067】
学習部112は、算出した周波数成分と、取得した生成関数とを用いて、連続ウェーブレット表現Twavfを算出する(ステップS103)。ステップS103のウェーブレット表現の算出処理の詳細は後述する。
【0068】
学習部112は、算出した連続ウェーブレット表現Twavfを用いて、損失関数の値を算出する(ステップS104)。例えば学習部112は、連続ウェーブレット表現Twavfを用いて算出されるエントロピーまたは再構成誤差などの特徴量と、生成関数のノルムなどである正則化項と、を含む損失関数の値を算出する。
【0069】
学習部112は、損失関数の値を最適化するように生成関数のパラメータを更新する(ステップS105)。例えば学習部112は、損失関数の値が減少するように、生成関数のパラメータを更新する。
【0070】
学習部112は、学習を終了するか否かを判定する(ステップS106)。学習の終了の判定方法はどのような方法でもよいが、例えば、損失関数の値の変化が閾値(値の変化の閾値)以下となった場合に終了と判定する方法を適用できる。
【0071】
学習を終了しないと判定された場合(ステップS106:No)、ステップS103に戻り処理が繰り返される。繰り返しでは、同じ入力信号が用いられてもよいし、異なる入力信号が用いられてもよい。
【0072】
学習を終了すると判定された場合(ステップS106:Yes)、学習部112は、学習された生成関数を出力し(ステップS107)、学習処理を終了する。
【0073】
次に、ステップS103のウェーブレット表現の算出処理の詳細について説明する。
図5は、ウェーブレット表現の算出処理の一例を示すフローチャートである。
【0074】
学習部112は、スケールを決定する(ステップS201)。例えば学習部112は、予め定められた複数のスケールaのうちいずれか1つを決定する。
【0075】
学習部112は、決定したスケールaで生成関数を変換する(ステップS202)。例えば学習部112は、スケールaを乗算した入力信号を入力とするように生成関数を変換する。
【0076】
学習部112は、入力信号の周波数成分ごとに、スケールを変換した生成関数と、入力信号の周波数成分との積を算出する(ステップS203)。学習部112は、算出した積に対してフーリエ逆変換を実行する(ステップS204)。これにより、決定されたスケールaを用いて(6)式のように連続ウェーブレット表現Twavfが算出される。
【0077】
学習部112は、すべてのスケールを処理したか否かを判定する(ステップS205)。すべてのスケールを処理していない場合(ステップS205:No)、学習部112は、ステップS201に戻って次のスケールを決定し、処理を繰り返す。
【0078】
すべてのスケールを処理した場合(ステップS205:Yes)、学習部112は、指定されたすべてのスケールについて計算された連続ウェーブレット変換を出力し(ステップS206)、ウェーブレット表現の算出処理を終了する。
【0079】
次に、第1の実施形態の情報処理装置100による推定処理について説明する。
図6は、第1の実施形態における推定処理の一例を示すフローチャートである。
【0080】
算出部121は、推定用の入力信号と、スケールのリストと、生成関数と、を取得する(ステップS301)。入力信号は、例えば、受付部101により受け付けられる。生成関数は、学習処理により学習された生成関数である。スケールのリストは、推定のために用いる複数のスケールを指定した情報である。スケールのリストは、ユーザ等により指定され受付部101により受け付けられてもよい。上記のように、算出部121は、適用する信号の周波数成分の大きさを元にスケールの範囲および分解能を決定し、スケールのリストを作成してもよい。
【0081】
算出部121は、入力信号の周波数成分を算出する(ステップS202)。例えば算出部121は、高速フーリエ変換、Blackman-Turkey法、および、最大エントロピー法などにより、入力信号の周波数成分を算出する。
【0082】
算出部121は、算出した周波数成分と、取得した生成関数とを用いて、連続ウェーブレット表現T
wavfを算出する(ステップS303)。算出部121は、
図5と同様の手順により、連続ウェーブレット表現T
wavfを算出することができる。なお、ウェーブレット表現の算出処理を実行する機能を、学習部112と算出部121とが共有するように構成されてもよい。
【0083】
推定部122は、算出部121により算出された出力信号(連続ウェーブレット表現)を用いて、対象の状態を推定する(ステップS304)。例えば推定部122は、連続ウェーブレット表現から算出される適合度と閾値とを比較し、比較結果により対象の状態を推定する。
【0084】
出力制御部102は、推定部122による推定結果を例えば表示部152に表示し(ステップS305)、推定処理を終了する。
【0085】
図7および
図8は、表示部152に表示される推定結果の表示画面の例を示す図である。
図7は、正常であると判定されたときの推定結果を含む表示画面700の例である。
図7に示すように、表示画面700は、ウェーブレット表現701と、適合度表示欄702と、を含む。
【0086】
ウェーブレット表現701は、横軸および縦軸をそれぞれ時間および周波数とした2次元座標により表される。なお、ウェーブレット表現701は、例えば、連続ウェーブレット表現T
wavfから算出される特徴量などの実数値(
図7では0~0.8の値)である。
【0087】
図7の例で対象とする入力信号は、例えば状態が正常である場合、低周波に対応するウェーブレット表現と、高周波に対応するウェーブレット表現と、を含むものとする。
図7のウェーブレット表現711および712は、このような低周波および高周波のウェーブレット表現に相当する。すなわち、
図7は、状態が正常である場合のウェーブレット表現に、より適合するウェーブレット表現が得られた例を示す。
【0088】
状態判定のための閾値を0.5とした場合、
図7の例では、対象となる入力信号(対象データ)の適合度が0.85であるため、推定部122は、状態は正常であると推定する。
【0089】
図8は、異常であると判定されたときの推定結果を含む表示画面800の例である。
図8に示すように、表示画面800は、ウェーブレット表現801と、適合度表示欄802と、を含む。
図8の例では、ウェーブレット表現801は、
図7のウェーブレット表現701とは異なり、様々な周波数に対応するウェーブレット表現を含んでいる。すなわち、
図8は、状態が正常である場合のウェーブレット表現に適合しないウェーブレット表現が得られた例を示す。
【0090】
状態判定のための閾値を0.5とした場合、
図8の例では、対象となる入力信号(対象データ)の適合度が0.4であるため、推定部122は、状態は異常であると推定する。
【0091】
出力制御部102は、推定結果に相当する適合度表示欄702(
図7)、802(
図8)のみを表示してもよいし、
図7および
図8のように、ウェーブレット表現701、801も併せて表示してもよい。ウェーブレット表現を表示することにより、推定結果の根拠を可視化することができる。
【0092】
また、得られたウェーブレット表現は、SVM(サポートベクターマシン)などのAI(Artificial Intelligence)モデルの入力に使用されてもよい。また、得られたウェーブレット表現は、元の信号に復元することでデノイジング処理などに活用されてもよい。
【0093】
このように、第1の実施形態の情報処理装置では、連続ウェーブレット変換に用いる局所波形を生成するための生成関数を機械学習モデルにより表し、教師なし学習により生成関数を学習する。このため、例えば既存のウェーブレットを用いることなく、タスクに特化したウェーブレットを構成することができる。これにより、ウェーブレット変換を用いた信号の解析をより高精度に実行可能となる。
【0094】
(第2の実施形態)
第2の実施形態の情報処理装置は、教師あり学習により生成関数を学習する。以下では、入力信号が複数のラベル(クラス)のいずれに対応するかを分類する分類タスクに用いることができる生成関数を学習する例を説明する。適用可能なタスクはこれに限られず、例えば回帰タスクなどにも適用できる。
【0095】
図9は、第2の実施形態の情報処理装置100-2の構成の一例を示すブロック図である。
図9に示すように、情報処理装置100-2は、記憶部151-2と、表示部152と、受付部101と、出力制御部102と、生成部111と、学習部112-2と、算出部121と、推定部122-2と、を備えている。
【0096】
第2の実施形態では、記憶部151-2、学習部112-2、および、推定部122-2の機能が第1の実施形態と異なっている。その他の構成および機能は、第1の実施形態の情報処理装置100のブロック図である
図1と同様であるので、同一符号を付し、ここでの説明は省略する。
【0097】
記憶部151-2は、教師あり学習で用いるための、正解を示すラベルを含む学習データを記憶する点が、第1の実施形態の記憶部151と異なっている。学習データは、例えば、入力信号と、複数のラベルのうち入力信号が分類されるラベルと、を対応づけたデータである。
【0098】
学習部112-2は、正解を示すラベルを含む学習データを用いた教師あり学習により、生成関数を学習する。学習部112-2は、連続ウェーブレット表現からタスクに応じた予測値に変換するための汎関数を用いる。学習部112-2は、例えば以下の(15)式で表される汎関数Ψを用意する。
【数15】
【0099】
(15)式の汎関数Ψは、連続ウェーブレット表現から実数へ変換する関数であり、連続ウェーブレット表現と集約関数Φとの内積に相当する項を含む。集約関数Φは、連続ウェーブレット表現を、複数のラベルのうちいずれかに対応する値に集約する関数として予め定められる。集約関数Φは、分類される複数のラベルそれぞれに対応して複数定められる。なお集約関数Φは、予め決められた関数でもよいし、ニューラルネットワークなどの機械学習モデルとして構成し、事前に、または、生成関数と同時に、機械学習により構築されてもよい。
【0100】
学習部112-2は、分類タスクの場合、例えば以下の(16)式で表されるソフトマックスクロスエントロピーを損失関数として用いて学習を行う。なお、以下では、学習データに含まれる信号およびラベルは、それぞれf
iおよびy
i(iは、1以上N以下の整数、Nは2以上の整数)と表す。
【数16】
【0101】
分類タスクで分類するラベルがL個(Lは2以上の整数)とすると、汎関数Ψ
1,・・・Ψ
Lは、それぞれL個のラベルのいずれかに対応する。また、各ラベルは、ワンホットベクトル化されたベクトルy
iにより表される。(16)式内のp
iは、例えば以下の(17)式で表される。(17)式内のsoftmaxは、例えば以下の(18)式で表される。
【数17】
【数18】
【0102】
なお、分類タスクで用いることができる損失関数は上記のソフトマックスクロスエントロピーに限られず、従来から用いられているどのような損失関数であってもよい。
【0103】
学習部112-2は、回帰タスクの場合、例えば以下の(19)式で表される二乗誤差を損失関数として用いて学習を行う。
【数19】
【0104】
学習部112-2は、生成関数と集約関数との両方をまとめて学習してもよいし、教師なし学習の手法も用いて片方ずつ学習してもよい。
【0105】
学習部112-2は、対照学習により教師あり学習を実行してもよい。対照学習では、異なるラベルに属する信号の連続ウェーブレット表現を遠ざけるように学習が行われる。対照学習では、例えば以下の(20)式で表される対照損失E(f
i、f
j)、または、(21)式で表される対照損失E(f、f
+、f
-)が、損失関数として用いられる。
【数20】
【数21】
【0106】
mは正のハイパーパラメータである。(21)式のfは基準となる信号、f+はfと同じクラスに属する信号、f-はfと異なるクラスに属する信号を表す。
【0107】
推定部122-2は、集約関数を含む汎関数を用いて状態を推定する点が、第1の実施形態の推定部122と異なっている。例えば推定部122-2は、各ラベルに対応する集約関数を含む、各ラベルに対応する汎関数の値を算出し、算出した値を用いて、各ラベルの確率(分類確率)を、推定結果として算出する。確率は、例えば、入力信号が各ラベルに対応する信頼度を表す。確率は、各ラベルに対する確率の総和が1となるように算出されてもよい。
【0108】
なお、学習処理(
図4)、ウェーブレット表現の算出処理(
図5)、および、推定処理(
図6)の全体の流れは、第1の実施形態と同様であるため説明を省略する。本実施形態では、例えば損失関数を用いたパラメータの更新(
図4、ステップS105)、および、ウェーブレット表現を用いた推定(
図6、ステップS304)の具体的な処理が第1の実施形態と異なる。
【0109】
図10は、本実施形態の表示画面1000の例を示す図である。本実施形態の表示画面1000は、例えば、ウェーブレット表現1001と、推定結果を表す確率表示欄1002と、を含む。ウェーブレット表現1001は、各ラベルに対応する周波数ごとに分けて表示されてもよい。
図10では、3つのラベル1~3に対応する3つの集約関数1011~1013と、3つのウェーブレット表現1021~1023と、が例示されている。
【0110】
このように、出力制御部102は、集約関数を示す情報をさらに出力してもよい。集約関数を表示することにより、推定結果の根拠を可視化することができる。
【0111】
出力制御部102は、例えば表示画面1000上でラベルが指定されたとき、指定されたラベルに対応する集約関数およびウェーブレット表現を表示してもよい。
図10の例では、表示画面1000でラベル1が指定されたとき、出力制御部102は、集約関数1011とウェーブレット表現1021とを表示してもよい。
【0112】
指定されたラベルに対応する情報は、表示画面1000とともに表示されてもよいし、表示画面とは別の画面として表示されてもよい。出力制御部102は、すべてのラベルに対する集約関数およびウェーブレット表現を含む表示画面を表示してもよい。
【0113】
このように、第2の実施形態の情報処理装置では、教師あり学習により生成関数を学習する場合にも、第1の実施形態と同様に、タスクに特化したウェーブレットを構成することができる。
【0114】
以上説明したとおり、第1から第2の実施形態によれば、ウェーブレット変換を用いた信号の解析をより高精度に実行可能となる。
【0115】
次に、第1または第2の実施形態の情報処理装置のハードウェア構成について
図11を用いて説明する。
図11は、第1または第2の実施形態の情報処理装置のハードウェア構成例を示す説明図である。
【0116】
第1または第2の実施形態の情報処理装置は、CPU51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、各部を接続するバス61を備えている。
【0117】
第1または第2の実施形態の情報処理装置で実行されるプログラムは、ROM52等に予め組み込まれて提供される。
【0118】
第1または第2の実施形態の情報処理装置で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD-R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【0119】
さらに、第1または第2の実施形態の情報処理装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1または第2の実施形態の情報処理装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【0120】
第1または第2の実施形態の情報処理装置で実行されるプログラムは、コンピュータを上述した情報処理装置の各部として機能させうる。このコンピュータは、CPU51がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【0121】
実施形態の構成例について以下に記載する。
(構成例1)
連続ウェーブレット変換に用いる局所波形を生成するための関数であって、少なくとも一部が機械学習モデルにより表される生成関数を生成し、
第1入力信号を含む学習データを用いて、前記生成関数を学習する、
処理部
を備える情報処理装置。
(構成例2)
前記機械学習モデルは、周波数領域で定義されるニューラルネットワークモデルである、
構成例1に記載の情報処理装置。
(構成例3)
前記生成関数は、入力が0のときに0を出力し、入力が無限大に向かうに従い予め定められた閾値以上の速度で出力が0に収束する、
構成例1または2に記載の情報処理装置。
(構成例4)
前記生成関数は、入力が負のときに0を出力する、
構成例1から3のいずれか1つに記載の情報処理装置。
(構成例5)
前記処理部は、
前記第1入力信号と、前記第1入力信号を入力したときの前記生成関数の出力と、を周波数領域で乗算した値をフーリエ逆変換することにより、前記第1入力信号を連続ウェーブレット変換した第1出力信号を算出し、前記第1出力信号に基づく損失関数の値を最適化することにより、前記生成関数を学習する、
構成例1から4のいずれか1つに記載の情報処理装置。
(構成例6)
前記処理部は、
前記第1出力信号を入力とする汎関数の出力値を含む前記損失関数の値を最適化する、
構成例5に記載の情報処理装置。
(構成例7)
前記処理部は、
教師なし学習により、前記生成関数を学習する、
構成例6に記載の情報処理装置。
(構成例8)
前記汎関数は、前記第1出力信号のエントロピーを前記出力値として出力する、
構成例7に記載の情報処理装置。
(構成例9)
前記汎関数は、前記第1出力信号から推定される入力信号と、前記第1入力信号との差分を示す再構成誤差を前記出力値として出力する、
構成例7に記載の情報処理装置。
(構成例10)
前記処理部は、
正解を示すラベルを含む前記学習データを用いた教師あり学習により、前記生成関数を学習する、
構成例6に記載の情報処理装置。
(構成例11)
前記教師あり学習は、対照学習である、
構成例10に記載の情報処理装置。
(構成例12)
前記汎関数は、前記第1出力信号を前記ラベルに対応する値に集約する集約関数を含む、
構成例10に記載の情報処理装置。
(構成例13)
前記処理部は、
高速フーリエ変換により、前記第1入力信号の周波数領域での値を算出し、
周波数領域での前記第1入力信号と、前記第1入力信号を入力したときの前記生成関数の出力と、を乗算した値をフーリエ逆変換する、
構成例5に記載の情報処理装置。
(構成例14)
前記処理部は、
ハニング窓、ハミング窓、および、ガウス窓を含む窓関数を適用させた前記第1入力信号に対して前記高速フーリエ変換を実行する、
構成例13に記載の情報処理装置。
(構成例15)
前記処理部は、
閾値以下の値である前記第1出力信号を0に変更する、
構成例5に記載の情報処理装置。
(構成例16)
前記処理部は、
学習された前記生成関数に対して、対象の状態を推定するための第2入力信号を入力し、前記第2入力信号を連続ウェーブレット変換した第2出力信号を算出し、
前記第2出力信号を用いて、前記状態を推定する、
構成例1から15のいずれか1つに記載の情報処理装置。
(構成例17)
前記第2入力信号は、前記第1入力信号に対して、サイズおよびサンプリングレートの少なくとも一方が異なる、
構成例16に記載の情報処理装置。
(構成例18)
前記処理部は、
前記第2入力信号の周波数成分に基づいて、連続ウェーブレット変換で用いるスケールを決定する、
構成例16に記載の情報処理装置。
(構成例19)
前記処理部は、
閾値以下の値である前記第2出力信号を0に変更する、
構成例16に記載の情報処理装置。
(構成例20)
前記処理部は、
推定の結果を出力する、
構成例16に記載の情報処理装置。
(構成例21)
前記処理部は、
前記第2出力信号を前記状態に対応する値に集約する集約関数を含む汎関数を用いて、前記状態を推定し、
前記集約関数を示す情報をさらに出力する、
構成例20に記載の情報処理装置。
(構成例22)
前記集約関数は、機械学習により構築される、
構成例21に記載の情報処理装置。
(構成例23)
前記処理部は、
前記生成関数を生成する生成部と、
前記生成関数を学習する学習部と、を備える、
構成例1から22のいずれか1つに記載の情報処理装置。
(構成例24)
情報処理装置で実行される情報処理方法であって、
連続ウェーブレット変換に用いる局所波形を生成するための関数であって、少なくとも一部が機械学習モデルにより表される生成関数を生成する生成ステップと、
第1入力信号を含む学習データを用いて、前記生成関数を学習する学習ステップと、
を含む情報処理方法。
(構成例25)
コンピュータに、
連続ウェーブレット変換に用いる局所波形を生成するための関数であって、少なくとも一部が機械学習モデルにより表される生成関数を生成する生成ステップと、
第1入力信号を含む学習データを用いて、前記生成関数を学習する学習ステップと、
を実行させるためのプログラム。
【0122】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0123】
100、100-2 情報処理装置
101 受付部
102 出力制御部
111 生成部
112、112-2 学習部
121 算出部
122、122-2 推定部
151、151-2 記憶部
152 表示部
310 ニューラルネットワーク
320 関数
330 生成関数