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

如何建设网站的管理平台千库网素材

如何建设网站的管理平台,千库网素材,青岛模板建站,新能源电动汽车电池价格BertSelfOutput 和 BertOutput源码解析 1. 介绍1.1 共同点(1) 残差连接 (Residual Connection)(2) 层归一化 (Layer Normalization)(3) Dropout(4) 线性变换 (Linear Transformation) 1.2 不同点(1) 处理的输入类型(2) 线性变换的作用(3) 输入的特征大小 2. 源码解析2.1 BertSe…

BertSelfOutput 和 BertOutput源码解析

  • 1. 介绍
    • 1.1 共同点
      • (1) 残差连接 (Residual Connection)
      • (2) 层归一化 (Layer Normalization)
      • (3) Dropout
      • (4) 线性变换 (Linear Transformation)
    • 1.2 不同点
      • (1) 处理的输入类型
      • (2) 线性变换的作用
      • (3) 输入的特征大小
  • 2. 源码解析
    • 2.1 BertSelfOutput 源码解析
    • 2.2 BertOutput 源码解析

1. 介绍

BertSelfOutputBertOutputBERT 模型中两个相关但不同的模块。它们在功能上有许多共同点,但也有一些关键的不同点。以下通过共同点和不同点来介绍它们。

1.1 共同点

BertSelfOutputBertOutput 都包含残差连接、层归一化、Dropout 和线性变换,并且这些操作的顺序相似。

(1) 残差连接 (Residual Connection)

两个模块都应用了残差连接,即将模块的输入直接与经过线性变换后的输出相加。这种结构可以帮助缓解深层神经网络中的梯度消失问题,使信息更直接地传递,保持梯度流动顺畅。

(2) 层归一化 (Layer Normalization)

在应用残差连接后,两个模块都使用层归一化 (LayerNorm) 来规范化输出。这有助于加速训练,稳定网络性能,并减少内部分布变化的问题。

(3) Dropout

两个模块都包含一个 Dropout 层,用于随机屏蔽一部分神经元的输出,增强模型的泛化能力,防止过拟合。

(4) 线性变换 (Linear Transformation)

两个模块都包含一个线性变换 (dense 层)。这个线性变换用于调整数据的维度,并为后续的残差连接和层归一化做准备。

1.2 不同点

BertSelfOutput 专注于处理自注意力机制的输出,而 BertOutput 则处理前馈神经网络的输出。它们的输入特征维度也有所不同,线性变换的作用在两个模块中也略有差异。

(1) 处理的输入类型

  • BertSelfOutput:处理自注意力机制 (BertSelfAttention) 的输出。它关注的是如何将注意力机制生成的特征向量与原始输入结合起来。
  • BertOutput:处理的是前馈神经网络的输出。它将经过注意力机制处理后的特征进一步加工,并整合到当前层的最终输出中。

(2) 线性变换的作用

  • BertSelfOutput:线性变换的作用是对自注意力机制的输出进行进一步的变换和投影,使其适应后续的处理流程。
  • BertOutput:线性变换的作用是对前馈神经网络的输出进行变换,使其与前一层的输出相结合,并准备传递到下一层。

(3) 输入的特征大小

  • BertSelfOutput:输入和输出的特征维度保持一致,都是 BERT 模型的隐藏层大小 (hidden_size)。
  • BertOutput:输入的特征维度是中间层大小 (intermediate_size),输出则是 BERT 模型的隐藏层大小 (hidden_size)。这意味着 BertOutput 的线性变换需要将中间层的维度转换回隐藏层的维度。

2. 源码解析

源码地址:transformers/src/transformers/models/bert/modeling_bert.py

2.1 BertSelfOutput 源码解析

# -*- coding: utf-8 -*-
# @time: 2024/7/15 14:27import torch
from torch import nnclass BertSelfOutput(nn.Module):def __init__(self, config):super().__init__()self.dense = nn.Linear(config.hidden_size, config.hidden_size)  # 定义线性变换层,将自注意力输出映射到 hidden_size 维度self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)  # 层归一化self.dropout = nn.Dropout(config.hidden_dropout_prob)  # Dropout层def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor:hidden_states = self.dense(hidden_states)  # 对自注意力机制的输出进行线性变换hidden_states = self.dropout(hidden_states)  # Dropout操作hidden_states = self.LayerNorm(hidden_states + input_tensor)  # 残差连接后进行层归一化return hidden_states

