CS231n 6.1激活函数 学习笔记

最小批量梯度下降

训练神经网络

内容总述

  1. 准备
  • 我们在刚开始要如何建立起神经网络
  • 要选择什么样的激活函数
  • 怎么做数据预处理
  • 权重初始化、正则化和梯度检查
  1. 动态训练
  • 如何监督这个学习过程
  • 如何选择参数的特定更新规则
  • 怎样做超参数优化从而获取最佳超参数
  1. 模型评估和模型集成

激活函数

  • Sigmoid函数
    在这里插入图片描述
    CS231n 6.1激活函数 学习笔记_第1张图片
    问题:(1) 饱和神经元使得梯度消失
    (2) Sigmoid是一个非零中心的函数
    当神经元输入始终为正或始终为负时,W将会始终朝着一个方向更新
    (3) 指数函数的计算代价比较高

  • tanh函数
    CS231n 6.1激活函数 学习笔记_第2张图片 - ReLU函数(Rectified Linear Unit)
    ReLU = max(0,x)
    CS231n 6.1激活函数 学习笔记_第3张图片
    优点:(1) 解决了函数在输入大于零的区间的饱和性的问题
    (2) 计算量不大,收敛速度比上述两个函数都快,大概快6倍
    (3) 有更精确的估计
    Alexnet 就利用了这个函数
    问题:(1) 不以零为中心
    (2) 负半轴的部分仍存在饱和的现象
    这种现象也被我们称为dead ReLU
    有时在初始化时稍正向的初始化ReLU,以增加概率,但实际应用不多,多数时候知识将偏置项初始化为0

  • Leaky ReLU函数
    f(x) = max(0.01*x,x)
    CS231n 6.1激活函数 学习笔记_第4张图片

  • Exponential Linear Units ( ELU )
    CS231n 6.1激活函数 学习笔记_第5张图片
    在这里插入图片描述

  • 最大输出神经元

实际当中
用ReLU时要注意学习率的设置
可以尝试使用Leaky ReLU / Maxout / ELU
尝试使用tanh但是不要抱有太大的期望
不要使用sigmoid

数据预处理??

一般来说我们总是希望预处理数据
初始数据 -> 零均值化数据 -> 归一化数据 ( 通过标准差 )
还有一些更加复杂的数据预处理的操作,比如PCA 、白化
在图像处理领域中,我们做零均值化而不做归一化,并且一般也不会进行更加复杂的操作

你可能感兴趣的:(CS231n)