机器学习之模型训练概念

Learning Rate - 学习率

学习率(Learning Rate,LR)决定了模型参数的更新幅度,学习率越高,模型参数更新越激进,即相同 Loss 对模型参数产生的调整幅度越大,反之越越小。

如果学习率太小,会导致网络 loss 下降非常慢;如果学习率太大,那么参数更新的幅度就非常大,产生振荡,导致网络收敛到局部最优点,或者 loss 不降反增。

Batch Size

Batch size 是一次向模型输入的数据数量,Batch size 越大,模型一次处理的数据量越大,能够更快的运行完一个 Epoch,反之运行完一个 Epoch 越慢。

由于模型一次是根据一个 Batch size 的数据计算 Loss,然后更新模型参数,如果 Batchsize 过小,单个 Batch 可能与整个数据的分布有较大差异,会带来较大的噪声,导致模型难以收敛。

与此同时,Batch size 越大,模型单个 Step 加载的数据量越大,对于 GPU 显存的占用也越大,当 GPU 显存不够充足的情况下,较大的 Batch size 会导致 OOM,因此,需要针对实际的硬件情况,设置合理的 Batch size 取值。

在合理范围内,更大的 Batch size 能够

• 提高内存利用率,提高并行化效率; • 一个 Epoch 所需的迭代次数变少,减少训练时间; • 梯度计算更加稳定,训练曲线更平滑,下降方向更准,能够取得更好的效果;

对于传统模型,在较多场景中,较小的 Batch size 能够取得更好的模型性能;对于大模型,往往更大的 Batch size 能够取得更好的性能。

激活函数

激活函数用途

线性函数是一次函数的别称 ,则非线性函数即函数图像不是一条直线的函数。非线性函数包括指数函数、幂函数、对数函数、多项式函数等等基本初等函数以及他们组成的复合函数。

激活函数是多层神经网络的基础,保证多层网络不退化成线性网络

线性模型的表达能力不够,激活函数使得神经网络可以逼近其他的任何非线性函数,这样可以使得神经网络应用到更多非线性模型中。

常见激活函数

  • sigmoid
  • softmax & tanh
  • ReLU
  • Swish

目前大模型在使用Swish。

损失函数

损失函数(loss function)就是用来度量模型的预测值f(x)与真实值Y的差异程度 (损失值)的运算函数,它是一个非负实值函数

损失函数仅用于模型训练阶段,得到损失值后,通过反向传播来更新参数,从而降低预测值与真实值之间的损失值,从而提升模型性能。

整个模型训练的过程,就是在通过不断更新参数,使得损失函数不断逼近全局最优点(全局最小值)

不同类型的任务会定义不同的损失函数,例如回归任务重的MAE、MSE,分类任务中的交叉熵损失等

损失函数分类

  • MSE & MAE
  • 交叉熵损失 - 经典且常用
    • 二分类
    • 多分类

使用总结 - 交叉熵损失函数与激活函数

对于不同的分类任务,交叉熵损失函数使用不同的激活函数(sigmoid/softmax)获得概率输出:

二分类

使用sigmoid和softmax均可,注意在二分类中,Sigmoid函数,我们可以当作成它是对一个类别的"建模",另一个相对的类别就直接通过1减去得到。而softmax函数,是对两个类别建模,同样的,得到两个类别的概率之和是1。

单标签多分类

交叉熵损失函数使用softmax获取概率输出(互斥输出)。

多标签多分类

交叉熵损失函数使用sigmoid获取概率输出。

相关推荐
续亮~40 分钟前
智能体代理模式(Agent Agentic Patterns)深度解析
人工智能·ai·代理模式
田辛 | 田豆芽42 分钟前
【人工智能】大语言模型多义词解析技术揭秘——以“项目“歧义消解为例
人工智能·语言模型·自然语言处理
乌旭1 小时前
AI芯片混战:GPU vs TPU vs NPU的算力与能效博弈
人工智能·pytorch·python·深度学习·机器学习·ai·ai编程
Jamence1 小时前
多模态大语言模型arxiv论文略读(十一)
人工智能·语言模型·自然语言处理
weixin_457885822 小时前
DeepSeek与搜索引擎:AI生成内容如何突破“语义天花板”
人工智能·搜索引擎·ai·deepseek
拓端研究室TRL2 小时前
Python贝叶斯回归、强化学习分析医疗健康数据拟合截断删失数据与参数估计3实例
开发语言·人工智能·python·数据挖掘·回归
国科安芯2 小时前
高安全等级车规芯片在星载控制终端上的应用
人工智能·嵌入式硬件·物联网·架构·汽车
Direct_Yang2 小时前
如何使用 DeepSeek 帮助自己的工作?
人工智能
汪子熙3 小时前
使用 Trae 开发一个演示勾股定理的动画演示
前端·人工智能·trae
小白学C++.4 小时前
大模型论文:CRAMMING TRAINING A LANGUAGE MODEL ON ASINGLE GPU IN ONE DAY(效率提升)-final
人工智能·语言模型·自然语言处理