CNN卷积与数学中卷积的关系

CNN卷积与数学卷积的关系

常规CNN卷积定义

P \bold P P 表示原始图像的一个通道,为 m × n m \times n m×n 大小的二阶张量,令 w \bold w w 表示某一层某一通道的卷积核,为 k × k k \times k k×k 大小的二阶张量(k一般为奇数,令 k = 2 t + 1 k = 2t+1 k=2t+1),令 Q \bold Q Q 表示 P \bold P P w \bold w w 卷积后的图像:

$ {\bold Q} = {\bold w} * {\bold P} $

若不补零(Torch.Conv2D的参数 p a d d i n g = 0 padding = 0 padding=0), Q \bold Q Q 的每个元素可表示如下:

Q i , j = ∑ u = − t t ∑ v = − t t w u v P i + u , j + v   ,    0 ≤ i < m , 0 ≤ j < n Q_{i,j} = \displaystyle\sum_{u=-t}^t \displaystyle\sum_{v=-t}^t w_{uv} P_{i+u,j+v}\ , \ \ 0 \leq i < m,0 \leq j <n Qi,j=u=ttv=ttwuvPi+u,j+v ,  0i<m,0j<n

其中, P i + u , j + v = 0 , i f ( i + u < 0 ) ∣ ( j + v < 0 ) ∣ ( i + u ≥ m ) ∣ ( j + v ≥ n ) P_{i+u,j+v} = 0 , if (i+u<0)|(j+v<0)|(i+u\geq m)|(j+v\geq n) Pi+u,j+v=0,if(i+u<0)(j+v<0)(i+um)(j+vn) ,而 Q \bold Q Q 的大小保持 m × n m \times n m×n

若完全补零(Torch.Conv2D的参数 p a d d i n g ≥ ( k − 1 ) padding \geq (k-1) padding(k1)),并将CNN卷积的形式逐步向数学靠拢, Q \bold Q Q 的每个元素可表示如下:

Q i , j = ∑ u = − ∞ ∞ ∑ v = − ∞ ∞ w u v P i + u , j + v   ,    − ∞ < i < ∞ , − ∞ < j < ∞ Q_{i,j} = \displaystyle\sum_{u=-\infty}^\infty \displaystyle\sum_{v=-\infty}^\infty w_{uv} P_{i+u,j+v}\ , \ \ -\infty < i < \infty,-\infty < j < \infty Qi,j=u=v=wuvPi+u,j+v ,  <i<,<j<

其中, P i + u , j + v = 0 , i f ( i + u < 0 ) ∣ ( j + v < 0 ) ∣ ( i + u ≥ m ) ∣ ( j + v ≥ n ) P_{i+u,j+v} = 0 , if (i+u<0)|(j+v<0)|(i+u\geq m)|(j+v\geq n) Pi+u,j+v=0,if(i+u<0)(j+v<0)(i+um)(j+vn) ,去除 Q \bold Q Q 外围必定为0元素, Q \bold Q Q 的大小为 ( m + k − 1 ) × ( n + k − 1 ) (m+k-1) \times (n+k-1) (m+k1)×(n+k1)

数学卷积定义

对CNN卷积有参考意义的是数学上的二维卷积,令 P \bold P P 表示 m × n m \times n m×n 大小的二阶张量,令 w \bold w w 表示为 k × k k \times k k×k 大小的二阶张量,令 Q \bold Q Q 表示 P \bold P P w \bold w w 卷积后的结果:

$ {\bold Q} = {\bold w} * {\bold P} $

Q \bold Q Q 的每个元素可表示如下:

Q i , j = ∑ u = − ∞ ∞ ∑ v = − ∞ ∞ w u v P i − u , j − v   ,    − ∞ < i < ∞ , − ∞ < j < ∞ Q_{i,j} = \displaystyle\sum_{u=-\infty}^\infty \displaystyle\sum_{v=-\infty}^\infty w_{uv} P_{i-u,j-v}\ , \ \ -\infty < i < \infty,-\infty < j < \infty Qi,j=u=v=wuvPiu,jv ,  <i<,<j<

其中, P i − u , j − v = 0 , i f ( i − u < 0 ) ∣ ( j − v < 0 ) ∣ ( i − u ≥ m ) ∣ ( j − v ≥ n ) P_{i-u,j-v} = 0 , if (i-u<0)|(j-v<0)|(i-u\geq m)|(j-v\geq n) Piu,jv=0,if(iu<0)(jv<0)(ium)(jvn)

去除 Q \bold Q Q 外围必定为0元素, Q \bold Q Q 的大小为 ( m + k − 1 ) × ( n + k − 1 ) (m+k-1) \times (n+k-1) (m+k1)×(n+k1)

CNN卷积与数学卷积的差异

