transfmer学习认识
整体架构
1.自注意机制
1.1.softmax
在机器学习和深度学习中,softmax 函数是一个常用的激活函数,用于将一个向量转换为一个概率分布。softmax 函数的公式如下:
机制的一个计算示例,特别是如何计算注意力分数和应用Softmax函数来确定每个输入元素的重要性。
图片内容解释
1.2.1.输入和词嵌入:
输入是两个单词“Thinking”和“Machines”,它们首先被转换为词嵌入向量(x1和x2)。
查询、键和值向量:
对于每个输入单词,模型生成查询向量(q1和q2)、键向量(k1和k2)和值向量(v1和v2)。
1.2.2.打分:
计算查询向量与所有键向量的点积来得到分数(例如,q1与k1的点积为112,q1与k2的点积为96)。
1.2.3.除以根号维度:
为了防止点积结果过大导致梯度爆炸,通常会除以键向量的维度的平方根(sqrt(d_k)),这里d_k是键向量的维度。图片中显示除以8(可能是sqrt(d_k)的一个示例值)。
1.2.4.Softmax:
将得到的分数通过Softmax函数转换为概率分布,表示每个值向量相对于其他值向量的重要性。例如,q1与k1的分数为14,与k2的分数为12,经过Softmax处理后,得到的概率分别为0.88和0.12。
自注意力机制的作用
自注意力机制允许模型在处理序列数据时动态地关注序列中不同部分的重要性。这种机制是Transformer模型的核心,使得模型能够有效地处理长距离依赖问题,并在各种序列到序列的任务中表现出色,如机器翻译、文本摘要等。
总结
这张图片通过一个简单的例子展示了Transformer模型中的自注意力机制如何工作。通过计算查询向量与键向量的点积,然后应用Softmax函数,模型能够确定序列中每个元素的重要性,从而更好地理解和生成文本。这种机制是Transformer模型能够有效处理序列数据的关键。
残差连接
概念:残差连接是深度学习中的一种技术,它将输入直接加到后面的层的输出上,目的是缓解深层网络训练中的梯度消失或梯度爆炸问题,使得网络可以训练得更深。
应用:在Multi-Head Attention中,输入矩阵 α 直接与输出 b 相加。这种设计可以让模型更容易学习到输入和输出之间的残差,从而加快训练速度并提高模型性能。
层归一化
参考:
1.【原理篇&实战篇】一文读懂Transformer
2.万字长文,小白都能看得懂的 Transformer 解析(图解版)