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

news/2024/10/1 19:37:28

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函数将模型的输出转化为每个类别的概率分布,并选择概率最大的类别作为最终的预测结果。

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/66880.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

19_深度图解剖析悲观锁与乐观锁两种并发控制方案

课程大纲 1、深度图解剖析悲观锁与乐观锁两种并发控制方案

js逆向实战之酷我音乐请求参数reqId加密逻辑

声明:本篇文章仅用于知识分享 实战网站:https://www.kuwo.cn/search/list?key=可以不是你 加密逻辑分析访问界面,根据数据包的回显内容判断哪个是我们需要的。找到相应的数据包,看下请求参数。发现reqId参数是一串随机字符串,所以就需要知道该参数的生成过程。全局搜索re…

13_图解Elasticsearch容错机制:master选举,replica容错,数据恢复

课程大纲 1、图解Elasticsearch容错机制:master选举,replica容错,数据恢复 (1)9 shard,3 node (2)master node宕机,自动master选举,red (3)replica容错:新master将replica提升为primary shard,yellow (4)重启宕机node,master copy replica到该node,使用原有的…

12_分布式原理_图解横向扩容过程,如何超出扩容极限,以及如何提升容错性

1、图解横向扩容过程,如何超出扩容极限,以及如何提升容错性 (1)primary&replica自动负载均衡,6个shard,3 primary,3 replica (2)每个node有更少的shard,IO/CPU/Memory资源给每个shard分配更多,每个shard性能更好 (3)扩容的极限,6个shard(3 primary,3 repli…

09_手工画图剖析Elasticsearch的基础分布式架构

课程大纲 1、Elasticsearch对复杂分布式机制的透明隐藏特性 2、Elasticsearch的垂直扩容与水平扩容 3、增减或减少节点时的数据rebalance 4、master节点 5、节点对等的分布式架构1、Elasticsearch对复杂分布式机制的透明隐藏特性 Elasticsearch是一套分布式的系统,分布式是为了…

10_shardreplica机制再次梳理以及单node环境中创建index图解

1、shard&replica机制再次梳理 2、图解单node环境下创建index是什么样子的1、shard&replica机制再次梳理 (1)index包含多个shard (2)每个shard都是一个最小工作单元,承载部分数据,lucene实例,完整的建立索引和处理请求的能力 (3)增减节点时,shard会自动在nod…

04_手工画图剖析Elasticsearch核心概念:NRT、索引、分片、副本等

课程大纲 1、lucene和elasticsearch的前世今生 2、elasticsearch的核心概念 3、elasticsearch核心概念 vs. 数据库核心概念1、lucene和elasticsearch的前世今生 lucene,最先进、功能最强大的搜索库,直接基于lucene开发,非常复杂,api复杂(实现一些简单的功能,写大量的java…

02_用大白话告诉你什么是Elasticsearch

大白话、什么是Elasticsearch Elasticsearch,分布式,高性能,高可用,可伸缩的搜索和分析系统 1、什么是搜索? 2、如果用数据库做搜索会怎么样? 3、什么是全文检索、倒排索引和Lucene? 4、什么是Elasticsearch?1、什么是搜索? 百度:我们比如说想找寻任何的信息的时候,…