把注意力放在要紧处,注意力机制
前面我们学过,一个词是意义的坐标。可读一句话时,我们并不会同等地看每个词。为了理解眼前这个词,我们会对它周围要紧的词多投一些目光。所以同样一个词 'Apple',旁边有 'eat' 就成了水果,旁边有 'stock' 就成了公司。这种对要紧处多加注意的本事,就叫注意力机制。
对要紧处多加注意
想想读一句长句子的时候。
你会同等地看每个词吗?
不会。
为了理解眼前这个词,
你会对它旁边要紧的词多投目光。
比如要理解 'sat',
就得看 'cat' 弄清谁坐了,
看 'mat' 弄清坐在哪。
这样对要紧处多加注意,就是第一步。
点一下句子里的一个词。和它最相关的词会变浓显出来,让你看到眼前这个词在注意哪里。
一点这个词,别的词的浓淡就变了。
变浓的词,
就是对眼前这个词更要紧的词。
变淡的词,关系不大。
人读文章时也这么做。
样样都同等地看太累了,
所以只挑要紧的多看几眼。
可什么算要紧,
并不是自己定的。
上下文来定意思
同一个词,有时意思会变。
是什么定下那个意思?
正是周围的词,也就是上下文。
想想 'bank' 这个词。
旁边有 'river',就成了河岸,
旁边有 'money',就成了银行。
词本身没变,
周围一变,解读就变了。
注意力机制就是看这周围来定意思。
中间的词不动,点一下换掉旁边的上下文词。同一个词,解读就从河岸一下变成银行。
只换了旁边一个词,
整个解读就翻了。
词不会单凭自己拥有全部意思。
要和周围相配,意思才清晰。
所以注意力机制很重要。
眼前这个词注意谁,
同一个词就读成不同的意思。
这一点表现得最清楚的,
就是有好几个意思的词,多义词。
多义词,坐标随上下文移动
前面说过,词是意义的坐标。
多义词是坐标跨在两处的词。
想想 'Apple'。
它既在水果区,也在公司区。
单独一个,分不清是哪个。
可旁边放上 'eat',
坐标就被拉向水果,
放上 'stock',就被拉向公司。
上下文把模糊的坐标定到一边。
点 'eat' 或 'stock' 把它贴到 'Apple' 旁边。意义坐标会在水果区和公司区之间移动。
你看到坐标随上下文移动了。
同样是 'Apple',
旁边一个词就让它的位置猛地一变。
这正是注意力机制做的事的核心。
它把模糊的词的坐标,
靠注意周围的词,拉到一边。
那这份注意怎么分?
对旁边所有词都一样?
不。给更相关的一边更多。
把相关度分成权重
说过注意不是平均分的。
更相关的词得到更大的份额。
这份额就叫权重。
关键是把这些权重全加起来,
要正好等于一来分。
一边拿得多,
别的边就拿得相应地少。
总的注意力是有限的,
所以是在挑该往哪儿多花一些。
点某个词的条,给它更多注意。一个词拿得多,其余就缩小,权重之和始终保持为一。
把注意往一个词上一堆,
别的词就让出相应的量。
总和始终保持为一。
这样分出的权重,
决定看哪个词、看多少。
拿到大权重的词,
对眼前这个词的意思拉得更用力。
所以 'Apple' 的坐标,
会朝权重更大的邻居那边移。
来理一理
归成一句话,是这样。
看一句话时,我们不会同等地看每个词。
对眼前这个词要紧的词,多加注意。
把这份注意拆成权重,
再分得总和等于一。
周围,也就是上下文,来定意思。
所以 'Apple' 既能是水果也能是公司。
多义词的坐标随上下文移动。
这样对要紧处加注意,就是注意力机制。
依次点要点回顾一下。(对要紧处加注意 -> 上下文定意思 -> 多义词坐标移动 -> 权重之和为一)
现在你知道注意力机制是什么了。
不是同等地看每个词,
而是挑出要紧的来集中注意,
这个简单的想法让上下文来定多义词的意思。
同一个词随着旁边的词,
以不同的意思活过来,真奇妙。
对要紧处加注意这个想法,
稳稳地撑着今天处理语言的
那些聪明机器的里子。