ウェーブレット変換

 ウェーブレット変換は、フーリエ変換のように、時間座標を持つ関数  f(t) を基底関数の和で表現する方法です。しかし、フーリエ変換とは異なり、ウェーブレット変換では時間方向に局在した基底関数を用います。それによって、時間領域に応じて変化する関数の振る舞いを解析できます。

 フーリエ変換と同様に、連続ウェーブレット変換を離散化すると離散ウェーブレット変換になりますが、離散ウェーブレット変換では、正規直交基底を選ぶことができるほか、周波数に応じて基底展開の「解像度」が上がっていくといった便利な性質を持ちます。それによって、関数  f(t) を、振る舞いの周波数に応じて解像度を変えながら分解していく「多重解像度解析」を行うことができます。

 そのため、今回は先に離散ウェーブレット変換について説明します。また、ウェーブレット変換は再生核ヒルベルト空間を構成する表現になっているので、その点にも簡単に触れます。

フーリエ変換とウェーブレット変換


 フーリエ変換の場合、基底関数は周波数が異なる多数の波でした。基底関数の一つを  \psi (t) = e^{2\pi it} としたとき、基底関数全体は、 a\in \mathbb{R} \backslash  \{0\} に対して、  \psi(\frac{t}{a}) に定数項を加えたものです。各基底関数の周波数は  \frac{1}{a} です。

 フーリエ変換では、基底関数が時間方向に対して一様に広がっているので、各時間領域に応じて振る舞いが変化するような関数の特徴を抽出することが困難でした。 t を一定区間ごとに窓関数で区切って、各々でフーリエ変換を行うこともできますが、そうすると窓関数のスケールより小さいスケールの振る舞いは平均化されてしまいますし、窓関数より大きいスケールの振る舞いは分断されてしまいます。


 ウェーブレット変換では、基底関数として、  \psi (t) = (1-t^2)e^{-\frac{t^2}{2}} のように、時間に対して一様ではなく、中心付近に局在しているようなものをベースに選びます。そして、基底関数全体を  b\in \mathbb{R} \backslash  \{0\}, a\in \mathbb{R} に対して  \psi \left( \frac{t-b}{a} \right) のように取ります。

 フーリエ変換の場合と比較して、 t 方向のシフト量  b が追加されています。フーリエ変換では基底関数が一様だったので、時間方向にシフトさせた基底関数を別に考える意味はありませんでした。実際、フーリエ変換における時間方向のシフトは、展開の係数の位相成分にしか現れません。

 ウェーブレット変換では基底関数が局在しているので、時間方向のある領域に局在した特徴を捉えることができるようになります。 スケール因子  a と時間シフト因子  b の組み合わせによって、関数  f(t) が持つ様々なスケールと時間領域の振る舞いを解析することができます。


離散ウェーブレット変換


 関数 f(t) を、整数  j,k \in \mathbb{Z} でラベル付けた正規直交基底  \psi _{j,k} (t) によって次のように級数展開することを考えます。

 \begin{align} f(t) = \sum_{j,k} {d_{j,k}\psi_{j,k}(t)} \end{align} \tag{1}

 基底の正規直交条件は次のように表せます。

 \begin{align} \int_{-\infty}^{\infty} {\psi^*_{j,k}(t) \psi_{j',k'}(t) dt} = \delta _{j,j'} \delta_{k,k'} \end{align} \tag{2}


 基底関数  \psi _{j,k} (t) は、ある関数  \psi (t) を使って次のように構成します。

 \begin{align} \psi_{j,k}(t) = 2^\frac{j}{2} \psi (2^j t - k) \end{align} \tag{3}

 基底関数系  \psi_{j,k}(t) を生成する元になる関数  \psi(t) は、マザーウェーブレットと呼ばれます。 2^\frac{j}{2} は正規化係数です。マザーウェーブレットは、直流成分を含まない、次のような条件を満たすべきとされています。その理由は、連続ウェーブレット変換の項目で説明します。

 \begin{align} \int_{-\infty}^{\infty} {\psi(t)dt} = 0 \end{align} \tag{4}

  f(t)級数展開の係数  d_{j,k} は、式(1)、式(2) より、次のように表すことができます。これが、離散ウェーブレット変換です。

 \begin{align} d_{j,k} = \int_{-\infty}^{\infty} {f(t)\psi^*_{j,k}(t) dt} \end{align} \tag{5}

 式(1) は、離散ウェーブレット変換に対する逆変換になっています。


 マザーウェーブレットの最も簡単な例として、ハール・ウェーブレット \psi_H(t) があります。

 \begin{align} \psi_H(t) = \begin{cases} 1  & (0 < t < \frac{1}{2}) \\ -1 & (\frac{1}{2} \leq t < 1) \\ 0 & (\mbox{otherwise})  \end{cases} \end{align} \tag{6}

