Tools + Simulatorsnanase.cc / tools

畳み込み

2 つの見方

入力 x核 h(反転して t へ)積出力 y
t = y(t) =

出力 y(t)(重なりの面積)
入力の面積 ∫x
核の面積 ∫h
出力の面積 ∫y
出力の長さ
出力の重心
出力の分散

形
サイコロの数

a 幅

s

a 幅

点

形
b 核の幅

s

b 核の幅

点

畳み込み → 積

動作原理と式

定義

y(t)=(x∗h)(t)=∫−∞∞x(τ)h(t−τ)dτy[n]=∑kx[k]h[n−k]
x
入力
h
核(インパルス応答)
y
出力

連続は積分、離散は和である[1][5]。長さ N と M の離散の信号の畳み込みは N+M−1 点になる[1]。

出力の側から: 反転して滑らせる

  1. 核を反転 h(τ)→h(−τ)
  2. t だけずらす h(t−τ)
  3. 入力と掛ける
  4. 面積(和)が y(t)

出力の 1 点ごとに、重なった部分の積の面積を求める[1]。

入力の側から: 核の写しを重ねる

x(t)=∫−∞∞x(τ)δ(t−τ)dτ⟹y(t)=∫−∞∞x(τ)h(t−τ)dτ
  • 入力はずらしたインパルスの重ね合わせ
  • 線形で時不変の系は、インパルス δ に h で応える。だから出力は、入力の各点が出す高さ x(τ) の h の写しの和[1]
  • 部屋の残響(残響)と FIR フィルタ(FIR フィルタ)の出力は、この形の畳み込み

性質

性質式出典
恒等x∗δ=x式 7-1[2]
ずらしx[n]∗δ[n+s]=x[n+s]式 7-3[2]
交換a∗b=b∗a式 7-6[2]
結合(a∗b)∗c=a∗(b∗c)式 7-7[2]
分配a∗b+a∗c=a∗(b+c)式 7-8[2]
面積∫y=∫x·∫h定義から

確率: 和の分布

独立な確率変数の和の分布は分布の畳み込みになる[5]。

例分布和の分布
サイコロ 2 個(例 7.1)1〜6 が 1/62〜12 が 1/36, 2/36, …, 6/36, …, 1/36
一様 2 つ(例 7.3)[0, 1] で 1三角形 z(0〜1)・2−z(1〜2)
指数 2 つ(例 7.4)λe−λxλ2ze−λz
正規 2 つ(例 7.5)σ12,σ22正規、分散 σ12+σ22

何度も畳み込むと正規分布に近づく(中心極限定理)[2]。

相関

r[n]=∑mx[n+m]h[m]=(x∗h~)[n],h~[m]=h[−m]
  • 核を反転せずに滑らせると相関
  • 畳み込みニューラルネットワークの「畳み込み」の多くは相関(式 9.6)[7]
  • 左右対称の核(矩形・ガウス)では同じ。指数・こだまでは向きが逆になる
  • 2 次元(画像)の畳み込みと相関: 画像の畳み込み

畳み込み定理

x∗h⟷X(f)H(f)
  • 時間の畳み込みは周波数の積[3][6]。核の周波数特性が、入力の各周波数を何倍にするかを決める
  • L 点の DFT の積は、長さ L の円状畳み込みに当たる。はみ出した分が頭へ回るので、L≥N+M−1 まで 0 で埋める[3]
  • FFT で変換して掛けて戻すと速い。核が約 64 点より長いと直接の和より速い[4][8]。アルゴリズムは FFT

このツールで決めたこと

  • 連続の信号は刻み 0.01 の格子の値で持ち、積分は刻みを掛けた和で近似する。格子の間は直線で補う
  • 連続のインパルスは面積 1・幅 1 刻みの柱で近似し、図では矢印(高さは面積)で描く
  • 核の見本(矩形・三角・指数・ガウス・こだま・パルス列)は面積を 1 にそろえる
  • 入力の側からの図は、連続の入力を 0.25 ごとにまとめた写しで描く。写しの和は刻み 0.01 のまま足す
  • 出力の重心と分散は、入力と核に負の値がないときだけ出す
  • サイコロでは、入力を n − 1 個の和、核を 1 個にして、出力を n 個の和にする

出典

  1. 畳み込みの和(式 6-1)、出力の点数、畳み込みの機械(図 6-8)、入力の側と出力の側の見方(6 章)S. W. Smith, The Scientist and Engineer’s Guide to Digital Signal Processing, California Technical Publishing, 1997, ch. 6 Convolution
  2. デルタ・ずらし・交換・結合・分配(式 7-1〜7-8)、中心極限定理(7 章)同, ch. 7 Properties of Convolution
  3. 周波数領域での畳み込み、円状畳み込み(9 章)同, ch. 9 Applications of the DFT
  4. FFT 畳み込みが速くなる核の長さ(18 章)同, ch. 18 FFT Convolution
  5. 分布の畳み込み(定義 7.1・7.2)と例 7.1・7.3〜7.5(285〜291 頁)C. M. Grinstead and J. L. Snell, Introduction to Probability, 2nd ed., American Mathematical Society, 2003(The CHANCE Project 版、2006 年 7 月 4 日、GNU FDL), ch. 7 Sums of Independent Random Variables
  6. DFT の畳み込み定理J. O. Smith III, Mathematics of the Discrete Fourier Transform (DFT), with Audio Applications, 2nd ed., W3K Publishing, 2007, Convolution Theorem
  7. 相互相関と畳み込みの呼び分け(9.1 節、式 9.6)I. Goodfellow, Y. Bengio, and A. Courville, Deep Learning, MIT Press, 2016, ch. 9 Convolutional Networks
  8. FFT による速い畳み込みT. G. Stockham Jr., “High-speed convolution and correlation,” Proc. AFIPS Spring Joint Computer Conference, pp. 229–233, 1966, doi:10.1145/1464182.1464209

関連ツール