单元五
第16课 一层层认出整幅图——多层变换粗知

一、任务目标
用两层数字变换,体会“一层层加工”。
二、知识点短列表
- 层:一次变换;多层=多次加工。
- 特征:每层抽出的有用信息(本课用数字模拟)。
- 前向:按顺序从输入算到输出。
- 「forward」。
- 深度常与有监督等一起用,不是互斥标签。
- 层的次序属于模型结构:先×2 再-1,与先-1 再×2 结果不同。
- 列表推导 「[表达式 for x in xs]」 或 「遍历循环」 + 「追加到列表」 对每个元素做同一种变换,适合模拟一层。
三、机器学习在说什么
深度学习名字里的“深”,指网络层数多,能从原始输入逐步得到更抽象的表示。小学不必推公式,但要建立图像:不是一次魔法,而是一层层。
本课 layer1 把每个数×2,layer2 再减1,对 [1,2,3] 得到 [1,3,5]。检查题锁定这个计算,保证你真的串联而不是只写一层。
把滤镜比喻记进笔记:输入→层1→层2→输出;认图时想象边→部件→整体。
深度不等于神秘:它仍然要数据、要检验、要人负责。本课用列表推导模拟层,是为了让你看见“输出接着当输入”的管道,而不是背诵“神经网络”五个字。算力与层数变多时,管道思想不变。
与有监督的关系:许多深度认图系统仍用带标签图片训练——深度描述的是模型结构,有监督描述的是有没有标签。两者可以叠在同一任务上,五问诊里“复杂感知”只是提醒你可能需要更深的结构。
四、相关积木怎么用
- 一层变换:「for x in xs: out」(与列表推导同义)。
- 「return layer2」 串联。
- 迷你例子:「向前」 → 「[1,3,5]」。
走查:输入 「向前」 → 先 layer1 得 [2,4,6],再 layer2 得 [1,3,5],所以最终输出 [1,3,5]。若只调用 layer1,会得到 [2,4,6],不等于检查期望。
列表推导一句顶一层:对 xs 里每个 x 做同一变换。两层就是两次推导再嵌套调用。认图时想象滤镜叠滤镜;没有管道图像,就不要空谈“很深”。
检查锚点:forward([1,2,3])→[1,3,5];中间量 [2,4,6] 会手算。
想一想:若调换两层顺序变成先-1 再×2,[1,2,3] 的结果是什么?与原来的 [1,3,5] 相同吗?
答案应先算出 [0,2,4](先各减 1 再×2),与 [1,3,5] 不同。把两组结果并排写,作为“结构=层+次序”的证据。forward 检查只认串联后的 [1,3,5],中间量也要会手算,防止只会抄最终列表。
管道检查:草稿纸写输入→层1中间量→层2输出三列。认图对应像素→边→部件→整脸,层数可变但串联不变。交换两层后必须写出具体新列表,不能只说“会不一样”。
要点串讲:深=层数多、层层提特征;前向按序计算;forward 串联 layer1 与 layer2;深度常与有监督数据结合;玩具版只为建立管道图像。本课过关标准:能说明为何必须两层都走,并完成 [1,2,3]→[1,3,5]。加练:交换两层顺序会得到不同结果,说明层的次序是模型结构的一部分,不能随便调换。
五、操作步骤
六、解题思路
任务:用两层数字变换,体会“一层层加工”。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。
本课主要用到:屏幕输出。
- 1明确任务「用两层数字变换,体会“一层层加工”。」:运行后你希望看到什么结果(文字、图形或计算结果)。
- 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
- 3找出重复动作,用「计数循环/遍历」积木写成循环,少抄几遍。
- 4把可复用的一段动作做成函数,主程序里调用它。
- 5对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。
流程示意(可对照左侧文字)
七、图形块功能讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
即时验算:[1,2,3]→层1[2,4,6]→层2[1,3,5]。只跑层1得[2,4,6]不等于期望。交换两层后写出新结果列表,证明次序属于结构。列表推导模拟一层。缺少中间量不算真懂。滤镜比喻要能讲给同桌听。
深度与有监督关系句:深度说结构多层,有监督说有没有标签——可以叠用。本课玩具 forward 不训练权重,只练串联。认图滤镜比喻与三列手算表一起交,才算理解“层层提特征”。
八、课堂练习
先完成两道正误判断,再做其余题目;选出后点「检查」。
判断:以为深度学习与有监督从不一起用;或只调用一层却声称 forward。
判断:理解多层串联;知道深度常配有监督数据;本课 forward 必须经过两层。
判断:深度学习常用于认图、识音。
判断:深度学习与有监督从不一起用。
判断:前向是按顺序从输入算到输出。
判断:层数多为‘深’的直观含义之一。
选择:人脸识别常见技术背景 →
九、知识点讲解
先弄清本课输入与输出,再进编程练习对照现象。
十、编程练习
用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码自动判题。
参考代码(对照抄写到下方 Mixly)
def layer1(xs):
out = []
for x in xs:
out.append(x * 2)
return out
def layer2(xs):
out = []
for x in xs:
out.append(x - 1)
return out
def forward(xs):
return layer2(layer1(xs))
print(forward([1, 2, 3]))
正在载入编程环境
正在载入 Mixly 图形化编程环境…
十一、本节小结
你现在能实现 「向前」:按序串联 layer1 与 layer2,对 [1,2,3] 得到 [1,3,5],并理解层序是结构的一部分;交换层序会得到不同列表;中间量[2,4,6]会手算;深度与有监督可叠用;管道三列手算要交。need_big_model 判断小任务是否不必上大模型。