これが式(2) を満たしていることはすぐに分かります。


多重解像度解析


 関数  f(t)級数展開するにあたって、先程はマザーウェーブレット  \psi (t) を元にして基底関数系を構成しました。これでも級数展開は可能なのですが、マザーウェーブレットは式(4) の条件に拘束されているため、非効率な級数表現になっている可能性があります。また、周波数に対応する値  2^j が大きくなるほどに、解像度が高くなっていく( f(t) をより細かく表現できるようになる)べきですが、そのことが明示されていません。そのような性質を持つ表現は、多重解像度表現と呼ばれます。

 そこで、上記の  2^j に応じて解像度が高くなっていくという条件、すなわち多重解像度表現を満たしつつ、マザーウェーブレットを補助して効率的な表現を得られるような追加の基底関数系を考えます。追加の基底関数系を生成するベースの関数を、ファーザーフェーブレット(またはスケーリング関数)と呼びます。


 ファーザーウェーブレット  \phi (t) を用いて、マザーウェーブレットの場合と同じように基底関数系を生成します。

 \begin{align} \phi_{j,k}(t) = 2^\frac{j}{2} \phi (2^j t - k) \end{align} \tag{7}

 正規直交条件もマザーウェーブレットと同じように定義します。さらに、マザーウェーブレットが生成する基底関数系とフェーザーウェーブレットが生成する基底関数系の間にも、正規直交条件を課します。すなわち、

 \begin{align} \int_{-\infty}^{\infty} {\psi^*_{j,k}(t) \phi_{j',k'}(t) dt} = \delta _{j,j'} \delta_{k,k'} \end{align} \tag{8}

となります。

関数空間と多重解像度表現

 多重解像度表現を定義するために、ファーザーウェーブレットによる基底関数系の  j をある値に固定した場合に表現可能な関数  f_{j}(t) 全体の集合を  V_j とします。 V_j は次のように表せます。 L^2(\mathbb{R}) は2乗可積分関数全体です。

 \begin{align} V_j = \left\{ f_j (t)\in L^2(\mathbb{R}) \middle| \exists c_{j,k}\in \mathbb{C},  f_j (t) = \sum_k c_{j,k} \phi_{j,k} (t)\right\} \end{align} \tag{9}

 これから、多重解像度表現は次のように定義できます。

 \begin{align} \cdots \subset V_{-2} \subset V_{-1} \subset V_0 \subset V_1 \subset V_2 \subset \cdots \end{align} \tag{10}

 ある  J_0 に対して、基底  \phi_{J_0,k} k に関する和で表せる関数は全て、  \phi_{J_0+1,k} の和でも表せるということを意味しています。逆は成り立ちません。 j が大きくなるほどよりたくさんの関数を表現できて、 j が小さくなるとほとんど表現できなくなってしまうということです。その極限として、 V_{\infty} = L^2(\mathbb{R}) V_{-\infty} = \{0\} というものも多重解像度表現の条件です。


 フェーザーウェーブレットのもう一つの条件は、マザーウェーブレットに関係します。上記と同様に、 j を固定した場合にマザーウェーブレットが生成する基底  \psi_{j,k} の張る空間を  W_j とするとき、次の関係が成り立つようにします。

 \begin{align} V_{j+1} = V_{j} \oplus W_{j} \end{align} \tag{11}

 ファーザーウェーブレットが張る空間とマザーウェーブレットが張る空間が直交し、その和空間が、一つ上の  j においてファーザーウェーブレットが張る空間に等しくなります。つまり、マザーウェーブレットは、解像度が一段階変化したときの表現能力の差分とみなせます。式(11) と  V_{\infty} = L^2(\mathbb{R}) から、

 \begin{align} L^2(\mathbb{R}) = V_{J_0} \oplus \bigoplus_{j=J_0}^{\infty} {W_{j}} \end{align} \tag{12}

