funaio / 实验室EXPERIMENT 001 · ROSENBLATT实验说明 ↗

从一笔,到一个判断

机器是怎么
看见字母的?

感觉、关联、响应。
跟着一个信号,走完整个感知机。

罗森布拉特式感知机 / 交互教学实验
    INPUT / 手写白板等待输入
    浏览器不支持画布,请使用支持 Canvas 的浏览器。
    Σ

    给机器一个字母,
    看看它如何思考。

    鼠标 / 手指 / 触控笔

    练习范围:大写 A–Z,对应 a–z 类别。只写一个字母,尽量居中、笔画分开。示例与训练数据同源,通常更容易识别。

    400 S → 256 A → 26 R三组单元 · 仅 A → R 可训练
    本机计算
    STEP 00 / WRITE

    从你的笔画开始。

    点击 Start,在左侧白板写一个大写英文字母。我们先不揭晓答案,一起跟着信号走过感知机的每一步。

    笔画→感觉 S→ C →关联 A→ W →响应 R

    你来画。机器来算。每一步,都能看懂。

    感觉 S → 固定 C → 关联 A → 可学习 W → 响应 R

    先观察,再解释,最后才做出判断。

    理解模型,也理解边界

    它没有认出“意义”,
    它学会了比较得分。

    这和罗森布拉特有什么关系?

    本实验采用罗森布拉特式的 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 进入关联单元,不直接输入响应单元。训练样本也经过同样处理。

    原始资料与公式来源

    Rosenblatt, 1958 · 原论文
    Cornell · 感知机与更新规则
    Cornell · 多分类感知机