人类的注意力机制(Attention Mechanism)是从直觉中得到,它是人类利用有限的注意力资源从大量信息中快速筛选出高价值信息的手段。深度学习中的注意力机制借鉴了人类的注意力思维方式,被广泛的应用在自然语言处理(Nature Language Processing,NLP)、图像分类及语音识别等各种不同类型的深度学习任务中,并取得了显著的成果。因此,了解注意力机制的原理是深度学习中最重要的技术之一。
最初的NULL单词用于开始翻译,第一个单词产生为“Er”。这与以前的编码器-解码器模型相同。·对于第二个字,除了来自前一个字的输入和前一个解码器时间步长的隐藏状态之外,另一个向量作为输入被馈送到单元。这个向量通常被认为是“上下文向量”,是所有编码器隐藏状态的函数。在图8-3中,它是所有时间步长编码器隐藏状态的加权总和。·在训练阶段,由于每个解码器时间步长的输出是已知的,我们可以学习网络中的所有参数。除了一般的参数之外,对应于正使用的RNN风格,还可以学习注意力功能特定的参数。如果注意函数只是隐藏状态编码器向量的简单求和,则可以学习每个编码器时间步的隐藏状态权重。·在推断时,在每一个时间步长,解码器单元可以将最后一个时间步长的预测字、前一个解码器单元的隐藏状态和上下文向量作为输入。
编码器
这是一个双向LSTM,以日期的每个字符作为输入。因此,在每个时间步长,编码器的输入是输入日期的单个字符。除此之外,隐藏状态和记忆状态也作为来自先前编码器单元的输入。
解码器
这是单向LSTM。它将该时间步长的上下文向量作为输入。由于在日期标准化的情况下,每个输出字符并不严格依赖于最后一个输出字符,所以我们不需要将之前的时间步长输出作为当前时间步长的输入。此外,由于它是LSTM单元,来自先前解码器时间步长的隐藏状态和记忆状态也被馈送到当前时间步长单元,用于确定在该时间步长的解码器输出。