机器学习(T1)--深度学习的网络设计技巧

目录

一、如何改进神经网络?

1、改变激活函数

 2、变化学习率

3、batchsize和趋势项

4、dropout


一、如何改进神经网络?

1、改变激活函数

        当使用sigmoid函数进行迭代,迭代次数增加时,可能会出现梯度消失,即比较靠近输入的几层梯度值十分小,靠近输出层的几层梯度值会很大,当你设定相同的学习率时,靠近输入层的参数收敛缓慢,而输出层的参数已经收敛完全。

        通过用ReLU函数来改善梯度消失,由于ReLU函数的梯度不会随x的变化而变化,所以不会出现梯度消失的问题。

 

 2、变化学习率

        常用的变化学习率的算法有RMSprop、SGD、Adam、Adagrad、Momentum

        RMSprop是一种自适应学习率方法。Adagrad会累加之前所有的梯度平方,而RMSprop仅仅是计算对应的平均值,因此可缓解Adagrad算法学习率下降较快的问题。

        Adam是另一种自适应学习率的方法。它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。Adam的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。

        Adagrad能够在训练中自动的对α进行调整,对于出现频率较低参数采用较大的α更新;相反,对于出现频率较高的参数采用较小的α更新。因此,Adagrad非常适合处理稀疏数据。

3、batchsize和趋势项

        batchsize:选取一次训练的样本数,一个epoch读取一次所有的batchsize,通常来说batchsize越小训练出来的模型越好,但计算时间越长,batchsize越大计算速度更快,越容易欠拟合。

        趋势项:通过在梯度下降过程中加入趋势项来避免局部最优解。

4、dropout

        在神经网络前向传播时,通过让神经元以一定概率p来停止工作,提高泛化程度,降低对特征的依赖程度,从而优化模型。

 

        
 

        

        

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值