自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 问答 (2)
  • 收藏
  • 关注

原创 第10节——三角函数积分(Trigonometric Integrals)

∫sinnxdx∫cosnxdx∫sinmxcosnxdxsin2x21−cos2x​cos2x21cos2x​sinxcosxsinxcosx21​sin2x)sin2k1x奇数幂→留一个sin用换元cos2k1x奇数幂→留一个cos用换元∫sin3xsinx1−cos2x)ucosx∫sinxcosxd。

2025-12-10 20:15:28 653

原创 第9节——部分分式积分(Partial Fraction Decomposition)

∫QxPx​dxdegPdegQ)多项式部分x1低阶​QxPx​x2−11​x2−1x−1x1)x2−11​x−1A​x1B​21​x−11​−x11​)x24x1​x24AxB​x2x−11​xA​x2B​x−1C​∫x−a1​dxln∣x−a∣∫ax2bxc1​dxar。

2025-12-09 05:16:01 1108

原创 第8节——分部积分(Integration by Parts)

【代码】第8节——分部积分(Integration by Parts)

2025-12-06 21:36:57 1043

原创 第7节——积分技巧(Integration Techniques)-代换积分法

【代码】第7节——积分技巧(Integration Techniques)-代换积分法。

2025-12-06 21:36:27 719

原创 第6节——微积分基本定理(Fundamental Theorem of Calculus,FTC)

【代码】第6节——微积分基本定理(Fundamental Theorem of Calculus,FTC)

2025-12-06 21:36:00 831

原创 第5节——定积分与面积

∫abfxdxlim⁡N→∞∑i1NfxiΔx∫ab​fxdxN→∞lim​i1∑N​fxi​Δx把区间切成很多小段,每段宽度 dx用矩形逼近面积全部加起来小段越小 → 越准确极限就是积分的值。

2025-12-06 21:35:19 858

原创 第4节——高阶导数与反导数(积分的前置概念)

已经知道导数是“变化率”那么反导数就是“从变化率恢复原函数”反导数也叫 原函数(antiderivative)f′x2x⟹fxx2Cf′x2x⟹fxx2C注意这里有一个常数 C,这是因为:导数会把常数消掉,所以反导数必须保留它。

2025-12-05 18:19:46 1389

原创 第3节——differentiation rules(求导法则)

【代码】第3节——differentiation rules(求导法则)

2025-12-05 18:19:08 1102

原创 第2节——Derivative(导数)

f′alim⁡h→0fah−fahf′ah→0lim​hfah−fa​这个公式非常重要,可以叫:差商(difference quotient)割线斜率逼近切线速度是位移变化 / 时间变化。

2025-12-05 18:18:29 969

原创 第1节——Limit(极限)

极限 = 逼近值。不是到达值。只要靠近 a,两侧都越来越接近某个 L,那 L 就是极限即使 f(a) 没定义,也不影响极限极限研究的不是“点的值”,而是“靠近点时的行为”。

2025-12-05 18:17:49 886

原创 第0节——微积分学习环境准备

【代码】第0节——微积分学习环境准备。

2025-12-05 18:16:53 298

原创 第24节——手搓一个“ChatGPT”

训练循环基本可以沿用之前的的 LM 训练代码,只是 vocab_size 换成新的,数据换成这个 loader。注意:模型结构参数必须和当初训练时一样,否则 load 会报错。确保使用上面的加载词表加载了之前模型保存的词表,否则会映射出错。

2025-12-01 14:44:28 2043 2

原创 第23节——手搓 Chat 聊天机器人

之前的 encode_text / decode_ids 可以继续用:Chat 模板:给用户一句话,让模型续写“Assistant 的回答”格式化成:然后让模型从这里开始自回归生成。改写一下生成函数"""user_input: 用户输入的中文字符串返回:模型生成的 assistant 回复(字符串)"""# 构造 prompt:模仿训练时的格式user_input: 用户输入的中文字符串返回:模型生成的 assistant 回复(字符串)

2025-12-01 14:43:57 382

原创 第22节——关于训练和推理的补充

【代码】第22节——关于训练和推理的补充。

2025-12-01 14:43:10 266

原创 第21节——手搓一个 LM (语言模型-文本续写)训练和推理器

复用之前的组件:MultiHeadSelfAttention、PositionwiseFeedForward、PositionalEncoding、TokenEmbedding现在写一个「只有 Self-Attn + FFN」的层:"""pad_mask: (B, L) —— 1 表示 PAD"""# 生成因果 mask(不能看未来)) # (L, L)x,pad_mask=pad_mask, # 屏蔽 PADattn_mask=subsequent_mask # 屏蔽未来# FFN。

