← 全部章节详细版这一节

P29 · 架构

卷积神经网络

CNN · 2021 版 · 视频 55:40

1这节解决什么问题

一张普通的彩色图,直接摊平接到输出层,光这一层就要上千万个参数。参数多还不是最要命的,要命的是图像的两个常识完全没用上。

2一句话讲清

卷积把三条图像常识写进结构:有用的图案只占一小块、同样的图案可能出现在任何位置、物体缩小一点还是同一个东西。

3通俗解释

  1. 只看一小块:一个神经元不必连到整张图,只看一个小窗口。这样要学的数一下就少了。
  2. 同一组权重到处用(参数共享):同一个图案出现在左上角还是右下角,都用同一组权重去认。换个说法就是一个「滤镜」滑过整张图——两种说法是同一件事。
  3. 池化:把一小块里的结果汇总(比如取最大),没有参数。它带来的是「大致不变」——物体挪出这个小块,结果还是会变。
  4. 三件事合起来,参数量从几千万降到一千多,代价是把「图像大概长什么样」这个强假设写死了。讲义把它叫「更大的模型偏差」。

4一个例子

讲义例子

讲义用一张手写的小图和两个小滤镜走了一遍:滤镜在图上滑动,每停一处就把盖住的那一小块做一次加权求和,得到特征图上的一个数;换一个滤镜,同一位置得到另一个数。再用「取最大」做一次汇总,图就缩小一半。整个过程没有「学习」,只是把「看局部、到处用同一双眼睛」写进了结构。

5常见误区

  • 以为卷积就是「平移不变」。更准确是「平移等变」:图往右挪,特征图也往右挪,数值不变,位置信息还在。真正把位置抹掉的是池化。
  • 以为参数共享是「所有神经元权重一样」。只有同一个滤镜在图上各处共享;不同滤镜的参数不同,否则多个滤镜等于一个。
  • 以为池化是必需品。讲义提到下围棋的程序就没用池化,因为棋子之间的全局关系重要;现在也常用「跨大步」的卷积代替。

6和相邻几节的关系

P36、P37 会把卷积说成「只在一个小窗口里做注意力」的特例;P38 的循环网络提供另一种看上下文的方式;P47、P48 的 Transformer 把「看哪里」交还给数据。

730 秒回顾

全连接参数爆炸;局部、共享、池化三条先验;共享等于滤镜滑窗;卷积是平移等变不是不变;池化可选;代价是图像专用的强假设。

8小自测

先自己答,再点开对答案。

1. 为什么说卷积是「平移等变」而不是「平移不变」?

输入平移,输出的特征图也跟着平移,数值不变——位置信息还在。真正把位置弄丢的是后面的池化。

2. 参数共享到底共享的是什么?

同一个滤镜在图像不同位置使用同一组权重;不同滤镜各有各的参数。若所有滤镜都一样,多个滤镜就等于一个。

9来源

来源与说明(点开可查)

基于对应官方讲义整理并做复习补充,不是视频逐字稿;本页不标注视频时间点。

对应讲义页码:cnn_v4.pdf 第 4–35 页

回到顶部