前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >读书笔记 | 《深度学习入门:基于Python的理论与实现》| (3)

读书笔记 | 《深度学习入门:基于Python的理论与实现》| (3)

作者头像
yiyun
发布2022-04-01 16:08:26
6600
发布2022-04-01 16:08:26
举报
文章被收录于专栏:yiyun 的专栏

1. 简介

高效计算 权重参数的梯度 的方法 -> 误差反向传播法

2. 计算图

2.1 用计算图求解

问题1

问题2

太郎在超市买了2个苹果、3个橘子。 其中,苹果每个100日元,橘子每个150日元。 消费税是10%,请计算支付金额。

计算图解题 流程

代码语言:javascript
复制
1.构建计算图

2.在计算图上,从左向右进行计算 ->
	正向传播(forward propagation) ->
		反向(从图上看的话,就是从右向左)的传播 ->
			反向传播(backward propagation)

2.2 局部计算

各个节点处只需进行与自己有关的计算 计算图将复杂的计算 分割成简单的 局部计算, 和流水线作业一样, 将局部计算的结果传递给下一个节点。

2.3 为何用计算图解题

使用计算图最大的原因是, 可以通过反向传播高效计算导数

苹果价格 的上涨 会在多大程度上 影响 最终的 支付金额 ? 求“支付金额关于苹果的价格的导数”

通过 计算图的反向传播 求导数

3. 链式法则

3.1 计算图的反向传播

3.2 什么是链式法则

链式法则 是 关于 复合函数 导数的性质 若 某函数 由 复合函数表示, 则该 复合函数 的导数 可用构成复合函数的各个函数 的导数的乘积表示 复合函数求导-》层层求导,外层×内层 反向传播 基于 链式法则

3.3 链式法则和计算图

4. 反向传播

反向传播 基于 链式法则

4.1 加法节点的反向传播

4.2 乘法节点的反向传播

乘法的反向传播会乘以输入信号的翻转值, 所以 各自可按 1.3 × 5 = 6.5、1.3 × 10 = 13 计算。

4.3 苹果的例子

此问题 相当于 求:

  1. 支付金额关于苹果的价格的导数
  2. 支付金额关于苹果的个数的导数
  3. 支付金额关于消费税的导数

用计算图 反向传播 实现 求导

由图可知

苹果的价格的导数是2.2

苹果的个数的导数是110

消费税的导数是200

:购买苹果和橘子

注意:中间有 加法运算

5. 简单层的实现

把要实现的计算图的 乘法节点称为“乘法层”(MulLayer), 加法节点称为“加法层”(AddLayer)

5.1 乘法层的实现

5.2 加法层的实现

6. 激活函数层的实现

6.1 ReLU层

ReLU(Rectified Linear Unit)

若正向传播时的输入x大于0, 则反向传播会将上游的值原封不动地传给下游 若正向传播时的x小于等于0, 则反向传播中传给下游的信号将停在此处

6.2 Sigmoid层

计算图

反向传播 流程

步骤1

反传时,将上游值 乘以 -y^2 (正向传播的输出的平方 乘以 -1 后的值)后的值, 再传给下游

步骤2
步骤3
步骤4

“×”节点将正向传播时的值翻转后做乘法运算。 因此,这里要乘以−1

Sigmoid层的计算图

7. Affine/Softmax层的实现

7.1 Affine层

  1. 几何中,仿射变换包括一次线性变换和一次平移,分别对应神经网络的加权和运算与加偏置运算。

矩阵为对象的反向传播:

计算图的反向传播:

参考

感谢帮助!

  • 《深度学入门:基于Python的理论与实现》[日]斋藤康毅 著、 陆宇杰 译

本文作者: yiyun

本文链接: https://moeci.com/posts/分类-读书笔记/DL-start-with-Python-3/

版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 简介
  • 2. 计算图
    • 2.1 用计算图求解
      • 问题1
      • 问题2
      • 计算图解题 流程
    • 2.2 局部计算
      • 2.3 为何用计算图解题
      • 3. 链式法则
        • 3.1 计算图的反向传播
          • 3.2 什么是链式法则
            • 3.3 链式法则和计算图
            • 4. 反向传播
              • 4.1 加法节点的反向传播
                • 4.2 乘法节点的反向传播
                  • 4.3 苹果的例子
                    • 用计算图 反向传播 实现 求导
                    • 练习:购买苹果和橘子
                • 5. 简单层的实现
                  • 5.1 乘法层的实现
                    • 5.2 加法层的实现
                    • 6. 激活函数层的实现
                      • 6.1 ReLU层
                        • 6.2 Sigmoid层
                          • 计算图
                          • 反向传播 流程
                          • Sigmoid层的计算图
                      • 7. Affine/Softmax层的实现
                        • 7.1 Affine层
                        • 参考
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档