一、学习目标
目标
- 学会transformer模型
- 跑通baseline
期望结果
- 理解transformer原理
- 掌握优化模型的方法
二、学习到的新概念
transformer
- 基本概念
是一种基于深度学习的用于处理序列数据的模型 - 组成部分
-
自注意力机制(结构中最重要)
对于输入数据中的一个元素,都会计算出任一元素与其他元素之间的相关性,通过计算出的相关性即各元素彼此之间影响理解的权重,进一步加权求和,以使得各元素生成新的表示。 -
编码器
第一步将输入数据转化为嵌入向量,一般为one-hot编码;第二步经过Positional Encoding步骤,给该嵌入向量叠加位置编码,即获得位置属性;第三步,经过自注意力机制,使得该嵌入向量还具有语义特征以及语法特征;第四步,经过残差网络与归一化防止梯度消失以及梯度爆炸,并将该向量限制在一定范围;第五步,经过Feed Forward,进行非线性变换(一般为Relu函数或Sigmoid函数),该向量便可无限拟合空间中任何一种状态;最后再经过一次残差网络与归一化。 -
解码器
第一步,解码器接收编码器的输出以及开始标志()作为初始目标序列;第二步,当前输出经过Masked Multi-Head Attention(遮蔽注意力机制)与编码器的输出进行注意力计算;第三步,经过残差网络与归一化;第四步,经过Feed Forward;第五步,经过多次以上步骤后,解码器的最终输出经过线性层和Softmax层,生成每个位置的词概率分布,选择概率最大的词作为解码器在该位置的输出。
-
三、总结
这一期的学习到此为止,认为收获还是很多的,但是对于机器学习以及深度学习的一些概念的理解还是一个比较模糊的状态,代码的实战能力也还欠缺,感觉这次夏令营应该更适合有一些基础的同学。