バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia3-backnumber/
はじめに
畳み込み演算のガウシアンフィルタの話。
今回は畳み込み演算について。
登場人物
博識フクロウのフクさん

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1
エンジニア歴8年の太郎くん

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1
今回の範囲

前回の流れを元にすると・・・。
- 畳み込み演算
- 畳み込み積分
- 2次ガウス分布関数
- 良く使われるガウス分布カーネル
- 実際にガウシアンフィルタをやってみる

今回は畳み込み演算ってやつか。
畳み込み演算

畳み込み演算って、畳み込みニューラルネットワークとかの畳み込み層ってところでやってるのもと同じもの?

畳み込みニューラルネットワークの順伝播に於いての畳み込み層と同一だな。
ただし、畳み込みニューラルネットワークの場合は、複数の畳み込みカーネルを用いて様々な特徴を持ったチャンネルを生成してたりするが、
その点は異なるな。
我々がやろうとしているのは、一つの画像に対して一つの結果が欲しいだけだ。

何を言ってるのかわからんけど、畳み込みニューラルネットワークでやってることと一緒ではあるけど、
それよりはるかにシンプルで簡単なことをするってことだね。

その認識でOKだ。
畳み込み演算を図解

こういうようわからんものは図解してもらえると助かるかな。

そう思って作ってきたよ。


一番左が元の画像で、3×3の行列をスライドさせながらなんか計算してる?

この画像の場合だと、以下の計算をしているな。
\(
(35\times0)+(40\times-1)+(41\times0)+(40\times0)+(40\times1)\\+(42\times0)+(42\times0)+(46\times0)+(50\times0)=0
\)

あれ?
この計算って内積??

そうそう。
畳み込み演算は結果的には内積と同じ計算をしていることになる。

しかし、これをやったからと言って何があるのかがわからんな。

それは次の畳み込み積分の話でわかるかもね。

(もう名前的にメンドクサそうな感じなんだよな・・・。)
まとめ

まとめだよ。
- 畳み込み演算について説明。
- 一応、図解。
- やっていることは内積。
- 演算していることは分かるが、どのような効能が得られるかは分かりにくい。
バックナンバーはこちら。
コメント