梯度下降

Python 深度学习入门

Dan Becker

Data Scientist and contributor to Keras and TensorFlow libraries

梯度下降

ch2_2.003.png

Python 深度学习入门

梯度下降

ch2_2.004.png

Python 深度学习入门

梯度下降

ch2_2.005.png

Python 深度学习入门

梯度下降

ch2_2.006.png

Python 深度学习入门

梯度下降

ch2_2.008.png

Python 深度学习入门

梯度下降

ch2_2.009.png

Python 深度学习入门

梯度下降

ch2_2.010.png

Python 深度学习入门

梯度下降

ch2_2.011.png

Python 深度学习入门

梯度下降

ch2_2.012.png

Python 深度学习入门

梯度下降

ch2_2.013.png

Python 深度学习入门

梯度下降

ch2_2.014.png

Python 深度学习入门

梯度下降

  • 若斜率为正:
    • 反向移动会使数值变小
    • 用当前值减去斜率
    • 步子太大会跑偏
  • 解决方案:学习率
    • 每个权重按"当前值 − 学习率 * 斜率"更新
Python 深度学习入门

斜率计算示例

ch2_2.022.png

  • 计算某个权重的斜率需相乘:
    • 损失函数对我们输入的该节点值的斜率
    • 进入该权重的节点值
    • 激活函数对我们输入值的斜率
Python 深度学习入门

斜率计算示例

ch2_2.028.png

  • 计算某个权重的斜率需相乘:
    • 损失函数对我们输入的该节点值的斜率
    • 进入该权重的节点值
    • 激活函数对我们输入值的斜率
Python 深度学习入门

斜率计算示例

ch2_2.029.png

  • 均方损失对预测的斜率:
    • 2 (预测值 - 实际值) = 2 误差
    • 2 * -4
Python 深度学习入门

斜率计算示例

ch2_2.033.png

  • 计算某个权重的斜率需相乘:
    • 损失函数对我们输入的该节点值的斜率
    • 进入该权重的节点值
    • 激活函数对我们输入值的斜率
Python 深度学习入门

斜率计算示例

ch2_2.035.png

  • 计算某个权重的斜率需相乘:
    • 损失函数对我们输入的该节点值的斜率
    • 进入该权重的节点值
    • 激活函数对我们输入值的斜率
Python 深度学习入门

斜率计算示例

ch2_2.037.png

  • 计算某个权重的斜率需相乘:
    • 损失函数对我们输入的该节点值的斜率
    • 进入该权重的节点值
    • 激活函数对我们输入值的斜率
Python 深度学习入门

斜率计算示例

ch2_2.038.png

  • 计算某个权重的斜率需相乘:
    • 损失函数对我们输入的该节点值的斜率
    • 进入该权重的节点值
    • 激活函数对我们输入值的斜率
Python 深度学习入门

斜率计算示例

ch2_2.044.png

  • 2 * -4 * 3
  • -24
  • 若学习率为0.01,新权重为
  • 2 - 0.01(-24) = 2.24
Python 深度学习入门

含两个输入影响预测的网络

ch2_2.045.png

Python 深度学习入门

计算斜率并更新权重的代码

import numpy as np
weights = np.array([1, 2])
input_data = np.array([3, 4])
target = 6
learning_rate = 0.01
preds = (weights * input_data).sum()
error = preds - target

print(error)
5
Python 深度学习入门

计算斜率并更新权重的代码

gradient = 2 * input_data * error

gradient
array([30, 40])
weights_updated = weights - learning_rate * gradient
preds_updated = (weights_updated * input_data).sum()
error_updated = preds_updated - target

print(error_updated)
2.5
Python 深度学习入门

开始练习吧!

Python 深度学习入门

Preparing Video For Download...