与全连接神经网络一样,卷积神经网络 ( C N N CNN CNN) 也是由神经元构成的,但是网络的层结构却不相同,在深度学习(四)-前馈神经网络中我们了解到,全连接神经网络由一系列隐藏层构成,每个隐藏层又是由很多个神经元构成,其中每个神经元都和前一层的所有神经元相关联,但是每一层中的神经元是相互独立的。而在卷积神经网络中的每一个神经元都只和下一层中某个局部窗口内的神经元相连,构成一个局部连接网络,组成卷积层,如下图所示:
![](https://i-blog.csdnimg.cn/blog_migrate/67fbc8819f4d33e0d516939b26622db5.png)
1. 卷积
在了解卷积神经网络的时候,我们需要先知道什么是卷积,网上和书上各说纷纭,都有自己的解释,但是万变不离其宗,我也根据自己的资料阐述一下自己的理解。
在信号处理或图像处理中,经常使用一维或二维卷积。
一维卷积经常用在信号处理中,用于计算信号的延迟累积。假设一个信号发生器每个时刻 t t t 产生一个信号 x t x_t xt,其信息的衰减率为 w k w_k wk,即在 k − 1 k−1 k−1个时间步长后,信息为原来的 w k w_k wk 倍。那么在时刻 t t tt 收到的信号 y t y_t yt 为当前时刻产生的信息和以前时刻延迟信息的叠加,数学表现形式为:
y t = w 1 x t + w 2 x t − 1 + . . . + w k x t − k + 1 = ∑ k = 1 m w k x t − k + 1 {y_t} = {w_1}{x_t} + {w_2}{x_{t - 1}} + ... + {w_k}{x_{t - k + 1}} = \sum\limits_{k = 1}^m {
{w_k}{x_{t - k + 1}}} yt=w1xt+w2xt−1+...+wkxt−k+1=k=1∑mwkxt−k+1
w 1 , w 2 . . . w k w_1, w_2...w_k w1,w2...wk 称为滤波器或卷积核,信号序列 x x x 和滤波器 w w w 的卷积定义为:
y = w ⊗ x y = w \otimes x y=w⊗x
例:信号序列为: x = [ 1 , 1 , 2 , − 1 , 1 ] x = [1, 1, 2, -1, 1] x=[1,1,2,−1,1],滤波器为: w = [ 1 , 0 , − 1 ] w = [1, 0, -1] w=[1,0,−1],我们可以推出卷积:
w ⊗ x = [ ( 1 ∗ 1 + 1 ∗ 0 + 2 ∗ ( − 1 ) ) , ( 1 ∗ 1 + 2 ∗ 0 + ( − 1 ) ∗ ( − 1 ) ) , ( 2 ∗ 1 + ( − 1 ) ∗ 0 + 1 ∗ ( − 1 ) ) ] = [ − 1 , 2 , 1 ] w \otimes x = [(1*1+1*0+2*(-1)), (1*1+2*0+(-1)*(-1)), (2*1+(-1)*0+1*(-1))]=[-1, 2, 1] w