反向传播实践

Python 深度学习入门

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

反向传播

ch2_4_v2.002.png

Python 深度学习入门

反向传播

ch2_4_v2.003.png

Python 深度学习入门

反向传播

ch2_4_v2.004.png

Python 深度学习入门

反向传播

ch2_4_v2.010.png

Python 深度学习入门

计算任意权重的斜率

  • 某权重的梯度为以下乘积:
    1. 流入该权重的节点值
    2. 被连接节点的激活函数斜率
    3. 损失函数对输出节点的斜率
Python 深度学习入门

反向传播

ch2_4_v2.016.png

Python 深度学习入门

反向传播

ch2_4_v2.017.png

Python 深度学习入门

反向传播

ch2_4_v2.018.png

Python 深度学习入门

反向传播

ch2_4_v2.019.png

Python 深度学习入门

反向传播

ch2_4_v2.020.png

Python 深度学习入门

反向传播

ch2_4_v2.021.png

Python 深度学习入门

反向传播:回顾

  • 从一组随机权重开始
  • 前向传播生成预测
  • 反向传播计算损失对各权重的斜率
  • 用学习率乘以该斜率,从当前权重中减去
  • 重复循环,直到到达平坦区域
Python 深度学习入门

随机梯度下降

  • 常用数据子集(批次,batch)来计算斜率
  • 用不同的批次计算下一次更新
  • 所有数据用完后从头再来
  • 每遍历一遍训练数据称为一个 epoch
  • 每次只用一个批次计算斜率:随机梯度下降
Python 深度学习入门

Passons à la pratique !

Python 深度学习入门

Preparing Video For Download...