深度神经网络训练参数优化概论

深度神经网络训练参数优化概论

深度神经网络训练参数优化概论


前言

一、深度学习之向量化与矩阵化

线性回归向量化的实现

公式:

z = W T X + b {z = W^T X + b} z=WTX+b

z = w 1 ∗ x 1 + w 2 ∗ x 2 + . . . + b ( 神经元 ) {z = w_1*x_1 +w_2*x_2 + ... + b(神经元)} z=w1∗x1+w2∗x2+...+b(神经元)

1、非向量化代码实现

javascript 复制代码
for i in rang(n):
    z += w[i] * x[j];

z += b;

2、向量化的代码实现

javascript 复制代码
w_t = w.T;
z = np.dot(w_t, x) + b;

二、深度神经网络之L2正则化

为了让模型更"规则" 或 "平滑"从而得到更稳定,泛化能力更强的模型

作用是降低更过拟合问题

拟合与代价函数

  • 拟合: 模拟,合成为一条线
  • 损失函数: L(i)(w, b) = 1/2(y^(i) - y(i))2
  • 代价函数:J(w, b) = 1/m(w, b)
  • 结果越小, 拟合效果越好

一条直线上的误差

三、深度神经网络之Dropout

  1. L2正则化虽然可以有效降低过拟合,但也有局限性
  2. 当神经网络特别复杂时,仍然会出现过拟合
  3. 一种新的正则化提了出来, 就是Dropout

1、 Dropout如何工作

  1. 在神经网络的每一层随机让一下神经元失效

2、经典 Dropout 示例:训练 vs 推理

四、深度神经网络之数据归一化处理

输入数据归一化的好处

  1. 加快收敛速度: 归一化使不同特征大小相似
  2. 避免梯度消失: 归一化可以防止输入范围过大或过小
  3. 提高模型的稳定性和泛化性
  4. 简化特征空间的映射关系

五、深度神经网络之初始化权重参数

1、 0 初始化

  1. 将所有的权重初始化为0
  2. 这种方式会带来严重问题,看个具体的例子
  3. 当w=0时,wx+b=b,反向传播时梯度消失
  4. 因此, 也无法有效训练模型

2、随机初始化

  1. 使用均匀分布或正态分布的随机数初始化
  2. 当随机数没有选好,也会出现梯度消失

3、Xavier初始化

  1. 专门针对sigmoid/tanh激活函数的初始化方法
  2. 可以使每一层输入与输出方差尽量保持一致
  3. 有效防止梯度消失或爆炸
  4. sigmoid/tanh很少使用,所以这种方法用的不多

4、He初始化

  1. He是由何凯明团队发明的
  2. 它是专门针对ReLU激活函数的初始化方法
  3. 公式: 2 n {\sqrt{\frac{2}{n}}} n2

六、深度神经网络之全批量梯度下降、随机梯度下降和小批量梯度下降(mini-batch size)

使用整个数据集计算梯度, 之后在更新模型参数

随机梯度下降与小批量梯度下降

1、随机梯度下降

随机梯度下降也称SGD,每次使用一个样本进行梯度更新

随机梯度降的优缺点

  1. 每次使用一个样本更新一次参数,计算量小
  2. 它可以更快地进行参数调整,有可能加速训练过程
  3. 无法充分利用GPU硬件
  4. 收敛不稳定,容易出现较大的抖动
2、 小批量梯度下降

将数据集分成多个小批次, 每个批次都更新一个模型参数

小批量的优点

  • 学习的更快:梯度下降的速度比全批量梯度下降的速度快
  • 收敛稳定:它比随机梯度下降收敛的更稳定
  • 利用GPU硬件更充分

小批量的缺点

  • 引入了新的超参数: mini-batch size
  • 如果超参数设置不好, 会引起梯度下降的剧烈震荡

七、深度神经网络之梯度参数调优

  • 动量梯度下降: 提出了参考历史梯度来平滑梯度震荡
  • RMSProp: 提粗了通过历史梯度的倒数控制学习率控制震荡
  • Adam: 动量梯度下降 + RMSProp 的结合

八、深度神经网络之参数优化(BatchNormaliztion)

  1. 输入数据归一化, 可以加速收敛
  2. Batch normatch是对隐藏层的数据归一化

1、Batch Normaliztion的作用

  1. 与输入数据归一化类似, 可以加速训练的收敛
  2. 同事提升模型的稳定性
  3. 在使用小批量梯度下降时使用
  4. 用在神经网络的隐藏层

总结

AI、ML、LLM和AIGC算法应用及其探索项目地址:https://chensongpoixs.github.io/LLMSAPP/

相关推荐
NAGNIP4 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab5 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab5 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP9 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年9 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼9 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS9 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区10 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈11 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang11 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx