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


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

  • 相关阅读:
    学习笔记(4)---JQuery
    学习笔记---ES6
    angular.js的学习笔记(1)
    vue.js学习笔记(1)
    HTML5“爱心鱼”游戏总结
    学习笔记(3)---综合
    学习笔记(2)---CSS中的易混淆点
    学习笔记(1)----水平垂直居中的方法
    javascript:void(0)是什么意思
    private Int32? m_shopid;
  • 原文地址:https://www.cnblogs.com/bxyan/p/6753576.html
Copyright © 2020-2023  润新知