目标实验目标
读懂这段前向传播:查向量 → 拼接 → tanh 隐藏层 → 线性打分 → softmax。黄色虚线是可改的数字,改完重新运行。
重点把 黑洞 的词向量改成和「恒星」几乎一样,运行后对比输出——这就是「举一反三」在代码里的样子。
代码可编辑源码
虚线处可直接点击修改,改完点「运行代码」。
ffnn_lm.js — 点击黄色数字可编辑
输入选择上下文
「围绕」固定为 [0.10, 0.20]。
结果分类结果
等待运行…
行星—
雨伞—
监视变量监视
待定词 = -
天文性 x₁ = -
隐藏层 h = -
行星 logit = -
P(行星) = -
判定 = -
日志执行日志
点击「运行代码」开始执行…
挑战实验课挑战
挑战 1 · 复制相似向量
把「黑洞」的向量改成 [0.90, 0.15](与恒星完全相同),运行后 P(行星) 是多少?
把「黑洞」的向量改成 [0.90, 0.15](与恒星完全相同),运行后 P(行星) 是多少?
挑战 2 · 拉大差距
把 w_h 从 1.5 改成 4.0,「香蕉」的 P(行星) 会怎么变?为什么?
把 w_h 从 1.5 改成 4.0,「香蕉」的 P(行星) 会怎么变?为什么?
挑战 3 · 去掉激活
把 Math.tanh(...) 改成直接返回值(去掉非线性),模型还能区分天文词吗?
把 Math.tanh(...) 改成直接返回值(去掉非线性),模型还能区分天文词吗?
挑战 4 · 增加候选词
想让输出层多一个候选(比如「卫星」),代码需要加哪几处?
想让输出层多一个候选(比如「卫星」),代码需要加哪几处?