当前位置: 首页 > article >正文

【pytorch源码剖析系列】优化器

写在前言: pyotrch优化器从源码的角度带你理解优化器的由来,实现,作用。

pytorch的优化器:管理并更新模型中可学习参数的值,使得模型输出更接近真是标签。

导数:函数在指定坐标轴上的变化率

方向导数:指定方向上的变化率

梯度:一个向量,方向为方向导数取得最大的方向

  • 梯度下降法(Gradient Descent)

其中模型参数为θ,损失函数为J(θ),损失函数J(θ)关于参数θ的偏导数,学习率为α。

梯度下降法目前主要是三种方法:区别在于每次参数更新时计算的样本数量不同,批量梯度下降法(BGD,Batch Gradient Descent),随机梯度下降法(SGD, Stochastic Gradient Descent)及小批量梯度下降法(Mini-batch Gradient Descent)

批量梯度下降法BGD

假设训练样本总数为n,样本为,模型参数为θ,损失函数为J(θ),在第i对样本上损失函数关于参数的梯度,学习率为α,则使用BGD更新参数为:

由上式可以看出,每进行一次参数更新,需要计算整个数据样本集,因此导致批量梯度下降法的速度比较慢,尤其是数据集非常大的情况下,收敛速度会非常的慢,但是每次的下降方向为总体平均梯度,他得到的会是一个全局最优解。

随机梯度下降


http://www.kler.cn/a/3037.html

相关文章:

  • 雅思写作(支持句)
  • Addressable学习
  • Mac Electron 应用签名(signature)和公证(notarization)
  • 快速提升网站收录:避免常见SEO误区
  • 安卓(android)读取手机通讯录【Android移动开发基础案例教程(第2版)黑马程序员】
  • 【Linux】线程互斥与同步
  • 论文阅读-Graph Contrastive Learning for Anomaly Detection
  • Alibaba EasyExcel介绍和简单使用
  • 路科验证UVM入门与进阶详解实验2
  • [蓝桥杯] 贪心问题与相关习题详解
  • vue基础知识大全
  • 利用nginx实现动静分离的负载均衡集群实战
  • 第十四届蓝桥杯三月真题刷题训练——第 20 天
  • PDF阅读软件哪个好用?思路提供
  • 【Linux】-- 进程优先级和环境变量
  • 手写一个简单的RPC框架
  • 几种有趣的电路设计(防过压,LLC,PFC,正激和反激电路)
  • CSDN 编程竞赛三十九期题解
  • rancher2.6进阶之kubectl安装
  • 硬核|Redis布隆(Bloom Filter)过滤器原理与实战
  • 不用科学上网,免费的GPT-4 IDE工具Cursor保姆级使用教程
  • GPT4来了,多模态模型上线
  • Python实现rar、zip和7z文件的压缩和解压
  • Android中使用FCM进行消息推送
  • 狗都能看懂的VAE笔记
  • css总结12(盒子模型外篇)