ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【零基础学AI】第 24 章课后练习与答案

【零基础学AI】第 24 章课后练习与答案

第 24 章练习与答案

🌈 关于《AI 零基础 36 讲》课后训练

📚与正式讲解配套学习

本篇是《AI 零基础 36 讲》的配套课后训练,与对应章节的正式讲解一起使用。整个系列面向初学者,从日常 AI
使用逐步进入编程、模型训练和大模型应用开发。

✍️先独立作答,再核对答案

训练围绕本章知识安排概念判断、结果分析或动手任务,并提供参考答案与解释。建议先读完对应的正式文章,再独立作答;遇到困难时回看相关例子,最后核对答案。

💻代码题请亲手运行

观察程序输出,确认自己能解释结果、发现错误并完成修复。做完一道题,也要弄清答案为什么成立。

题目

  1. 图中的 4×4 输入、2×2 核,步长 1、无填充,输出为什么是 3×3。第二行第二列输出是多少。
  2. 最大池化得到[[3,2],[1,2]]后,还能恢复输入的每个像素吗。
  3. 卷积层有 8 个 3×3 核,输入一个灰度通道,每个输出通道一个偏置。参数有多少,是否随图片位置重复增加。
  4. 为什么源任务的十类分类头需要替换。奇偶答案能由标签求余得到,是否可以把真实数字标签也喂给目标模型。
  5. 冻结模型时有哪些参数仍需更新。解冻后为什么重新建立优化器。
  6. 微调比从头训练多答对两张,能否得出迁移总是更好、更快。至少指出两项实验限制。

参考答案

1. 输出格数

每个方向有4-2+1=3个完整窗口。第二行第二列覆盖[[3,0],[0,2]],输出为3-2=1。这里核没有翻转。全部九格见计算表。

rowcolumntop_leftbottom_rightoutput
0013-2
01000
02211
10000
11321
12000
20110
21000
22220
fromexamples.conv_coreimportTEACHING_IMAGE,TEACHING_KERNEL,manual_correlation result=manual_correlation(TEACHING_IMAGE,TEACHING_KERNEL)print(result.shape,result[1,1])

输出为(3, 3) 1.0。

2. 池化的信息

不能恢复。最大值没有记录同一区域中其他三个值,也没有保留最大值原来在区域的哪个位置。本章没有返回最大值索引。

3. 卷积参数

每个核有 9 个权重,总参数为(1×3×3+1)×8=80。这些权重在各位置共享,不按扫描窗口数量再乘一遍。

importtorch layer=torch.nn.Conv2d(1,8,3,padding=1)print(sum(p.numel()forpinlayer.parameters()))

输出为80。

4. 目标头和标签

源头有十类,目标只有偶数与奇数两类,目标编号对应关系已经变化。应复制特征部分并新建二类头。把真实数字标签作为输入会直接提供答案线索,破坏从图片预测的任务。标签求余只用于数据编制与核对。

5. 更新范围

冻结特征时保留新头可求导,更新 66 个参数。微调时允许全部 4274 个参数更新。若旧优化器只收到分类头,解冻特征不会自动把它们加进优化器。本章显式重新建立优化器,并使用较低学习率。

6. 结果限制

这次固定划分只看到微调多答对两张,冻结迁移还少答对一张。单次实验没有验证跨种子的稳定性。迁移另用了 1000 张源图片和 30 轮预训练,完整成本并非只有目标阶段。源任务和目标任务仍属于同一图片家族,也不能据此说明可以迁移到宠物照片等差异很大的场景。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进