ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ウェーブレット時間散乱

ウェーブレット時間散乱フレームワークでは、最小の構成で、実数値時系列データから低分散の特徴を導出し、機械学習および深層学習アプリケーションで使用できます。これらの特徴は定義した不変スケールでの入力の平行移動に影響を受けず、変形に関して連続です。特徴抽出の場合、フレームワークは事前定義されたウェーブレットとローパス スケーリング フィルターを使用します。

Mallat は、Bruna および Andén と共に、畳み込みニューラル アーキテクチャを研究するための数学的枠組みを作成した先駆者です[2][3][4][5]。Andén と Lostanlen は 1 次元信号のウェーブレット散乱の効率的なアルゴリズムを開発しました[4] [6]。Mallat は他の人たちと、データから有用な特徴を抽出するために深層学習アーキテクチャが持つ次の 3 つの性質を特徴付けました。

  • マルチスケール縮小

  • 階層的対称性の線形化

  • スパース表現

ウェーブレット散乱フレームワークはこれらすべての性質を示しています。ウェーブレット変換では、異なるスケールの変動を分離して膨張などの小さな変形を線形化します。多くの自然信号で、ウェーブレット変換はスパース表現も提供します。ウェーブレット変換を、以下で説明する散乱フレームワークの他の特徴と組み合わせることで、散乱変換は、クラス "内" の差を最小化する信号表現を生成し、一方でクラス "間" の判別性は維持します。散乱変換フレームワークと深層学習フレームワークの重要な違いは、フィルターが事前に定義されているか、学習するかです。散乱変換ではフィルター応答を学習する必要がないため、学習データが不足している場合に散乱を使用して成功することがよくあります。

ウェーブレット時間散乱フレームワーク

ウェーブレット時間散乱フレームワークはデータを段階的に処理します。1 つの段階の出力が次の段階の入力になります。各段階は 3 つの操作で構成されています。

ゼロ次散乱係数は入力の単純平均で算出されます。以下はウェーブレット時間散乱フレームワークのツリー ビューです。

{ψj,k} はウェーブレット、ϕJ はスケーリング関数、および f は入力データです。根からノードまでのエッジのシーケンスは "パス" を表します。ツリー ノードはスカログラム係数です。散乱係数は、スケーリング関数 ϕJ で畳み込まれたスカログラム係数です。散乱係数のセットはデータから派生した低分散の特徴です。スケーリング関数での畳み込みはローパス フィルター処理で、情報は失われます。ただし、次の段階で係数を計算すると情報が復元されます。

データから特徴を抽出するには、最初に waveletScattering を使用してフレームワークを作成および設定します。設定するパラメーターには、不変スケールのサイズ、フィルター バンクの数、各フィルター バンクのオクターブあたりのウェーブレットの数が含まれます。次に、scatteringTransform または featureMatrix を使用して、フレームワークをデータに適用し、特徴を導出します。

散乱変換は、特徴を反復方式で生成します。最初に、スケーリング関数で時系列を畳み込みます。結果の fϕJ は、ゼロ次散乱係数 S[0] になります。次に、以下のように処理します。

  1. 最初のフィルター バンクの各ウェーブレット フィルターを使用して、入力時系列のウェーブレット変換を実行します。

  2. フィルタリングされた各出力の絶対値を取得します。ノードはスカログラム U[1] です。

  3. スケーリング フィルターで各絶対値を平均化します。結果は、1 次散乱係数 S[1] になります。

すべてのノードでこのプロセスを繰り返します。

関数 scatteringTransform は、散乱係数を返します。オプションで、scatteringTransform はスカログラム係数も返します。関数 featureMatrix は、時系列の散乱係数を行列として返します。featureMatrix の入力が行列として配置された複数の時系列の場合、散乱係数は 3 次元配列として返されます。どちらの出力も、Wavelet Time Scattering for ECG Signal Classificationに示されているように、学習アルゴリズムによって簡単に消費可能にすることができます。

不変スケール

スケーリング フィルターは、ウェーブレット時間散乱フレームワークで重要な役割を果たします。スカログラムでは、スケーリング フィルターにはよくても些末な役割しかありません。散乱フレームワークでは、スケーリング関数のサポートによって、平均的な区間の長さが決まります。散乱フレームワークは、スケーリング フィルターの適用により不変性を提供します。

ウェーブレット散乱フレームワークを作成するときに、不変スケールを指定します。不変スケールは持続時間です。フレームワークは不変スケールまでの平行移動に対して不変です。スケーリング関数の時間サポートは、不変のサイズを超えません。このプロットは、2 秒の不変スケールと 100 Hz のサンプリング周波数を使用するフレームワーク内のスケーリング関数の時間サポートを示しています。スケーリング関数の時間サポートは 2 秒を超えていないことに注意してください。また、最初のフィルター バンクからの最も粗いスケールのウェーブレットについて、実数部と虚数部も示されています。ウェーブレットの時間サポートは 2 秒を超えていないことにも注意してください。

