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

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

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

批数据的规范化

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

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

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

BN有用的性质

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

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

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

超参数优化

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

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

网格搜索的方法

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

斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时11的更多相关文章

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

    课时3 计算机视觉历史回顾与介绍下 ImageNet有5000万张图片,全部都是人工清洗过得,标注了超过2万个分类. CS231n将聚焦于视觉识别问题,图像分类关注的是大图整体:物体检测告诉你东西具体 ...

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

    课时1 计算机视觉历史回顾与介绍上 CS231n:这一一门关于计算机视觉的课程,基于一种专用的模型架构,叫做神经网络(更细一点说,是卷积神经网络CNN).计算机视觉是人工智能领域中发展最为迅猛的一个分 ...

  3. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时26&&27

    课时26 图像分割与注意力模型(上) 语义分割:我们有输入图像和固定的几个图像分类,任务是我们想要输入一个图像,然后我们要标记每个像素所属的标签为固定数据类中的一个 使用卷积神经,网络为每个小区块进行 ...

  4. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时24&&25

    课时24 深度学习开源库使用介绍(上) Caffe 被用于重新实现AlexNet,然后用AlexNet的特征来解决其他事情 用C++书写的,可以去GitHub上面读取源代码 主要四个类: Blob可以 ...

  5. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时8&&9

    课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层 ...

  6. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时12&&13

    课时12 神经网络训练细节part2(上) 训练神经网络是由四步过程组成,你有一个完整的数据集图像和标签,从数据集中取出一小批样本,我们通过网络做前向传播得到损失,告诉我们目前分类效果怎么样.然后我们 ...

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

    课时10 神经网络训练细节part1(上) 没有大量的数据也不会有太多影响,只需要找一个经过预训练的卷积神经网络然后进行调整 从数据集中抽样一小批数据, 将数据运入卷积神经网络中来计算损失值 通过反向 ...

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

    课时7 线性分类器损失函数与最优化(下) 我们为什么要最大化对数概率而非直接最大化概率? 你在做逻辑斯蒂回归时,如果你只是想要最大化概率,那你使用log是无意义的.因为log函数是单调函数,最大化概率 ...

  9. 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时14&&15

    课时14 卷积神经网络详解(上) CNN处理的是一些数据块,在这之间有很多层,一系列的层将输入数据变换为输出数据,所以完成操作的中间量不仅是NN时候讲的那些向量,而是立体结构,有宽,高和深度,在整个计 ...

随机推荐

  1. flask使用debug模式时,存在错误时,会占用设备内存直至服务重启才释放;debug模式会开启一个守护进程(daemon process)

    函数调用顺序flask的app.py的run-->werkzeug的serving.py的run_simple-->调用werkzeug的debug的__init__.py里的类Debug ...

  2. [Tools] Region commands to collapse the code by group

    For a file which contians lots of lines of code, we can use 'comments region' to collapse the code. ...

  3. Intel的东进与ARM的西征(5)--智慧的大窗口,我们都在画里面

    http://www.36kr.com/p/200168.html 繁华又算得了什么,不过是星尘的崩碎,那一抹青青的灰.公元 79 年,意大利维苏威火山喷发,已然兴盛了 600 年的庞贝古城被完全湮没 ...

  4. Page Design for Sexable Forum

    Design Demo 1. Home of Sexable Forum 1.1  home page not logined. 1,2 home page logined. 2. Pages wit ...

  5. cocos2d-x 3.0 touch事件官方解释

    官方解释 http://www.cocos2d-x.org/docs/manual/framework/native/input/event-dispatcher/zh#_1

  6. Comparable 和 Comparator的理解

    对Comparable 的解释 Comparable是一个排序接口 此接口给实现类提供了一个排序的方法,此接口有且只有一个方法 public int compareTo(T o); compareTo ...

  7. Deep Learning for Robotics 资源汇总

    1 前言 在最新Nature的Machine Intelligence 中Lecun.Hinton和Bengio三位大牛的Review文章Deep Learning中.最后谈The Future Of ...

  8. 《STL源代码剖析》---stl_deque.h阅读笔记(2)

    看完,<STL源代码剖析>---stl_deque.h阅读笔记(1)后.再看代码: G++ 2.91.57,cygnus\cygwin-b20\include\g++\stl_deque. ...

  9. [Android]Android5.0实现静默接听电话功能

    原因: android曾经能够通过AIDL进行静默接听.可是5.0以后就被谷歌给屏蔽了.这时候我们仅仅能通过其它方式实现了. 解决方式: try { Runtime.getRuntime().exec ...

  10. POJ 2482 Stars in Your Window(线段树+扫描线)

    题目链接 非常不容易的一道题,把每个点向右上构造一个矩形,将问题转化为重合矩形那个亮度最大,注意LL,注意排序. #include <cstdio> #include <cstrin ...