[机器学习-从入门到入土] 现代机器学习
个人导航
知乎:https://www.zhihu.com/people/byzh_rc
CSDN:https://blog.csdn.net/qq_54636039
注:本文仅对所述内容做了框架性引导,具体细节可查询其余相关资料or源码
参考文章:各方资料
文章目录
- [机器学习-从入门到入土] 现代机器学习
- 个人导航
- 维度与数据表示
- 卷积网络的应用场景
- 卷积网络的设计动机
- 不变性与同变性
- 1. 不变性(invariance)
- 2. 同变性(equivariance)
- 一维卷积(convolution 1d)
- 1. Padding 与 Valid 模式
- 2. 卷积层计算流程
- 3. 通道(channels)
- 4. 感受野(Receptive fields)
- 二维卷积(convolution 2d)
- 采样操作
- 1. 下采样(downsampling)
- 2. 上采样(upsampling)
- 3. 普通卷积与转置卷积对比
- 4. 1×1 卷积
- 经典卷积网络与应用
- 1. 图像分类
- 2. 目标检测
- 3. 语义分割
- 卷积网络不易过拟合的原因
维度与数据表示
- 1维(1d):向量vector
- 2维(2d):矩阵matrix
- 3维(3d):张量tensor
卷积网络的应用场景
- 图像分类(image classification):判断图像所属类别
- 目标检测(object detection):不仅判断图像类别,还需定位目标位置
- 图像分割(image segmentation):逐像素划分图像所属类别
卷积网络的设计动机
图像数据的特点导致全连接层不适用:
- 维度灾难:图像往往是高维的(如224 × 224 = 50176 224\times224=50176224×224=50176个维度),全连接层参数规模过大
- 空间相关性缺失:图像的近邻像素在统计学上往往是相关的,全连接层无法体现该特性
- 变换不变性差:图像在几何变换时希望其可解释性保持不变,全连接层难以做到
卷积层的优势:
- 独立处理每个局部图像区域 -> 可并行
- 使用在整个图像中共享的参数
- 与全连接层相比,参数更少,利用空间关系,无需在每个位置重新学习像素含义
不变性与同变性
1. 不变性(invariance)
若函数f [ x ] f[x]f[x]对于变换t [ x ] t[x]t[x]的输出结果保持不变,则称函数具有不变性:
f [ t [ x ] ] = f [ x ] f[t[x]] = f[x]f[t[x]]=f[x]
2. 同变性(equivariance)
改变输入和改变输出的结果一致,满足如下关系:
f [ t [ x ] ] = t [ f [ x ] ] f[t[x]]=t[f[x]]f[t[x]]=t[f[x]]
->卷积操作满足同变性
一维卷积(convolution 1d)
1. Padding 与 Valid 模式
- Padding 模式:在输入数据的两侧填充元素,使卷积后输出尺寸与输入尺寸一致
- Valid 模式:不进行填充,仅对输入数据的有效区域进行卷积,输出尺寸小于输入尺寸
步长: stride
卷积核大小: kernel size
膨胀/空洞: dilated
Dilation=2代表每2个元素取1个
size按实际取到的元素个数来算
2. 卷积层计算流程
卷积层通过以下步骤计算输出:
对输入进行卷积运算,加上偏置项β \betaβ,然后将每个结果通过激活函数a [ ⋅ ] a[\cdot]a[⋅]传递
卷积网络: 3 weights, 1 bias
h i = a [ β + ω 1 x i − 1 + ω 2 x i + ω 3 x i + 1 ] = a [ β + ∑ j = 1 3 ω j x i + j − 2 ] \begin{aligned} h_i &= \mathrm{a}\left[\beta + \omega_1 x_{i-1} + \omega_2 x_i + \omega_3 x_{i+1}\right] \\ &= \mathrm{a}\left[\beta + \sum_{j=1}^{3} \omega_j x_{i+j-2}\right] \end{aligned}hi=a[β+ω1xi−1+ω2xi+ω3xi+1]=a[β+j=1∑3ωjxi+j−2]
全连接网络:D 2 D^2D2weights,D DDbiases
h i = a [ β i + ∑ j = 1 D ω i j x j ] h_i = \mathrm{a}\left[\beta_i + \sum_{j=1}^{D} \omega_{ij} x_j\right]hi=a[βi+j=1∑Dωijxj]
3. 通道(channels)
- 单一卷积会导致信息丢失(邻近输入平均、ReLU 剪切负值)
- 通常并行计算多个卷积,每个卷积生成一组隐藏变量,称为特征图或通道
通道与卷积核的关系:
- 卷积核的个数→ \to→输出通道数C o C_oCo
- 单个卷积核的层数→ \to→输入通道数C i C_iCi
参数量计算:
核大小为K KK,输入通道C i C_iCi,输出通道C o C_oCo,卷积核参数维度为:
Ω ∈ R C i × C o × K \Omega \in \mathbb{R}^{C_{i}\times C_{o}\times K}Ω∈RCi×Co×K
两个卷积核:
一个卷积核, 但是有两层:
4. 感受野(Receptive fields)
感受野指输出特征图上的一个像素点,对应输入图像上的区域大小
- 例:H1 每个单元感受野为 3,H2 为 5,H3 为 7,H4 为 11
- 规律:卷积层数越多,感受野越大 → 这是卷积网络设计多层结构的核心原因
二维卷积(convolution 2d)
适用场景: 图像数据、金融时间序列、音频、文本等
参数量计算:
核大小为K × K K\times KK×K,输入通道C i C_iCi,输出通道C o C_oCo,卷积核与偏置参数维度为:
ω ∈ R C i × C o × K × K β ∈ R C o \boldsymbol{\omega} \in \mathbb{R}^{C_{i} \times C_{o} \times K \times K} \qquad \beta \in \mathbb{R}^{C_{o}}ω∈RCi×Co×K×Kβ∈RCo
卷积核与输出通道的关系:
- 单个卷积核→ \to→单个输出通道
- 多个卷积核并行计算→ \to→多个输出通道
采样操作
1. 下采样(downsampling)
目标:缩小特征图尺寸,增大感受野
常用方法:
- 子采样
- 最大池化
- 平均池化
- 步长为2的卷积
2. 上采样(upsampling)
目标:放大特征图尺寸
常用方法:
- 重复拷贝
- 最大上采样
- 双线性插值
- 转置卷积/反卷积
3. 普通卷积与转置卷积对比
| 特性 | 普通卷积(下采样) | 转置卷积(上采样) |
|---|---|---|
| 目标 | 缩小特征图尺寸(如4 × 4 → 2 × 2 4\times4 \to 2\times 24×4→2×2) | 放大特征图尺寸(如2 × 2 → 4 × 4 2\times2 \to 4\times 42×2→4×4) |
| 输入/输出关系 | 一个输出像素由局部多个输入像素计算得到 | 一个输入像素会贡献给局部多个输出像素 |
4. 1×1 卷积
核心作用:在不改变空间维度的情况下,调整通道数
- 计算方式:输出层每个元素是同一空间位置上所有通道的加权和
- 参数维度:1 × 1 × C i × C o 1\times1\times C_i\times C_o1×1×Ci×Co
- 本质:在每个空间位置上对通道数据运行全连接网络(结合偏置和激活函数)
- 应用场景:将当前表征与其他并行计算的结果相结合
经典卷积网络与应用
1. 图像分类
数据集:ImageNet
- 训练集:1,281,167 张图像
- 验证集:50,000 张图像
- 测试集:100,000 张图像
- 类别数:1000 类
经典网络:
AlexNet(2012)
- 技术创新:数据增强(2048倍扩充)、Dropout 正则化
- 网络结构:8个隐藏层(前5层卷积,后3层全连接),ReLU 激活函数
- 输入尺寸:224 × 224 × 3 224\times224\times3224×224×3
- 参数量:约6000万,大部分集中在全连接层
VGG(2015)
- 核心区别:网络深度提升(19个隐藏层)
- 网络结构:多组3 × 3 3\times33×3卷积层与最大池化层交替,后接3个全连接层,ReLU 激活函数
- 输入尺寸:224 × 224 × 3 224\times224\times3224×224×3
- 参数量:1.44亿,大部分集中在全连接层
2. 目标检测
任务目标:识别并定位图像中的多个物体
经典方法:YOLO(You Only Look Once)
- 输入尺寸:448 × 448 448\times448448×448RGB 图像
- 网络结构:
- 24个卷积层 + 最大池化层(逐步减小尺寸,增加通道数,类似VGG)
- 最终卷积层输出尺寸7 × 7 7\times77×7,通道数1024
- 特征图重塑为向量,经全连接层映射为4096维特征
- 最后全连接层输出预测结果
- 输出编码:7 × 7 7\times77×7网格每个位置的目标信息
- 每个边界框参数:中心点坐标( x , y ) (x,y)(x,y)、宽高、置信度
- 置信度:评估预测框与真实标注框的重叠程度
- 后处理:去除低置信度框,抑制同一目标的重复框,保留置信度最高的框
3. 语义分割
任务目标:逐像素分配类别标签,如果该像素与训练数据库中的任何对象都不对应,则不分配标签
网络结构:编码器-解码器网络(沙漏网络)
- 核心思路:先通过卷积下采样压缩特征,再通过上采样恢复图像尺寸
- 示例流程:224 × 224 × 3 → 4096 → 224 × 224 × 21 224\times224\times3 \to 4096 \to 224\times224\times21224×224×3→4096→224×224×21(21个类别)
叫编码器解码器网络或沙漏网络:
卷积网络不易过拟合的原因
- 具有更好的归纳偏置(inductive bias)
- 强迫网络对每个图像区域进行相似处理
- 权重共享,减少参数冗余
- 在更小的输入输出范围内学习映射关系