Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick Start Create a new post 1$ hexo new "My New Post" More info: Writing Run server 1$ hexo server More info: Server Generate static files 1$ hexo generate More info: Generating Deploy to remote sites 1$ hexo deploy More info: Deployment
从 MDP 到 Agentic RL:对大模型强化学习的一次系统梳理
参考来源: 2.1.马尔可夫决策过程(MDP)的定义 2.2.MDP 的分类 图解大模型 RLHF 系列之:人人都能看懂的 PPO 原理与源码解读 看完能和外婆解释的 PPO, DPO, GRPO 强化学习 Agentic RL 全流程技术分析与总结(两万字) 关于马尔可夫 什么是马氏过程 直观地来讲,对于一个马氏过程,指的是在 Xt+1X_{t+1}Xt+1 之前的所有信息全部已知的情况下,Xt+1X_{t+1}Xt+1 的分布只和 XtX_tXt 的取值有关,与 XtX_tXt 前面发生过的事情无关,即未来只由现在决定,而不由过去决定。这是因为 Xt−1X_{t-1}Xt−1 对于 Xt+1X_{t+1}Xt+1 的影响,全部体现在了 XtX_{t}Xt 中。对于一个初始值是 X1X_1X1 的随机变量,服从某个初始分布,而 X1X_{1}X1 的取值又决定了 X2X_{2}X2 的分布,X2X_{2}X2 的取值又决定了 X3X_{3}X3 的分布 ⋯\cdots⋯...
自监督学习
自监督学习是一种无标注的学习方式。由于其不使用标注的数据,它可以看作是一种无监督学习方法。有趣的是,自监督学习的模型大多是以芝麻街的角色命名 BERT BERT 是一个 Transformer 的编码器,BERT 的架构与 Transformer 的编码器完全相同,里面有很多自注意力和残差连接、归一化等。 BERT 的输入是一段文字,接下来需要随即掩码一些输入文字,被掩码的部分是随机决定的。有两种方式实现掩码,第一种方法是用特殊符号替换句子里的单词,使用 “MASK” 来表示特殊符号;另一种方法是用另一个字随即替换一个字 如下图,掩码后,向 BERT 输入了一个序列,BERT 的相应输出就是另一个序列。接下来查看掩码部分的对应的输出,对这个输出的向量做线性变换(乘一个矩阵),然后做 softmax 并输出一个分布。输出是一个很长的向量,包含要处理的每个汉字,每个字对应一个分数,这个向量是 softmax 生成的分布。 BERT 的训练过程是这样的:由于 BERT 不知道掩码的实际字符,训练的目标是输出一个尽可能接近真实答案的字符,用 one-hot...
Transformer
Transformer 是一个基于自注意力的序列到序列模型,与基于循环网络的序列到序列模型不同,其可以并行计算。 序列到序列模型 序列到序列模型输入和输出都是一个序列,输入和输出序列长度之间的关系有两种情况。第一种情况下,输入和输出的长度一样;第二种情况下,机器决定输出的长度。序列到序列模型有广泛的应用,比如常见的 语音识别、机器翻译与语音翻译,TTS,聊天机器人,问答任务,句法分析、多标签分类 等等。 Transformer 结构 一般的序列到序列模型会分成编码器和解码器。编码器负责处理输入的序列,再把处理好的结果丢给解码器,由解码器决定要输出的序列。 Transformer 编码器 Transformer 编码器使用的是自注意力,输入一排向量,输出一排长度相同的向量。编码器分成很多的块,每个块不是神经网络的一层,块的结构如图所示。 先跳过残差连接与层归一化的设计,在每个块里,输入一排向量后做自注意力,考虑整个序列的信息,再将输出丢到全连接网络里,输出另外一排向量,这一排向量就是块的输出。 这时候把残差连接和层归一化加进来,如图所示,最左边的向量 bbb...
Word Embedding
Word2Vec Word2Vec 有以下几种方式: 1-of-N Encoding:vector 中元素的数量 = word 的数量,对一个单词来说只要 vector 中对应元素为 1,其他元素为 0 。但这种表示方式无法建立 word 之间的联系 Word Class:把具有相同性质的 word 进行聚类划分成多个 class,用 word 所属的 class 表示该 word。但聚类算法强迫每个样本属于并只属于一个 cluster,实际上一个样本会有多个 cluster 的特征,比如 dog 的 class 是动物,flower 的 class 是植物,但它们又同属于生物 Word Embedding:把所有 word 投影到一个空间,且该空间的维度远低于 1-of-N Encoding,这是一个 Dimension Reduction 的过程。语义相近的 word 在该投影空间中是比较接近的,且该空间的每一维都有特殊的含义。 Word Embedding 是一个无监督的方法,只要让机器阅读大量文章,它就可以知道每一个 word 在 embedding...
循环神经网络RNN部分原理
RNN 什么是 RNN? 隐藏层的输出会被保留在记忆元中,在处理下一次的输入时,记忆元中的值也会被考虑。它会考虑序列的顺序,输入序列的顺序不同输出也不同。下图为权重为 1,偏置为 0,激活函数为线性的 RNN 架构处理输入序列 [1,1]T,[1,1]T,[2,2]T[1,1]^T,[1,1]^T,[2,2]^T[1,1]T,[1,1]T,[2,2]T 的情况 其他 RNN 循环神经网络的架构是可以任意设计的,之前提到的 RNN 只有一个隐藏层,但 RNN 也可以是深层的。 Elman 网络 &Jordan 网络 Jordan 网络存的是整个网络输出的值,它把输出值在下一个时间点在读进来,把输出存到记忆元里。Elman 网络没有目标,很难控制说它能学到什么隐藏层信息(学到什么放到记忆元里),但是 Jordan 网络是有目标,比较很清楚记忆元存储的东西。 双向循环神经网络 Bi-RNN 同时训练一个正向的循环神经网络,训练一个逆向的循环神经网络,然后把这两个循环神经网络的隐藏层拿出来,都接给一个输出层得到最后的...




