一、梯度下降算法

  • 挑选一个初始值w0;
  • 重复迭代参数t=1,2,3;
  • 在接下来不断的更新w0,使它接近最优解;
  • 具体来说,法则如下:

wt等于wt的上一时刻减去η乘以损失函数关于wt的上一时刻的梯度。

沿梯度方向将增加损失函数值。

η:是指学习率,我沿着这个方向每次走多远。

学习率:步长的超参数,是需要人为指定的一个值。

注意:

选择学习率:

  • 不能太小,如果选的太小,每次的步长有限,每到达一个点都需要走好多步(计算梯度是很贵的,尽量少的计算梯度);
  • 也不能太大,如果太大就可能迈过要下降的地方,使的一直在震荡,并没有真正的下降。

二、小批量随机梯度下降

在整个训练集上算梯度太贵,(需要把所有的训练集重新算一遍),一个深度神经网络模型可能需要数分钟至数小时,代价太大了,这时我们就可以随机采样b个样本i1,i2,....... ,ib来近似损失

当b很大的时候,计算是精确的,当b很小的时候可能没那么精确,但是b很小的时候计算它的梯度是很容易的,因为梯度的计算复杂度和样本的个数是线性相关的。这里b叫做批量大小,是另一个重要的超参数。

注意:

选择批量大小:

  • 不能太小,每次计算量太小,不适合并行来最大利用计算资源;
  • 也不能太大,内存和批量大小时成正比的。如果使用GPU,内存是一个很大的瓶颈,内存消耗增加,浪费计算;

三、总结

1、梯度下降通过不断沿着反梯度方向更新参数求解;好处是,不需要知道显示解是什么样子,只需要知道怎么求导就行了。

2、小批量随机梯度下降是深度学习默认的求解算法;一般来说是最稳定最简单的。

3、两个重要的超参数是批量大小和学习率。

动手学深度学习——基础优化算法梯度下降,小批量随机梯度下降相关推荐

  1. 动手学深度学习-过拟合、欠拟合及其解决方案;梯度消失、梯度爆炸;循环神经网络进阶

    一.过拟合.欠拟合及其解决方案 前序知识点 模型选择 正则化:添加参数的惩罚项,防止过拟合.有L2正则化与L1正则化. 奥卡姆剃刀原则:有多个假设模型时,应该选择假设条件最少的. 模型的泛化能力:指模 ...

  2. 动手学深度学习(PyTorch实现)(一)--线性回归

    线性回归 前言 1. 线性回归的基本要素 1.1 模型 1.2 数据集 1.3 损失函数 1.4 优化函数 2. 线性回归的PyTorch实现 2.1 导入相应的包 2.2 生成数据集并读取 2.3 ...

  3. 《动手学深度学习 PyTorch版》学习笔记(三):线性回归

    线性回归输出是一个连续值,因此适用于回归问题.回归问题在实际中很常见,如预测房屋价格.气温.销售额等连续值的问题. 一.基本要素 摘自原书 模型定义 设房屋的面积为 x1,房龄为 x2,售出价格为 y ...

  4. 《动手学深度学习》笔记---3.16

    3.16 实战Kaggle比赛:房价预测 3.16.2 读取数据集 # 导入所需的模块和包%matplotlib inline import d2lzh as d2l from mxnet impor ...

  5. 资源 | 李沐等人开源中文书《动手学深度学习》预览版上线

    来源:机器之心 本文约2000字,建议阅读10分钟. 本文为大家介绍了一本交互式深度学习书籍. 近日,由 Aston Zhang.李沐等人所著图书<动手学深度学习>放出了在线预览版,以供读 ...

  6. 《动手学深度学习》—学习笔记

    文章目录 深度学习简介 起源 特点 小结 预备知识 获取和运行本书的代码 pytorch环境安装 方式一 方式二 数据操作 创建 运算 广播机制 索引 运算的内存开销 NDArray和NumPy相互变 ...

  7. 08 线性回归 + 基础优化算法【动手学深度学习v2】

    线性回归 输出层不当成一层 输入层和权重层放一起 x和y是列向量 因为loss=1/2(y-y_hat)^2 又因为y_hat的平均值=1/n(xi*w+b)=1/n(Xw+b) 唯一一个有显示解的模 ...

  8. 第3章(3.11~3.16节)模型细节/Kaggle实战【深度学习基础】--动手学深度学习【Tensorflow2.0版本】

    项目地址:https://github.com/TrickyGo/Dive-into-DL-TensorFlow2.0 UC 伯克利李沐的<动手学深度学习>开源书一经推出便广受好评.很多开 ...

  9. 梯度消失和梯度爆炸_知识干货-动手学深度学习-05 梯度消失和梯度爆炸以及Kaggle房价预测...

    梯度消失和梯度爆炸 考虑到环境因素的其他问题 Kaggle房价预测 梯度消失和梯度爆炸 深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion). 当神经网络的层数较多 ...

最新文章

  1. Focal Loss升级:让Focal Loss动态化,类别极端不平衡也可以轻松解决
  2. CSP认证 201312-1出现次数最多的数[C++题解]:简单题
  3. c++ 预处理命令 预定义变量用法
  4. Mozilla Firefox 在用户访问被黑客攻击的网站时发出警告
  5. python,可变参数
  6. gitee怎么仓库间传文件_薄书的Gitee 码云使用教程学习纪录 - 薄书
  7. python全栈工程师视频_python全栈工程师视频教程
  8. 三自由度机械手腕设计机构设计
  9. WPS如何并排放置两张图片_动图演示如何制作XRD叠图与PDF卡线图
  10. 全文检索语句中的AND和OR的用法
  11. 2022年最新云开发去水印小程序源码
  12. [Kafka] Kafka基本架构
  13. Hyper-V搭建centos8
  14. mac删除core文件并关闭core文件以节约磁盘
  15. Linux下修复U盘坏块,DiskGenius修复U盘坏块问题巧借
  16. Swift 头像上传(2)http://blog.csdn.net/wei_chong_chong/article/details/52611110
  17. 人脸口罩识别的项目总结
  18. RSD高程产品(DEM/DSM)的几个精度问题
  19. Go 语言入门三部曲(二):能用 Go 语言写管理系统
  20. 计算机毕业设计java+ssm的仓库进销存系统(源码+系统+mysql数据库+Lw文档)

热门文章

  1. PHP数组合并 排序 分页
  2. typescript学习笔记2 配置浏览器兼容性
  3. JavaScript简餐——创建对象的三种模式
  4. Python集合的update方法
  5. Windows XP操作系统试题
  6. 2019人力资源管理师考试成绩查询发布信息(一周汇总)
  7. 2021年安全员-C证(山东省)考试技巧及安全员-C证(山东省)考试平台
  8. Angular4_层级表格,表头固定
  9. python中谷中文视频教学_python入门教程_中谷教育python中文视频教程(全38集)
  10. python的WPS-SDK-Python库提供哪些功能