深度学习记录--mini-batch gradient descent

batch vs mini-batch gradient descent

batch:段,块

与传统的batch梯度下降不同,mini-batch gradient descent将数据分成多个子集,分别进行处理,在数据量非常巨大的情况下,这样处理可以及时进行梯度下降,大大加快训练速度

mini-batch gradient descent的原理

两种方法的梯度下降图如下图所示

batch gradient descent是一条正常的递减的曲线
mini-batch gradient descent是一条噪声很大 的曲线,分成许多小段时,每个小段是一条batch gradient descent曲线,总体看这条曲线还是递减的趋势
为什么会有区别呢?

mini-batch gradient descent中的,可能容易计算,也可能很难计算,这就导致cost时高时低,出现摆动,其实主要是mini-batch的大小的原因

mini-batch size

当size=m,mini-batch gradient descent变为batch gradient descent

梯度下降的噪声更小步长更大 ,最终会收敛于最小值(如下图蓝色曲线)

弊端:如果数据量很大时,单次迭代时间过长
当size=1,变为随机梯度下降(stochastic gradient descent),每个样本都是独立的

每个样本都是随机的,可能靠近最小值,也可能远离最小值,噪声很大无法收敛 ,最终在最小值附近波动(如下图紫色曲线)

弊端:由于每次只处理一个训练样本,失去了向量化的加速效果,训练效率过低
合适的size-->between1 and m

既可以获得向量化的加速效果,又可以及时进行后续操作(减少单次迭代时间)

梯度下降图如下图绿色曲线(噪声相对随机梯度下降较小,最终不会收敛,在最小值附近波动

相关推荐
Eric.Lee202117 分钟前
数据集-目标检测系列- 螃蟹 检测数据集 crab >> DataBall
python·深度学习·算法·目标检测·计算机视觉·数据集·螃蟹检测
DogDaoDao1 小时前
【预备理论知识——2】深度学习:线性代数概述
人工智能·深度学习·线性代数
牛哥带你学代码1 小时前
交叠型双重差分法
人工智能·深度学习·机器学习
学步_技术1 小时前
自动驾驶系列—线控系统:驱动自动驾驶的核心技术解读与应用指南
人工智能·机器学习·自动驾驶·线控系统·转向系统
jmoych1 小时前
AI正悄然地影响着企业数字化转型
人工智能
说私域1 小时前
社群团购中的用户黏性价值:以开源小程序多商户AI智能名片商城源码为例
人工智能·小程序
深度学习实战训练营2 小时前
基于keras的停车场车位识别
人工智能·深度学习·keras
乔代码嘚2 小时前
AI2.0时代,普通小白如何通过AI月入30万
人工智能·stable diffusion·aigc
墨@#≯2 小时前
机器学习系列篇章0 --- 人工智能&机器学习相关概念梳理
人工智能·经验分享·机器学习
Elastic 中国社区官方博客2 小时前
Elasticsearch:使用 LLM 实现传统搜索自动化
大数据·人工智能·elasticsearch·搜索引擎·ai·自动化·全文检索