0
大学数学基礎解説
文献あり

数列で畳み込みを理解りたい!(with 多項式)

200
0
$$$$

0. はじめに

畳み込み積の解釈をするために, あれこれ考えていたことをまとめただけの記事です. 結構雑ですが許してください. 証明などは一部を除いて与えていません(後日付け足すかも).

1. Notations

  1. $\mathbb N=\{1,2,3,\ldots\}$: 自然数全体の集合,
    $\mathbb N_0:=\mathbb N\cup\{0\}$,
    $\mathbb Z$: 整数全体の集合,
    $\mathbb Q$: 有理数全体の集合,
    $\mathbb R$: 実数全体の集合,
    $\mathbb C$: 複素数全体の集合.
  2. $n,m\in\mathbb Z$$n< m$のとき
    \begin{gather} \sum_{k=m}^n:=\sum_{k=n}^m \end{gather}
    とする(この記法は主に第4章の定理5で用います).

2. 数列や数列の畳み込みを多項式で考えよう

まずは数列を多項式の係数として埋め込みます(多項式と数列を同一視して, 多項式の積として畳み込み積を考えるのが好き).

形式的ローラン級数体
  1. 数列$\{a_n\}_{n=0}^\infty$として
    \begin{gather} \sum_{n=0}^\infty a_nx^n \end{gather}
    という形の元全体の集合を$\mathbb C[[x]]$とかく. 多項式の和と積を入れた$\mathbb C[[x]]$形式的べき級数環という.
  2. $\mathbb C((x)):=\mathbb C[[x]][x^{-1}]$形式的ローラン級数体という(つまり$\mathbb C[[x]]$$x$による局所化). ここで$a(x)\in\mathbb C((x))$
    \begin{gather} a(x)=\sum_{n=-\infty}^\infty a_nx^n \end{gather}
    などとかくとする. また, $(a(x))_n:=a_n$とする.
  3. 多項式の積を畳み込み積という.

形式的ローラン級数体$\mathbb C((x))$の元は, 「$n< N$なら$a_n=0$」となる$N\in\mathbb Z$を持つある数列$\{a_n\}_{n=-\infty}^\infty$と対応します.
多項式の積を観察すると,
\begin{gather} a(x)b(x)=\sum_{n=-\infty}^\infty \left(\sum_{m=-\infty}^\infty a_mb_{n-m}\right)x^n \end{gather}
となっていて, 係数がちゃんとよく見る畳み込みになっています(各項の係数は有限和になっているので, この積は意味を持ちます).

3. 畳み込みの解釈パート

以下3つの例において, $v(x)=10x^{-1}+10+10x$とします.

ぼかしフィルタ

\begin{gather} w(x)=\frac{1}{4}x^{-1}+\frac{1}{2}+\frac{1}{4}x \end{gather}
とすると,
\begin{gather} v(x)w(x)=\frac{5}{2}x^{-2}+\frac{15}{2}x^{-1}+\frac{20}{2}+\frac{15}{2}x+\frac{5}{2}x^2. \end{gather}
この演算結果は, 入力データ$v(x)$をぼかしたものと解釈することができる.

エッジ検出フィルタ

\begin{gather} w(x)=x^{-1}-x \end{gather}
とすると,
\begin{gather} v(x)w(x)=10x^{-2}+10x^{-1}-10x-10x^2. \end{gather}
この演算結果は, 入力データ$v(x)$のエッジ(変化の大きいところ)を検出していると解釈することができる.

忘却フィルタ

\begin{gather} w(x)=\sum_{n=0}^\infty\left(\frac{x}{2}\right)^n \end{gather}
とすると,
\begin{eqnarray} v(x)w(x)&=&10x^{-1}+15+\sum_{n=1}^\infty\left\{10\left(\frac{1}{2}\right)^{n-1}+10\left(\frac{1}{2}\right)^n+10\left(\frac{1}{2}\right)^{n+1}\right\}x^n\\ &=&10x^{-1}+15+\sum_{n=1}^\infty 35\left(\frac{1}{2}\right)^nx^n. \end{eqnarray}
この演算結果は, 入力データ$v(x)$が指数的に減衰していく様子だと解釈することができる.

余談: 2Dデータを扱うときは$\mathbb C[x,x^{-1},y,y^{-1}]$を考えれば, これも積が畳み込みになって, ぼかしやエッジの検出が可能となります.

参考文献

投稿日:202594
更新日:4時間前
数学の力で現場を変える アルゴリズムエンジニア募集 - Mathlog served by OptHub

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。

投稿者

代数にかたよりがち, 圏論おもしろい

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中