news 2026/7/7 2:17:46

Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 残差连接(Residual Connection)详解以及算法实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 残差连接(Residual Connection)详解以及算法实现

锋哥原创的Transformer 大语言模型(LLM)基石视频教程:

https://www.bilibili.com/video/BV1X92pBqEhV

课程介绍

本课程主要讲解Transformer简介,Transformer架构介绍,Transformer架构详解,包括输入层,位置编码,多头注意力机制,前馈神经网络,编码器层,解码器层,输出层,以及Transformer Pytorch2内置实现,Transformer基于PyTorch2手写实现等知识。

Transformer 大语言模型(LLM)基石 - Transformer架构详解 - 残差连接(Residual Connection)详解以及算法实现

在深层网络中,随着网络深度的增加,梯度在反向传播时容易消失或爆炸,导致网络难以训练。为了解决这个问题,Transformer采用了残差连接,即将每一层的输入与该层的输出进行相加,而不是直接使用该层的输出。

形式:

这种连接方式保证了在网络初期,若子层变换的结果接近于零,则输出与输入相同,从而缓解了深度神经网络中梯度消失的问题。

优点:

  1. 恒等映射:使得网络能容易地学习到恒等映射,即如果某一层的变换没有效果,模型可以跳过该层。

  2. 梯度流畅:在反向传播时,梯度可以通过残差连接直接传递,避免了梯度消失的问题。

代码实现:

# 实现残差连接 class ResidualConnection(nn.Module): def __init__(self, d_model, dropout=0.1): # d_model 词嵌入维度 512 dropout 随机丢失率 super().__init__() self.norm = LayerNorm(features=d_model) self.dropout = nn.Dropout(dropout) def forward(self, x, sublayer): """ 前向传播 参数: x: 输入张量 [batch_size, seq_len, d_model] sublayer: 残差连接的子层 多头自注意力机制,或者来自前馈神经网络 返回: 残差连接后的张量 """ return x + self.dropout(self.norm(sublayer(x))) if __name__ == '__main__': vocab_size = 2000 # 词表大小 embedding_dim = 512 # 词嵌入维度的大小 embeddings = Embeddings(vocab_size, embedding_dim) embed_result = embeddings( torch.tensor([[1999, 2, 99, 4, 5], [66, 2, 3, 22, 5], [66, 2, 3, 4, 5]])) print("embed_result.shape:", embed_result.shape) print("embed_result", embed_result) positional_encoding = PositionalEncoding(embedding_dim) result = positional_encoding(embed_result) print("result:", result) print("result.shape:", result.shape) # 测试自注意力机制 # query = key = value = result # mask = create_sequence_mask(5) # dropout = nn.Dropout(0.1) # attention_output, attention_weights = self_attention(query, key, value, mask, dropout) # print("attention_output.shape:", attention_output.shape) # [3, 5, 512] # print("attention_weights.shape:", attention_weights.shape) # [3, 5, 5] mha = MultiHeadAttention(d_model=512, num_heads=8) # print(mha) mask = create_sequence_mask(5) # 定义匿名函数 sublayer = lambda x: mha(x, x, x, mask) # 测试残差连接 rc = ResidualConnection(d_model=512) result_rc = rc(result, sublayer) print("result_rc.shape:", result_rc.shape)

运行输出:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 12:36:35

15亿参数改写多模态规则:字节跳动Tar-1.5B开创视觉统一新范式

导语:字节跳动Seed团队开源的Tar-1.5B多模态模型,通过突破性文本对齐表征技术,首次实现15亿参数规模下视觉理解与生成任务的深度统一,重新定义轻量化多模态模型的技术边界。 【免费下载链接】Tar-1.5B 项目地址: https://ai.gi…

作者头像 李华
网站建设 2026/7/7 10:10:10

ToolsFx密码学工具箱:一站式安全数据处理终极解决方案

ToolsFx密码学工具箱:一站式安全数据处理终极解决方案 【免费下载链接】ToolsFx 基于kotlintornadoFx的跨平台密码学工具箱.包含编解码,编码转换,加解密, 哈希,MAC,签名,大数运算,压缩,二维码功能,ctf等实用功能,支持插件 项目地址: https://gitcode.com/gh_mirro…

作者头像 李华
网站建设 2026/7/7 15:21:41

Charticulator快速入门:零基础掌握交互式图表设计的终极指南

Charticulator快速入门:零基础掌握交互式图表设计的终极指南 【免费下载链接】charticulator Interactive Layout-Aware Construction of Bespoke Charts 项目地址: https://gitcode.com/gh_mirrors/ch/charticulator 想要创建专业级的交互式数据可视化图表吗…

作者头像 李华
网站建设 2026/7/7 12:04:37

R.swift高效升级方案:从传统到现代的平滑过渡指南

R.swift高效升级方案:从传统到现代的平滑过渡指南 【免费下载链接】R.swift Strong typed, autocompleted resources like images, fonts and segues in Swift projects 项目地址: https://gitcode.com/gh_mirrors/rs/R.swift R.swift作为Swift项目中的强类型…

作者头像 李华
网站建设 2026/7/7 13:48:51

小米MiMo-Audio:重新定义音频AI的通用智能边界

小米MiMo-Audio:重新定义音频AI的通用智能边界 【免费下载链接】MiMo-Audio-7B-Base 项目地址: https://ai.gitcode.com/hf_mirrors/XiaomiMiMo/MiMo-Audio-7B-Base 音频AI技术正面临怎样的发展瓶颈?传统语音模型为何难以实现真正的跨任务泛化&a…

作者头像 李华
网站建设 2026/7/7 17:56:16

【YOLO11-MM 多模态目标检测】序列混洗注意力模块(SSA)、保持输入图像的局部性和连续性

摘要 本文提出了一种基于序列混洗注意力(SSA)的YOLO11-MM多模态目标检测框架改进方法。针对红外与可见光多模态场景下传统特征融合方法的不足,SSA模块通过通道重排和分组门控注意力机制,实现了跨模态特征的高效交互与自适应聚合。实验在FLIR等数据集上验…

作者头像 李华