スパースフーリエ変換とは何ですか?


46

MITは最近、特定の種類の信号で機能する高速フーリエ変換として宣伝されている新しいアルゴリズムについて少し騒ぎ立てています。たとえば、「世界で最も重要な新興技術の1つと名付けられた高速フーリエ変換」です。MIT Technology Review誌によると

スパースフーリエ変換(SFT)と呼ばれる新しいアルゴリズムを使用すると、データストリームをFFTで可能だったよりも10〜100倍高速に処理できます。私たちが最も関心を持っている情報は非常に多くの構造を持っているため、スピードアップが起こります。音楽はランダムなノイズではありません。通常、これらの意味のある信号には、信号が取り得る可能な値の一部しかありません。これの専門用語は、情報が「スパース」であることです。SFTアルゴリズムは、考えられるすべてのデータストリームを処理することを目的としていないため、他の方法では利用できない特定のショートカットを使用できます。理論的には、スパース信号のみを処理できるアルゴリズムは、FFTよりもはるかに制限されています。しかし、「スパース性はどこにでもあります」と、電気工学およびコンピューターサイエンスの教授である共同発明者カタビは指摘します。「それは自然にある;それ」sビデオ信号; 音声信号に含まれています。」

ここで誰かがアルゴリズムが実際に何であるか、そしてそれがどこに適用可能かについてのより技術的な説明を提供できますか?

編集:いくつかのリンク:

回答:


40

アルゴリズムの考え方は次のとおりです。周波数領域でスパースな長さ信号があると仮定します。これは、離散フーリエ変換を計算する場合、ゼロ以外の出力が少数存在することを意味します。他のは無視できます。希望する出力を取得する1つの方法は、シーケンス全体でFFTを使用してから、非ゼロ値を選択することです。NkNNkkk

ここに示すスパースフーリエ変換アルゴリズムは、FFTベースの方法よりも低い複雑さでこれらの出力を計算するための手法です。基本的に、出力はゼロであるため、アルゴリズム内でショートカットを作成して、それらの結果値を生成することさえなく、ある程度の労力を節約できます。FFTの複雑度はが、スパースアルゴリズムの場合、スパーススペクトルの場合、潜在的に低い複雑度になり。kNkO(nlogn)O(klogn)

より一般的なケースでは、スペクトルは「スパースの種類」であるが、超える非ゼロ値がある(たとえば、ノイズに埋め込まれた多数のトーンに対して)、最大出力を推定するアルゴリズムのバリエーションを提示します。時間の複雑さ。これはFFTよりも複雑ではありません。kkO(klognlognk)

結果のグラフ(下の画像で再現)によると、FFTW(MITの他の人によって作成された最適化されたFFTライブラリ)に関してパフォーマンスを向上させるためのクロスオーバーポイントは、 -th〜 -thの出力変換係数はゼロではありません。また、このプレゼンテーションでは、場合、スパースアルゴリズムがパフォーマンスを向上させることを示しています。12111210Nk[2000,106]

ここに画像の説明を入力してください

これらの条件は、信号のスペクトルに非常に大きなピークがほとんど存在しない可能性があることがわかっている場合に、アルゴリズムの適用可能性を制限します。彼らがWebサイトで引用ている1つの例は、平均して、画像およびビデオ圧縮でよく使用される8 x 8ピクセルのブロックが周波数領域でほぼ90%スパースであるため、その特性を活用したアルゴリズムの恩恵を受ける可能性があることです。このレベルのスパース性は、この特定のアルゴリズムのアプリケーション空間と二乗していないように見えるため、単なる例にすぎません。

このような手法が実際の問題でどの程度実用的であるかをよりよく理解するために、文献をもう少し読む必要がありますが、特定のクラスのアプリケーションにとっては適切な場合があります。


2
それは基本的に損失のあるFFTですか?MP3エンコーダーが好きですか?
エンドリス

3
@endolith:私はそれをそのように置くかどうかわかりません。出力のサブセットのみを計算する枝刈りされたFFTアルゴリズムにより類似している可能性があります。主張は、入力信号がスパースの場合、出力は正確に計算されるということです。kk
ジェイソンR

goertzelアルゴリズム(またはそれらのファミリー)に対してどのように上がるのだろうか。唯一の違いは、goertzelで最初から何を探しているのかを知っていることです。
スペイシー

5
@endolith:係数が量子化されるため、MP3圧縮は損失が大きくなります。上位k係数のみが保持されるためではありません。スパースFFT =「入力信号との差を最小化するk係数表現とは」mp3フレームのコーディング=「係数とスケールファクターを格納するためのNビットのバジェットが与えられた場合に(知覚)エラーを最小化する量子化係数と量子化レベルは何ですか」。
ピクネット

1
それらが捨てられたとき、これは量子化の副作用です(値は0に丸められます)
ピケネット

7

