卷积神经网络从入门到经典模型详解
1. 为什么需要卷积神经网络?
传统的多层感知机(MLP)在处理图像时存在明显缺陷:
- 空间结构丢失:将图像展平成一维向量,忽略了像素间的空间关系
- 参数量爆炸:以 3600 万像素的 RGB 图像为例,单隐含层 100 个神经元的 MLP 需要 36 亿个参数
而人类视觉系统天生就擅长识别空间模式,CNN 正是模拟这种机制的产物。
2. 卷积神经网络的两个原则:
平移不变性
无论物体出现在图像何处,神经网络都应能识别它。
局部性
网络早期只关注局部区域,随着层次加深才逐渐整合全局信息。
3. 卷积层工作原理
卷积层通过卷积核(也称过滤器)提取特征:
- 核矩阵与输入图像局部区域进行交叉相关运算
- 加上偏置后得到输出特征图
- 核参数在整个图像上共享,大幅减少参数量
总结:
1.卷积层将输入和卷积核进行交叉相关,加上偏移后得到输出
2.核矩阵和偏移是可学习的参数
3.核矩阵的大小是超参数
4. 填充与步幅
填充
在输入周围添加额外行 / 列(通常是 0),用于:
- 保持输出尺寸与输入相近
- 防止边缘信息过早丢失
步幅
卷积核滑动时的步长,可成倍减少输出尺寸,降低计算量。
总结:
1.填充和步幅可以改变输出的高度和宽度
2.填充在输入周围添加额外的行/列,增加输出的高度和宽度
3.步幅是每次滑动核窗口时的行/列的步长,可以成倍的减少输出形状
4.填充和步幅可用于有效地调整数据的维度
5. 多通道卷积
彩色图像通常有 RGB 三个通道,处理方式是:
- 每个通道有独立卷积核
- 各通道结果相加得到最终输出
6. 池化层
池化层用于降采样和增强鲁棒性:
最大池化
取窗口内最大值,保留最显著特征。
平均池化
取窗口内平均值,保留整体趋势。
7. 学习表征:
学习标征通常需要从底层特征开始,经过多步非线性转换才能得到。
浅层学习:不涉及特征学习,其特征主要靠人工经验或特征转换方法来抽取
表示学习:如果有一种算法可以自动地学习出有效的特征,并提高最终机器学习模型的性能,那么这种学习就可以叫作表示学习
8. 特征学习的层级结构:
CNN 通过多层非线性转换自动学习特征:
- 浅层:边缘、颜色、纹理等基础特征
- 中层:形状、部件等组合特征
- 深层:完整物体、场景等高级特征