← 返回第 18 天导读(大人版) 下载打印:PDF 简体 · PDF 繁體 · 繁體網頁
第 18 课

用手指点出答案

本课讲 2015 年的一篇文章。Vinyals、Fortunato 和 Jaitly 三位科学家发明了“指针网络”:电脑不再从词典里挑词,而是用“手指”直接指出题目里的答案。

适合 10 岁左右约 40 分钟需要:铅笔、直尺、橡皮筋、一位同伴

1热身:这是几号点

纸上有 6 个点,每个点都有编号。看图回答问题。

123 456
最左边的是几号?
最上面的是几号?
离 3 号最近的是几号?
一共有几个点?

每个点上插一颗钉子,用橡皮筋套住所有钉子。橡皮筋会碰到哪几号?

你发现了吗?这些题的答案都不是一个“词”。答案是“第几号点”。换一张纸,点上 9 个点,答案里就可能出现 7 号、8 号、9 号。

2翻译机的词典

第 15 课讲过翻译机。它读一句中文,然后一个词一个词地写出英文。每写一个词,它都从一本词典里挑。这本词典是练习前就准备好的,里面有哪些词,从头到尾都不变。词典就像一盒单词卡片,翻译机每一步抽出最合适的一张。

第 15 课还讲过一个好办法:翻译机每写一个词,都会回头看原文,看看这时候该重点看哪个词。这个本事叫注意力。

可是,有些题的答案不在词典里

橡皮筋题的答案是一串点的编号。今天纸上有 6 个点,明天可能有 50 个。假设练习时最多只有 10 个点,卡片盒里就只装了 1 号到 10 号卡片。考试那天来了 50 个点,11 号到 50 号的卡片根本没有。翻译机就答不出来了。

3好办法:不挑卡片,用手指指

回头看原文时,翻译机会给原文的每个词打分。分越高,越要重点看。可是最后,它还是去词典里挑词。

Vinyals 他们想:答案既然就在题目里,干脆别查词典了!分最高的那一个,就是答案。电脑每一步不再挑卡片,而是用手指指向题目里的一个点。

1读一遍所有点,记进小本子(第 1 课)
2给每个点打分:像不像下一个答案
3手指指向分最高的点,写下编号
4盖住指过的点,准备下一步

↻ 一直指下去,直到电脑指向“完”

已指过 指这里 1 号2 号3 号 4 号5 号6 号

示意图:做热身的橡皮筋题,第 2 步时电脑给每个点打分。1 号已经指过,被盖住了。2 号分最高,手指就指向 2 号。

把每一步指的点连起来:1 号 → 2 号 → 4 号 → 5 号 → 6 号 → “完”。这就是热身橡皮筋题的答案。3 号在里面,碰不到橡皮筋。你答对了吗?

这种用手指指答案的电脑程序,叫指针网络。“指针”就是指东西的针,像钟表上的指针,也像老师上课用的教鞭。

4手指不怕点多点少

手指办法最大的好处是:题目里有几个点,手指就在几个点里挑。5 个点就 5 选 1,50 个点就 50 选 1。它不用提前准备卡片,所以不会缺卡片。练习时点少,考试时点多,它也照样能答。

真的管用吗?诚实地说一说

科学家让指针网络练习时最多看 50 个点。考试时直接给它 500 个点,它也能答。可是,一个点都不错的答案很少。它套出来的范围,大部分是对的。能答和答得完美,是两回事。

5论文做了三种题

三种题都给电脑一些点的位置。答案都用点的编号来写。

① 凸包② 三角剖分③ 旅行商问题 橡皮筋套点连成三角形走一圈,路最短
题目用大白话说,答案长什么样
凸包橡皮筋套住所有点,看碰到哪些点。答案是一串点的编号。
三角剖分把点连成三角形的网,三角形尽量胖。每个三角形写 3 个编号。
旅行商问题每个城市去一次,再回到起点,路越短越好。答案是走的顺序。

电脑怎么学会的?科学家先用别的方法算出很多题的好答案。电脑猜一个答案,再和好答案对一对,猜错了就调整自己。第 1 课讲过,这叫训练。结果怎么样?做凸包题时,指针网络比第 15 课那种普通翻译机强很多。做旅行商问题时,城市不超过 20 个,它找的路已经接近最短的路。城市比练习时多,它的路就明显变长了。