2.2 BertOutput 源码解析

# -*- coding: utf-8 -*-
# @time: 2024/8/22 15:41import torch
from torch import nnclass BertOutput(nn.Module):def __init__(self, config):super().__init__()self.dense = nn.Linear(config.intermediate_size, config.hidden_size)  # 定义线性变换层,将前馈神经网络输出从 intermediate_size 映射到 hidden_sizeself.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)  # 层归一化self.dropout = nn.Dropout(config.hidden_dropout_prob)  # Dropout层def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor:hidden_states = self.dense(hidden_states)  # 对前馈神经网络的输出进行线性变换hidden_states = self.dropout(hidden_states)  # Dropout操作hidden_states = self.LayerNorm(hidden_states + input_tensor)  # 残差连接后进行层归一化return hidden_states

文章转载自:

http://vYXfmBvs.mddpj.cn
http://3NgEvKuZ.mddpj.cn
http://odPalI2G.mddpj.cn
http://vgQjHGMl.mddpj.cn
http://zgbybx7u.mddpj.cn
http://qDdqZcXi.mddpj.cn
http://fHBp6gO8.mddpj.cn
http://uM4NDysW.mddpj.cn
http://lEPx1iAJ.mddpj.cn
http://8A2wYkqq.mddpj.cn
http://tLEOM13L.mddpj.cn
http://ory9c9oB.mddpj.cn
http://i3JClAoH.mddpj.cn
http://gCYSn7vu.mddpj.cn
http://lB9xpG1n.mddpj.cn
http://jxpAi1tk.mddpj.cn
http://hWCKJL5a.mddpj.cn
http://OlDqBIpt.mddpj.cn
http://DdNC9oFY.mddpj.cn
http://CBTi77XZ.mddpj.cn
http://SN2lvUfk.mddpj.cn
http://2gNjA4EG.mddpj.cn
http://Y7fY44Xs.mddpj.cn
http://KZ29aR0X.mddpj.cn
http://wkXVWtj7.mddpj.cn
http://sggVd2wH.mddpj.cn
http://31fiNucb.mddpj.cn
http://yBOcSdr4.mddpj.cn
http://uWYAPYQ8.mddpj.cn
http://m2TXMRYZ.mddpj.cn
http://www.dtcms.com/wzjs/725345.html

相关文章:

  • 外国网站做问卷调查挣钱mysql python开发网站开发
  • 古镇中小企业网站建设网站后端开发软件
  • 营销网站的案例分析网站怎样做链接
  • 网站建设费用包括哪些方面DNF做钓鱼网站
  • 怎样在淘宝网做网站安徽省建设部干部网站
  • 在相亲网站做红娘电子版简历免费模板
  • 合肥做网站域名的公司长沙简单的网站建设
  • 网站后台怎么上传表格酒店推广渠道有哪些
  • 怎样推广自己做的网站网站开发公司特点
  • 手机wap网站下载天迈装饰网站建设项目
  • 信阳做网站推广信阳网站建设如何让网站快速收录
  • 做网站 成都邯郸房产网签怎么查询
  • 网站分析怎么做东莞市建筑工程
  • 专业网站设计的公司自己设计小程序
  • 百度站长管理平台生成静态页面网站源码
  • 龙海网站建设哪家好深圳网站建设及优化
  • 高级网站设计效果图购物网站开发项目意义
  • 做网站用apache还是nginx嘉鱼网站建设哪家好
  • 建设一个网站的流程图网站后台管理模板psd
  • 好的网站优化公司网站服务公司人工成本进什么费用
  • discuz培训网站模板下载网站建设客户评价
  • 移动应用开发网站wordpress顶部加横幅
  • 写作网站都有哪些拼多多的网站建设
  • 分享网站对联广告查排名的软件有哪些
  • 网站建设方案内容阿里云建网站步骤
  • 营销型网站建设比较好农商1号的网站建设费
  • 织梦中英文网站模板网站流量是如何计算的
  • 黑色网站星空无限传媒免费观看电视剧
  • 重庆南昌网站建设南昌专业网站建设首页排名
  • 建站哪家好就要用兴田德润个人建站模板