课时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. jmeter Plugins Manager插件管理

    在 https://jmeter-plugins.org/downloads/all/ 下载插件,放到lib/ext Download plugins-manager.jar and put it i ...

  2. linux 状态与系统调优

    什么样的cup 才算是负载高呢?才算忙呢?

  3. 把握linux内核设计思想(十二):内存管理之slab分配器

    [版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流.请勿用于商业用途] 上一节最后说到对于小内存区的请求,假设採用伙伴系统来进行分配,则会在页内产生非 ...

  4. linux下ndk编译命令行程序及配置

    1.在http://developer.android.com/tools/sdk/ndk/index.html下载Android-ndk-r8e-linux-x86.tar.bz2,解压后把andr ...

  5. Flash/Flex获取外部参数

    Part One:Flex程序如何获取html容器传递的URL参数值 我们经常在Flex程序需要用从外部html向swf文件传递参数,(类似 test.html?name=jex&addres ...

  6. Expression Tree 学习笔记(一)

    大家可能都知道Expression Tree是.NET 3.5引入的新增功能.不少朋友们已经听说过这一特性,但还没来得及了解.看看博客园里的老赵等诸多牛人,将Expression Tree玩得眼花缭乱 ...

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

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

  8. Intel的东进与ARM的西征(4)--理想的星空,苹果处理器之野望

    http://www.36kr.com/p/200031.html “人生五十年,如梦亦如幻.有生斯有死,壮士何所憾?”之所以没有遗憾,是因为有了理想. 公元 1582 年,日本战国时期最著名的霸主, ...

  9. mac上pydev

    转自:http://m.blog.csdn.net/blog/yangfu132/23689823 本来网上有教程,但是往往又一些不周到的地方,让人走了不少弯路. 使用 PyDev 进行调试 第一步: ...

  10. windows下使用F2PY编译fortran文件的问题

    在windo系统下F2PY不支持gcc+gfortran的组合,解决的办法: 1.安装mingw和msys,在msys环境下使用F2PY调用gcc+gfortran进行编译 2.放弃F2PY,直接gf ...