D2第 4 / 6 节 · 约 40 分钟

图像网络:卷积怎样利用局部结构

本节目标
  • 解释卷积核、共享权重与特征图
  • 识别图像预处理和迁移学习的实际限制

为什么图片不能只当数字长串

云朵工坊开始使用整张卡片图片。图片可以表示为像素网格,彩色图片通常还包含多个颜色通道。若把全部像素直接拉成很长的向量,网络当然也能计算,但它不会天然利用相邻像素组成局部形状这一事实。卷积神经网络把局部邻域作为重要结构,通过重复使用小计算模板提取特征。这是一种适合很多图像问题的归纳偏置,不是因为图片只能用卷积处理;其他结构也能处理图像,是否合适需要比较。

一个卷积核如何工作

卷积核是一个较小的可学习权重网格,在图像不同位置附近执行加权组合,产生特征图。用一个检查竖直边缘的模板作直觉演示:左侧与右侧像素对比明显时,某些位置会出现较强响应。训练中的卷积核通常由数据调整,不必由人手写成固定边缘模板。同一组权重在多个位置使用,称为权重共享;它减少所需参数,也让同一种局部模式在不同位置被类似检测,但并不保证对所有位置变化完全不敏感。

层级组合与下采样

连续卷积层让后面的单元看到更大的输入区域,这个区域称为感受野。局部边缘可以逐渐组合成角、轮廓和更大结构,但具体中间表示未必都能用人类词语命名。池化或带步幅的卷积可以降低空间分辨率,减少计算并增加一定局部变化容忍度,同时也会丢失细节。若玩具类别依靠一个很小的缺口区分,过早把图片缩得很小,后续再深的网络也无法恢复已被丢弃的证据。

从输入到输出的完整例子

工坊先统一图片尺寸,保留能看清边缘的分辨率,按训练所需方式处理像素范围;接着通过卷积与激活得到若干特征图,汇总后进入分类输出。已有模型可作为起点,使用它学到的通用视觉表示,再训练适合卡片类别的输出层,这叫迁移学习。源任务与卡片任务差异过大时,效果不一定好。即使只训练最后一层,也要保证标签质量、分组划分和评估独立,不能把预训练当作免检证书。

视觉模型的边界如何记录

同一圆形玩具换成反光背景,像素变化可能远超轻微平移。工坊应分别测试背景、光照、遮挡和旋转,并记录错误类型。卷积网络通常具有一定位置等变性:模式移动时,相应特征可能跟着移动;这不等于最终分类天然对任意移动、旋转和缩放都不变。分类网络只能给出整张图的类别,不能顺带声称已经定位物体。若需要标出位置或轮廓,应另行定义检测或分割任务,并准备对应标注。

本节要点

  • 卷积利用局部邻域和共享权重,而非只增加层数
  • 下采样减少计算也会损失细节
  • 图像分类、目标检测与分割是不同任务

动手练习:写出一条卡片视觉处理流水线

  1. 列出图片输入、尺寸处理、卷积表示、汇总和分类输出五个环节
  2. 假设类别差异是卡片边缘的小缺口,说明过度缩小图片的风险
  3. 设计背景、光照和遮挡三个测试分组,每组写出预期检查的错误

自查清单

  • 流水线包含输入处理、特征提取和输出
  • 指出缩小图片可能丢失不可恢复的细节
  • 三个测试分组都有明确错误检查目标
先自己做,再查看参考答案

可行流程是读取虚构卡片图片,统一到能够保留缺口的尺寸,按模型要求处理像素范围,经卷积与非线性计算形成特征图,再汇总表示并输出类别。若缺口在缩放后只剩不到一个像素,原有区分证据可能消失,不能期待增加网络层数弥补输入信息损失。背景组检查网络是否把背景颜色当类别线索,光照组检查反光或阴影造成的轮廓变化,遮挡组检查证据不完整时是否需要人工复核。每组都包含两类卡片,不能只放容易样本;报告各组错误率和具体失败例,并明确该流程只做整图分类,不输出物体位置。

本节自测

学完了吗?

标记后会记录在本机浏览器,课程首页显示你的进度。