2025-11-26 07:43:52 413

原创 第20节——实战:手搓一个 Copy Task 训练器

任务设计:输入 src_ids:一串整数 token(比如 [7, 10, 5, 9])目标:输出同样的序列(复制)目标侧我们用 teacher forcing:对于一条样本的目标序列(含 BOS):tgt_full = [BOS, x1, x2, x3, x4]模型输入:tgt_input = [BOS, x1, x2, x3]目标标签:tgt_output = [x1, x2, x3, x4]

2025-11-26 07:42:03 420

原创 第19节——手搓Transformer代码

如果你不是jupyter环境,自己把上面的代码复制粘贴到学习目录下的MyTransformer.py,确保可以在其他文件导入。jupyter notebook运行下面的Cell自动封装代码,记得改名为 MyTransformer.py。改输出的文件名为 MyTransformer.py,否则无法导入。

2025-11-26 07:39:39 292

原创 第18节——Transformer架构

经过 embedding -> 加位置编码 -> N 层 EncoderLayer(自注意力 Self-Attention)输入:源句子 src_ids。

2025-11-26 07:37:57 385

原创 第17节——手搓Decoder代码

【代码】第17节——手搓Decoder代码。

2025-11-26 07:36:03 287

原创 第16节——手搓DecoderLayer代码

【代码】第16节——手搓DecoderLayer代码。

2025-11-25 09:35:21 349

原创 第15节——手搓Cross-Attention代码

【代码】第15节——手搓Cross-Attention代码。

2025-11-25 09:33:43 754

原创 第14节——Cross-Attention(交叉注意力机制)

2.Decoder 生成 “喜欢”3.Decoder 生成 “机器”4.Decoder 生成 “学习”1.Decoder 生成 “我”

2025-11-25 09:31:14 384

原创 第13节——Decoder(解码器)

即预测每个位置的下一个词的分布。

2025-11-25 09:27:26 438

原创 第12节——Masked Self-Attention(掩码自注意力机制)

【代码】第12节——Masked Self-Attention(掩码自注意力机制)

2025-11-25 09:26:02 387

原创 第10节——手搓Token Embedding代码

【代码】第10节——手搓Token Embedding代码。

2025-11-24 06:59:42 449

原创 第11节——手搓Encoder代码

【代码】第11节——手搓Encoder代码。

2025-11-24 06:56:06 343 1

原创 第9节——手搓EncoderLayer代码

FFNxW2ReLUW1xb1b2FFNxW2​ReLUW1​xb1​b2​W1 让维度升高(产生更多特征)ReLU 引入非线性(更强表达力)W2 把维度降回 d_model(保证残差连接)这个结构满足:输入维度 = 输出维度 = d_model计算速度快、简单易训、参数量高,但又不会太高这是一种“最小化但有足够表达力”的结构。完全能加更多层:d_model → d_ff → d_ff → d_ff2 → d_model。

2025-11-24 06:53:43 1299

原创 第8节——开始手搓Attention代码

【代码】第8节——开始手搓Attention代码。

2025-11-24 06:50:24 864

原创 第7节——Encoder(编码器)

Encoder 是一个“读取输入句子并理解句子含义”的模块。它不生成输出,只负责“理解”。

2025-11-24 06:46:32 582

原创 第6节——Position-wise Feed Forward Network(FFN-逐位置前馈网络)

FFN = 对序列中每个 token 的向量独立地做同样的两层全连接网络。它完全不看上下文,只对每个位置(token)单独做非线性变换。FFN 就是把每个 token(向量)单独拿出来,通过一个小的两层神经网络进行“变形”,让 token 的内部特征表达更丰富。Transformer 的本质就是 —— MLP 架构 + Attention(信息混合器)Transformer 的本质就是一个能够通过 Attention 动态生成权重的 MLP。

2025-11-23 10:01:35 796

原创 第5节——Positional Encoding(PE-位置编码)

【代码】第5节——Positional Encoding(PE-位置编码)

2025-11-23 09:55:10 1204

原创 第4节——Attention(batch、mask、MultiHead)(加入批次、掩码的多头注意力机制)

这里已经实现了一个完整的 Multi-Head Attention:输入:(B, L, d_model) 的序列向量通过 W_Q/W_K/W_V 生成 Q/K/Vreshape 成 (B, H, L, head_dim) 拆分多头使用 scaled_dot_product_attention 计算注意力(支持 mask)合并多头,映射回 (B, L, d_model)mask 用于屏蔽 pad、未来 token 等位置,防止模型“看见不该看的信息”。

