深度学习记录--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

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

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

相关推荐
算家计算1 分钟前
一行命令,玩转所有主流音视频格式!一站式音视频处理工具——FFmpeg本地部署教程
人工智能
AAA修煤气灶刘哥5 分钟前
Java+AI 驱动的体检报告智能解析:从 PDF 提取到数据落地全指南
java·人工智能·后端
AI 嗯啦14 分钟前
SQL详细语法教程(四)约束和多表查询
数据库·人工智能·sql
三块钱079427 分钟前
如何让AI视频模型(如Veo)开口说中文?一个顶级提示词的深度拆解
人工智能
轻松Ai享生活34 分钟前
从0-1学习CUDA | week 1
人工智能
蒋星熠36 分钟前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构
wayman_he_何大民40 分钟前
初始机器学习算法 - 关联分析
前端·人工智能
杭州泽沃电子科技有限公司1 小时前
告别翻山越岭!智能监拍远程守护输电线路安全
运维·人工智能·科技·安全
wayman_he_何大民1 小时前
初始机器学习算法 - 聚类分析
前端·人工智能
TDengine (老段)1 小时前
TDengine IDMP 高级功能(4. 元素引用)
大数据·数据库·人工智能·物联网·数据分析·时序数据库·tdengine