从一笔,到一个判断
机器是怎么
看见字母的?
感觉、关联、响应。
跟着一个信号,走完整个感知机。
给机器一个字母,
看看它如何思考。
练习范围:大写 A–Z,对应 a–z 类别。只写一个字母,尽量居中、笔画分开。示例与训练数据同源,通常更容易识别。
从你的笔画开始。
点击 Start,在左侧白板写一个大写英文字母。我们先不揭晓答案,一起跟着信号走过感知机的每一步。
你来画。机器来算。每一步,都能看懂。
先观察,再解释,最后才做出判断。
BONUS / 让错误成为一次学习
只改变 W,
不重新连接 C。
给出正确标签,执行一次多分类感知机更新。感觉输入 S、固定连接 C、关联阈值 θ 和本轮 A 的活动模式都不改变;只有 W 和响应偏置 b 参与学习。
W误判,ⱼ ← W误判,ⱼ − ηaⱼ
b正确 ← b正确 + η,b误判 ← b误判 − η
C 与 θ:固定不变
学习率 η = 0.1。一次更新不保证立刻判对;刷新会重置学习。
理解模型,也理解边界
它没有认出“意义”,
它学会了比较得分。
这和罗森布拉特有什么关系?
本实验采用罗森布拉特式的 S → A → R 前馈教学结构:感觉单元 S 经固定连接 C 驱动有阈值的关联单元 A,再由可学习连接 W 驱动响应单元 R。原论文讨论过多种结构,包含更复杂的投射区与反馈;这里不是历史硬件的完整复刻。400 个 S、256 个 A、每个 A 的局部 16 条连接与阈值 2,均为本实验的教学设定。
为什么是 26 个输出,而不是一个?
为识别 A–Z,本实验使用 26 个响应得分和 argmax 多类别读出,这是教学扩展。每个响应接收关联输出 a,计算 zₖ = Σⱼ Wₖⱼaⱼ + bₖ。它对关联输出是线性的,但 A 的阈值变换使整个模型不再是对原始像素的一次线性求和。“单层”在这里指只有 A → R 这一层连接可训练,不是只有两组单元。
权重从哪里来?为什么会认错?
权重通过 1,820 张由程序笔画模板生成的 A–Z 样本训练得到,共 30 轮,包含小幅倾斜、笔宽与形状扰动。没有使用真实手写数据集,也没有调用大模型。不同人的字形可能超出训练范围;固定随机特征与单层可学习读出的表达能力有限。即使涂鸦,它也会选出得分最高的字母,这不等于识别正确。
输入经过了哪些处理?
先找到笔画边界,保持长宽比例缩放并居中,最长边占矩阵约 16 格,四周留白;再划成 20×20 格,估计每格覆盖率。覆盖率 ≥ 18% 记为 1,否则记为 0。之后按行编号为 400 个感觉信号 sᵢ,并真正经 C 进入关联单元,不直接输入响应单元。训练样本也经过同样处理。