首页 > 其他分享 >7、超参数调试、Batch正则化

7、超参数调试、Batch正则化

时间:2024-10-01 19:35:23浏览次数:8  
标签:模型 Batch 正则 参数 Softmax 归一化 取值 调试

1、调整过程

  在训练神经网络时,超参数的调试十分重要,下面分享一些指导原则。 

  

  通常来说,①学习因子α是最重要的超参数,也是需要重点调试的超参数。②动量梯度下降因子beta、各隐藏层神经元个数hidden units和mini-batch size的重要性仅次于alpha。③然后就是神经网络层数layers和学习因子下降参数learning rate decay。④最后,Adam算法的三个参数bata1,bata2,sigma一般常设置为0.9,0.999和10^-8,不需要反复调试。当然,这里超参数重要性的排名并不是绝对的,具体情况,具体分析。

  当你尝试调整一些超参数时,在深度学习领域,推荐随机选择点,另一个惯例是采用由粗糙到精细的策略。

  

  

2、为超参数选择合适的范围

  在超参数范围中,随机取值可以提升你的搜索效率。但随机取值并不是在有效范围内的随机均匀取值,而是选择合适的标尺,用于探究这些超参数,这很重要。

  对于某些超参数(隐藏单元的数量或者神经网络的层数)是可以进行尺度均匀采样的,它们都是正整数,是可以进行均匀随机采样的(即超参数每次变化的尺度都是一致的),这是合理的。

  

  某些超参数需要选择不同的合适尺度进行随机采样。设你在搜索超参数α(学习速率),假设你怀疑其值最小是0.0001或最大是1。如果你画一条从0.0001到1的数轴,沿其随机均匀取值,那90%的数值将会落在0.1到1之间,结果就是,在0.1到1之间,应用了90%的资源,而在0.0001到0.1之间,只有10%的搜索资源,这看上去不太对。反而,用对数标尺搜索超参数的方式会更合理,因此这里不使用线性轴,分别依次取0.0001,0.001,0.01,0.1,1,在对数轴上均匀随机取点。

  

  除了α之外,动量梯度因子β(用于计算指数的加权平均数)的取值也是一样,在超参数调试的时候也需要进行非均匀采样,因为当β越接近1时,所得结果的灵敏度(sensitivity)会变化,即使只有微小的变化,所以需要更加密集地取值。一般β的取值范围在[0.9, 0.999]之间,那么1−β的取值范围就在[0.001, 0.1]之间。那么直接对1−β在[0.001, 0.1]区间内进行log变换即可。

3、超参数调试实践:Pandas VS Caviar

  如今的深度学习(deep learning)已经应用到许多不同的领域,某个应用领域的超参数设定,有可能通用于另一领域,不同的应用领域出现相互交融。关于如何搜索超参数的问题,人们通常采用的两种重要但不同的方式,分别如下图所示:

  一种是照看一个模型(babysit one model),通常有庞大的数据组,但是没有许多计算资源或足够的CPU和GPU,这样的话一次试验一个模型或者一小批模型,然后每天花时间观察它,不断调整参数,如上图左。

  另一种方法则是同时试验多种模型,已经设置了一些超参数,让它自己运行,或者是一天甚至多天,然后会获得像这样的学习曲线,这可以是损失函数 J 或训练误差的损失或数据误差的损失,但都是曲线轨迹的度量,如上图右。

4、归一化网络的激活函数

  在深度学习兴起后,最重要的一个思想是它的一种算法,叫做Batch归一化(Batch Normalization)。Batch归一化旨在加速神经网络训练并提高模型的泛化能力。通过对每个mini-batch内的激活值进行归一化,Batch归一化能够有效地缓解梯度消失和梯度爆炸的问题,使得模型在深层网络中表现更加稳定。

  Batch归一化还有一个作用,它有轻微的正则化效果(不要当做是正则化,正则化效果微弱),它的特点表现为:

  1. 加速训练:Batch归一化可以使得模型的训练更加稳定,允许使用更高的学习率,从而加速了训练过程。
  2. 减轻梯度消失和梯度爆炸问题
  3. 减少对参数初始化的敏感性:Batch归一化可以让模型对权重初始化不那么敏感,即使是较差的权重初始化,也能通过归一化操作纠正输入分布,从而加快收敛。
  4. 一定程度的正则化效果:由于每个mini-batch的数据都不一样,因此Batch归一化会在训练中引入一些噪声,这种噪声在一定程度上具有正则化效果,能够减少模型的过拟合。
  5. 依赖mini-batch的大小:Batch归一化依赖于mini-batch的大小,较小的mini-batch可能导致均值和方差估计不准确,影响训练效果。

5、Softmax回归(Softmax Regression)

  Softmax回归(Softmax Regression)是分类问题中的一种常见方法,特别适用于多分类问题。它是逻辑回归的扩展版,逻辑回归通常用于二分类问题,而Softmax回归则用于处理多个类别的分类任务。

  Softmax回归模型的核心思想是通过Softmax函数将模型的输出转化为每个类别的概率分布,并选择概率最大的类别作为最终的预测结果。

  

标签:模型,Batch,正则,参数,Softmax,归一化,取值,调试
From: https://www.cnblogs.com/pgl6/p/18442908

相关文章

  • jsphealth59p27(程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发)环境带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、课题背景随着生活节奏的加快和社会压力的增加,健康问题日益成为人们关注的焦点。无论是学校、社会还是家庭,都越来越重视身体健康,定期体检已成为......
  • Java中的正则表达式
    目录1.普通字符2.特殊字符(元字符)3.字符类4.预定义字符类5.量词6.分组7.选择8.锚点9.转义10.Unicode字符案例:电子邮箱正则表达式详解电子邮箱格式常用的邮箱正则表达式正则表达式解释示例代码输出注意事项1.普通字符普通字符就是字面上的意思,它......
  • springboot基于java的智慧点餐系统(源码+文档+调试+vue+前后端分离)
    收藏关注不迷路!!......
  • jspGoodstuff社区购物网站8pf7x--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,商品分类,商品信息技术要求:开发语言:JSP前端使用:HTML5,CSS,JSP动态网页技术后端使用SpringBoot,Spring技术主数据库使用MySQL开题报告内容一、项目背......
  • 基于Python可视化的学习系统的设计与实现(源码+文档+调试+答疑)
    文章目录一、项目介绍二、视频展示三、开发环境四、系统展示五、代码展示六、项目文档展示七、项目总结大家可以帮忙点赞、收藏、关注、评论啦......
  • 为什么一定要学习正则表达式
    为什么一定要学正则表达式前言为什么有正则表达式,以及为什么一定要学习正则表达式?本文不去讨论正则表达式的历史,流派以及完整而复杂的用法,仅仅通过一个简单的搜索场景,把你带入正则表达式的世界,从此你将感受到“海阔凭鱼跃、天高任鸟飞”的痛快!,回归正题,假设有一份名单,如下所示:......
  • linux内核调试痛点之函数参数抓捕记
    1.linux内核调试工具crash并不能直接显示函数参数,而这个对调试又非常重要下面是工作中一个实际的问题,我们的进程hang在如下一个内核栈中了,通过栈回溯可知是打开了一个nfs3的网盘文件或者目录,已知客户机器的NAS盘不可访问了,只要访问就会hang住,但我们的进程理论上是不会访问该NAS......
  • 基于区块链技术的健身房管理系统的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 基于区块链技术的在线点餐管理系统的设计与实现(源码+LW+调试文档+讲解等)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 基于区块链技术的英语学习网站的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......