Advertisement

一维卷积神经网络_卷积神经网络的基础知识

阅读量:

一维卷积

一维卷积的输入是一个向量和一个卷积核,输出也是一个向量。

通常状况下,输入向量长度远大于卷积核的长度。

输出向量的长度受卷积操作填充方案的影响,并且在等宽卷积中输出向量与其对应的输入向量长度保持一致。

卷积核的长度通常是奇数,这是为了对称设计的。

一个例子:

aa8ab7ad8c0b13c98144248b8d96f5b0.png

一维卷积示例

注意相乘的顺序是相反 的,这是卷积的定义决定的。

输出长度是7,卷积核长度是3,输出的长度是7-3+1 = 5。

具体来说,在这种情况下,当输入序列的长度为m时,并且滤波器宽度为n时,则其输出序列的总长计算公式为 m - n + 1。

这样的卷积就叫窄卷积。

等宽卷积就是在输入两边各填充(n-1)/2,最终输出长度是m+(n-1)/2*2-n+1 = m。

填充元素可以是0,也可以和边缘一样,也可以是镜像。

如上图例子中的输入向量,

  • 填充0后的输入为 012345670
  • 重复边缘填充后为:112345677
  • 镜像填充后为: 212345676

如下图,等宽卷积以及0填充,输入是1 2 3 4 5 6 7,输出是0 2 4 6 8 10 20

e96bf7a8d002a258fa649a1ddc5acf42.png

0填充-等宽卷积

换种风格说一下卷积步长的概念,如下图

67f73709cdc1ae04d29839f798aa694d.png

图a是步长为2,不填充;图b是步长为1,填充0的等宽卷积。

卷积操作的步距设置为2,在这种情况下相当于每隔两个采样点取一个样本。这即是步距概念的具体体现。在等宽卷积的情形下(即使用相同宽度的滤波器),一维卷积操作中设置步距为2会导致输出序列的长度变为输入序列的一半。

二维卷积

ba17d03d5f8def45ddccc775985d4210.png

无填充的二维卷积

如图所示,在二维卷积运算中(2D convolution operation),当输入的空间维度为mxm(input spatial dimension为mxm),且滤波器尺寸为nxn(filter size为nxn)时,则未使用填充时的输出尺寸为(m-n+1)x(m-n+1)(output dimension without padding为(m-n+1)x(m-n+1)。这一特点与一维卷积具有相似性(characteristic)。对于带填充情况下的2D卷积过程,请参考下文

f674b2f2e9c5188a355e4c9bd909f08f.png

卷积的padding

卷积核的含义

600852b184013e82f066fd72ce950848.png

不同卷积核的作用:锐化,边缘等

在信号处理领域中的一些特定层也可被视为滤波器形式的存在。例如,在数字图像处理中应用这些滤波器能够有效地实现目标图像的生成或增强效果。上文展示了三种不同的滤波器配置模式:一种用于增强边界细节;另一种则用于减少噪声干扰;第三种则专注于边缘提取功能的优化实现。神经网络模型通过学习确定了这些关键组件(即滤波器),其初始参数可能设为零或随机数值。经过训练过程后,在模型中所学到的重要特征将由这些过滤组件所承载并得以有效提取

卷积层

ab629a66e05b61f80f39f902f2dfd0dc.png

全连接层和卷积层

如图所示,在本例中全连接层共有5 \times 7 = 35条连线,并包含着35个不同的参数数量;而卷积层仅有16 \times 9 = 144条连线(注:此处可能笔误应为16 \times 9 = 144?),却仅有三个独立的学习参数。值得注意的是,在图b中采用相同颜色标注的连线拥有相同的权重值这一设定被称为权重共享机制;这表明当通道数较小时(例如本例中的C_{in}=8C_{out}=16),网络能够通过局部区域之间的联系实现有效的特征提取能力(即所谓的局部连通性)。具体而言,在这种设置下每一行输入单元只与对应的几个输出单元建立直接联系(即行方向上有8通道输入时最多只能影响到下一深度层面的一个通道),这表明局部区域之间的联系更为紧密

池化层

用几个二维的例子来说明,概念非常简单。如这是2x2最大池化,

1e6f6b112ea5186140d42ba21d06da33.png

max-pooling

这是2x2平均池化

e08f2ec2d67bc5b6d66396bca04a1128.png

average-pooling

但要注意的是这里默认步长 是(2,2),也就是横竖两个方向上的步长都是2。

从逻辑上讲,使用2×2的最大池化层且步长为1时的输出特征图尺寸通常会与输入尺寸一致或缩小一半。然而,在实际应用中这一策略并不常见。

59c68425b651e07cdd6f43fd8c4047ff.png

步长为1的最大池化

池化层也有填充的概念,道理和卷积差不多。

激活层

激活层不会影响特征图的空间尺寸。具体来说,如果输入的空间尺寸为mxm,那么经过激活层处理后的输出空间尺寸同样为mxm不变。值得注意的是,虽然输出的空间位置与输入一致,但每个位置上的像素值都会通过函数 f 转换为新的数值,其中 f 即为激活函数这一核心组件的工作原理之一。(比如)sigmoid函数是一种常用的激活函数。

4eac40a17a11913928cafcb987fff2ef.png

Sigmoid激活函数

或者ReLU函数

d34317b0e517bde11228a8f91931d258.png

ReLU激活函数

优化效果的途径

为了提升模型性能,在设计过程中可采取以下措施:
- 提升网络结构深度
- 提高各层神经元的数量
- 引入Dropout正则化技术
- 采用多种优化算法进行训练
- 提高模型训练迭代次数
- 调整批量大小参数
- 实施适当的正则化策略以防止过拟合

参考文献

复制代码
    https://nndl.github.io/ 《神经网络与深度学习》

全部评论 (0)

还没有任何评论哟~