6这和今天有什么关系

指针网络的想法很简单:答案在题目里,就直接指出来。后来,很多 AI 都用上了这根“手指”。

用在哪里手指在做什么
写摘要遇到人名和数字,AI 直接从原文抄一个词,不用自己编。2017 年的“指针-生成网络”就这样做。
阅读理解答案就在文章里。AI 指出答案从第几个字开始,到第几个字结束。
聊天 AI 里面研究者发现,聊天 AI 自己长出了一种抄写本事:找到前面出现过的样子,再把后面的词抄过来。

也要诚实地说:城市非常多时,老牌的专门程序找送信路线仍然比 AI 更准。指针网络开了一条新路,这条路还没走完。

7动手:橡皮筋套钉子

玩法(2 个人,约 15 分钟)

注意:用图钉要有大人在旁边,以免扎手。没有图钉,就在纸上画点、画线。

1. A 在软木板或厚纸箱上随便按 6 颗图钉,旁边写上编号 1 到 6。

2. B 用橡皮筋套住所有图钉,再用手指沿橡皮筋绕一圈,说出碰到的编号。A 记下来。

3. 换 10 颗再做一轮。

第几轮一共几个点碰到橡皮筋的点(按顺序写编号)碰到几个
第 1 轮6
第 2 轮10

你会发现:点的个数每次都不一样,答案的长短也不一样。答案里的每一项都是“第几号点”。你的手指一个一个指,做的正是指针网络做的事。

8动手:送信小路

玩法(2 个人,约 15 分钟)

邮局 12345

邮递员从邮局出发,给 5 户人家送信。每户只去一次,最后回到邮局。

1. 每人在地图上(或描一张)画出路线。

2. 用直尺量每一段,加起来写进表里。

3. 谁的路最短?最短的路有没有交叉?

名字路线(写编号)总长(厘米)
邮局 →         → 邮局
邮局 →         → 邮局

你会发现:“每次走最近的下一家”不一定最短。6 个地方(含邮局)有 60 种不同的一圈,10 个有 181440 种。根本试不完,所以这道题很难。

9词语小卡片

词典翻译机能写出的所有词。练习前就定好了,不会变多也不会变少。
指针网络不查词典,每一步用“手指”指向题目里的一个东西,用它的编号当答案。
凸包用橡皮筋套住所有点,橡皮筋围成的形状。碰到橡皮筋的点就是答案。
旅行商问题去所有城市各一次,再回到起点,找出最短的一圈路。城市一多就非常难。

10想一想

  1. 只会从词典里挑词的翻译机,为什么答不好“橡皮筋碰到哪些点”?
  2. 生活里还有哪些问题的答案是“从眼前的东西里挑一个”?举 2 个例子。
  3. 请 AI 把一篇新闻缩短。新闻里的人名和数字,AI 应该从原文抄,还是自己写?为什么?
一句话记住:答案就在题目里时,电脑不用查词典,用手指指出来就行。

给家长和老师:本课讲的是 Oriol Vinyals、Meire Fortunato、Navdeep Jaitly 2015 年的论文 Pointer Networks(NeurIPS 2015)。论文把第 15 天加性注意力的权重直接当作输出分布:解码器每一步在输入位置上做 softmax,输出的是输入元素的下标。输出类别数因此等于输入长度。论文在凸包、Delaunay 三角剖分和平面旅行商问题上用监督学习训练,标签来自现成解法。

讲义中的“卡片盒”比喻、热身 6 个点、打分柱状图、三种题的小图和送信地图都是示意,不是原文内容。三角剖分小图只为说明“连成三角形”,没有严格按 Delaunay 规则画。走法数量按 (n−1)!/2 计算,不来自论文。送信地图最短的一圈是:邮局 → 1 → 3 → 4 → 2 → 5 → 邮局(或反向)。

想深入可看本站的 第 18 天中文导读,代码见开源项目 30u30 第 18 天目录(英文)。

极客教育 jikejiao.com 原创讲义 · 2026-10