私はsFFTに関する論文を読んでいませんが、私の考えでは、背後にあるFFTを固定するという考え方はk-sparsityの事前知識を活用しているということです。したがって、FFT係数のすべてのエントリを計算する必要はなく、代わりにそれらのkのみを計算します。そのため、kスパース信号の複雑さは、従来のFFTのO(nlog n)ではなくO(klog n)です。

とにかく、@ rcmptonのコメントに関して、「圧縮センシングの背後にあるアイデアは、異なるドメインから抽出されたスパースランダムサンプルからスパースデータを復元できることです(ランダムスパース周波数データ(MRIなど)からスパースイメージを復元します) 」問題は、「スパースランダムサンプル」とは何ですか?スパースデータをランダムに低い(測定)部分空間に射影して収集したサンプルかもしれないと思います。

そして、私が理解したように、圧縮センシングの理論的枠組みは、3つの問題、スパース性、測定、および回復で主に構成されています。スパース性により、特定のクラスの信号のスパース表現の検索に関係します。これは、辞書学習のタスクです。測定では、データを測定する効率的な方法(計算効率と回復可能性)を求めます(または、より低い測定空間にデータを投影します)。これは、ランダムガウスマトリックス、構造化ランダムマトリックスなどの測定マトリックス設計のタスクです。 ...そして、回復によって、スパース正則化線形反転問題、l0、l1、l1-l2、lp、l-group、blabla ...、および結果のアルゴリズムはさまざまです、マッチングの追跡、ソフトしきい値、ハードしきい値、基底追跡、ベイジアン、...

「csはL1ノルムの最小化」であり、L1ノルムはcsの基本原理ですが、csはL1ノルムの最小化だけではありません。上記の3つの部分に加えて、構造化(グループまたはモデル)圧縮センシングなど、構造化スパース性も活用され、回復能力を大幅に向上させることが証明されている拡張機能もあります。

結論として、csはサンプリング理論の大きなステップであり、これらの信号が十分にまばらあれば、信号をサンプリングする効率的な方法を提供します。したがって、csはサンプリング理論であり、分類または認識のための何らかの手法としてそれを使用する人はだれでも、原理を誤解させます。そしてときどき、「圧縮センシングベース...」というタイトルの論文を見つけますが、そのような論文の原理はcsではなくl1最小化を活用しているため、「l1最小化ベース...」を使用する方が良いと思います。 「。

私が間違っている場合は、修正してください。


DSP.SEへようこそこれは大きな貢献です。
フォノン

6

私はこの論文に目を通しましたが、この方法の一般的なアイデアは得られたと思います。メソッドの「秘密の原因」は、周波数領域で入力信号のスパース表現を取得する方法です。以前のアルゴリズムでは、優勢なスパース係数の位置にブルートフォースを使用していました。この方法は、代わりに「スペースリカバリ」または「圧縮センシング」というwiki記事と呼ばれるテクニックを使用し ます。

スパースリカバリ/圧縮センシングのPSテクニックとそれに接続されたL1最小化は、現代の信号処理で、特にフーリエ変換に関連して多く使用されました。実際、最新の信号処理には知っておく必要があります。しかし、フーリエ変換がスパースリカバリ問題の解決方法の1つとして使用される前に。ここでは、逆のフーリエ変換のスパースリカバリが見られます。

圧縮センシングの概要に適したサイト: nuit-blanche.blogspot.com/

前のコメントに対するPPSの回答-入力信号が正確にスパースでない場合、損失があります。

メソッドが間違っていた場合は、お気軽に修正してください。


FFTペーパーは圧縮センシングではありません。圧縮センシングの背後にある考え方は、異なるドメインから抽出されたスパースランダムサンプルからスパースデータを復元できることです(たとえば、ランダムスパース周波数データ(MRIなど)からスパースイメージを復元します)。これにより取得時間を短縮できますが、計算コストが増加します。FFTの論文は、両方のドメインにすべてのデータがあり、目標は計算を迅速に行うことであるという点で異なります。
-dranxo

圧縮センシングについては間違っています。
mirror2image

1
詳しく説明してもらえますか?
dranxo

圧縮センシングは、それ自体の回復も同様の領域のみならずに接続含むぼやけたエッジを持つ巨大な領域/ IS正則、最小の複雑さの追求などもともと」スパース制約問題、Xに、 R ^ n \ | x \ | _0 <k $ですが、後でさらにブラッドになります。wikiを読むことから始める A 、X = Y のR M、Y 、I 、N M > > N W I T H 、C 、O 、N 、S 、TのR I N TLpAx=yRmyin,m>>nwithconstraint
mirror2image

いいえ。圧縮センシングは、条件で解いていることを意味します。広範囲に及ぶアプリケーションが多数ありますが、ある時点でCandes-Romberg-Taoの定理を呼び出さないと、作品に「圧縮センシング」というラベルを付けると、人々を混乱させます。ここに参照があります:www-stat.stanford.edu/~candes/papers/spm-robustcs-v05.pdfmin|x|1Ax=y
dranxo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.