二维卷积运算tf.conv2d介绍
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维卷积运算tf.conv2d介绍相关的知识,希望对你有一定的参考价值。
参考技术A 除去 name 参数用以指定该操作的name,与方法有关的一共五个参数:结果返回一个Tensor,这个输出,就是我们常说的feature map,shape仍然是 [batch, height, width, channels] 这种形式
深度神经网络中的卷积
卷积单元
本文给出了四维张量卷积的表达式,卷积输出大小的表达式,以及Matlab和PyTorch下卷积实例。
经典卷积运算
经典二维卷积
设有 N i N_i Ni 个二维卷积输入 I ∈ R N i × C i × H i × W i {\\bm I} \\in {\\mathbb R}^{N_i × C_i \\times H_i \\times W_i} I∈RNi×Ci×Hi×Wi, C k × C i C_k \\times C_i Ck×Ci 个二维卷积核 K ∈ R C k × C i × H k × W k {\\bm K} \\in {\\mathbb R}^{C_k \\times C_i \\times H_k \\times W_k} K∈RCk×Ci×Hk×Wk, N o N_o No 个卷积输出记为 O ∈ R N o × C o × H o × W o {\\bm O} \\in {\\mathbb R}^{N_o × C_o \\times H_o \\times W_o} O∈RNo×Co×Ho×Wo, 在经典卷积神经网络中, 有 C k = C o , N o = N i C_k = C_o, N_o = N_i Ck=Co,No=Ni, K {\\bm K} K 与 I \\bm I I 间的二维卷积运算可以表示为
O
n
o
,
c
o
,
:
,
:
=
∑
c
i
=
0
C
i
−
1
I
n
o
,
c
i
,
:
,
:
∗
K
c
o
,
c
i
,
:
,
:
=
∑
c
i
=
0
C
i
−
1
Z
n
o
,
c
o
,
c
i
,
:
,
:
\\begin{aligned} {\\bm O}_{n_o, c_o, :, :} &= \\sum_{c_i=0}^{C_i-1} {\\bm I}_{n_o, c_i, :,:} * {\\bm K}_{c_o, c_i, :,:} \\\\ &= \\sum_{c_i=0}^{C_i-1}{\\bm Z}_{n_o, c_o, c_i, :, :} \\end{aligned}
Ono,co,:,:=ci=0∑Ci−1Ino,ci,:,:∗Kco,ci,:,:=ci=0∑Ci−1Zno,co,ci,:,:
其中,
∗
*
∗ 表示经典二维卷积运算, 卷积核
K
c
o
,
c
i
,
:
,
:
{\\bm K}_{c_o, c_i, :,:}
Kco,ci,:,: 与输入
I
n
o
,
c
i
,
:
,
:
{\\bm I}_{n_o, c_i, :,:}
Ino,ci,:,: 的卷积结果记为
Z
n
o
,
c
o
,
c
i
,
:
,
:
∈
R
H
o
×
W
o
{\\bm Z}_{n_o, c_o, c_i, :, :}\\in {\\mathbb R}^{H_o \\times W_o}
Zno,co,ci,:,:∈RHo×Wo, 则
Z n o , c o , c i , h o , w o = ∑ h = 0 H k − 1 ∑ w = 0 W k − 1 I n o , c i , h o + h − 1 , w o + w − 1 ⋅ K c o , c i , h , w . {\\bm Z}_{n_o, c_o, c_i, h_o, w_o} = \\sum_{h=0}^{H_k-1}\\sum_{w=0}^{W_k-1} {\\bm I}_{n_o, c_i, h_o + h - 1, w_o + w - 1} \\cdot {\\bm K}_{c_o, c_i, h, w}. Zno,co,ci,ho,wo=h=0∑Hk−1w=0∑Wk深度神经网络中的卷积