3. Neural Network Basics& Back Propagation

16.从线性分类到两层神经网络

linear f=Wx

2-layer NN f=W2max(0,W1x)

3-layer NN f=W3max(0,W2max(0,W1x))

17.常见的激活函数

fcn神经网络风格迁移 神经网络转移函数_计算机视觉

注:更多隐藏单元的数目代表着更大的容量

18. 神经网络的一般步骤?
  1. 模型初始化
  2. 前向传播
  3. 计算loss
  4. 计算梯度
  5. 反向传播
  6. 权重更新
  7. 迭代直到收敛

4. Improve DNN -1

为什么需要激活函数?
  1. 激活函数对模型学习、理解非常复杂和非线性的函数具有重要作用。
  2. 激活函数可以引入非线性因素。如果不使用激活函数,则输出信号仅是一个简单的线性函数。线性函
  3. 激活函数可以把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好的被分类。
20.为什么激活函数需要非线性函数?
  1. 假若网络中全部是线性部件,那么线性的组合还是线性,与单独一个线性分类器无异。这样就做不到用非线性来逼近任意函数。
  2. 使用非线性激活函数 ,以便使网络更加强大,增加它的能力,使它可以学习复杂的事物。使用非线性激活函数,能够从输入输出之间生成非线性映射。
19. 各种激活函数的优缺点?
  1. sigmoid:
    1)饱和神经元kill了梯度,所谓饱和就是指左下和右上的平缓区域,会造成梯度消失(梯度几乎为0)以及输出y的区分度不高 ----------------改进方式 BN
  1. 输入不是以0为中心

3)幂函数计算费时

  1. tanh:
    神经元会饱和,但是以0为中心
    tanh VS sigmoid
    相同点
  • 优点:平滑
  • 优点:易于求导
  • 缺点:幂运算相对耗时
  • 缺点:导数值小于 1,反向传播易导致梯度消失(Gradient Vanishing)
  • 对于 Sigmoid 函数来说,它的值域是 (0,1),因此又有如下特点
  • 优点:可以作为概率,辅助模型解释
  • 缺点:输出值不以零为中心,可能导致模型收敛速度慢
  1. Relu
    1)不饱和
    2)计算效率高
    3)收敛速度快
    4)比sigmoid更符合生物特性?
    缺点:不是以0为中心的,
20. 什么是Zero-Centered

fcn神经网络风格迁移 神经网络转移函数_深度学习_02

如图,模型参数走绿色箭头能够最快收敛,但由于输入值的符号总是为正,所以模型参数可能走类似红色折线的箭头。如此一来,使用 Sigmoid 函数作为激活函数的神经网络,收敛速度就会慢上不少了。

21. 数据预处理?

白化,PCA,数据中心化

22. 权重初始化

注:不能全0初始化,因为这样无法打破对称性。

  1. 小的随机数初始化 x0.01
  2. 除以输入 sqrt