が成り立ちます。これから、マザーウェーブレットとファーザーウェーブレットを用いた多重解像度表現が得られます。

 \begin{align} f(t) = \sum_{k} c_{J_0, k}\phi_{J_0, k}(t) + \sum_{j\geq J_0,k} d_{j,k}\psi_{j,k}(t) \end{align} \tag{13}

 関数  f(t) の概形が  \phi_{J_0, k}(t) で抑えられるので、式(1) のマザーウェーブレットによる級数展開と比べて少数の係数で表現ができ、 j の値を大きくするたびに、解像度が高くなっていく表現になっています。

2スケール方程式

 最後に、ファーザーウェーブレットを構成する条件をまとめます。 V_{j},W_{j} が直交するので、式(8) 等の直交条件が必要です。また、式(10) と式(11) を合わせて次のように書けます。

 \begin{align} \phi(t) = \sum_{n}{g_0(n)\sqrt{2}\phi(2t-n)} \\
\psi(t) = \sum_{n}{g_1(n)\sqrt{2}\phi(2t-n)} \end{align} \tag{14}

 式(14) は、2スケール方程式と呼ばれます。係数は次の式で決まります。

 \begin{align} g_0(n) = \int_{-\infty}^{\infty}{\phi(t)\sqrt{2}\phi^*(2t-n)dt} \\
g_1(n) = \int_{-\infty}^{\infty}{\psi(t)\sqrt{2}\phi^*(2t-n)dt} \end{align} \tag{15}

 また、式(11) を満たすためには、例えば  \phi(2t) = \frac{\phi(t)+\psi(t)}{2} のように、 \phi(2t) \phi(t-k) \psi(t-k) の和で表せることが必要です。ハール・ウェーブレット( \psi_H(t) は式(6) で与えられ、 \phi_H(t) は、 0 < t < 1 でのみ値 1 を取り、他では 0 とする)やシャノン・ウェーブレット  \psi_S(t) = \frac{\sin{2\pi t} - \sin{\pi t}}{\pi t}, \phi_S(t) = \frac{sin{\pi t}}{\pi t} は、これらの条件を全て満たしています。


連続ウェーブレット変換


 連続ウェーブレット変換は、マザーウェーブレット  \psi(t) によって、次のように定義します。 W_{\psi}(a,b) a がスケール方向、 b が時間方向の成分を表します。

 \begin{align} W_{\psi}(a,b) = \frac{1}{\sqrt{|a|}} \int_{-\infty}^{\infty}{f(t) \psi^*\left( \frac{t-b}{a} \right) dt} \end{align} \tag{16}

  \frac{1}{\sqrt{|a|}} は正規化係数です。マザーウェーブレットが  \int_{\infty}^{\infty} {|\psi(t)|^2 dt} = 1 であることによります。逆変換は、下記のようになります。

 \begin{align} f(t) = \frac{1}{C_{\psi}} \int_{-\infty}^{\infty} {W_{\psi}(a,b) \frac{1}{\sqrt{|a|}} \psi\left( \frac{t-b}{a}\right) \frac{da db}{a^2}} \end{align} \tag{17}

ただし、

 \begin{align} C_{\psi} = \int_{-\infty}^{\infty} {\frac{|\tilde{\psi}(\omega)|^2}{|\omega |}} \end{align} \tag{18}

で、 \tilde{\psi}(\omega) \psi(t)フーリエ変換です(変換基底を  e^{-2\pi i\omega t} とした場合の表現)。式(17) の逆変換が存在するためには、 C_{\psi} が有限の値を持たなければなりません。このことを、アドミッシブル条件と言います。 \psi(t) 自体は2乗可積分なので、アドミッシブル条件は、 \tilde{\psi}(0)=0 とほとんど同じことです。これは、式(4) でみた条件  \int_{-\infty}^{\infty} {\psi(t)dt} = 0 になっています。


 式(17) が連続ウェーブレット変換の逆変換になっていることを確認します。式(16) を式(17) の右辺に代入し、右辺を直接計算した結果が f(t) に戻ってくることを見ます。

 \begin{align*} \frac{1}{C_{\psi}} \int{f(t')\psi^* \left( \frac{t'-b}{a}\right) \psi \left( \frac{t-b}{a}\right) dt' db \frac{da}{|a|^3}} \\
