深度学习问题2 超参数、激活函数、batch-size

1.什么是超参数?有哪些深度学习模型中的超参数?

超参数也是一种参数,不是一个已知常量。一种手工可配置的设置,需要为它根据已有或现有的经验指定“正确”的值,并不是通过系统学习到的,比如学习率(learning rate)、 深层神经网络隐藏层数

2.什么是激活函数?有什么要使用非线性激活函数?

在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数。

如果不用激励函数(其实相当于激励函数是f(x) = x),无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,网络的逼近能力就相当有限,引入非线性函数作为激励函数,深层神经网络表达能力就会更加强大。(不再是线性组合,而是几乎可以逼近任何函数)

3.sigmod-logistic函数的优缺点

优点:

  1. 能够控制数值的幅度,在深层网络中可以保持数据幅度不会出现大的变化,

  2. 便于求导的平滑函数

  3. 取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。在特征相差比较复杂或是相差不是特别大时效果比较好。

缺点:
1.在深度神经网络中梯度反向传递时导致梯度消失:如果神经网络隐层特别多,那么梯度在穿过多层后将变得非常小接近于0,即出现梯度消失现象

2.计算速度比较耗时,对比比较大的神经网络,会较大的增加训练时间

3.Sigmoid的输出不是0均值(zero-centered)的

梯度消失的原因:

同样learning rate的时候,靠近input的地方,它参数的update是很慢的;而靠近output的地方,它参数的update是比较快的

所以在靠近input的地方,参数几乎还是random的时候,output就已经根据这些random的结果找到了一个local minima,然后就converge(收敛)了

这个时候loss下降的速度会变得很慢,会误认为gradient已经接近于0了,停止程序。实际上模型并没有被充分训练

原因是因为:会把负无穷大到正无穷大的值都用压缩到0-1之间,把较大的input压缩成较小的output。

4.logistic 和 tanh函数的对比和优缺点

logistic函数:

优点:
(1)便于求导的平滑函数;

(2)能压缩数据,保证数据幅度不会有问题;

(3)适合用于前向传播

缺点:
(1)梯度消失

(2)输出不是zero-centered

(3)幂运算相对耗时

tanh函数:
Tanh函数可以看作放大并平移的Logistic函数

缺点:梯度消失的问题、还有幂运算的问题仍然存在。

不同:Tanh 函数的输出是零中心化的(Zero-Centered),而 Logistic 函数的输出恒大于 0。非零中心化的输出会使得其后一层的神经元的输入发生偏置偏移(Bias Shift),并进一步使得梯度下
降的收敛速度变慢.
在这里插入图片描述

5.relu的优缺点

优点:
1.跟sigmoid function 比较起来,运算会快很多,收敛速度远快于sigmoid和tanh

2.结合了生物上的观察

3.可以处理梯度消失的问题(在正区间)

缺点:
1.ReLU的输出不是zero-centered

2.某些神经元可能永远不会被激活,导致相应的参数永远不能被更新。有两个主要原因可能导致这种情况产生: (1) 非常不幸的参数初始化,这种情况比较少见 (2) learning rate太高导致在训练过程中参数更新太大,不幸使网络进入这种状态。

3.ReLU不会对数据做幅度压缩,所以数据的幅度会随着模型层数的增加不断扩张

6.batch_size的概念和值的选择?

直观理解:一次训练所选取的样本数,大小影响模型的优化程度和速度。

为什么需要:在小样本数的数据库中,不使用Batch Size是可行的,而且效果也很好。但是一旦是大型的数据库,一次性把所有数据输进网络,肯定会引起内存的爆炸

值的选择:
1.如果是小样本数,可以不用

2.采用批梯度下降法mini batch learning时,如果数据集足够充分,用一半(甚至少的多)的数据训练算出来的梯度与全数据集训练full batch learning出来的梯度几乎一样。

3.在合理的范围内,增大batch_size可以提高内存利用率,在适当的范围内,batch_size越大,其确定的下降方向越准,引起训练波动越小。注意,当batch_size增大到一定程度,其确定的下降方向基本不会变化。

4.batch_size值增大到超过合理范围时,和全数据训练full batch learning表现出相同的症候。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值