AI 交互实验
先玩“可莉炸鱼”“可莉下山”和可莉比一比,再自由调整参数,或切换“分步学习”,跟着真实数值看懂每一次计算。所有实验均在浏览器本地运行。
可莉炸鱼:K-means 聚类
星落湖里藏着好几群鱼。先自己放蹦蹦炸弹,再看可莉用 K-means 一轮轮把炸弹挪到鱼群中间,比比谁炸得多。
正在准备星落湖……
琴团长:可莉!你又去星落湖炸鱼了?跟我去禁闭室,好好反省。
原理透视
湖面编号 —。点湖面放炸弹,再点一次可以拿起来。
- 已玩局数
- 0
- 赢过可莉
- 0
- 被关禁闭
- 0
K-means 不知道正确答案,它只重复两件事:每条鱼认领离自己最近的炸弹;每颗炸弹挪到认领它的鱼的平均位置。重复到没有鱼换队为止,距离平方和(SSE)每一步都不会变大。它追求“离得近”而不是“炸得多”,所以玩家有机会赢。
可莉下山找宝箱:梯度下降
山上起了大雾,宝箱藏在最低的山谷里。先带可莉在雾里摸索,再看她用梯度下降——只看脚下哪边最陡——一步步往下走。
正在准备蒙德的山……
原理透视
山的编号 —。点地图带路,每步最远约 53 像素;雾里只能看到走过的地方。
- 已玩局数
- 0
- 赢过可莉
- 0
- 飞出地图
- 0
梯度下降不知道宝箱在哪,它只会算脚下的坡度(梯度),然后朝最陡的下坡方向迈一步:新位置 = 旧位置 − η × 梯度。步子 η 太小会困在史莱姆坑(局部最小值);太大会在山谷两侧来回弹,甚至飞出地图(发散)。风之翼(动量)保留上一步的惯性,有时能冲出小坑,但也更容易冲过头。
梯度下降与学习率
在一维函数 L(w) = w² 上,梯度为 2w,每次更新:w ← w − η · 2w。
调整参数后,点击前进一步,观察紫色点的移动。
- 迭代步数
- 0
- 当前 w
- 3.0000
- 当前损失
- 9.0000
对这个函数,0 < η < 1 时会收敛;η = 1 时在两侧等幅震荡;η > 1 时会发散。η = 0.5 会一步到达最小值。这些阈值仅适用于本实验的 L(w) = w²。
阅读梯度下降笔记 ↗温度与 Top-K 采样
调整候选词的 logit,观察概率分布。温度越低,分布越集中;Top-K 只保留分数最高的 K 个候选词。
今天的天气很 …
相同种子与参数可复现采样序列;修改后重新统计。
连续采样后,实际频率会逐渐接近理论概率。修改参数会重新统计。
候选词与 logit 是手动设定的示例,没有调用语言模型。温度影响采样分布,不会改变模型已有的知识。
阅读 Mini-GPT 与文本生成笔记 ↗注意力权重
选择一个词,修改它的查询向量 Q,查看它对各个词的关注权重。热力图每一行的权重之和为 1。
示例 V 为二维向量;分步学习可查看每一项贡献。
因果遮罩会将当前词后面的词屏蔽;取消后可以关注所有词。
本实验使用四维 Q、K 和二维 V 示例向量,省略分词、Embedding 和投影层。它展示缩放点积注意力及 V 加权输出,不代表真实模型的语义判断。
阅读 Transformer 笔记 ↗RAG:检索与上下文
输入一个问题,查看示例文档的相关度、检索排序,以及最终放入上下文的内容。
- 问题向量
- 文档检索
- 上下文组装
Top-K 控制最多取回几篇文档,预算限制放入上下文的正文长度。
使用固定关键词的 TF-IDF 向量与余弦相似度演示检索。预算按字符计数,省略 tokenizer 和大模型生成,只展示检索与组装过程。
阅读 RAG 笔记 ↗训练一个简单神经网络
一个 2 → 4 → 1 的神经网络,通过反向传播学习四个样本。观察损失和分类边界如何变化。
查看样本不会训练网络;修改种子会重新初始化。
- 训练步数
- 0
- 交叉熵损失
- 样本准确率
训练会实际更新权重。学习率可在训练时调整,切换数据会重新初始化。
隐藏层使用 tanh,输出层使用 sigmoid,损失为二元交叉熵。四个输入点归一化到 −1 / +1,样本准确率只针对这四个点,不代表泛化能力。
阅读 MLP 与 PyTorch 笔记 ↗