• 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时11


    课时11 神经网络训练细节part1(下)

    2010年,Glorot等人写的论文,我们称之为Xavier初始化,他们关注了神经元的方差表达式。他们推荐一种初始化方式,那就是对每个神经元的输入进行开根号。但是这种方法用在relu网络不是很奏效,这时候需要考虑一个额外因数2,如果没有这个2,则激活输出的分布会以指数级收缩

    将梯度正则化就不是反向传播了,如果对梯度进行了人为调整,则优化目标就会变得混乱(因为人为强行改变分布),得到的并不是梯度。

    批数据的规范化

    基本主旨一般是,你想你的神经网络的每一部分都有粗略的单位高斯激活,使用这个式子就可以,因为如果你想要让某个东西单位高斯就等于这个可微分方程,你可以尝试对他运行BP算法,你会发现你选了你数据的一个分批,对整个神经网络执行他,接下来我们把执行批量数据正则化的层插入到你的神经网络。这些层接收你的输入X,这些层保证了你这批数据的每一个特征维度都有单位高斯激活。

    神经网络取消了BN的效果,所以这部分可以通过学习来抵消BN的作用。

    BN其实等价于一个恒等函数,或者说可以通过学习达到恒等的作用。神经网络可以通过BP算法决定是要取消BN层的作用还是如果发现他是有用的还是采用BN层以利用其优势。

    BN有用的性质

    增强了整个神经网络的梯度流;支持更高的学习速率,所以你可以更快的训练模型;减少了算法对合理的初始化的依赖性;起到了一些正则化的作用

    为什么损失值没有下降,但是准确率确上升了?

    在你刚开始训练时,这个损失会有一些小变动,但是在训练到最后,你的损失值还是很大的,也就是说经过你的训练,损失值变小的很慢,这个时候我们可能就需要提高我们的学习速率

    超参数优化

    首先我们只需要有个大概的参数区间,第二部,对这个学习速率的区间做一个粗略的研究,然后在原有的区间内选出表现比较好的一个小区间,然后我们一遍一遍重复这个步骤,让我们选的区间越来越窄,最后选出一个表现最好的参数在你的代码中

    当你优化正则化系数和学习速率时,最好去从对数空间中取样。因为这两个变量,在你进行反向传播算法的时候是相乘的

    网格搜索的方法

    他的区别在于,不再像前面提的那样给参数在一定范围内随机取值,而是使用一个确定的步长,在学习速率和正则化系数上每一步取一个值,所以最后用了两个循环,分别负责两个超参数的范围,这实际上是一个很差的思路。

  • 相关阅读:
    软件工程实践2019第一次作业
    SDN第三次作业
    SDN第二次作业
    SDN第一次作业
    软工第二次结对
    #软件工程第三次作业
    2019软件工程第一次作业
    php-长文章分页函数
    Sqlilab靶机配置
    目录遍历(复现及修复)
  • 原文地址:https://www.cnblogs.com/bxyan/p/6763680.html
Copyright © 2020-2023  润新知