CSCI3230 T06 · Part 2/3 Exercise
课程:CSCI3230 (ESTR3108) Fundamentals of Artificial Intelligence · 2025T1 本讲:T06,第 2 部分 / 共 3 部分 · 原件 T06-CNN-Concepts-and-Practice-2025T1.pdf(本地课件) p.9–17 定位:四道课堂题全部按给定数据计算;缺省输出通道会明确说明。 前后:上一份 Concepts of CNN · 下一份 CNN Project Practice
本文依据 2025T1 旧版材料重写,供基础学习与预习;不是 2026T1 新增要求或考试范围。补充数值例均另行标注。
Quiz 1:共享到哪一层(p.9–10)
p.10 In CNN, 'weight sharing' refers to 'all convolutional layers having completely identical convolution kernel weights'. Is this statement correct?
尺寸/公式记号按原题重排。
先不要被“共享”两个字带走,指出到底哪两个对象共用哪组数。普通卷积中,是同一层、同一输出核在不同空间位置共享权重;不同核需要学不同模式,不同层的输入通道数甚至可能不同,不能要求全部权重形状都一样。
所以题目把共享扩大到“all convolutional layers”,命题为False。补充自取:第一层是3×3×1核,第二层输入32通道,核变3×3×32,这两层连参数个数都不同,更不可能按普通定义完全相同。
自查时把一句模糊定义改成完整句:“谁在什么范围内共享什么?”这比只记True/False更能避免换题就错。
Quiz 2:28 像素输入(p.11–12)
p.11 Given the input image size of (MNIST data), using a convolution kernel, stride = 1, no padding (Padding=0), find the size of the feature map after convolution ().
尺寸/公式记号按原题重排。
先把给定条件摆好:输入边长28,核宽3,步长1,每边填充0。空间计算与通道计算分两步。
- 不填充,所以可用长度还是28。
- 核左上角从0开始,最远到25,覆盖25、26、27,仍在范围内。
- 起点0到25一共26个,不是25个。
- 高宽相同,因此空间为26×26。
公式也给同样结果:
原题只说“a kernel”,p.12按一个输出滤波器给 。最后的1来自单核这个读法,不能只因输入单通道就断言输出单通道。若改用8个核,空间不变,输出会是26×26×8。
检查:kernel3为什么不是让长度28直接除3?因为窗口重叠、每次只走1,不是在把图切成不重叠三格块。
Quiz 3:偶数核与填充(p.13–15)
p.13 For a certain CNN’s Conv layer, the input is (8 channels), kernel size , stride = 1, Padding=2, number of kernels 16, find:
the size of the feature map after convolution;
the total number of parameters in this layer.
尺寸/公式记号按原题重排。
这题同时问形状和参数,分两张账来做。形状先只看空间:输入16,左右各补2后变20,核宽4,合法起点从0到16,计17次。
16个核产生16张图,所以完整输出为17×17×16。输出比输入大1并非一定算错:偶数核4配对称padding2,本来就不是恰好same。核4在stride1要总填充3才保持长度16,左右对称整数填充无法各给1.5。
再数参数。一个核覆盖4×4空间和8个输入通道,共 个权重;每核另有1偏置;16核共 权重加16偏置,得到2064。
输出有 个激活,不能拿这个数当参数,因为同一核在289个空间位置重复用。增加padding让输出位置变多,却没增加核内可学习数。
小检查:若题目明确 bias=False,哪一步变化?
参考答案
只去掉每核的1个偏置,总参数变2048;输出形状仍17×17×16。
Quiz 4:一路追踪到展平(p.16–17)
p.16 Suppose we have a CNN with hierachy structure [Conv1(), MaxPool1(), Conv2(), MaxPool2()], padding=0, stride=1(stride=2 for maxpool). Given an input image with shape (), find the shape of output feature.
尺寸/公式记号按原题重排。
长链最常见的错误是第二层还用原输入28。正确做法:每算完一层,把输出写在纸上,它就是下一层的输入。题中Conv1的6、Conv2的16是输出核个数。
| 步骤 | 本层读取什么 | 空间计算 | 输出 |
|---|---|---|---|
| Conv1 | 28×28×1 | 24×24×6 | |
| MaxPool1 | 24×24×6 | 12×12×6 | |
| Conv2 | 12×12×6 | 8×8×16 | |
| MaxPool2 | 8×8×16 | 4×4×16 |
为什么第一池化通道仍6?因为每张图各自取窗口最大值,没有把六张图合为一张。为什么第二卷积变16?因为第二层用了16个不同核,每核都跨上层六个输入通道。
原题所问最终特征形状是4×4×16。若后接全连接,才再展平成 个特征。展平不是把各格相加,它只是按固定顺序排成一条,所以信息个数不变、参数数为0。
自己核验时,可把每次池化前空间圈起来:24到12、8到4确实各减半;卷积的24到8不是直接一次减到8,而是先池化成12再卷积。
补充 · 尺寸反推能帮你发现少一个取整或偏置(通识讲解;演示数据不属于原题)。
正向算出输出尺寸后,可反推最后一个窗口的起点来核对。演示输入边长8、核3、步长2、无padding:合法起点是0、2、4,共3个;若从6开始,窗口需要输入位置6、7、8,最后一个已越界,所以不是4个输出。这样直接数位置,比只套公式更容易发现忘记向下取整。
参数核验则另开一张账:先数每个输出核的输入连接数,再数是否有偏置,再乘输出通道数。批大小和输出空间位置不能混进参数数;它们影响激活或运算次数。四道原题保留原数值,这个额外检查用于发现计算机制上的错误,不替原题补设未给出的输出通道。
原页池化图的全部数值(p.16–17)
四个不重叠窗口分别取最大值6、8、3、4;此例无padding,没有可训练参数。p.17流程最后再次出现的“MaxPool1”应按位置理解为第二次池化,而不是退回前一层重算。
补充:偶数核想保持尺寸,左右填充可能不一样
自编输入长度5、核宽4、步长1、dilation1。若左padding为 、右为 ,输出长度是 。要仍为5,需总padding为3;可以左1右2,也可左2右1,但不能每侧都填1.5个离散位置。
两种不对称填充虽然输出长度相同,输出窗口与原输入的对齐却差一个位置。用输入 、全1核演示:左1右2时首窗口为 ,和6;左2右1时首窗口为 ,和3。形状表一致并不能证明数值对应关系一致。
二维要分别给上/下与左/右的规则。题目若要求对称整数padding而方程无整数解,应指出该组合做不到;不能悄悄把题目条件改成不对称。软件的“same”是某种具体输出与对齐约定,不等同于所有情况下每边相同的一个整数。
本讲核心考点
- 四道题为本辅导 p.10–17 的明确课堂练习,属于 C 级授课覆盖;题目存在本身不升级为往年考试。
- 最易丢分的区别:输出通道由滤波器数决定;参数数还要乘输入通道。
附录
本部分没有需要另展的推导或题目演练。
来源与证据
- 原件:T06-CNN-Concepts-and-Practice-2025T1.pdf(本地课件),p.9–17;均为当前 PDF 页号。
- 本次重写核对本篇所列讲义页码;旧版作业/试题题面如保留,属于历史练习,不代表 2026T1 考核要求。未以未公开试题推断考试内容。
- 往年卷仅证明相应年份考过;2024 卷及 2025 节选未公开的选择题不作推断。