- 博客(10)
- 收藏
- 关注
原创 Transformer新手学习(六)手撕 Transformer:从一份代码彻底搞懂 Positional Encoding(位置编码)
操作张量形状创建 pe[5, 4]创建 position[5, 1]创建 div_term[2][5, 2]sin、cos 填充 pe[5, 4][1, 5, 4]输入 Embedding[2, 3, 4]截取位置编码[1, 3, 4]Embedding 与位置编码相加[2, 3, 4]最终输出[2, 3, 4]可以发现,位置编码虽然为输入加入了位置信息,但不会改变最终输入向量的形状。此外,这份代码还有两个需要注意的地方:第一,当前写法要求d_model。
2026-11-08 12:33:07
209
原创 Transformer新手学习(五)手撕 Transformer:从一份代码彻底搞懂 Position-Wise Feed Forward Network(逐位置前馈网络)
也就是说,Batch Size 和 Seq Len 都不会发生变化,只有最后一个特征维度从 512 变成了 2048。
2026-10-30 19:45:18
40
原创 Transformer新手学习(四)手撕 Transformer:从一份代码彻底搞懂 Multi-Head Attention(多头注意力)
view()w_o这是对多头注意力的最终输出应用 Dropout,帮助减少过拟合。# 第一处:作用于缩放点积注意力的权重# 第二处:作用于多头注意力的最终输出它们使用的是同一种操作,但作用的位置不同。在训练模式下,Dropout 会随机屏蔽部分元素;在评估模式下,它不会再随机置零。至此,整个多头注意力的前向传播就完成了。输入 X↓Q、K、V 线性投影↓view:将特征维度拆分成多个头↓transpose:调整维度顺序↓缩放点积注意力↓transpose:调整回来,准备拼接↓。
2026-10-28 20:20:33
128
原创 Transformer新手学习(三) 手撕 Transformer:从一份代码彻底搞懂 Scaled Dot-Product Attention(缩放点积注意力)
output:注意力计算后的新特征表示。:注意力权重,可以用来观察每个 Query 关注了哪些 Key。因此,我们可以同时拿到最终输出和注意力权重。回顾这次学习,我发现手撕 Attention 最重要的不是背诵代码,而是理解每一行代码背后的原因。为什么要写?q.size(-1)为什么能拿到d_k?Q 和 K 为什么要进行点积?为什么要除以根号下d_k?为什么 Softmax 饱和可能导致梯度变小?Mask 为什么要在 Softmax 之前应用?为什么最后还要乘以 V?
2026-10-26 17:39:48
310
原创 Transformer新手学习 PyTorch 新手避坑指南(二):大白话带你手撕 Transformer 核心代码,零基础也能看懂!
恭喜你!读到这里,你已经不再是那个看到 transpose(-2, -1) 就发怵的新手了。搞懂了 PyTorch 四大包的分工,以及 optim 优化器是怎么当“下山向导”的。看懂了 Transformer 最核心的注意力公式,并亲手用代码把它翻译了出来。看透了 loss.mean() 是怎么把 1280 个数字“榨汁”成 1 个数字的。扒光了 if __name__ == "__main__": 的底裤,明白了文件的“角色牌”机制。
2026-10-19 21:02:34
229
原创 Transformer新手学习 PyTorch 新手避坑指南(一):通俗搞懂“梯度”与“训练循环”的底层逻辑
在代码里,会算出q.grad和w.grad。“方向”和“敏感度”。深度学习并不神秘,它本质上就是一个 “不断试错、不断调整(梯度下降)” 的过程。PyTorch 帮你把最痛苦的微积分计算(反向传播)都自动化了。你只需要理解梯度的物理意义,掌握训练循环的四步法,避开梯度清零的坑,你就已经超越了 80% 的初学者!
2026-10-15 18:55:25
324
1
原创 将hadoop结果(python实现的结果)存入MySQL中
本文档详细介绍了如何在虚拟机中下载并启动 MySQL,创建数据库和表,将 HDFS 结果下载到本地,并使用 Python 脚本将数据插入 MySQL 数据库的整个流程。
2024-10-30 20:24:26
1261
原创 linux下yum安装时出现1.Loaded plugins: fastestmirror的解决办法2.Could not retrieve mirrorlist 和Cannot find a val
黑马程序员大数据开发必会的Hadoop、Hive,云平台实战项目全套一网打尽(),亲自踩坑,中间报错问题1.linux下yum安装时出现Loaded plugins: fastestmirror的解决办法2.Linux系统yum安装报错Could not retrieve mirrorlist 和Cannot find a valid baseurl for repo。
2024-10-15 14:41:58
2252
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