6.1 输入是向量序列的情况
将词汇表示成向量最简单的做法是独热编码,创建一个很长的向量,该向量的长度跟世界上存在的词汇的数量是一样多的。除了独热编码,词嵌入(word embedding)也可将词汇表示成向量。词嵌入使用一个向量来表示一个词汇,而这个向量是包含语义信息的。
1、类型 1:输入与输出数量相同
模型的输入是一组向量,它可以是文字,可以是语音,可以是图。而输出有三种可能性,第一种可能性是每一个向量都有一个对应的标签
2、类型 2:输入是一个序列,输出是一个标签
第二种可能的输出则整个序列只需要输出一个标签就好。
3、类型 3:序列到序列
还有第 3 个可能的输出:我们不知道应该输出多少个标签,机器要自己决定输出多少个标签。
6.2 自注意力的运作原理
我们就先只讲第一个类型:输入跟输出数量一样多的状况,以序列标注(sequence labeling)为例。
如果想要更好地考虑整个输入序列的信息,就要用到自注意力模型。自注意力模型会“吃”整个序列的数据,输入几个向量,它就输出几个向量。
全连接网络不是只考虑一个非常小的范围或一个小的窗口,而是考虑整个序列的信息,再来决定现在应该要输出什么样的结果,这就是自注意力模型。自注意力模型不是只能用一次,可以叠加很多次。
全连接网络的输出再做一次自注意力模型,再重新考虑一次整个输入序列的数据,将得到的数据输入到另一个全连接网络,就可以得到最终的结果。全连接网络和自注意力模型可以交替使用。全连接网络专注于处理某一个位置的信息,自注意力把整个序列信息再处理一次。
hahaha都看到这里了,要是觉得有用的话就辛苦动动小手点个赞吧!