时间:2019/4/1
内容:**函数

课时14:**函数

CS231n 学习笔记(十)
以上步骤:

  • 对数据进行连续批量抽样
  • 通过使用计算图或神经网络将数据进行正向传播,最终得到损失值
  • 通过整个网络的反向传播来计算梯度
  • 然后使用这个梯度来更新网络中的参数或权重

下面几节课将讨论网络训练过程中的细节。包括,在开始时要如何建立起神经网络、选择怎样的**函数、怎样做数据预处理、权重初始化、正则化和梯度检查、训练中的动态变化、监控学习过程、参数选择、超参数选择、模型评估、模型集成。

**函数
Sigmoid
CS231n 学习笔记(十)
存在以下几个问题:

  1. saturated neurons饱和神经元将使得梯度消失:横坐标x过大或过小是曲线处于平滑处,几乎没有梯度,无法得到梯度流的反馈
  2. sigmoid是一个非零中心的函数。这会使得梯度更新的效率非常低
  3. 指数的计算代价比较大

tanh
CS231n 学习笔记(十)
Relu及其变种
CS231n 学习笔记(十)
优势:
在输入空间的一半都不会出现饱和现象;计算成本较低;收敛速度比sigmoid和tannh快
问题:
非零中心;负半轴会出现饱和(梯度消失)
CS231n 学习笔记(十)
不会出现饱和
CS231n 学习笔记(十)
CS231n 学习笔记(十)
CS231n 学习笔记(十)
它的作用是泛化Relu
CS231n 学习笔记(十)

数据预处理
CS231n 学习笔记(十)
零中心化:就像之前讲到的,若所有输入数据都是正的,我们得到的所有梯度也就全是正的。这样得到的基本是次最优的优化。实际上,任意的偏差都会导致这类问题。

归一化数据:所有特征都在相同值域内,并且这些特征贡献相同

注意:

  • 图像应用领域,我们会做零中心化处理,但不会归一化数据。因为对于图像,我们不会真的想要所有的输入
  • 在训练阶段会决定均值,然后我们会将一样的均值应用到测试及数据中

CS231n 学习笔记(十)

  • 对于图像我们只做零均值化的预处理,可以减去张均值(就是总数据的平均值;不分批处理)图像的值;实际上,对一些网络,我们也通过减去单通道(RGB)的均值代替用一整张均值图像来将图像集零中心化。两种效果区别不大,且后者更容易传送和处理。
  • 注意:这里的零均值化只是解决了第一层网络的问题,并不能完全解决sigmoid的问题

初始化权重

  • 权重太小,网络会崩溃(all activations become 0)
  • 权重太大,会出现饱和(Almost all neurons completely saturated, either -1 and 1. Gradients will be all zero.)
  • 初始化权重较好的方式:Xavier初始化(要求输入的方差和输出的方差相等,进而推导出权重)
    CS231n 学习笔记(十)
    参考论文
    CS231n 学习笔记(十)
    CS231n 学习笔记(十)

还需参照课程讲义补充知识
https://zhuanlan.zhihu.com/p/22038289?refer=intelligentunit

相关文章: