三十三、 数数这件事:三个种子都对,但它有一个我必须说清的局限

★ 1.6k 字 · 源文件 进度.md 第 1677 行起 · goal memory external

#★ 先说好消息

★★★★★ 屏幕上散着 1、2、3 或 4 个小图形 —— 每次位置、大小、形状都不同 —— 她都能数对,然后把数字敲出来。

种子同带(她训练时那种画面)
★ 种子 0★★ 100.0%(四类全对)
★ 种子 1★ 99.0%
★ 种子 2★ 99.5%
★ 机率线25.0%

★ 而这三个数字不是从训练日志里抄的 —— 是把保存下来的她重新加载、重新考一遍得到的。 (这件事我这一轮才知道有多重要,见下面第五节。)

#★ 我还试了两件"换条件"的事

做法意思结果
★ 训练时用小图形,考试时换成大图形★ 如果她只是"背了一个墨量阈值",换成大图形就该全错★ 普通种子掉到 82%–88%;<br>★ 专门为这件事训练的版本保持 100%
★ 训练时用固定位置,考试时换成随机位置★ 如果她背的是"画面",换位置就该全错★ 掉到 34.9% → ★ 固定位置训练【产生不了】这个能力

★★ 第二条是目标里要求的那个对照,而它的结果是【负面】的。 我一开始把它读成了正面,后来独立复考才发现读错了 —— 这一条现在如实写着。

#★★★★★ 现在说我必须说清的局限

我写了一个【不学习】的小程序:把屏幕二值化 → 找连成一片的块 → 数有几块。

它也是 100%。

★ 原因:我在设计里要求"两个物体至少隔开 22 像素"(免得它们粘成一个), 于是每个物体恰好是一块 —— 一个十行的程序就能满分。

我能说我不能说
★ 她不是在量墨点多少(换尺度她也不崩)★ "她会数数"(那种能数重叠在一起的、被挡住一半的东西的"数数")
★ 她在位置/形状/大小全随机时都对★ 把"会数"与"会数块"分开 —— ★ 在这个设计里它们是同一件事

★ 怎么修(下一次): 让物体可以【部分重叠】、可以被【挡住】、可以只露出【半个】 —— 这样"数块"就不等于"数个数"了。

#★★★ 我这一轮学会的最重要的一件事

训练日志里那行"四类全 100%",和 --save-best 保存下来的那个她, 是【两个不同时刻】的东西。

★ 我这一轮因此两次读错:

我读错的真相
★ "固定布局训练也能泛化到随机布局"★ 那个检查点在随机布局下只有 34.9%
★ "种子 0 的'四类全 100%'是完成"★ 那个检查点无论看到什么都敲同一个键 —— 它是坏的

★★ -> 现在立的规矩:日志只给曲线,结论【必须】来自"把检查点重新加载再考一遍"。

#★ 一句话

★★★ 她现在会:认字(0.944)、听一个字走到那个角(93.8%–100%)、 数一数有几个东西并把数字敲出来(三个种子 99%–100%,而且换个大小也基本成立)。

★★ 而这第三件事第一次让她学会了一种新东西: 【输入可以长得完全不一样,答案是同一个】—— 这是抽象的开头。

★ 下一个该修的,是让"数一数"真的需要【数】,而不是"数有几个块"。


← 返回《进度.md》目录