不変スケールはフィルター バンクのウェーブレットの中心周波数の間隔にも影響します。通常、ウェーブレット変換では、中心周波数は対数的に等間隔で、ウェーブレットの帯域幅は中心周波数で小さくなります。

ただし、散乱フレームワークでは、ウェーブレットの時間サポートは不変スケールを超えることはできません。この性質は、最も粗いスケール ウェーブレット プロットに示されます。不変スケールより低い周波数は、スケールに対して線形に等間隔であるため、不変のサイズは超えません。次のプロットは、散乱フレームワーク内の最初のフィルター バンクにおけるウェーブレットの中心周波数を示しています。中心周波数は、線形および対数スケールでプロットされます。高い中心周波数の対数間隔と低い中心周波数の線形間隔に注目してください。

品質係数とフィルター バンク

ウェーブレット時間散乱フレームワークを作成する場合、不変スケールに加え、散乱フィルター バンクの品質係数も設定します。各フィルター バンクの品質係数は、オクターブあたりのウェーブレット フィルターの数です。ウェーブレット変換は、指定された数のウェーブレット フィルターを使用してスケールを離散化します。散乱フレームワークのフィルター バンクごとに、品質係数が異なります。既定で、waveletScattering は 2 つのフィルター バンクを含むフレームワークを作成します。最初のフィルター バンクの品質係数はオクターブあたり 8 つのウェーブレット (または音)、2 つ目のフィルター バンクの品質係数はオクターブあたり 1 つのウェーブレットです。

このプロットは、1 秒の不変スケールと 200 Hz のサンプリング周波数を使用する散乱フレームワークの 2 つのフィルター バンクにおけるウェーブレット フィルターを示しています。

実践

ウェーブレットを正しく選択すると、散乱変換は膨張しません。フレームワークを反復するときにエネルギーが分散されます。次数 m が大きくなると、m 次のスカログラム係数と散乱係数は急速に 0 に収束します [3]。エネルギーの分散には、実用的な利点があります。信号エネルギーの損失を最小に抑えて、フレームワーク内のウェーブレット フィルター バンクの数を制限できます。公開される結果には、3 次散乱係数のエネルギーが 1% 未満になる可能性があることが示されます。ほとんどのアプリケーションでは、2 つのウェーブレット フィルター バンクが含まれる 1 つのフレームワークで十分です。

次は、ウェーブレット時間散乱フレームワークのツリー ビューについて考えます。最初のフィルター バンクに M 個のウェーブレットがあり、2 つ目のフィルター バンクに N 個のウェーブレットがあるとします。散乱変換の単純な実装により、2 番目の段階で M×N 個のスカログラムが生成されます。各フィルター バンクのウェーブレット フィルターの数は、単純な実装が実現不可能になるまで大きくする必要はありません。したがって、効率的な実装ではモジュラス関数の低域の性質を利用して、散乱係数とスカログラム係数を大きくダウンサンプリングします。Andén と Lostanlen [4] [6] は、効率的なウェーブレット散乱アルゴリズムの開発におけるこの戦略の重要性を明らかにしました。既定では、waveletScattering は、係数を大きくダウンサンプリングするフレームワークを作成します。

参照

[1] LeCun, Y., B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, and L. D. Jackel. "Handwritten Digit Recognition with a Back-Propagation Network." In Advances in Neural Information Processing Systems (NIPS 1989) (D. Touretzky, ed.). 396–404. Denver, CO: Morgan Kaufmann, Vol 2, 1990.

[2] Mallat, S. "Group Invariant Scattering." Communications in Pure and Applied Mathematics. Vol. 65, Number 10, 2012, pp. 1331–1398.

[3] Bruna, A., and S. Mallat. "Invariant Scattering Convolution Networks." IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. 35, Number 8, 2013, pp. 1872–1886.

[4] Andén, J., and S. Mallat. "Deep Scattering Spectrum." IEEE Transactions on Signal Processing. Vol. 62, Number 16, 2014, pp. 4114–4128.

[5] Mallat, S. "Understanding deep convolutional networks." Philosophical Transactions of the Royal Society A. Volume 374: 20150203, 2016, pp. 1–16. dx.doi.org/10.1098/rsta.2015.0203.

[6] Lostanlen, V. Scattering.m — a MATLAB toolbox for wavelet scattering. https://github.com/lostanlen/scattering.m.

参考

| |

関連するトピック