PS:理解卷积和卷积神经网络
卷积
一、自相关、互相关
两个相关函数都是对相似性的度量
自相关:R(u)=f(t)*f(-t)
函数自身的周期性强弱
互相关:R(u)=f(t)*g(-t)
两个函数在不同的相对位置上互相匹配的程度
二、卷积层与全连接层的共同点和不同点
1.全连接层
权重看作是展开的一维图形模板,输入的图像也是展开的一维向量,两个向量做点积,若两个向量越相近,则点积的结果越大,即输入图像与图像模板的匹配程度越高。
2.卷积层
卷积神经网络中,卷积核是多维特征模板,但是不是整幅图像与模板匹配,而是图像的一部分与模板匹配,点积越大,也就是说匹配程度越大。
三、点积与叉积
1.点积、内积、数量积
$$
\mathbf{a}\cdot \mathbf{b} = \sum_{i=1}^n a_ib_i = a_1b_1 + a_2b_2 + \cdots + a_nb_n
$$
几何意义:b在a方向上的投影
2.叉积、外积、向量积
$$
\mathbf{a} \cdot \mathbf{b} = \mathbf{a} \mathbf{b}^T
$$
几何意义:a和b构成的平行四边形的面积
卷积神经网络
一、卷积层的处理
1.padding:对原始图片在边界上进行填充填充
每个方向扩展像素点数量为 p,填充后原始图片的大小为 (n+2p)*(n+2p),滤波器保持 f * f不变,则输出图片大小为 (n+2p-f+1) * (n+2p-f+1)
- Valid 卷积:不填充,直接卷积,结果大小为 (n-f+1) * (n-f+1)
- Same 卷积:进行填充,使得卷积后结果大小与输入一致 n+2p-f+1 = n ,得出 p =(f-1)/2
2.stride:卷积走的步长
设步长为 s,填充长度为 p,输入图片大小为 n * n,滤波器大小为 f * f,则卷积后图片的尺寸为:
⌊(n+2p-f)/s+1⌋ × ⌊(n+2p-f)/s+1⌋
⌊ ⌋ :向下取整的符号
二、卷积神经网络(CNN)中的三种层
1.卷积层(Convolution layer)
卷积核在上一级输入层上通过逐一滑动窗口计算而得,卷积核中的每一个参数都相当于传统神经网络中的权值参数,与对应的局部像素相连接,将卷积核的各个参数与对应的局部像素值相乘之和,通常还要再加上一个偏置参数
2.池化/采样层(Pooling layer)
往往在卷积层后面,通过池化来降低卷积层输出的特征向量,不易出现过拟合
Max Pooling: 选择Pooling窗口中的最大值作为采样值
Mean Pooling: 将Pooling窗口中的所有值相加取平均,以平均值作为采样值
3.全连接层(Fully Connected layer)
每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来
4.三种层在参数上的区别
卷积层——仅有少量的参数
池化层——没有参数
全连接层——存在大量的参数
5.注意
- 在计算神经网络的层数时,通常只统计具有权重和参数的层,因此池化层通常和之前的卷积层共同计为一层。
- 随着网络的深入,提取的特征图片大小将会逐渐减小,但同时通道数量应随之增加
三、卷积运算参数少的机制
PS:卷积神经网络的参数少,从而解决了,一般神经网络处理图像数据时,需要用大大量参数的问题
1.参数共享(Parameter sharing):在卷积过程中,不管输入有多大,一个滤波器能对整个输入的某一特征进行探测
2.稀疏连接(Sparsity of connections):滤波器的尺寸限制使得,每个输出值只取决于输入在局部的一小部分的值,稀疏连接不同于全连接,每个输出综合了所有的输入特征