梯度下降法介绍
2023-3-9
| 2024-3-4
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password

1. 梯度下降

梯度下降法用来计算函数的最小值.

1.1. 二维函数梯度下降

比如需要计算函数 的最小值, 如果不从经验上获知其最小值, 如何通过迭代来计算呢?
notion image
  1. 首先需要设置一个起点 , 假设 .
    1. 此时函数的梯度如下
      由于这个梯度是一个一维向量, 并且在 轴的向量指向函数增长最快的方向, 求梯度下降的目的是找到函数增长最慢的方向, 也就是反方向 .
      另外 (Nabla算子) 是向量微分算子, 定义为 .
      notion image
  1. 这时候将当前值 , 将其看做向量, 与梯度的反方向相加, 就可以获得下一个值 的位置.
      • 这里的 表示为步长 (学习率), 用来控制采样点移动距离. 步长的设定是凭借经验的, 过小收敛较慢, 过大会无法收敛. 这里设定 .
      notion image
      此时的采样点来到了 的位置.
      notion image
  1. 开始迭代
    1. 迭代方法同上
      notion image

1.2. 三维函数梯度下降

找到函数 的最小值, 函数三维图和等高线如下.
notion image
  1. 设置初始点 , 此时梯度为:
    1. 设置 , 可以计算出下一点 的向量
      1. 开始迭代
        1. 方法同上
          notion image

      1.3. 深度学习中的梯度下降

      模型训练过程中, 需要计算的是损失函数的最小值
      而在深度学习的优化算法中不同的梯度下降算法如下图所示
      notion image
      • 拿随机梯度下降算法举例, 是每个样本的损失函数, 表示一个输入为 和 初始参数 的函数, 表示 GT 值.
        • 其中的梯度计算是先计算样本数据的平均损失, 但是损失函数中有 作为优化参数, 也就是说函数变为了以 为未知数的函数, 对 求偏导, 之后带入 获得梯度参数 .
          之后更新 .
       
    2. 机器学习
    3. Deep Learning
    4. 威联通QNAP Nas 搭建Gitea代码托管平台火绒阻止 windows 更新
      • Giscus
      目录