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

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)))
http://www.xdnf.cn/news/1225.html

相关文章:

  • 每日算法-哈希表(两数之和、)
  • STM32串口重定向:MDK与GCC重定向需重写的不同函数
  • UE5 鼠标点击一个物体触发Onclick事件
  • 死信队列完整处理方案
  • AiEditor v1.3.8 发布
  • 2023蓝帽杯初赛内存取证-3
  • vmstat指令介绍
  • 自动化测试实现容器化部署
  • C#内存管理深度解析:值类型与引用类型全解析
  • Linux命令-pidstat
  • Python简介与入门
  • 使用若依二次开发商城系统-4:商品属性
  • 无价值的劳动与暴力威胁是否会导致人性逆转?-来自DeepSeek
  • WP快主题
  • 激光SLAM算法综述
  • 滚动的足球-第16届蓝桥第4次STEMA测评Scratch真题第3题
  • Android Studio调试中的坑二
  • C++与C
  • 1.微服务拆分与通信模式
  • NLP高频面试题(五十一)——LSTM详解
  • 【机器学习】决策树算法中的 “黄金指标”:基尼系数深度剖析
  • MCP Server架构设计详解:一文掌握框架核心
  • PowerBi中REMOVEFILTERS怎么使用?
  • 虚无隧穿产生宇宙(true nothing tunneling) 是谁提出的
  • 【Spring Boot】MyBatis多表查询的操作:注解和XML实现SQL语句
  • 权限管理降维打击:AI自动生成分布式系统鉴权代码(含JWT刷新策略)
  • 如何通过证书认证安全登录堡垒机、防火墙和VPN?安当KSP密钥管理系统助力企业实现零信任身份验证
  • 【中级软件设计师】程序设计语言基础成分
  • 3.1.2 materialDesign:Card 的使用介绍
  • VUE篇之,实现锚点定位,滚动与导航联动