CNN卷积与数学卷积两者的公式形式基本一致,差别仅在 P i + u , j + v P_{i+u,j+v} Pi+u,j+v P i − u , j − v P_{i-u,j-v} Piu,jv。实际上,CNN卷积在数学上被称为相关函数,两者在定义上的差别仅仅是卷积核是否需要进行上下、左右两次翻转。

此处定义运算符 ⊛ \circledast 表示完全补零的CNN卷积,*仍表示数学卷积,再定义上标~表示二阶张量进行上下、左右两次翻转的运算,即定义 $\bold B = \bold A ^ \sim $ 表示 B i , j = A − i . i j B_{i,j}=A_{-i.ij} Bi,j=Ai.ij ,则有如下表示:

A ∗ B    ⟺    A ∼ ⊛ B A ⊛ B    ⟺    A ∼ ∗ B \begin{aligned} \bold A * \bold B &\iff \bold A^\sim \circledast \bold B \\ \bold A \circledast \bold B &\iff \bold A^\sim * \bold B\end{aligned} ABABABAB

另外,由数学定义可知,数学卷积满足交换律、结合律、加法分配律:

A ∗ B = B ∗ A ( A ∗ B ) ∗ C = A ∗ ( B ∗ C ) A ∗ C + B ∗ C = ( A + B ) ∗ C \begin{aligned} \bold A * \bold B &= \bold B * \bold A \\ (\bold A * \bold B) * \bold C &= \bold A * (\bold B * \bold C) \\ \bold A * \bold C +\bold B * \bold C &= (\bold A + \bold B) * \bold C \end{aligned} AB(AB)CAC+BC=BA=A(BC)=(A+B)C

可推导得CNN卷积有如下基本性质:

A ⊛ B    ⟺    A ∼ ∗ B = B ∗ A ∼    ⟺    B ∼ ⊛ A ∼ \bold A \circledast \bold B \iff \bold A^\sim * \bold B = \bold B * \bold A^\sim \iff \bold B^\sim \circledast \bold A^\sim ABAB=BABA

( A ⊛ B ) ⊛ C    ⟺    ( A ∼ ∗ B ) ∼ ∗ C = A ∗ ( B ∼ ∗ C )    ⟺    A ∼ ⊛ ( B ⊛ C ) (\bold A \circledast \bold B) \circledast \bold C \iff (\bold A^\sim * \bold B)^\sim * \bold C = \bold A * (\bold B^\sim * \bold C) \iff \bold A^\sim \circledast (\bold B \circledast \bold C) (AB)C(AB)C=A(BC)A(BC)

A ⊛ ( B ⊛ C )    ⟺    A ∼ ∗ ( B ∼ ∗ C ) = ( A ∼ ∗ B ∼ ) ∗ C    ⟺    ( A ∼ ⊛ B ) ⊛ C \bold A \circledast (\bold B \circledast \bold C) \iff \bold A^\sim * (\bold B^\sim * \bold C) =( \bold A^\sim * \bold B^\sim) * \bold C \iff ( \bold A^\sim \circledast \bold B) \circledast \bold C A(BC)A(BC)=(AB)C(AB)C

A ⊛ C + B ⊛ C    ⟺    A ∼ ∗ C + B ∼ ∗ C = ( A ∼ + B ∼ ) ∗ C    ⟺    ( A + B ) ⊛ C \bold A \circledast \bold C +\bold B \circledast \bold C \iff \bold A^\sim * \bold C +\bold B^\sim * \bold C= (\bold A^\sim+\bold B^\sim) * \bold C \iff(\bold A+\bold B) \circledast \bold C AC+BCAC+BC=(A+B)C(A+B)C

CNN卷积性质的应用

P \bold P P 表示原始图像的一个通道,为 m × n m \times n m×n 大小的二阶张量,令 w \bold w w 表示某一层某一通道的卷积核,为 k × k k \times k k×k 大小的二阶张量(k一般为奇数,令 k = 2 t + 1 k = 2t+1 k=2t+1),令 Q \bold Q Q 表示 P \bold P P w \bold w w 完全补零CNN卷积后的图像:

$ {\bold Q} = {\bold w} \circledast {\bold P} $

若存在卷积核 w α \bold w\alpha wα w β \bold w\beta wβ ,则j完全补零CNN卷积满足如下性质:

w α ⊛ P + w β ⊛ P = ( w α + w β ) ⊛ P \bold w\alpha \circledast \bold P + \bold w\beta \circledast \bold P = (\bold w\alpha+\bold w\beta) \circledast \bold P wαP+wβP=(wα+wβ)P

w α ⊛ ( w β ⊛ P ) = ( w α ∼ ⊛ w β ) ⊛ P \bold w\alpha \circledast (\bold w\beta \circledast \bold P) = (\bold w\alpha^\sim \circledast \bold w\beta) \circledast \bold P wα(wβP)=(wαwβ)P

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值