当前位置: 首页 > article >正文

transfmer学习认识

整体架构

在这里插入图片描述

1.自注意机制

1.1.softmax

在机器学习和深度学习中,softmax 函数是一个常用的激活函数,用于将一个向量转换为一个概率分布。softmax 函数的公式如下:
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/35c158988402498ba6ca699389a7f2c1.png
在这里插入图片描述

softmax 函数的作用
将输出转换为概率分布:softmax 函数可以将一个向量的每个元素转换为一个介于 0 和 1 之间的值,并且所有元素的和为 1。这使得输出可以被解释为概率分布。
多分类问题:在多分类问题中,softmax 函数常用于最后一层,将模型的输出转换为每个类别的概率。

1.2.dk开根号和 除以8的关系

在这里插入图片描述
这张图片展示了Transformer模型中的自注意力(Self-Attention)机制的一个计算示例,特别是如何计算注意力分数和应用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 解析(图解版)


http://www.kler.cn/a/552885.html

相关文章:

  • 用esp32实现一个可配置的网关应用记录:通过网页进行OTA升级
  • 【金融量化】解读量化投资回测指标
  • C#中的加密和解密类设计
  • 网络工程师 (43)IP数据报
  • SCANet代码解读
  • 爬取网站内容转为markdown 和 html(通常模式)
  • kotlin Java 使用ArrayList.add() ,set()前面所有值被 覆盖 的问题
  • 上证50股指期货持仓量查询的方式在哪里?
  • STL之string类的模拟实现
  • Pilz安全继电器介绍(PNOZ X2.8P,Pilz MB0)
  • DeepSeek:情智机器人的“情感引擎”与未来变革者
  • Zookeeper 和 Redis 哪种更好?
  • 一键部署开源DeepSeek并集成到钉钉
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_get_full_name 函数
  • C++核心指导原则: 函数部分
  • C++字符串处理指南:从基础操作到性能优化——基于std::string的全面解析
  • 【QT常用技术讲解】国产Linux桌面系统+window系统通过窗口句柄对窗口进行操作
  • Jtti.cc:CentOS下PyTorch运行出错怎么办
  • Java集合之ArrayList(含源码解析 超详细)
  • 测试。。。