课时10 神经网络训练细节part1(上)

没有大量的数据也不会有太多影响,只需要找一个经过预训练的卷积神经网络然后进行调整

  1. 从数据集中抽样一小批数据,
  2. 将数据运入卷积神经网络中来计算损失值
  3. 通过反向传播来确定梯度
  4. 最后通过梯度值来微调权值的数值

sihmoid函数

是一个挤压函数,取值为0到1之间的实数

他的第一个问题:一个饱和的神经元,也就是说这个神经元的输出要么非常接近0要么非常接近1,这些神经元会导致在反向传播算法中出现梯度趋0的问题。这个问题就叫做梯度弥散(消失)。他有个激活区域。

另一个问题:他的输出不是关于原点中心对称的。收敛速度将会是非常慢的。

最后一个问题:和别的一些函数相比,该函数只能怪关于x的计算其实是很耗时的。

tanh(x)

解决了sigmoid函数不是关于原点对称的问题。他就好比两个sigmoid函数叠在一起,最终的输出处于-1到1之间

问题:梯度依旧可能饱和,这样梯度就无法在网络中传播

ReLU

首先他至少在输入为正时不会饱和;他在计算上是非常高效的,只需要进行比较而已;收敛的很快。我们将他称为ReLU神经网络或者修正线性单元。

问题:他也不是关于原点中心对称,还有就是,在反向传播中,当输入的神经元小于0时,梯度会消散。非激活的输入值无法进行反向传播,他的权值不会被更新,可以说他什么都不会做;当x为0时,梯度是未定义的。

出现神经元在数据集外的两种情况:一种是在初始化过程中,把权重设置成不能使神经元激活的数值,这种情况下神经元是不会训练的;更常见的情况是在训练过程中给你的学习率太高了,想象一下这些神经元在一定范围内波动,可能会发生数据多样性丢失,这种情况下神经元将不会再被激活,并且数据多样性的丢失不可逆转。

如何修正ReLU?

Leaky ReLU

基本思想就是阿尔法成为网络中的一个参数,可以通过反向传播学习这个参数

ELU

继承了ReLU的所有优点。

不同的激活函数会使你得到不同的权重值

优化过程不仅仅是有关损失函数的,还与梯度反向流转的动态过程有关

在图像中所有的特征都是像素,并且取值在0到255之间

在图像处理中常见的是均值中心化处理,每张图像以进行中心化处理从而获得更好的训练效果,另一种方法是减去单通道均值,在红绿蓝三色通道中分别计算最后得到三个数值

PCA存在的问题是不能应用于图像处理,因为图像有很多像素,是很多维的数据对象,所以协方差矩阵会非常庞大,人们可以做的是进行局部白化处理,就是在图像中加入一个白化过滤器

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

  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—深度学习与计算机视觉----学习笔记 课时11

    课时11 神经网络训练细节part1(下) 2010年,Glorot等人写的论文,我们称之为Xavier初始化,他们关注了神经元的方差表达式.他们推荐一种初始化方式,那就是对每个神经元的输入进行开根号 ...

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

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

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

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

随机推荐

  1. 关于linter

    各类代码都有规则格式检查工具,称之为linter 比如:csslint/jslint/eslint/pylint sumlime提供了一个linter的框架SublimeLinter,在里面可以使用各 ...

  2. Shiro源代码分析之两种Session的方式

    1.Shiro默认的Session处理方式 <!-- 定义 Shiro 主要业务对象 --> <bean id="securityManager" class=& ...

  3. HeatMap(热图)的原理和实现

    先来看两张图: (1)10年世界杯决赛,冠军西班牙队中门将.后卫.中场及前锋的跑位热图 通过热图,我们可以很清楚的看出四个球员在比赛中跑动位置的差异. (2)历史地震震源位置的热图 也可以很清楚的看出 ...

  4. hadoop-mapreduce中reducetask执行分析

    ReduceTask的执行 Reduce处理程序中须要运行三个类型的处理, 1.copy,从各map中copy数据过来 2.sort,对数据进行排序操作. 3.reduce,运行业务逻辑的处理. Re ...

  5. Loadrunner IP欺骗

    一.为什么要设置IP欺骗 1. 当某个IP的訪问过于频繁,或者訪问量过大时,server会拒绝訪问请求.这时候通过IP欺骗能够添加訪问频率和訪问量,以达到压力測试的效果. 2. 某些server配置了 ...

  6. WebService Get/Post/Soap 方式请求

    import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.io.InputStream; im ...

  7. [Other]来做一个微信打印机吧 -- 微信打印的设计思路參考

    项目源代码地址:https://github.com/callmewhy/why-wechat-printer 近期微信打印机小火了一把.比方印美团.747微信打印机,都是利用微信公共平台实现照片的打 ...

  8. Posix信号量操作函数

    Posix信号量: 分类: Posix有名信号量:使用Posix IPC名字标识,可用于线程或进程间同步Posix基于内存的信号量:存放在共享内存区中,可用于进程或线程间的同步 sem_open(). ...

  9. deepin os 15.4 切换jdk版本

    sudo update-alternatives --config javasudo update-alternatives --config javacsudo update-alternative ...

  10. Pycharm下运行程序查看每个变量的值的方法(类似于Spyder和MATLAB)

    昨天,用了大量篇幅讲了Spyder的各种问题,之所以要用Spyder,最重要的一个原因就是能够非常方便的查看中间变量的值.类似MATLAB的工作空间,非常方便.如下图所示: 但是Spyder的代码自动 ...