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

transformer 子层连接结构

子层连接结构

目标

  • 了解什么是子层连接结构
  • 掌握子层连接结构的实现过程

什么是子层连接结构?
输入到每个子层以及规范化层的过程中, 使用了残差连接(跳跃连接, 从Add&Norm -> Add&Norm), 因此我们把这一部分结构整体叫做子层连接(代表子层及其链接结构), 在每个编码器中, 都有两个子层, 这两个子层加上周围的链接结构就形成了两个子层连接结构

子层连接结构图

子层连接结构图

代码分析
import torch.nn as nnclass SubLayerConnection(nn.Module):"""A residual connection followed by a layer norm.Note for code simplicity the norm is first as opposed to last."""def __init__(self, size, dropout):"""它输入参数有两个, size及其dropout, size一半是词嵌入维度的大小,dropout本身是模型结构中的节点数进行随机抑制的比率又因为节点被抑制等效就是该节点的输出都是0, 因此也可以吧dropout看作是对输出矩阵的随机置0"""super(SubLayerConnection, self).__init__()# 实例化了规范化对象 normself.norm = nn.LayerNorm(size)# 示例话 dropout 对象self.dropout = nn.Dropout(dropout)def forward(self, x, sublayer):"""向前逻辑函数中, 接收上一层或者子层的输入维第一个参数将该子层连接中的子层函数作为第二个参数"""# 我们首先对输出进行规范化, 然后将结果传给子层处理, 之后再对子层进行dropout操作# 随机停止一些网络中神经元的作用, 防止过拟合, 最有还有add操作# 因为存在跳跃连接("x +" 实现残差连接), 所以是将输入x与dropout后的子层输出结果相加最终的子层连接输出return x + self.dropout(sublayer(self.norm(x)))

相关文章:

  • 迅为iTOP-RK3576开发板/核心板6TOPS超强算力NPU适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品
  • ElasticSearch深入解析(一):Elastic Stack全景
  • Java实例化对象都有几种方式
  • (undone) 吴恩达版提示词工程 3. 迭代 (建议用到的时候再根据目录针对看)
  • 学习笔记——《Java面向对象程序设计》-继承
  • PyTorch DDP 跨节点通信的底层机制
  • C++学习之游戏服务器开发十四QT登录器实现
  • 文献×汽车 | 基于 ANSYS 的多级抛物线板簧系统分析
  • 什么事Nginx,及使用Nginx部署vue项目(非服务器Nginx压缩包版)
  • 边缘计算全透视:架构、应用与未来图景
  • 区间分组详解
  • 83k Star!n8n 让 AI 驱动的工作流自动化触手可及
  • 使用Spark-TTS-0.5B模型,文本合成语音
  • Lua 第7部分 输入输出
  • React.cloneElement的用法详解
  • Flowable 与 bpmn.io@7.0 完整集成示例 Demo
  • 解决IntelliJ IDEA配置文件(application.properties)中文注释变成乱码的问题
  • 明远智睿2351开发板:四核1.4G处理器——开启高效能Linux系统新纪元
  • 耀百岁中医养生与上海隽生中医药研究中心达成战略合作——共筑中医养生科研创新高地
  • 【JavaEE】-- MyBatis操作数据库(1)
  • 广汽全域赋能,领程皮卡概念车重磅登陆上海车展
  • 开发国内首个泌尿专科智能体,医生们将临床经验转变为知识图谱
  • 耐克领跑女性运动市场:持续加码、创新,更多新增长点有望涌现
  • 上海又现昆虫新物种:体长仅1.5毫米,却是凶猛的捕食者
  • 人民日报:对科研不端行为加大惩处力度,让造假成本远高于收益
  • 大尺度色情语聊、撮合卖淫嫖娼!一些交友软件暗藏“桃色陷阱”