= \frac{1}{C_{\psi}} \int{\tilde{f}(\omega)e^{2\pi i\omega t}\psi^* \left( \frac{t'-b}{a}\right) \psi \left( \frac{t-b}{a}\right) dt' db \frac{da}{|a|^3} d\omega} \\
\\
\mbox{ここで, }t'=t+(u-v)a, b=t-av \mbox{ と変数変換.} \\
\\
\frac{1}{C_{\psi}} \int{\tilde{f}(\omega)e^{2\pi i\omega t + 2\pi i\omega au - 2\pi i\omega av}\psi^* \left( u \right) \psi \left( v \right) du dv \frac{da}{|a|} d\omega} \\
= \frac{1}{C_{\psi}} \int{\tilde{f}(\omega)e^{2\pi i\omega t} \tilde{\psi}^* \left( a\omega \right) \tilde{\psi} \left( a\omega \right) \frac{da}{|a|} d\omega} \\
= \frac{1}{C_{\psi}} \int{\tilde{f}(\omega)e^{2\pi i\omega t} C_{\psi} d\omega} \\
=f(t)
\end{align*} \tag{19}

計算の途中で、フーリエ変換と逆フーリエ変換を何度か行っています。積分の交換をはじめとして、このような式変形ができるのは、フビニの定理によります。従って、積分の中の関数を多変数関数とみたときに、(絶対)可積分である必要があります。


再生核ヒルベルト空間(RKHS)

ヒルベルト空間

 再生核ヒルベルト空間は、ヒルベルト空間の一つです。ヒルベルト空間 \mathcal{H} は、内積が定義された完備距離空間でした。関数空間の場合、 f,g\in \mathcal{H}内積

 \begin{align} \langle f, g \rangle = \int f(t) g^*(t) dt \end{align} \tag{20}

で、距離は  ||f-g||^2 = \langle f-g, f-g \rangle となります。 距離空間なので、任意のコーシー列が  \mathcal{H} 自身に収束すれば完備です。

再生核ヒルベルト空間の概要

 さて、集合  \Omega でラベル付けたヒルベルト空間上の線形汎関数  L_t(f)=f(t) を考えます。 t\in \Omega です。 L_t: \mathcal{H}\rightarrow \mathbb{C} となっています。

 この  L_t が任意の  t\in \Omega に対して  \mathcal{H} 上で連続写像になっているとき、\mathcal{H} を再生核ヒルベルト空間(RKHS)と呼びます。*1

 関数  f, g \in \mathcal{H} が近ければ、各点での値  f(t), g(t) も近くならなければなりません。例えば、ある測度0の点 t_0 \in \Omega でだけ  f(t_0) \neq g(t_0) で、他の点では  f(t) = g(t) となっているような場合は、 L_{t_0}連続写像になっておらず、再生核ヒルベルト空間にはなりません。


 再生核ヒルベルト空間では、 L_t は連続線形汎関数になっています。すると、リースの表現定理(後述)より、任意の  f\in \mathcal{H} に対して次の式が成り立つような  K_t \in \mathcal{H} が、各々の  t に対してただ一つずつ存在します。

 \begin{align} L_t(f) = \langle f | K_t \rangle \end{align} \tag{21}

 明示的に書き直すと、次のようになります。

 \begin{align} f(t) = \int f(t') K^*_t(t') dt' \end{align} \tag{22}

  k(t',t) = K_t(t') が再生核で、カーネル関数とも呼ばれます。 k: \Omega \times \Omega \rightarrow \mathbb{C} です。`

 式(22) から、次のように再生核の一意性を直接確認することもできます。
 再生核を  K_t(t'), K'_t(t') とおいて、 f(t) として再生核自身  K_s(t) を与えれば、 K_s(t) = \int K_s(t') K^*_t(t') dt' = \int K_s(t') K'^*_t(t') dt' となりますが、二項目は  K^*_t(s) に等しく、三項目は  K'^*_t(s) に等しいので、 K_t = K'_t となります。

 また、式(22) から、任意の  f\in \mathcal{H} に対して  \int f(t) k(t', t) f^*(t') dt dt' = \langle f | f \rangle \geq 0 なので、カーネル関数  k(t', t) = K_t(t') は半正定値を取ることが分かります。

ウェーブレットにおける再生核ヒルベルト空間

 
 正規直交基底を用いる離散ウェーブレット変換では、式(1) と式(5) から、例えば下記がカーネル関数になっており、その時の再生核ヒルベルト空間は(理想的には)二乗可積分関数全体です。

 \begin{align} k(t', t) = \sum_{j,k} \psi_{j,k}(t') \psi^*_{j,k}(t) \end{align} \tag{23}

 それだけでなく、式(10) でみたような部分空間  V_j も再生核ヒルベルト空間です。式(11) の  W_j もまた、別の再生核ヒルベルト空間です。これらの再生核は、基底関数  \phi_{j,k}(t) \psi_{j,k}(t) j を固定して、式(23) のように和を取ったものになります。

 連続ウェーブレット変換では、例えば式(19) から、下記がカーネル関数になっていることが分かります。

 \begin{align}  k(t', t) = \frac{1}{C_{\psi}} \int \psi \left( \frac{t'-b}{a}\right) \psi^* \left( \frac{t-b}{a}\right) db \frac{da}{|a|^3} \end{align} \tag{24}


リースの表現定理


 再生核ヒルベルト空間の構成に必要な、リースの表現定理を証明します。リースの表現定理は、関数を実数に移す汎関数による写像は、実は特別な一つの関数との内積による写像として表現できることを示しています。これは、汎関数の具体的な表現方法を与える、非常に有用な定理です。*2

 リースの表現定理は次のようなものです。簡単のため、実数の空間を考えます。

【リースの表現定理】

 ヒルベルト空間 \mathcal{H} 上の連続な線形汎関数 L とする。 L に対し、 h_L \in \mathcal{H} がただ一つ定まり、任意の  f\in \mathcal{H} に対し、下記の式が成り立つ。

 \begin{align} L(f) = \langle f, h_L \rangle \end{align} \tag{24}

 【証明】

 全ての  f \in \mathcal{H} に対して恒等的に  L(f)=0 である場合、 h_L = 0 とすれば良いです。以下、そうでない場合を考えます。

  \mathcal{K} = \left\{ f \in \mathcal{H} \middle| L(f)=0 \right\} とします。

  \mathcal{K} = L^{-1}(0) \{0 \} は閉部分空間、 L連続写像なので、 \mathcal{K} も閉部分空間です。直交分解定理より、 g \in \mathcal{H} \backslash \mathcal{K} であって、 \mathcal{K} の全ての元と直交する(内積が0になる)ような  g が存在します。

 ここで、次のような  u \in \mathcal{H} を考えます。

 \begin{align} u = L(f) \frac{g}{||g||} - L\left( \frac{g}{||g||} \right) f \end{align} \tag{25}

  L が線形汎関数であることから、 L(u) = 0 となります。従って、 u \in \mathcal{K} です。すると、 \langle u, g \rangle = 0 となっています。

 \begin{align} \langle u, g \rangle = L(f) ||g|| - L\left( \frac{g}{||g||} \right) \langle f, g \rangle \end{align} \tag{26}

これが0になるので、式(24) の  h_L が次の形で得られます。

 \begin{align} h_L = L\left( \frac{g}{||g||} \right) \frac{g}{||g||} \end{align} \tag{27}

 一意性については、もし  L(f) = \langle f, h_L \rangle = \langle f, h'_L \rangle なら、全ての  f \in \mathcal{H} に対して  \langle f, h_L - h'_L \rangle=0 が成立します。このような場合、最初の仮定より  h_L - h'_L = 0 となります。

*1:参考文献:L. Rosasco , “Reproducing Kernel Hilbert Spaces,” http://www.mit.edu/~9.520/fall14/slides/class03/class03_rkhsPart1.pdf , 2014.

*2:参考文献:田中 勝,「エントロピー幾何学」,コロナ社,2019年5月(初版)