2025-11-23 09:50:19 1166

原创 第3节——Mask(掩码机制)

注意力前的 Q·Kᵀ 得到 scoreMask 在 softmax 前屏蔽掉某些位置Causal Mask 保证解码器不能看到未来 tokenPadding Mask 屏蔽无效 padding tokenmasked_fill(-inf) + softmax = 屏蔽位置权重变 0。

2025-11-23 09:16:07 285

原创 第2节——Attention(注意力机制)

注意力机制是Transformer的核心,它通过动态加权机制自适应地关注输入序列中的相关信息。与传统CNN和RNN不同,注意力允许模型直接计算词与词之间的关联权重,解决了长距离依赖问题。具体实现中,每个词生成查询(Q)、键(K)和值(V)三个向量,通过Q与K的内积计算相似度得分,经softmax归一化后对V加权求和得到输出。代码示例展示了如何从输入矩阵X通过线性变换得到Q/K/V,并计算注意力权重。实际应用中,这些变换矩阵通过训练学习最优参数,使模型能有效捕捉语义关联。注意力机制通过√d_k缩放解决了维度导

2025-11-23 09:10:33 919

原创 第1节——Transformer的输入和输出

【代码】第1节——Transformer的输入和输出。

2025-11-22 11:28:43 508 1

原创 第0节——带你从 0基础、0概念、0代码到理解和手搓 Transformer

《零基础手把手教你理解并实现Transformer》是一篇面向初学者的Transformer模型入门教程。作者Teng作为生物背景的学习者,通过自学整理出这套从概念到代码的完整学习路径。教程涵盖Encoder/Decoder结构、Attention机制等核心概念,并提供实战案例。学习要求包括基本Python语法和神经网络知识,强调动手实践(建议配合Jupyter notebook)。教程特点在于用浅显语言解释复杂概念,适合跨领域学习者,最终目标是帮助读者理解算法原理而非纠结具体计算。

2025-11-22 11:23:26 715 2

原创 基于大语言模型的pdf高亮翻译阅读器

👉项目开源地址:https://github.com/twy2020/PDF_Highlighter-AI_Translator。AI 提取关键生词,逐句翻译,一件导出生词表,句子表,导出带翻译注释的 pdf 文件!PDF Highlighter-AI Translator 应用发布了!🤗为有经常人工审阅,学习英文文献需求的老师和同学打造的 AI 辅助翻译pdf高亮阅读器!​✨记得给作者 github 点个 star 😘。作者第一次发布自己的应用,希望大家提供建议。👏欢迎大家使用并提交建议和bug日

2025-07-06 05:43:13 203

原创 生信基础——三、Linux指令之文件操作

cd {path}的缩写,切换目录lslist的缩写,列出内容的缩写,创建目录,创建新文件cpcopy的缩写,复制文件或目录(复制目录需要-r参数)mvmove的缩写,移动文件或目录,或者给文件或目录改名vim,调用一个编辑器命令nano,也是调用一个编辑器的命令pwd,查看当前目录的路径find,查找相关内容以上是对本章的重要指令的概括,这些是探索 Linux 最基本的命令,如果出现遗忘,可以直接百度用法,或者问AI。

2025-01-22 12:33:29 918

原创 生信基础——二、安装Ubuntu

以下简单介绍有哪些方法来获取并使用Ubuntu系统,根据不同的使用场景选择合适的安装方式,一般来说,如果你需要一台长期运行,可稳定远程访问的服务器,用于科学计算,服务部署等,那么我推荐直接在物理主机上安装一个Ubuntu系统。如果你只是为了在Ubuntu环境下使用某些软件,并且仍然需要长期在Windows环境下工作,那么你应该考虑使用虚拟机软件来安装Ubuntu,特别的,如果你同时需要强大高效的硬件支持(如对GPU的调用),那么你应该考虑使用WSL技术来支持你的Ubuntu系统。

2025-01-20 17:04:19 946

原创 生信基础——一、Linux操作系统简介

Linux 是一种开源的操作系统,基于 Unix 设计,由 Linus Torvalds 于 1991 年首次发布内核。它具有免费、灵活、稳定和安全的特点,是现代服务器、嵌入式设备、超级计算机和开发环境中广泛使用的系统。Linux 提供命令行界面(CLI)和图形用户界面(GUI),可以满足开发者、企业和普通用户的多样化需求。常见的 Linux 发行版包括 Ubuntu、Fedora 和 CentOS,非常适合初学者学习和使用。

2025-01-20 16:57:44 1360

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除