原创 | 文 BFT机器人
PART 1
神经注意力简介
为了最好地直观地理解自我注意力,我们需要快速回顾过去十年自然语言处理(NLP)架构的前景。我们将保持这个讨论的独立性,不需要熟悉NLP领域,我们在这里的主要关注点是思想的演变,而不是每个架构的确切数学细节,考虑到这一点,让我们回顾一下NLP中的思想流。
1.1递归神经网络
在机器学习文献中,人们已经很好地认识到,自然语言中的句子是序列,因此可以处理序列的模型比“无状态”模型(如原版全连接深度神经网络)更适合NLP任务。因此,提出了循环模块,其原理图如下图所示。其基本思想是,句子可以在深度神经网络中逐字处理,从而将前一个单词的表示注入到当前单词的隐藏层中。这允许RNN将数据的时间性质显式地合并到模型中。
循环阻滞示意图(来源:维基百科)
尽管RNN背后的动机思想非常深刻,但它们的数学公式无法对长序列进行建模。RNN将序列建模为隐藏的单词表示之间的乘法交互。因此,尝试对长序列进行建模会导致梯度爆炸和消失。需要对RNN的设计进行修改以稳定训练。
1.2长短期记忆网络
长短期记忆网络(LSTM)修改了原版RNN的架构以稳定训练。Schmidhuber教授和他的同事们通过专门研究RNNs的缺点提出了LSTM。从概念上讲,LSTMs的关键创新是用加法相互作用取代RNNs的乘法相互作用。因此,梯度值在反向传播过程中不会衰减,因为它们是相加分布的,而不是乘法分布的。
因此,在LSTM中,梯度的大小不会爆炸或消失,因此可以对长序列进行建模。作为计算机视觉领域的专家,您可能已经注意到,He等人在设计ResNet时使用了相同的加互概念,这些网络被称为残差块。