五、深度学习优化算法

简介: 五、深度学习优化算法

1、mini-batch梯度下降


mini-batch指的是将原本整个batch的数据集进行划分,e.g., 将整个数据集以1000条数据为标准划分成小的batch。

image.png


mini-batch梯度下降的流程如下所示:


image.png


在进行mini-batch训练时,训练的成本可能不是随着训练次数增加而一直减小,而是呈现出波动下降的趋势,因为不同的mini-batch的数据之间的难易程度不一样。

9379f3a5f84b4c75907fef446d3aacff.png


 


如下图所示,mini-batch size的选择不能过大也不能过小,若size过大会减慢训练的速度,若size过小会使得训练波动性变大,训练效果变差。


075e90b7abd0492195b1356880869d84.png




若训练集的数量比较小(m≤1000),可以不使用mini-batch训练,可以直接使用batch gradient descent进行训练。典型的mini-batch size包括64,128,256和512,一般不会使用1024以及更大的mini-batch进行模型训练。同时需要保证mini-batch size符合CPU/GPU的内存格式,否则会影响训练效果。



2、指数加权平均-Exponential Weighted averages


指数移动平均的计算式如下所示:

vt=βvt1+(1β)θt


其中, β∈[0,1]的值可以用来衡量移动平均的时间窗跨度, β的值越接近于1,移动平均的时间窗跨度越大,从而移动平均之后的数据相对于原始数据的来说越平滑;反之,移动平均值后的数据和原始数据的分布越接近。


02e9fd37eb6645eaafd31ee81a0a2c75.png


2.1 指数加权平均的偏差修正


在移动平均的前期,通常经过移动平均的数据相对原始数据的偏差较大,所有可以给指数移动平均添加一个修正项,修正之后的指数移动平均计算方法为:

image.png


3、 动量梯度下降- gradient with momentum


动量梯度下降的执行过程如下所示,相对于普通的梯度下降算法,动量梯度下降将学习率之后的项由  db dw,db替换成了 vdw,vdb。


fbacafbf712146b4a7c2d46d2ccc7a31.png



4、RMSprop



RMSProp的思想也是想要减小梯度下降过程中梯度在 b b b方向上的震荡幅度,同时不减小在 w w w方向上的收敛幅度,RMSProp的计算过程如下所示:

在这里插入图片描述


9c27b8cfcfd84cc3887da1455a14871b.png



5、Adam optimization algorithm


将上述gradient descent with momentum 和 RMSProp相互结合,同时使用偏差修正之后,就得到了Adam optimization algorithm,其计算流程如下所示:


189c02e2091b4a539acd63dd037acfc7.png



Adam 指的是Adaptive Moment Estimation,其中的hyper parameters取值:学习率 α α需要通过parameter tunning 来选择调整;β1通常取值为0.9,β2通常取值为0.999,ϵ通常取值为 10−8。




6、Learning rate decay



使用learning rate decay的intuition是:当使用mini-batch进行训练时,当batch size选的比较小时,通常会造成学习不收敛,使得最终目标在最优值附近较大幅度地震荡,所以可以在训练初始阶段使用较大的学习率,使得训练速度加快;在之后使用比较小的学习率,使得震荡幅度减小


845762518e884a3a97cd9f82a9a6692e.png



7、Local optima in neural networks

由于神经网络在训练时通常会有很多维度的参数空间,所以通常神经网络不容易陷入一个很坏的局部最优解。


plateaus型函数会极大减慢训练的效率,所以可以使用Adam来提高运算效率。







相关文章
|
9天前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现智能食品加工优化的深度学习模型
使用Python实现智能食品加工优化的深度学习模型
104 59
|
24天前
|
机器学习/深度学习 数据采集 算法
深度学习之路径优化与车辆调度
基于深度学习的路径优化与车辆调度技术在交通管理、物流配送、公共交通、共享出行等领域具有重要应用价值。这些技术利用深度学习模型处理复杂的交通数据、实时信息以及用户需求,旨在提高运输效率、降低成本、减少拥堵并提升服务质量。
51 0
|
11天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。
|
6天前
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
21 2
|
5天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
25 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
5天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
21 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
5天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
25 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
8天前
|
机器学习/深度学习 算法
深度学习中的模型优化策略
【10月更文挑战第35天】在深度学习的海洋中,模型优化是那把能够引领我们抵达知识彼岸的桨。本文将从梯度下降法出发,逐步深入到动量、自适应学习率等高级技巧,最后通过一个实际代码案例,展示如何应用这些策略以提升模型性能。
|
11天前
|
人工智能 算法 大数据
Linux内核中的调度算法演变:从O(1)到CFS的优化之旅###
本文深入探讨了Linux操作系统内核中进程调度算法的发展历程,聚焦于O(1)调度器向完全公平调度器(CFS)的转变。不同于传统摘要对研究背景、方法、结果和结论的概述,本文创新性地采用“技术演进时间线”的形式,简明扼要地勾勒出这一转变背后的关键技术里程碑,旨在为读者提供一个清晰的历史脉络,引领其深入了解Linux调度机制的革新之路。 ###
|
22天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。

热门文章

最新文章