导图社区 机器学习
这是一篇关于基础模型的思维导图,主要内容包括:机器学习基础、分类算法、回归算法、聚类算法等基础知识,以及神经网络模型的主要内容,神经网络模型章节涵盖了前馈神经网络,卷积神经网络,循环神经网络,网络优化与正则化,Transformer架构,模型蒸馏等内容。适合初学者理解人工智能领域的基础知识。
编辑于2025-05-15 09:04:15机器学习
基础知识
基本概念
从数据中自动分析获得规律,并利用规律做出预测或决策
也可以由三元组<T, P, E>定义,在某些任务T上,通过经验E,提升性能P
三个要素
模型
机器学习的目标是找到一个模型来近似真实映射函数 g(x) 或真实条件概率分布P(y|x)
学习准则
风险最小化准则(Empirical Risk Minimization,ERM)
找到一组参数 θ∗ 使得经验风险最小,但会带来过拟合问题
结构风险最小化准则(Structure Risk Minimization,SRM)
引入参数的正则化项,来减少参数空间
损失函数
用来量化模型预测和真实标签之间的差异
优化算法
在确定了训练集 D、假设空间 F 以及学习准则后,如何找到最优的模型f (x, θ∗) 就成了一个最优化(optimization)问题
参数
模型f (x, θ) 中的 θ 称为模型的参数,可以通过优化算法进行学习
超参
参数的参数,用来定义模型结构或优化策略
常见的超参数包括:聚类算法中的类别个数、梯度下降法的步长、正则项的系数、神经网络的层数、支持向量机中的核函数等
超参的选取一般都是组合优化问题,有很强的经验性,很难通过优化算法来自动学习
梯度下降((Stochastic Gradient Descent,SGD)
通过迭代方式计算训练集上的风险函数最小值
α为搜索步长,也称学习率(learning rate)
三个类型
预测
旨在根据已有的数据来推测未知的数据值
回归问题
分类问题
生成
生成任务关注于创建与训练数据相似的新数据点
图像生成
文本生成
决策
决策任务涉及到制定策略或规则,以达到特定的目标或最大化某种收益
强化学习
推荐系统
数据测量尺度
模态(modality)
文本、图片、视频、音频,每一种信息呈现形式被称作为一种模态,如果一个模型能够同时处理至少2种模态的数据,那这个模型就被称作多模态模型
算法分类
监督学习
概念
学习样本中有标签(目标值),好比有老师告诉你正确答案,通常有分类和回归两类算法
类型
分类
输出位有限的离散型变量,比如垃圾短信的分类(垃圾短信 / 正常短信)
回归
输出位连续型变量,比如预测某城市的房价
拟合问题
欠拟合
模型不能很好地拟 合训练数据,在训练集的错误率比较高
过拟合
已知样本空间中效果很好,但未知样本效果很差,通常会添加正则化约束解决
正则化
添加参数惩罚
L1正则化(Lasso回归)
在损失函数中添加一个与权重绝对值之和成比例的惩罚项
稀疏性
L1正则化倾向于产生稀疏解,可以使一些不重要的特征权重降为0,从而实现特征选择,有助于简化模型
鲁棒性
L1正则化对参数的绝对值进行惩罚,对异常值的鲁棒性更高
复杂度
L1正则化过程中会涉及更多非零参数,可能导致计算量增加
L2正则化(Ridge回归)
在损失函数中加入权重平方和的惩罚项
平滑性
L2正则化倾向于将所有参数减小,但不会变为0,有助于保持所有特征影响,避免任何单个权重过大,使得模型更加平滑稳定
友好性
L2正则化通常是一个凸优化问题,且只有一个全局最小值,使得求解过程更简单快速
原则标准
特征选择
若需减少潜在的无关特征,可使用L1,否则使用L2
数据特点
若数据中包含大量异常值,L1更稳健;反之,数据分布较为均匀,则L2更佳
应用场景
图像或文本等高维数据场景,L2可以更好地减少过拟合,提升模型泛化能力
弹性网络
单独使用L1或L2无法满足所有需求时,可以考虑结合两者的优点,使用弹性网络(Elastic Net),这是一种同时包含L1和L2正则化项的方法,可以在一定程度上克服各自的局限性
监督微调(Supervised Fine-Tuning,SFT)
在预先训练好的模型基础上,使用有标注的特定任务的数据进一步训练模型,使其适应具体任务或场景的过程
无监督学习
概念
学习样本中无标签,考机器观察自学,自己寻找模式和特征
目标
发现数据的隐藏结构
聚类
将数据划分为相似的子群
关联规则
发现数据项之间的关联
简化数据表示
降维
减少数据维度,保留主要信息
生成新数据
学习数据分布并生成新样本
生成对抗网络GAN
检测异常
识别偏离正常模式的数据点
强化学习
概念
强化学习的核心在于试错学习和延迟奖励
智能体通过不断尝试不同的动作,观察环境反馈的奖励信号,并调整策略以优化长期收益
学习过程
1. 初始化状态:智能体从环境中获取初始状态 S
2. 选择动作:根据当前策略 π(S) ,智能体选择动作 A
3. 环境响应:执行动作后,环境更新为新状态 S' ,并返回奖励 R
4. 更新策略:智能体根据奖励新状态调整策略(如更新价值函数或者直接优化策略)
5. 重复交互:循环上述步骤,直至达到目标
模型评估
评价方面
泛化能力:对位置数据的预测效果
可解释性:预测结果是否容易被解释
预测速率:预测一个样本的耗时
可塑性:随业务数据增长后的效率是否可接受
评价指标
预测结果的混淆矩阵
真正例(True Positive,TP)
假负例(False Negative,FN)
假正例(False Positive,FP)
真负例(True Negative,TN)
准确率(Accuracy)
正确预测的样本数占总样本数的比例
错误率(Error Rate)
1 - Accuracy
查准率(Precision)/精确率
所有被模型预测为正例的样本中,实际为正例的比例
查全率(Recall)/ 召回率
所有实际为正例的样本中,被模型正确识别出来的比例
F 值(F Measure)
是一个综合指标,为查准率和查全率的调和平均
β值为1时,称为F1 Score
ROC曲线
通过真正例率(True Positive Rate, TPR)与假正例率(False Positive Rate, FPR)之间的关系,来绘制展示分类模型在不同阈值下的性能
所有实际为正类的样本中被正确预测为正类的比例
实际为负类的样本中被错误地预测为正类的比例
OC曲线通常会伴随着AUC(Area Under the Curve),即曲线下方的面积
AUC值介于0.5到1之间,AUC越接近1,表示模型的区分能力越好
适用于类别相对均衡或轻度不平衡的数据集,关注模型在不同阈值下的整体性能表现
KS曲线
KS曲线显示的是累积分布函数(CDF)下,正样本和负样本的累积比例随决策阈值变化的情况
t代表不同阈值,KS值越大,说明摸摸行区分正负样本的能力越强 KS的最大值为1,此时模型可以完美区分正负样本
主要用来衡量模型区分正负两类样本的能力
分类算法
基础分类算法
感知器
算法概念
类似一个简化版的人脑神经元模型,用来识别输入数据中的模式,并根据这些模式做出决策
工作原理
1. 接收一组输入数据
2. 计算每个输入与其对应权重的乘积,并将这个乘积求和,再加上偏置
3. 通过激活函数处理计算结果,产生最终输出
应用场景
只能处理线性可分的数据集,环形分布等复杂场景无法有效决策
缺乏隐藏层,表达能力有限,无法捕捉到输入特征之间的非线性关系
对噪声敏感,易导致过拟合
逻辑回归
算法概念
二分类算法,通过Sigmoid函数将输入数据映射到0到1之间,表示某个事件发生的概率
损失函数
交叉熵损失函数
当真实值为1,预测值为1,损失值最小,为0
模型优化
梯度下降
应用场景
简单易懂,易于实现,计算效率高,适合中小规模数据
对噪声数据有一定鲁棒性
难以处理非线性数据,不适合处理超高维稀疏数据
K近邻算法(KNN)
算法概念
如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某个类别,则该样本也属于这个类别(近朱者赤)
工作原理
1. 给定一个新的数据点,计算它与训练集中所有样本的距离(常用欧氏距离)
2. 找出距离最近的K个样本
3. 根据这K个邻居的标签,决定新样本的标签
分类问题:投票机制,K个邻居中占多数的类别
取K个邻居目标值的平均值作为预测结果
一个数据点的类别或值,可以由它周围最近的K个邻居的类别或值来决定
模型优化
KNN算法结果很大程度取决于K值的选择,常用交叉验证或网格搜索进行优化
交叉验证
为了让模型更加准确可信
将训练集等分为N份,其中一份为验证集,每次更换不同验证集可得到N个模型结果,取平均值作为最终结果
网格搜索
调参(超参)
定义一个超参的候选集合(网格),对可能组合逐一训练,选择性能最好的组合
优势:遍历所有可能组合,可循到最优解,简单易用、可解释性强
劣势:计算成本高,效率低
当超参数量较多或范围较大时,可使用随机搜索(Random Search) 或 贝叶斯优化(Bayesian Optimization)
支持向量机
算法概念
在不同类别的数据点之间找到一个最优的分割边界(超平面),能够尽可能地将不同类别的数据分开,并且最大化两类之间的间隔,“支持向量”是指那些位于分割边界最近的数据点
关联规则
算法概念
从数据集中发现项与项之间的关系,不是分类问题
支持度(Support)
某个项/组合出现的次数与总次数之间的比例,支持度越高,代表该组合出现的频率越大
置信度(Confidence)
条件概率,即在A发生的情况下,B发生的概率
提升度(Lift)
A的出现,对B的出现概率提升的程度
Apriori算法就是查找频繁项集(Frequent itemset)的过程,频繁项集是指支持度大于等于最小支持度阈值的项集
递归过程
1,K=1,计算K项集的支持度 2,筛选掉小于最小支持度的项集 3,如果项集为空,则对应K-1项集的结果为最终结果 4,否则,K=K+1,重复1-3步骤
分类算法
基础分类算法
感知器
算法概念
类似一个简化版的人脑神经元模型,用来识别输入数据中的模式,并根据这些模式做出决策
工作原理
1. 接收一组输入数据
2. 计算每个输入与其对应权重的乘积,并将这个乘积求和,再加上偏置
3. 通过激活函数处理计算结果,产生最终输出
应用场景
只能处理线性可分的数据集,环形分布等复杂场景无法有效决策
缺乏隐藏层,表达能力有限,无法捕捉到输入特征之间的非线性关系
对噪声敏感,易导致过拟合
逻辑回归
算法概念
二分类算法,通过Sigmoid函数将输入数据映射到0到1之间,表示某个事件发生的概率
损失函数
交叉熵损失函数
当真实值为1,预测值为1,损失值最小,为0
模型优化
梯度下降
应用场景
简单易懂,易于实现,计算效率高,适合中小规模数据
对噪声数据有一定鲁棒性
难以处理非线性数据,不适合处理超高维稀疏数据
K近邻算法(KNN)
算法概念
如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某个类别,则该样本也属于这个类别(近朱者赤)
工作原理
1. 给定一个新的数据点,计算它与训练集中所有样本的距离(常用欧氏距离)
2. 找出距离最近的K个样本
3. 根据这K个邻居的标签,决定新样本的标签
分类问题:投票机制,K个邻居中占多数的类别
取K个邻居目标值的平均值作为预测结果
一个数据点的类别或值,可以由它周围最近的K个邻居的类别或值来决定
模型优化
KNN算法结果很大程度取决于K值的选择,常用交叉验证或网格搜索进行优化
交叉验证
为了让模型更加准确可信
将训练集等分为N份,其中一份为验证集,每次更换不同验证集可得到N个模型结果,取平均值作为最终结果
网格搜索
调参(超参)
定义一个超参的候选集合(网格),对可能组合逐一训练,选择性能最好的组合
优势:遍历所有可能组合,可循到最优解,简单易用、可解释性强
劣势:计算成本高,效率低
当超参数量较多或范围较大时,可使用随机搜索(Random Search) 或 贝叶斯优化(Bayesian Optimization)
支持向量机
算法概念
在不同类别的数据点之间找到一个最优的分割边界(超平面),能够尽可能地将不同类别的数据分开,并且最大化两类之间的间隔,“支持向量”是指那些位于分割边界最近的数据点
分类算法
基础分类算法
感知器
算法概念
类似一个简化版的人脑神经元模型,用来识别输入数据中的模式,并根据这些模式做出决策
工作原理
1. 接收一组输入数据
2. 计算每个输入与其对应权重的乘积,并将这个乘积求和,再加上偏置
3. 通过激活函数处理计算结果,产生最终输出
应用场景
只能处理线性可分的数据集,环形分布等复杂场景无法有效决策
缺乏隐藏层,表达能力有限,无法捕捉到输入特征之间的非线性关系
对噪声敏感,易导致过拟合
逻辑回归
算法概念
二分类算法,通过Sigmoid函数将输入数据映射到0到1之间,表示某个事件发生的概率
损失函数
交叉熵损失函数
当真实值为1,预测值为1,损失值最小,为0
模型优化
梯度下降
应用场景
简单易懂,易于实现,计算效率高,适合中小规模数据
对噪声数据有一定鲁棒性
难以处理非线性数据,不适合处理超高维稀疏数据
K近邻算法(KNN)
算法概念
如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的大多数属于某个类别,则该样本也属于这个类别(近朱者赤)
工作原理
1. 给定一个新的数据点,计算它与训练集中所有样本的距离(常用欧氏距离)
2. 找出距离最近的K个样本
3. 根据这K个邻居的标签,决定新样本的标签
分类问题:投票机制,K个邻居中占多数的类别
取K个邻居目标值的平均值作为预测结果
一个数据点的类别或值,可以由它周围最近的K个邻居的类别或值来决定
模型优化
KNN算法结果很大程度取决于K值的选择,常用交叉验证或网格搜索进行优化
交叉验证
为了让模型更加准确可信
将训练集等分为N份,其中一份为验证集,每次更换不同验证集可得到N个模型结果,取平均值作为最终结果
网格搜索
调参(超参)
定义一个超参的候选集合(网格),对可能组合逐一训练,选择性能最好的组合
优势:遍历所有可能组合,可循到最优解,简单易用、可解释性强
劣势:计算成本高,效率低
当超参数量较多或范围较大时,可使用随机搜索(Random Search) 或 贝叶斯优化(Bayesian Optimization)
支持向量机
算法概念
在不同类别的数据点之间找到一个最优的分割边界(超平面),能够尽可能地将不同类别的数据分开,并且最大化两类之间的间隔,“支持向量”是指那些位于分割边界最近的数据点
聚类算法
算法概念
通过数据之间的内在关系,把样本划分为若干类别,使得同类别样本之间的相似度高,不同类别样本之间的相似度低
K均值聚类(K-means Clustering)
1. 选择K个样本作为初始质心 2. 将每个样本分配给离它最近的质心,形成K个簇 3. 重新计算每个簇的质心 4. 重复2、3步,直至质心不变或变化范围达到指定阈值
损失函数
K均值使用了一种称为误差平方和(Sum of Squared Errors, SSE)的目标函数来衡量聚类的质量
所有数据点到其所属簇中心的距离之和的平方
模型优化
K均值算法通过迭代地调整簇中心的位置来最小化SSE
分配步骤(assignment step)
每个样本点被分配给最近的簇中心
更新步骤(update step)
每个簇的新中心被重新计算为其成员样本点的平均位置
评价指标
轮廓系数(Silhouette Coefficient)
内部距离最小化,外部距离最大化
a:样本i到同一簇内其他点不相似程度的平均值,这个值越小越好 b:样本i到其他簇的平均不相似程度的最小值,这个值越大越好 S:最终结果越接近1越好,取值范围[-1.1]
CH系数(Calinski-Harabasz Index)
类别内数据的协方差越小越好,类别间协方差越大越好
关联规则
算法概念
从数据集中发现项与项之间的关系
支持度(Support)
某个项/组合出现的次数与总次数之间的比例,支持度越高,代表该组合出现的频率越大
置信度(Confidence)
条件概率,即在A发生的情况下,B发生的概率
提升度(Lift)
A的出现,对B的出现概率提升的程度
Apriori算法就是查找频繁项集(Frequent itemset)的过程,频繁项集是指支持度大于等于最小支持度阈值的项集
递归过程
1,K=1,计算K项集的支持度 2,筛选掉小鱼最小支持度的项集 3,如果项集为空,则对应K-1项集的结果为最终结果 4,否则,K=K+1,重复1-3步骤
线性回归
算法概念
一种统计方法,用于研究一个或多个自变量(预测变量)与一个因变量(响应变量)之间的关系,且这种关系可以通过一个线性的方程来描述
损失函数
MSE(Mean Squared Error):平均平方误差
RMSE(Root Mean Squared Error):平均平方误差的平方根
MAE(Mean Abolute Error):平均绝对值误差,为所有样本误差的绝对值和
模型优化
正规方程(最小二乘法)
1. 一次性求得最佳结果 2. 特征过多过复杂时,求解效率低
梯度下降
通过不断迭代调整参数来寻找合适的目标值,α:学习率/步长
评价指标
MSE/RMSE
MAE
R方
F统计量
基础模型
前馈神经网络 Feedforward Neural Network,FNN
概念
各神经元分别属于不同的层,每一层的神经元可以接收前一层神经元的信号,并产生信号输出到下一层,第 0 层叫输入层,最后一层叫输出层,其它中间层叫做隐藏层
激活函数
概念
激活函数(Activation Function)是神经网络中的一种非线性映射函数,通常作用于神经网络的隐藏层
核心作用
引入非线性:使神经网络能够拟合复杂的非线性关系
决定神经元输出:将输入信号转换为输出信号(如是否激活神经元)
类型
Sigmoid型激活函数
Sigmoid 型函数是指一类 S 型曲线函数,为两端饱和函数
常用Sigmoid型函数
Logistic 函数
Tanh 函数
Sigmoid型函数计算开销大,常用分段函数来近似;会导致一个非稀疏的神经网络
修正线性单元(Rectified Linear Unit,ReLU)
一个斜坡函数,有很好的稀疏性,大约50%的神经元会处于激活状态
Swish 函数是一种自门控(Self-Gated)激活函数
Maxout 单元
Softmax函数
概念
一种特殊的激活函数,其核心作用是通过非线性归一化将输出转换为概率分布,主要作用于输出层
核心作用
归一化:将任意实数向量转换为概率分布
非线性映射:通过指数函数放大输入差异,实现非线性变换
多分类决策:输出概率用于表示多分类任务中每个类别的置信度
数学表达
网络结构
前馈网络
前馈网络中各个神经元按接受信息的先后分为不同的组,每一组可以看作一个神经层,每一层中的神经元接受前一层神经元的输出,并输出到下一层神经元
整个网络中的信息是朝一个方向传播,没有反向的信息传播,可以用一 个有向无环路图表示
可以看作是一个函数,通过简单非线性函数的多次复合,实现输入空间到输出空间的复杂映射,这种网络结构简单,易于实现
反馈网络
反馈网络中神经元可以接收其它神经元的信号,也可以接收自己的反馈信号,和前馈网络相比,反馈网络中的神经元具有记忆功能,在不同的时刻具有不同的状态
反馈神经网络中的信息传播可以是单向或双向传递,因此可用 一个有向循环图或无向图来表示
反馈网络可以看作一个程序,具有更强的计算和记忆能力
反向传播算法(Backpropagation Algorithm)
通过调整网络中的权重来最小化预测值与实际值之间的误差
过程
初始化网络
随机初始化神经网络中所有连接的权重
前向传播
输入数据,并从输出层得到预测结果
计算误差
将预测输出与实际标签进行比较,计算他们之间的差异,即“损失”
反向传播误差
从输出层开始,逐层向前一层推进,计算每一个权重对最终误差的影响程度(梯度)
更新权重
采用梯度下降方法按梯度最大方向的反向调整权重,以期减少误差(每次调整的步长由学习率决定)
重复迭代
重复上述过程,直至模型预测准确率符合预期或不再显著提高
优化问题
非凸优化问题
模型训练的目标通常是找到一组参数,使得模型的预测结果尽可能接近真实值,这个过程涉及到最小化或最大化某个目标函数
凸优化问题:存在唯一的全局最优解,且任何局部最优解都是全局最优解
非凸优化问题:可能存在多个局部最优解,但只有一个全局最优解
解决思路
随机初始化
不同的初始参数可能导致不同的结果,多次运算提高找到全局最优解的概率
随机优化
通过引入随机性来探索更大的搜索空间,如模拟退火、遗传算法等
分解方法
将复杂的非凸问题分解为多个子问题,然后通过交替优化来逐步逼近全局最优解
凸近似
尝试将非凸问题转换为凸问题,虽然这样做得到的解不一定是最优解,但它提供了一个可接受的近似解
梯度消失问题
深层神经网络中,某些类型的激活函数的特性(某些区间内导数非常小)会导致层层传播后的积累值过小,几乎不发生变化,导致难以有效学习
解决思路
使用ReLU等激活函数,eLU(Rectified Linear Unit)激活函数在其正输入区域内的导数始终为1,可以避免梯度随层数增加而快速减小的问题
批量归一化(Batch Normalization):这种方法可以帮助稳定每一层的输入分布,使得训练过程更加平稳,有助于减轻梯度消失的影响
残差连接(Residual Connections):比如在ResNet中使用的跳跃连接可以让信息直接跳过一些层,确保即使在网络较深的情况下,梯度也能有效地传递回早期层
合适的初始化方法:如Xavier初始化或He初始化,可以根据网络结构选择合适的初始权重值,减少梯度消失的风险
卷积神经网络 Convolutional Neural Network,CNN / ConvNet
概念
由卷积层、汇聚层和全连接层交叉堆叠而成的,具有局部连接、权重共享等特性的深层前馈神经网络,使用反向传播算法进行训练
结构特性:局部连接,权重共享,汇聚
具有一定程度上的平移、缩放和旋转不变性
卷积(Convolution),也叫摺积,是分析数学中一种重要的运算,被用来自动地从数据中提取特征
卷积核的大小通常根据任务需求和经验来选择,常见的大小有 3×3、5×5 或 7×7 等
卷积核的权重值
手动设计
用于完成特定任务,边缘检测(Sobel / Prewitt滤波器)、模糊化(均值滤波器)
自动学习
通过训练数据自动学习的,能够适应复杂的场景
卷积层
主要负责从输入数据中提取特征
通过应用多个卷积核,卷积层能够识别出输入数据中的各种模式,如边缘、纹理等
体现了局部连接和权重共享这两个重要特性
汇聚层
常位于卷积层之后,作用是进行特征选择,降低特征数量,进而减少参数数量
有助于减少计算量,还可以在一定程度上控制过拟合
最大池化(Max Pooling):取一个区域内所有神经元的最 大值
强调显著特征,但会丢失细节特征
增强物体小范围平移的不变性,但可能会对噪声敏感
平均池化(Average Pooling):取区域内所有神经元的平均值
保留更多背景信息,适合需要考虑整体信息的任务,但无法强调特定特征
提供更加平滑的效果,但增加了计算复杂度
全连接层
出现在网络的较深层,接近输出层的地方,主要用于将前面层学到的特征进行组合,以便做出最终的分类或回归预测
虽然全连接层确实连接了所有前一层的节点,但它并不直接处理原始输入数据,而是处理经过多层卷积和汇聚后得到的高度抽象的特征表示
循环神经网络 Recurrent Neural Network,RNN
概念
是一种专门用于处理序列数据的神经网络模型,能够处理任意长度的输入序列,且在处理当前输入时会考虑到之前的状态,具有短期记忆能力
适合自然语言处理
自然语言的序列性和上下文关联性是两大挑战,这需要模型具有一定的记忆能力
短期记忆
将前序输出作为自身的输入,因此相当于记住了之前输入的内容
输出机制
模型的输出机制是基于概率的输出,即输出是一组概率值,即每个token的出现概率,然后基于采样策略选择合适的输出
基于概率的输出会导致幻觉
基于概率的输出使得模型不追求输出的“正确性”,而是根据训练语料的“连贯性”,因此会出现模型的语言表达连贯自然但与事实不符的现象,也就是幻觉
采样策略
实践中通常使用温度(temperature)参数来控制模型的输出要按照多大程度偏移概率最高的token
温度越低,越贴近概率最高输出,模型输出的稳定性越高,反之创造性越高
自然语言的数字化
1. 词元(token)分割
token,也称词元,模型处理自然语言的最小单元
将一个句子分割成多个token的过程就是token化
词元划分维度不一,依赖模型自己的token策略
DeepSeek使用BPE(Byte Pair Encoding)策略,核心思想是将高频字符组(包括非完整词汇)与单字共同作为 token
2. token的数字映射
token不是数字无法计算,需要为每个token指定一个数字编码,实现token的数字化,便于计算
实践中一般会按词频排序,次品越高编号越小,计算和存储成本更低
局限
数值大小不代表语义关系,这种数字映射只能算作定类数据,仅支持=≠,无法做其他运算
3. 独热编码(one-hot encoding)
将token数字映射再做一次向量化转换,使其可以适配高阶运算
例如六维向量可以表示为[0,1,0,0,0,0]
局限
计算成本高,token数量过多时,单个token的维度过多,其计算成本过高
语义关联性缺失,token之间完全独立,无法体现出token之间的关联性
4. 词嵌入(word embedding)
通过专门训练的词嵌入模型,将独热编码的高维向量(如 10000 维)转换为低维向量(如 3 维)
效果
语义相近的token编码结果会比较相近
token编码之间的加减也具有语义
例如在编码上可以实现 [树]-[木]≈[叶]的结果,和语义接近
梯度计算
随时间反向传播(Backpropagation Through Time,BPTT)
算法的主要思想是通过类似前馈神经网络的错误反向传播算法来计算梯度
BPTT 算法需 要保存所有时刻的中间梯度,空间复杂度较高
实时循环学习(Real-Time Recurrent Learning,RTRL)
RTRL 算法不需要梯度回传,因 此非常适合用于需要在线学习或无限序列的任务中
长期依赖问题
当序列中的两个相关元素之间存在较大的时间间隔时,RNN很难捕捉到这种长距离依赖关系,即随着间隔增加,保持早期信息越来越困难
RNN通过反向传播算法来调整权重,以最小化损失函数,如果序列很长,计算得到的梯度可能异常
梯度非常小(梯度消失)
导致较早的时间步对最终输出的影响几乎可以忽略不计,从而使得模型难以学习长期依赖
梯度异常大(梯度爆炸)
导致参数更新过大,使得训练过程不稳定甚至发散
长短期记忆网络(Long Short-Term Memory,LSTM)
引入门控机制(Gating Mechanism)和细胞状态(Cell State),解决了传统 RNN 的梯度消失/爆炸问题,擅长建模长距离依赖关系
网络优化与正则化
网络优化
深层神经网络是一个高度非线性的模型,其风险函数是一个非凸函数,因 此风险最小化是一个非凸优化问题,会存在很多局部最优点
网络优化的难点
网络结构多样性
高维变量的非凸优化
鞍点
鞍点的梯度是 0,但是在一些维度上是最高点,在另一些维度上是最低点
平摊底部
深层神经网络的参数非常多,并且有一定的冗余性,这导致每单个参数对最终损失的影响都比较小,这导致了损失函数在局部最优点附近是一个平坦的区域,称为平坦最小值
优化算法
梯度下降的常用形式
批量梯度下降(BGD)
适合凸优化问题,不能实时处理新数据
小批量梯度下降(MBGD)
平衡了精度于效率,但需关注超参选择
随机梯度下降(SGD)
更新不稳定,随机性导致难以收敛
学习率
学习率 α 的取值非常关键,如果过大就不会收敛,如果过 小则收敛速度太慢
从经验上看,学习率在一开始要保持大些来保证收敛速度, 在收敛到最优点附近时要小些以避免来回震荡
学习率衰减(Learning Rate Decay)
随迭代次数不断衰减,常见如拟时衰减、指数衰减、自然指数衰减等,衰减率β一般取值为0.96
梯度方向优化
动量法(Momentum Method)
使用最近一段时间内的平均梯度来代替当前时刻的梯度来作为参数更新的方向
优势
加速收敛,快速穿越平坦区域
减少震荡,平滑梯度更新
劣势
若动量过大,可能导致参数在最优解附近震荡或过冲
对超参敏感,动量因子和学习率需要仔细调整
适用
数据规模较小的场景,实现简单且效果良好
Nesterov 加速梯度(Nesterov Accelerated Gradient,NAG)
对动量法的改进,计算梯度前根据当前动量预测,进而更加准确地调整梯度方向
优势
增加预测,可避免过度更新
收敛速度比动量法更快
劣势
需要额外计算梯度预测位置
同动量法,仍存在动量过大带来的震荡问题
适用
需要更精确控制的场景,如强化学习任务
自适应动量估计(Adaptive Moment Estimation,Adam)
动量法和 RMSprop 的结合,技能加速收敛,又能动态调整每个参数的学习率
优势
自适应学习率、稳定收敛、适用范围广
劣势
可能收敛到次优解,计算开销较大
适用
最常用优化器之一,特别适合大规模数据集和深度神经网络的训练
梯度截断(Gradient Clipping)
用于解决梯度爆炸问题,限制梯度的大小,防止梯度值变得过大,从而避免模型训练过程中出现数值不稳定的情况
截断方法
按范数截断(Clipping by Norm)
当梯度的范数(norm)大于某个预设的最大值(通常是 L2 范数)时,将其按比例缩放到该阈值范围内
按值截断(Clipping by Value)
将梯度的每个元素限制在一个固定范围内[-C, C],其中C是设定的阈值
优势
防止梯度爆炸,通过限制梯度大小,避免了梯度过大导致的不稳定问题
提高训练稳定性,使模型更容易收敛,特别是在处理长序列或深层网络时
简单易实现,梯度截断的实现非常直观,只需在反向传播后对梯度进行简单的操作即可
应用场景
循环神经网络(RNN):RNN 在处理长序列时容易出现梯度爆炸问题,因此梯度截断是 RNN 训练中常用的技巧
深层神经网络:在深层网络中,梯度可能会逐层累积,导致梯度爆炸,梯度截断可以缓解这一问题
强化学习:在策略梯度方法中,梯度可能具有较大的动态范围,使用梯度截断可以提高训练的稳定性
参数初始化
常用初始化方法
Gaussian分布初始化
参数从一个固定均值(比如0)和固定方差(比如 0.01)的 Gaussian 分布进行随机初始化
均匀分布初始化
均匀分布初始化是在一个给定的区间 [−r, r] 内采用均匀分布来初始化参数
数据预处理
数据清洗
缺失值
删除
填充
均值、中位数、众数填充
插值填充
模型预测填充
异常值
检测异常值
箱线图、Z-Score或基于分布的方法
处理异常值
删除、修正、保留
重复值
删除重复样本
数据变换
特征缩放
归一化
将数据缩放到固定区间(如 [0, 1] 或 [-1, 1]),适用于梯度下降优化算法
标准化
将数据调整为均值为 0、方差为 1 的分布,适用于正态分布假设的模型
离散化
将连续型特征划分为离散区间(如年龄划分为“青年”、“中年”、“老年”),常用方法:等宽分箱、等频分箱、基于聚类的分箱
编码分类变量
独热编码(One-Hot Encoding):将分类变量转换为二进制向量,适用于无序分类变量
标签编码(Label Encoding):将分类变量映射为整数,适用于有序分类变量
目标编码(Target Encoding):用目标变量的统计量(如均值)替换分类变量,适用于高基数分类变量
特征构造
根据领域知识或现有特征生成新的特征,如将时间分解为年、月、日
降维
减少特征数量以降低计算复杂度并减少冗余信息
主成分分析(PCA)、线性判别分析(LDA)、特征选择(基于统计检验或模型重要性筛选特征)
数据分割
将数据集划分为训练集、验证集和测试集,以便评估模型的泛化能力
常见比例:70% 训练集、15% 验证集、15% 测试集
文本预处理
文本清洗
去除标点符号、停用词、HTML标签等,转换为小写字母,统一格式
分词
将句子拆分为单词或子词
向量化
词袋模型(Bag of Words, BoW):将文本表示为词汇表的频率向量
TF-IDF:考虑词频和逆文档频率的权重
词嵌入(Word Embedding):将单词映射为稠密向量(如 Word2Vec、GloVe、BERT)
数据平衡
如果数据类别分布不均衡,可能会影响模型性能
逐层归一化
逐层归一化的本质是对每个样本的所有特征进行归一化
逐层归一化会计算当前样本在某个隐藏层中所有神经元的均值和方差,并将这些神经元的激活值归一化为均值为 0、方差为 1 的分布
超参数优化
类型
网络结构
神经元之间的连接关系、层数、每层的神经元数量、激活 函数的类型等
优化参数
优化方法、学习率、小批量的样本数量等
正则化系数
困难
超参数优化是一个组合优化问题,无法像一般参数那样通过梯度下降方法来优化,也没有一种通用有效的优化方法
评估一组超参数配置(Configuration) 的时间代价非常高,从而导致一些优化方法(比如演化算法(Evolution Algorithm))在超参数优化中难以应用
方法
网格搜索(grid search)
通过尝试所有超参数的组合来寻找合适配置的方法
随机搜索
如果不同超参数对模型性能的影响有很大差异,可对超参数进行随机组合,然后选取一个性能最好的配置
贝叶斯优化(Bayesian optimization)
一种自适应的超参数搜索方法,根据当前已经试验的超参数组合,来预 测下一个可能带来最大收益的组合
动态资源分布
在较早阶段估计出一组配置的效果,并将更多资源留给其它效果更好的配置
网络正则化
正则化(Regularization)是一类通过限制模型复杂度,从而避免过拟合,提高泛化能力的方法
Transformer架构
概念
提出背景:RNN存在两大瓶颈,LSTM显著缓解,但未能彻底解决
健忘
序列过长,导致反向传播无法有效调节参数
训练速度慢
RNN有许多串行计算,无法使用GPU并行训练
参数量:衡量模型规模的核心指标,表示模型中可训练参数的总数,主要包括权重和偏置
参数量的计算
L
Transformer层数(Layer Number)
h
隐藏层维度(Hidden Dimension)
V
词表大小(Vocabulary Size)
Transformer基础
概念
Transformer
定义
一个采用编码器-解码器架构并完全使用注意力机制构建起来的双语翻译模型
训练
通过“原文→译文”语料对来调整参数
序列到序列任务(Seq2Seq)
输入和输出都是序列的任务就被称为“序列到序列任务”,解决这一问题的经典架构是编码器-解码器架构
编码器
负责把输入序列转化为机器能理解的数字
解码器
负责把数字转化为人类能理解的形式
注意力机制(Attention Mechanism)
计算序列元素之间的相关性的算法,能让模型理解序列元素之间的关系
计算步骤
1. 在所有输入信息上计算注意力分布
2. 根据注意力分布来计算输入信息的加权平均
K、Q、V三个矩阵是注意力机制中需要训练的参数
计算注意力需要对数字化后的token分别乘以K、Q、V矩阵得到k向量(key)、q向量(query)和v向量(value),然后通过计算key和query的内积得到注意力
多头注意力 Multi-Head Attention
将输入信息分割为多个子空间(即“头”),每个头独立学习不同的注意力模式,最后合并结果以增强模型的表达能力
背景
自然语言或复杂序列任务中,需要关注不同信息,如语法结构、语义关联、位置相关性等
单头注意力通过单一权重矩阵生成全局注意力分布,难以同时建模多维度、多粒度关系
多头注意力可以捕捉多样化的上下文关系,每个头关注不同的特征维度
特点
并行计算,统一输入被多个注意力头处理,每个头关注不同的特征
信息融合,多个头的输出拼接后,通过线性变换生成最终结果
计算步骤
1. 分割为多个注意力头
例如模型维度512,头数8,每个头的维度为64
2. 每个头独立计算注意力
3. 合并多头输出
每个头输出64维,合并后维度为8×64=512
分类
自注意力
Q、K、V来自同一输入序列时(如Transformer编码器内部)
交叉注意力
Q来自一个序列,K、V来自另一个序列时(如Transformer解码器中的编码器-解码器注意力)
评价指标
BLEU,其核心思想是看机器翻译的结果跟人工翻译结果在“词语片段”上有多少重合度,然后对重合度进行加权平均,最终输出一个[0,1]的数,越靠近1说明翻译效果越好
一般会计算1-gram到4-gram的重合度,再做加权
优势
Transformer在处理序列时会直接计算某个元素和其他所有元素的注意力,无论两个元素相隔有多远,彻底解决了健忘问题
一个序列所有元素的注意力计算可以同时进行,这使得其可以在GPU上并行训练
发展
BERT
Google优化Transformer的编码器后,得到BERT
GPT
OpenAI优化Transformer的解码器后,得到chatGPT
Transformer架构
数据源输入
作用
通过词嵌入和位置编码操作,将离散的符号序列(如文本)转化为模型可处理的连续向量表示,并保留序列的顺序信息
词嵌入
向量化
将词汇表中的离散词索引(“猫”→ 5)影射为固定维度的连续向量([0.2, 0.5, 0.7]),解决符号鸿沟问题
语义建模
通过密集向量捕捉词与词之间的语义关系(如 "cat" 和 "dog" 的向量在语义空间中相近)
位置编码
提供位置信息
为序列中每个元素提供位置信息,弥补自注意力机制对顺序信息无感的问题
捕捉顺序特征
自然语言中,词序直接影响语义(人咬狗、狗咬人),位置编码可以学习到序列的动态关系
目标数据输入(右移)
右移操作的目的是确保解码器在训练时遵循自回归生成(Autoregressive Generation)规则,即在预测序列中的某个位置时,仅依赖于该位置之前的信息(包括已生成的词和编码器的输入),从而避免信息泄露
编码器
作用
Transformer编码器由多个相同的层堆叠而成(通常为6层)
每层包含两个核心子层
多头自注意力机制(Multi-Head Self-Attention,MHA)
前馈神经网络(Feed-Forward Neural Network,FFN)
每个子层后均接有残差连接(Residual Connection)和层归一化(Layer Normalization)
前馈神经网络(FFN)
作用
增强局部特征表达:通过非线性变换对每个位置的向量进行独立处理,增强模型的非线性拟合能力
维度扩展与压缩:通常包含一个高维中间层(如 2048 维),再映射回原始维度(d_model),提升模型的表达能力
计算
每个位置的向量独立通过两层全连接网络
W_1 W_2 是可学习参数,b_1 b_2 是偏置项,max(0, …) 是 ReLU 激活函数
残差连接
概念
残差连接是一种跳跃连接(Skip Connection),其核心思想是让输入信号绕过一个或多个网络层,与输出直接相加
数学表达
作用
缓解梯度消失/爆炸
在深度网络中,梯度通过多层传播时可能逐渐消失或爆炸,残差连接为梯度提供了一条“捷径”,使其可以直接绕过子层,从而缓解这一问题
保留信息完整性
即使子层未能学习到有效的变换,残差连接仍能保证输入信息不丢失
层归一化
概念
对每个样本的所有特征维度进行标准化,使其均值为0、方差为1
数学表达
作用
稳定训练过程
通过标准化激活值,减少不同层之间的输入分布变化(即内部协变量偏移),从而提高训练稳定性
更好的适应性
与批量归一化(BatchNorm)不同,层归一化对每个样本独立处理,不受 batch size 影响,适合序列模型(如Transformer)
组合使用
残差连接的局限
残差连接会放大方差(因为输入与输出直接相加),可能导致训练不稳定
层归一化补偿
层归一化通过标准化激活值,抑制方差放大,从而稳定残差连接后的输出
两者结合后,既能保留残差连接的梯度优势,又能通过归一化提升训练效率
典型流程
1. 多头注意力层
Output_1 = LayerNorm( MultiHead(X) + X )
2. 前馈神经网络层
Output_2 = LayerNorm( FFN( Output_1 ) + Output_1 )
解码器
带掩码的多头注意力机制 Masked Multi-Head Self-Attention
作用
防止模型在生成目标序列时“偷看”未来的信息,确保自回归生成过程的正确性
实现
通过因果掩码(Causal Mask)屏蔽未来位置的注意力权重,确保模型只能关注当前位置及之前的位置
自回归
自回归(Autoregressive)是指模型通过逐步预测下一个元素的方式生成序列,每一步的预测仅依赖于已生成的历史信息
输出数据
全连接层
使用全连接层(Fully Connected Layer)进行线性变换,其核心作用是将解码器输出的高维语义向量映射到目标词汇表的维度,从而生成每个词的预测得分(logits)
数学表达
logits = XW + b
logits 是未归一化的原始得分,数值范围可能较大
作用
维度映射
将解码器的高维输出(如512维)映射到目标词汇表的维度(如10000维)
词表转换
将抽象的语义向量转换为词汇表中每个词的匹配分数(logits),表示每个词在当前上下文中的可能性
参数共享
在部分Transformer实现中(如GPT),输入嵌入层和输出Linear层的权重矩阵是共享的
减少参数数量,增强模型的泛化能力
Softmax
将logits转换为概率分布(每个词的概率在0到1之间,总和为1)
作用
放大高分值优势,抑制低分值影响
混合专家(MoE) Mixture of Experts
概念
一种通过动态组合多个子模型(称为“专家”)来提升模型性能的架构设计,是Transformer的增强模块
以参数规模换取性能上限,以稀疏激活换取计算效率
MoE将复杂任务分解为多个子任务,每个子任务由专门的“专家”(如小型神经网络)处理,再通过一个“门控机制”(Gating Network)动态选择或加权组合这些专家的输出
集成
Transformer的每个层
自注意力机制(Self-Attention):捕捉长程依赖
前馈网络(Feed-Forward Network, FFN):非线性变换
MoE的集成
将Transformer中的某些FFN层替换为MoE层,每个MoE层包含多个专家(即多个独立的FFN)
架构组成
专家网络(Experts)
多个独立的子模型,每个专家专注于输入数据的某类特征或模式
在Transformer-MoE架构中,专家通常是独立的前馈网络(FFN),而非完整的编码器或解码器
门控网络(Gating Network)
一个轻量级网络,根据当前输入计算各专家的权重(概率分布),决定哪些专家被激活
原理
1. 门控网络接收与主模型相同的输入,并提取关键特征
2. 门控网络计算每个专家的权重,并生成概率分布
3. 最终激活的专家由权重排名决定
稀疏计算
仅对选中的专家进行前向传播,大幅降低计算量
Top-K选择
仅保留权重最高的 K个专家(如 K=2),其余置零
训练
任务导向
门控网络与专家网络联合训练,目标是最小化任务损失,通过反向传播,门控网络学习将输入路由到最擅长处理该模式的专家
负载均衡
为防止某些专家被过度激活(“赢者通吃”),引入负载均衡损失(Load Balancing Loss),鼓励专家利用率均匀化
旨在平衡专家的利用率,但并非强制所有专家均匀参与所有任务,而是在保证模型性能的前提下,避免部分专家被过度激活而其他专家长期闲置
平衡性能与均衡问题
1. 动态调整权衡系数λ
训练初期:设置较小的 λ,优先优化任务损失,允许专家差异化自然形成
训练后期:逐步增大 λ,引入均衡约束,避免专家过度分化
2. 专家分组
专家分组(Task-Specific Experts)
显式将专家分组,门控网络根据任务类型选择对应组内专家
任务感知门控(Task-Aware Gating)
在门控网络中引入任务标识,引导路由决策
3. 差异化路由策略
软硬策略结合
软策略
允许部分专家承担核心任务(如翻译专家处理80%翻译输入)
硬策略
对非核心任务(如代码)强制分配最低激活配额(如10%)
分层负载均衡
对高频任务专家施加较弱均衡约束,对低频任务专家施加较强约束
输出整合
最终输出为各专家输出的加权和
优势
通过将“参数规模”与“计算效率”分离,在保持大模型性能的前提下实现动态资源分配
稠密大模型单次推理成本过高,难以支持高并发
模型容量大,计算高效
通过稀疏激活(每次仅调用部分专家),MoE可扩展至千亿参数,而实际计算量仅线性增长
灵活适应多样性输入
不同专家处理不同模式的数据,提升模型在复杂任务(如多语言翻译、多模态理解)中的表现
挑战
专家均衡性
需避免“赢者通吃”(少数专家被频繁激活),常用技术如负载均衡损失(确保专家利用率均匀)
训练稳定性
门控网络的梯度传播需精细设计,防止训练震荡或模式崩溃
DeepSeek MoE 架构
MoE 框架对比
传统MoE模块
每个专家在处理特定类型的数据上具有独特的优势
细粒度专家划分
专家做更细粒度的划分,降低每一个专家的参数量,增大专家数量
共享专家分离
把激活专家区分为共享专家(Shared Experts)和路由专家(Routed Experts)
共享专家
输入数据无需经过路由模块的计算,所有数据都会直接通过共享专家进行处理
路由专家
输入数据先经过路由模块,该模块根据输入数据的特征选择最合适的专家进行计算
整合输出
将路由专家和共享专家的计算结果相加,形成 MoE 模块的最终输出
优势
既能捕捉到输入数据的共性,也能关注到其差异性,能够提高模型的泛化能力
负载均衡策略
DeepSeek在用于选择专家的 Gate 模块中引入了一个可学习的偏置项,在计算路由得分时,这个偏置项会被动态地加到每个路由专家的得分上
优势
动态调整路由倾向
通过学习偏置项,模型可以动态地调整对不同路由专家的偏好,更好地平衡专家被选择的概率
无额外损耗
该偏置项直接通过模型的训练目标进行优化,而非独立的负载均衡损失函数,使得模型在提高任务性能的同时,自然地学习到更均衡的路由策略,不会因额外的负载均衡损失影响性能
训练模式
预训练(Pretraining)
有监督精调 Supervised Fine-Tuning,SFT
通过学习训练数据数据分布的方式来提高模型在特定任务或指令上的表现,即在标注的SFT数据上对预训练模型进行微调
基于人类反馈的强化学习 Reinforcement Learning from Human Feedback, RLHF
使用人类反馈来定义奖励函数,然后通过强化学习算法优化模型,让模型能生成符合人类喜好的回复
主流RLHF算法
近端策略优化 Proximal Policy Optimization,PPO
是策略梯度(Policy Gradient)方法的改进,其核心目标是解决传统策略梯度方法中训练不稳定、样本效率低的问题,通过限制策略更新的幅度,确保训练过程的稳定性
流程阶段
SFT
在客服对话数据上微调生成式模型(如DeppSeek-V1)
RM
标注用户对回答的满意度,训练奖励模型
RL
使用RM引导DeepSeek生成更受好评的回答,PPO是这一阶段的核心算法,用于在奖励模型指导下优化策略
优化目标
最大化奖励模型的输出
优势
训练稳定,剪切机制有效防止策略突变
样本高效,支持多轮次数据复用
通用性强,适用于连续/离散动作空间,兼容多种任务
劣势
超参敏感,剪切参数和学习率需要精细调节
局部最优风险,复杂任务中可能收敛至次优策略
计算资源较大,大批量训练需要较高算力
选择建议
需多目标动态权衡
偏好数据稀疏,依赖奖励模型泛化
任务需长期规划或复杂推理
直接偏好优化 Direct Preference Optimization,DPO
从人类偏好中直接训练策略,绕过传统的奖励建模和强化学习步骤,通过监督学习的形式直接优化策略以符合人类偏好
流程阶段
SFT
DPO
直接使用用户好评-差评数据优化策略
DPO通过监督学习直接优化策略,属于单阶段优化,无需传统的RL步骤(如PPO)
DPO通过数学推导将奖励函数隐式嵌入策略优化中,省去了独立的RM训练
优化目标
直接优化偏好概率,DPO的本质是监督学习,而非强化学习
优势
单阶段优化,减少实现复杂性和计算成本
稳定性增强,可避免策略崩溃,且无显式奖励冲突
数据利用率高,直接使用偏好数据,没有信息损失
劣势
高度依赖高质量SFT模型,若SFT模型未充分学习任务分布,DPO可能无法有效优化
偏好数据要求更高,偏好数据需覆盖任务中所有关键场景,否则可能过拟合到少数模式
灵活度受限,DPO的优化目标固定为偏好概率,无法像RLHF那样在推理阶段动态调整奖励权重
选择建议
资源有限(算力、时间等)
偏好数据充足且覆盖全面
任务目标单一或偏好可直接标注
群体相对策略优化 Group Relative Policy Optimization,GRPO
是PPO的一种扩展,通过引入群体动态交互和相对评估机制优化策略更新,核心思想是让多个策略“组队学习”,通过相互比较和借鉴提升整体表现
优势
增强探索能力,群体多样性避免陷入局部最优,适用于多模态奖励场景
鲁棒性提升,适应动态变化环境
群体策略可分布式训练,加速迭代
劣势
计算成本高,维护和训练多个策略导致资源消耗倍增
实现复杂,需设计高效的群体交互机制,调参难度大
收敛速度慢,群体动态可能延长训练周期,简单任务中不如PPO高效
选择建议
多智能体协作,如无人机集群察打一体
对抗性任务,如游戏中优化策略应对不断变化的对手
复杂探索,复杂路况导航、路径探索
多头隐式注意力(MLA) Multi-Head Latent Attention
概念
是DeepSeek提出的一种新型注意力机制,旨在通过隐式低秩分解减少计算和内存开销,同时保持模型表现力
隐式注意力参数化
将传统的显式QKV矩阵映射替换为低秩隐空间参数化,通过共享基底矩阵(Basis Matrices)和动态权重生成注意力参数
动态权重生成
通过轻量级网络(如MLP)基于输入特征动态生成,避免存储固定的大参数矩阵
注意力机制对比
对比图
头数 h=32 维度/头 d=128 序列长度 L=2048 分组数量 g=4 秩 r=8
低秩分解 Low-Rank Decomposition
将一个高维矩阵分解为两个或多个低维矩阵的乘积,以近似表示原矩阵
这种分解显著减少了参数数量:从 m*n 降至 r(m+n)
隐式分解
动态调整
基底矩阵和权重参数在训练中联合优化,而非预先固定
端到端学习
分解过程完全由数据驱动,模型自动学习最优的低秩表示
无需显式约束
通过设计网络结构隐式实现低秩,而非显式添加秩约束(如SVD)
多词元预测(MTP) Multi-Token Prediction
概念
模型能够一次性预测出多个连续的词元(token),而非传统的逐词元预测(Next-Token Prediction, NTP)
MTP的关键在于保留词元生成的因果链,即每个新生成的词元会作为后续词元生成的输入,这种设计打破了传统多词元并行生成的独立性假设,通过引入依赖关系提升生成质量
结构
架构体现
MTP模块本质上是多个独立的Transformer block,它们与主模型的Transformer block并列存在
这些模块通过共享的嵌入层和解嵌入矩阵(输出头)连接,但各自的Transformer block参数独立
混合精度框架
概念
一种在深度学习训练中同时使用不同数值精度的技术,旨在平衡计算速度、内存占用和数值稳定性
核心目标
效率与稳定性的平衡
效率提升
将计算密集型操作(如矩阵乘法)用极低精度(FP8)执行,加速计算并减少显存占用
稳定性保障
对数值敏感的步骤(如梯度累积、权重更新)保留高精度(BF16/FP32),避免低精度误差破坏模型收敛
浮点数结构
计算公式
指数偏置(Bias)
指数位的无符号整数需要减去偏置值得到实际指数。偏置值为
n为指数位位数
具体值
E4M3(4位指数):
E5M2(5位指数):
最大指数值
指数位最大值需排除全1情况,全1保留给特殊值,如无穷大
最大值
E4M3(二进制1110)
E5M2(二进制11110)
最大尾数值
E4M3(3位尾数):
E5M2(2位尾数):
常见精度
DeepSeek混合精度框架
思维链(CoT) Chain of Thoughts
概念
一种通过生成逐步推理步骤来解决复杂问题的方法,旨在模仿人类分步解决问题的思维方式
其核心在于将复杂问题拆解为多个逻辑步骤,从而提高模型的推理能力和可解释性
Long CoT
通过延长推理链的长度、引入多路径探索和动态反馈机制,进一步提升模型解决复杂问题的能力
实现依赖
提示工程 Prompt Engineering
概念
引导模型生成推理步骤
方法
传统方法
少样本提示 Few-Shot CoT
在输入中提供少量带有完整推理过程的示例(问题 + 中间步骤 + 答案),引导模型学习如何拆解问题并逐步推理
零样本提示 Zero-Shot CoT
无需提供具体示例,仅在输入中加入指令(如 "Let's think step by step"),直接触发模型的推理模式
自动生成推理步骤 Auto-CoT
利用模型自身的能力自动生成推理示例,无需人工标注,即让模型先生成一个问题的推理步骤,再将该步骤作为示例,用于后续类似问题的推理引导
变体技术
程序推理 Program of Thought,PoT
对于计算密集型任务(如数学公式推导),让模型生成可执行代码(如 Python 代码)来替代纯文本推理
树形推理 Tree of Thought,ToT
将线性推理链扩展为树状结构,允许模型在每个步骤生成多个可能的子问题,并通过评估选择最优路径
表格推理 Tabular Chain of Thought,Tab-CoT
要求模型以表格形式记录推理步骤(如 步数 | 子问题 | 过程 | 结果),便于结构化分析
模型推理
R1-Zero
概念
无需经过 SFT 训练集进行训练就能够在推理任务中表现出色
它的训练过程直接从一个预训练的基础模型(DeepSeek V3 Base)开始,通过强化学习训练完成
过程
1. 采用群体相对策略优化(GRPO),节省 RL 的训练成本
2. 在RL训练过程中,采用 Rule-based 奖励,主要由两种奖励构成
1. Accuracy rewards:评估模型的输出是否正确
2. Format rewards:强制模型将其思考过程置于指定的模板位置
3. 设计训练模板,指导基础模型在监督过程中遵守设定的指令
问题
生成质量不稳定,输出内容可能重复、语言混杂,需要后处理优化
训练稳定性差,纯RL训练对超参敏感,容易陷入局部最优,导致模型性能波动较大
R1
概念
在强化学习之前,先进行监督微调(SFT),让模型具备基础的语言和推理能力,再通过强化学习进一步优化
过程
1. 冷启动
使用少量长思维链(CoT)数据微调基础模型(DeepSeek-V3-Base)作为RL起点,避免早期训练不稳定
冷启动数据规模(如1k-10k样本)通常远小于后续阶段的SFT数据
2. 推理导向的强化学习
应用与 R1-Zero 中相同的 RL 方法训练
本阶段侧重于增强模型的推理能力,即具备明确解决方案和明确定义的问题
为减轻语言混合问题,本阶段引入了一种语言一致性奖励
3. 拒绝抽样和监督微调
生成600k推理数据+200k非推理数据,进行两轮微调
数据
推理数据
利用2中训练出的临时模型生产用于下一轮训练的SFT数据(600K推理数据)
一般数据
利用V3模型生成推理无关的数据(200K一般数据)
防止模型过度特化
拒绝抽样 Rejection Sampling
概念
一种统计学方法,用于从难以直接采样的复杂分布 p(x) 中生成样本
通过筛选机制生成符合目标分布的高质量样本,从而优化模型训练效果
基本步骤
1. 找到一个容易采样的分布 q(x) ,并确定一个常数 M,使得 Mq(x) ≥ p(x) 对所有 x 成立
2. 生成候选样本:从 q(x) 中采样得到候选样本 x
3. 接受/拒绝判断:生成一个均匀分布的随机数 u∈[0,1],若u≤p(x)/Mq(x) ,则接受 x ,否则拒绝
4. 重复过程,直至获得足够数量的目标分布样本
4. 全场景强化学习
在3中微调模型的基础上,使用全场景的强化学习数据提升模型回复的有用性和无害性
数据
推理数据
遵循 DeepSeek-R1-Zero 的方法,利用基于规则的奖励来指导数学、代码和逻辑推理领域的学习过程
一般数据
采用基于模型的奖励来捕捉复杂和细微场景中的人类偏好
模型蒸馏 Model Distillation
概念
将一个复杂的大模型(教师模型)的知识迁移到一个较小的模型(学生模型)中,让学生能够在资源有限的情况下,尽可能地表现出和老师相似的能力
核心思想是通过模仿教师模型的输出或中间特征,使学生模型学习到教师模型中的“知识”,而不仅仅是依赖原始训练数据
类型
数据蒸馏
直接利用教师模型生成数据对学生模型进行监督微调
原理
生成蒸馏数据,使用教师模型对原始数据进行预测,生成软标签(soft labels)
优化数据分布,通过教师模型筛选或增强数据,使其更符合任务需求(如去除噪声、生成多峰分布数据)
优势
灵活性
可复用同一批数据训练不同架构或规模的学生模型
可控性
通过筛选高质量数据(如高置信度样本)提升学生模型性能
效率
避免在线蒸馏中教师模型频繁推理的计算开销
劣势
信息损失
静态数据无法捕捉教师模型动态更新的知识
数据偏差
生成数据的分布可能偏离真实场景
适用
资源受限场景,如移动设备;数据质量低,原始数据噪声多,使用教师模型清洗数据
特征蒸馏
通过匹配特征空间,使得教师模型和学生模型中间层特征的对齐,让学生模型学习到更丰富的语义信息
原理
中间层特征匹配:直接对齐教师模型和学生模型的中间层特征(如卷积网络的激活值)
注意力机制:利用教师模型的注意力权重指导学生模型的特征选择(如AB方法中的二值化掩码)
优势
提升学生模型对局部特征的捕捉能力(如目标检测、图像分割)
适用于多尺度特征提取任务
劣势
需要设计复杂的特征对齐损失函数
对模型结构差异敏感(如教师和学生模型层数不一致)
适用
视觉任务、跨模态任务
对抗蒸馏
结合对抗训练和知识蒸馏,目标是提升学生模型的鲁棒性(对抗攻击下的稳定性),使其在面对恶意攻击时仍能保持高准确率
原理
对抗样本生成:教师模型生成对抗样本(如FGSM攻击样本),用于训练学生模型
鲁棒性对齐:要求学生模型在对抗样本上的输出与教师模型一致(如AdaAD方法中的动态匹配点)
优势
显著提升学生模型的对抗鲁棒性
适用于安全敏感场景(如自动驾驶、金融风控)
劣势
训练复杂度高(需生成对抗样本并调整损失函数)
可能牺牲自然样本的准确率(权衡问题)
适用
关键安全领域(自动驾驶、医疗诊断),对抗攻击防御(金融领域诈骗监测等)
动态蒸馏
动态蒸馏强调蒸馏过程的灵活性和实时性,允许学生模型根据数据漂移或环境变化动态调整
原理
异步触发更新:当数据分布发生显著变化时,触发教师模型更新并重新蒸馏学生模型
多阶段蒸馏:分阶段调整蒸馏参数(如温度系数α),逐步优化学生模型
优势
适应实时数据漂移(如边缘端的动态场景)
支持模型持续优化(如在线学习)
劣势
需要额外的计算资源监控数据变化
实现复杂度较高(需设计触发机制和更新策略)
适用
边缘计算、数据漂移
应用
任务需求
压缩模型体积:数据蒸馏
提升局部特征表达:特征蒸馏
对抗攻击防御:对抗蒸馏
适应动态环境:动态蒸馏
资源限制
资源受限场景:数据蒸馏+动态蒸馏
高性能场景:特征蒸馏+对抗蒸馏
数据特性
数据质量较低:数据蒸馏清洗数据
数据分布不均:动态蒸馏实时更新
组合策略
多阶段蒸馏
先用数据蒸馏生成高质量数据,再通过特征蒸馏对齐特征
混合蒸馏
对抗蒸馏中结合动态蒸馏,提升模型鲁棒性和适应性
数据漂移
概念
通常指的是特征分布的变化,即输入变量的统计特性随着时间发生了改变
当数据发生漂移时,原先训练好的模型可能不再准确,因为它所学到的模式和规律已经不再适用于新的数据集,这可能导致预测结果的准确性下降,甚至完全失效
产生原因
自然演变
随着时间和环境的变化,某些特征的分布会自然而然地发生改变
突发事件
如自然灾害、经济危机等突发事件也可能导致数据分布的变化
系统性变化
如新的法律法规出台、技术革新等,这些都可能引起数据分布的变化
应对策略
监控机制
实时跟踪数据分布变化,及时发现潜在问题
在线学习
采用能够适应新数据的算法和技术,使模型能够在不完全重新训练的情况下调整自身参数以适应新的数据分布
更新模型
根据实际情况定期适用最新数据重新训练模型
动态蒸馏
采用动态蒸馏调整学生模型知识,确保模型能够适应最新的数据分布
工程应用
提示工程
提示工程(Prompt Engineering)
概念
也称上下文提示,在不更新模型的权重和参数的情况下引导LLM行为向特定结果靠近的方法
Prompt
Prompt提示是模型接收的初始文本输入,用于指导模型生成响应以执行任务
分类
可解释性
硬提示(hard prompt)
是手工制作的、预定义的带有离散输入标记的文本,或者文本模板
软提示(soft prompt)
交互方式
在线提示
离线提示
要素
任务
任务序列是由动词引导的,
上下文
示例
角色
格式
语气
提示策略
零样本学习(Zero-shot Learning) :直接输入提示,让模型推断输出
少样本学习(Few-shot Learning) :提供少量示例,提升生成效果
链式思维提示(Chain-of-Thought Prompting) :引导模型分步骤生成答案,适合复杂推理任务
模型微调
训练模式
预训练(Pretraining)
有监督精调(Supervised Fine-Tuning,SFT)
通过学习训练数据数据分布的方式来提高模型在特定任务或指令上的表现,即在标注的SFT数据上对预训练模型进行微调
基于人类反馈的强化学习(Reinforcement Learning from Human Feedback, RLHF)
使用人类反馈来定义奖励函数,然后通过强化学习算法优化模型,让模型能生成符合人类喜好的回复
主流RLHF算法
近端策略优化(Proximal Policy Optimization,PPO)
DPO(Direct Preference Optimization)
群体相对策略优化(Group Relative Policy Optimization,GRPO)
智能体技术
RAG
概念
检索增强生成(Retrieval-Augmented Generation,RAG)
是一种结合了信息检索和生成式模型的人工智能技术框架,可以提升生成模型的能力,使其能够更准确、更相关地响应用户查询
传统生成模型依赖预训练数据,缺乏对特定领域或最新信息的理解,RAG通过整合外部知识库或文档,在生成回复时检索对应信息,增强了生成内容的相关性和准确性
核心流程
知识入库
加载(Load)
切片(Split)
向量化(Embed)
向量化是将非结构化的文本信息转化为计算机可以理解和操作的数值表示的过程
常用向量化方法:TF-IDF、Word Embeddings、Sentence/Document Embeddings、Fine-tuning
存储(Store)
检索(Retrieve)
检索阶段
接收到输入查询,使用检索器从知识库或文档中检索与该查询最相关的文档片段
生成阶段
检索器将检索到的相关文档片段作为上下文传递给生成器
生成器根据检索器提供的上下文及原始查询生成最终的输出
联合训练
RAG系统通常会同时训练检索器和生成器,以优化整个系统性能
联合训练会使两个组件之间产生协同,即检索器能找到最适合生成器使用的材料,生成器则能更好地利用检索器提供的上下文
优势
提高回答质量
直接引用可靠来源信息,生成回复更加精确和具体
适应性强
可以快速适应新的知识领域,只需更新检索数据库,无需重新训练整个模型
灵活性高
可以用于开放域回答,也可以用于特定领域知识抽取任务
局限
数据依赖
检索质量依赖检索器使用的文档库,其数据质量直接影响输出结果
信息冗余
检索到的文档可能包含大量无关或错误信息
响应效率
需要先检索再生成,相比纯生成模型效率更低
资源消耗
同时运行检索器和生成器,对计算资源需求更高
安全围栏
定义
一组规则、算法和策略,用于监控和过滤生成式AI模型的输出,确保这些输出符合特定的安全标准和社会规范
功能
内容过滤
识别并阻止包含暴力、仇恨言论、色情等敏感或非法内容的输出
偏见纠正
检测并减少模型输出中的性别、种族、宗教等方面的偏见
事实核查
确保提供的信息是基于事实的,避免传播虚假信息
隐私保护
防止泄露个人信息或机密数据
实现机制
额外组件
安全围栏被设计为一个独立于主模型运行的附加层或模块。它主要负责对模型生成的内容进行检查、过滤和修正,以确保输出符合预定义的安全标准
模型微调
使用专门的数据集对原始模型进行进一步训练(即微调),目的是让模型学会避开不希望出现的行为模式,并倾向于产生更加安全和合适的回答
人工智能训练师
操作
截图
shift+win+S
保存在默认图片文件夹
常用操作
numpy
where()
按条件创建新列,创建分组
argosrt()
排序
pandas
value_counts()
数组计数
数据加载
read_csv()
加载csv文件
head()
查看前 n 行数据,默认5行
tail()
查看后 n 行数据,默认5行
info()
查看概览信息,包括列名、数据类型、非空值数量等
to_csv()
输出为csv文件
数据处理
isnull()
检测空值(NaN / None),返回布尔值
drop()
删除异常值
dropna()
删除空值行
fillna()
填充空值(固定值、均值、中位数等)
duplicated()
检测重复行,返回布尔值
groupby()
数据分组,常与sum()、mean()结合使用
astype( type )
转换数据类型
value_counts()
统计某列中每个唯一值出现的次数
cut()
将连续型数据分段(或称为离散化),并将其分配到指定的区间(bins)中
数学计算
len()
数组长度
sum()
求和,对布尔型求和时可理解为计数
mean()
均值
between()
获取区间数据
std()
标准差
agg()
对多个数组列应用不同聚合函数进行计算
图像
1. 加载图像
Image.open()
2. 转换模式
Image.convert()
黑白图:1bit
1
灰度图:8bit
L
彩色图:24bit(真彩)
RGB
彩色图:24bit(印刷)
CMYK
3. 调整尺寸
Image.resize()
4. 裁剪图像
Image.crop()
5. 旋转图像
Image.rotate()
6. 翻转图像
Image.transpose()
7. 保存图像
Image.save()
模型
1. 加载模型
InferenceSession()
主观题
业务分析
1.2.1
请列举顾客评价情感识别业务模块中用户反映最强烈的两个问题,并解释这两个问题为什么会让用户感到不满,影响他们的使用体验
情感识别准确性不高
不满原因
情感识别是业务模块的核心功能,若准确性不足,会导致用户对分析结果的信任度下降,例如商家可能会根据错误的情感分析结果调整营销策略或产品设计,造成资源浪费;消费者也可能因为情感分析结果偏差而接收不到匹配的推荐内容,这种功能性缺陷直接损害用户体验的核心价值
体验影响
用户需要反复验证分析结果的准确性,增加操作成本,且可能因错误决策引发后续损失或投诉,进一步降低满意度
响应速度慢
不满原因
在实时性要求较高的电商场景中,延迟的识别结果会阻碍用户快速决策,例如商家无法及时获取大量评价的情感趋势及时调整促销活动;消费者在查看分析结果时需要长时间等待,导致流程中断
体验影响
响应速度与效率直接相关,过长的等待时间会引发用户焦虑感,甚至放弃使用该功能,最终影响平台活跃度和用户留存率
请设计一个优化顾客评价情感识别业务模块的方案,包括关键的实施步骤和你期望的优化效果。要求方案具体、可行,能够有效提升用户体验和服务质量
模型与算法优化
1. 数据收集
收集平台历史评价数据,加入用户反馈的误判样本,构建领域专属语料库
2. 数据清洗
通过数据清洗(去噪、去重)和标注优化(如引入细粒度情感标签),提升训练数据质量
3. 采用预训练语言模型进行迁移学习,通过微调适配电商场景
4. 集成多模态分析(结合文本与表情符号、评分),提升对复杂表达的识别能力
5. 引入主动学习机制,允许用户标注关键误判样本,迭代优化模型
系统架构优化
1. 分布式
部署分布式计算框架(如Spark或Flink),将情感识别任务拆分为并行子任务,缩短处理时间
2. 缓存
对高频查询内容(如热门商品评价)建立缓存机制,减少重复计算
3. 在用户端部署轻量化模型,预处理简单情感分析请求,仅将复杂任务提交服务端,降低延迟
功能与交互优化
重构用户界面,隐藏高级功能入口,提供“一键分析”核心按钮,降低操作复杂度
新增进度条和预估等待时间提示,缓解用户等待焦虑
开放API接口,允许企业用户自定义情感分类规则(如行业术语黑名单)
提供“情感分析看板”模板,支持用户按需配置数据可视化维度(如时间趋势、关键词云)
性能监控与迭代
增加监控
部署实时监控系统,跟踪准确率、响应时间、并发处理能力等核心指标
持续迭代
建立A/B测试机制,对比新旧版本用户留存率和功能使用率,持续优化模型和交互设计
预期优化效果
情感识别准确率提升
单次请求平均响应时间缩短
用户操作步骤减少,定制化功能使用率提高,投诉率下降
商家决策效率提升,平台活跃度增长
1.2.2
列出心率监测模块当前存在的具体问题,如数据准确性、异常预警响应等;简述这些问题对老年人健康监测的影响;指出导致这些问题的主要技术或流程原因
1.2.3
1.2.4
1.2.5
数据处理
智能系统设计
培训指导
总结
1.2、3.1:主观题
2.2 模型训练(机器学习)
算法
线性回归
逻辑回归
随机森林
决策树
XGB
题型
2.2.5
一种算法,训练模型,评测模型
2.2.1
一种算法,一种测试方法SMOTE工具
模型训练
数据集
train_test
训练
fit
保存
dump
预测
predict
使用X_test,得到y_pre
比较
r2、zcore
用y_pre和y_test比较,判断模型好坏
3.2 推理(深度学习)
4.1 培训指导
4.2 项目报告