Transformer
在之前的章节中,我们已经介绍了主流的神经网络架构如卷积神经网络(CNNs)和循环神经网络(RNNs)。让我们进行一些回顾:
CNNs 易于并行化,却不适合捕捉变长序列内的依赖关系。
RNNs 适合捕捉长距离变长序列的依赖,但是却难以实现并行化处理序列。
为了整合CNN和RNN的优势,References — Dive into Deep Learning 0.7.1 documentation 创新性地使用注意力机制设计了Transformer模型。该模型利用attention机制实现了并行化捕捉序列依赖,并且同时处理序列的每个位置的tokens,上述优势使得Transformer模型在性能优异的同时大大减少了训练时间。
具体内容(附代码)链接:https://www.kesci.com/org/boyuai/project/share/77218424952057e7
代码讲解视频链接:伯禹学习平台
选择题
1.
关于Transformer描述正确的是:
A.在训练和预测过程中,解码器部分均只需进行一次前向传播。
B.Transformer 内部的注意力模块均为自注意力模块。
C.解码器部分在预测过程中需要使用 Attention Mask。
D.自注意力模块理论上可以捕捉任意距离的依赖关系。
答案:D
选项A:训练过程1次,预测过程要进行句子长度次
选项B:Decoder 部分的第二个注意力层不是自注意力,key-value来自编码器而query来自解码器
选项C:不需要
选项D:正确,因为自注意力会计算句子内任意两个位置的注意力权重
2.
在Transformer模型中,注意力头数为h,嵌入向量和隐藏状态维度均为d,那么一个多头注意力层所含的参数量是:
A.
B.
C.
D.
答案:A
参考MultiHeadAttention模块的定义。
个注意力头中,每个的参数量为,最后的输出层形状为,所以参数量共为。
3.
下列对于层归一化叙述错误的是:
A.层归一化有利于加快收敛,减少训练时间成本
B.层归一化对一个中间层的所有神经元进行归一化
C.层归一化对每个神经元的输入数据以mini-batch为单位进行汇总
D.层归一化的效果不会受到batch大小的影响
答案:C
批归一化(Batch Normalization)才是对每个神经元的输入数据以mini-batch为单位进行汇总