公告栏
文章列表
DQN 及其改进算法
上一篇文章中,我们已经介绍了 Q-learning 和 Deep Q-learning 的基本形式。Q-learning 的核心是估计最优动作价值函数 q∗(s,a)q^*(s,a)q∗(s,a),再通过贪心策略选择动作;DQN 则是将表格形式的 q(s,a)q(s,a)q(s,a) 替换为神经网络近似函数 q(s,a,w)q(s,a,w)q(s,a,w)。
本文将从 Q-learning 的 Bellman 最优方程出发,回顾 DQN 的目标函数、梯度更新、经验回放、目标网络,以及 Double DQN、Dueling DQN、Prioritized Experience Replay 和
more...【斯坦福 CS336】Assignment-1:Transformer 模型构建与训练
# 概述
本篇博客基于 2025 斯坦福 CS336 课程的第一章节作业要求,系统梳理了其中关于 Transformer 模型构建与训练的核心内容。该部分涵盖了词嵌入层、RoPE 位置编码、注意力机制等基础模块,并在此基础上逐步搭建一个标准的 Transformer 模型,同时实现相应的优化器等,完成语言模型的端到端训练流程。
原始作业内容包含了大量底层模块的实现,例如线性层、交叉熵损失函数等,旨在帮助初学者通过亲手实践加深对原理的理解。由于本文定位为总结与梳理,因此不会面面俱到,而是选取我个人认为较为关键、具有代表性的部分进行介绍与归纳。
# Transformer 基础模块
本章节将介
more...【斯坦福 CS336】Assignment-1:BPE 分词器算法原理与实现
# 概述
在自然语言处理领域,分词器(Tokenizer) 承担着至关重要的 “桥梁” 作用:它将人类的自然语言(字符串)转化为大型语言模型能够识别和处理的整数序列。该整数序列就是大模型的输入,而 token 指的就是这些整数数字。
在众多分词策略中,字节对编码(Byte Pair Encoding, BPE) 以其高效、可控的词汇表构建机制,成为了现代预训练模型(如 BERT,GPT,T5 等)的基石。BPE 成功解决了传统分词方法在处理海量词汇和未登录词时的痛点。
本篇博客基于 2025 斯坦福 CS336 课程的第一章节作业要求,整理 BPE 分词器的原理与实现流程,并从零开始实现一个基
more...【斯坦福 CS336】第一章:模型架构与基础
# 概述
本章是 2025 斯坦福 CS336 课程的第一章,也是本系列笔记的开篇章节。我们将介绍模型架构与基础知识,探讨模型设计的核心原则和常见的架构模式,为后续章节的学习奠定基础。
事先声明,本笔记并不会覆盖课程中的所有细节,不属于手把手的教程,而是重点总结和提炼出核心内容,帮助大家更好地理解和应用所学知识。好了,废话不多说,我们直接进入正题。
本系列笔记的代码仓库位于链接。
# Tokenizer
Tokenizer 是自然语言处理中的一个重要组件,负责将文本转换为模型可以理解的输入格式。这部分内容属于模型架构的基础知识,理解 Tokenizer 的工作原理对于设计和优化模型至关
more...PyTorch 模型训练之并行篇
现如今,深度学习模型的规模和复杂度正以前所未有的速度增长,从简单的线性模型到如今动辄数百数千亿参数的大模型,单 GPU 的计算能力已难以满足高效训练的需求。并行训练技术应运而生,它合理分配计算任务到多个 GPU 或多台机器上,显著提升了训练效率。本文将介绍 PyTorch 中几种常见的并行训练方法,包括数据并行(Data Parallel)、分布式数据并行(Distributed Data Parallel,DDP)、Hugging Face 的 Accelerate 工具库等。通过对比和代码示例,帮助读者快速掌握这些技术的原理和使用方法。
# 前期准备
为了演示不同的并行训练方案,首先需要准
more...强化学习的数学原理
强化学习(Reinforcement Learning, RL)是机器学习的核心范式之一,其核心目标是通过智能体与环境的动态交互,自主习得最优决策策略,以最大化长期累积奖励。
本文系统梳理了强化学习算法的相关数学原理,希望能对强化学习的理解有所帮助。同时,本文省略了部分基础知识的介绍,把重点放在强化学习经典算法和数学理解上,对复杂的证明和推导予以省略。
# 基础概念
智能体(Agent):决策主体,通过观察环境状态选择动作。例如,游戏 AI 中的角色控制器。
环境(Environment):也称为模型,是智能体交互的外部世界,提供状态信息和反馈奖励。环境可以是物理世界(如机器人导航场景)或虚拟
more...





