---
title: 【ゼロから作るDeap Learning】5.3~5.4
tags:  #誤差逆伝播法  
author: [京都大学人工知能研究会KaiRA](https://www.docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GE52YVL2E4.jpg?width=480
description: 【ゼロから作るDeap Learning】5.3~5.4 by 京都大学人工知能研究会KaiRA
published: June 02, 25
canonical: https://www.docswell.com/s/kyoto-kaira/KV1WLQ-2025-06-02-203059
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GE52YVL2E4.jpg)

KaiRA ゼロつく輪読会 #6 (2025/6/2)
ゼロから作るDeep Learning
5.3-5.4：逆伝播
京都大学工学部理工化学科B2
岡本 和優
0


# Page. 2

![Page Image](https://bcdn.docswell.com/page/9724G3L1ER.jpg)

アジェンダ
◼ 5.3 逆伝播
◼ 5.4 単純なレイヤの実装
1


# Page. 3

![Page Image](https://bcdn.docswell.com/page/DJYMV1Q4JM.jpg)

アジェンダ
◼ 5.3 逆伝播
◼ 5.4 単純なレイヤの実装
2


# Page. 4

![Page Image](https://bcdn.docswell.com/page/V7NWM2K678.jpg)

加算ノードの逆伝播
上流の値をそのまま下流へ流す
𝜕𝑧
𝑑𝑧
𝑧 = 𝑥 + 𝑦を考えると、 =
=1
𝜕𝑥
𝑑𝑦
したがって、加算ノードでは上流から伝わった微分をそのまま次のノードに流すだけになる
𝜕𝐿
𝜕𝑧
× ( = 1)
𝜕𝑧
𝜕𝑥
𝑥
𝑧
+
𝑦
+
𝜕𝐿
𝜕𝑧
𝜕𝐿
𝜕𝑧
× ( = 1)
𝜕𝑧
𝜕𝑦
3


# Page. 5

![Page Image](https://bcdn.docswell.com/page/YJ9XN1VRE3.jpg)

乗算ノードの逆伝播
順伝播のときの入力をひっくり返した値をかけて下流に流す
𝜕𝑧
𝑑𝑧
𝑧 = 𝑥𝑦を考えると、 = 𝑦,
=𝑥
𝜕𝑥
𝑑𝑦
したがって、乗算ノードでは上流から伝わった微分に、順伝播の際の入力をひっくり返した値
をかけて下流に流すことになる
𝜕𝐿
𝜕𝑧
× ( = 𝑦)
𝜕𝑧
𝜕𝑥
𝑥
𝑧
×
𝑦
×
𝜕𝐿
𝜕𝑧
𝜕𝐿
𝜕𝑧
× ( = 𝑥)
𝜕𝑧
𝜕𝑦
4


# Page. 6

![Page Image](https://bcdn.docswell.com/page/GJ82K4PGJD.jpg)

リンゴの買い物の逆伝播の例
リンゴの値段が1円上がると最終的な支払い金額は何円上がる？
• リンゴの値段の微分が2.2→リンゴの値段が1円上がると最終的な支払いは+2.2円
• 消費税の微分が200→消費税が1（100%）上がると最終的な支払いは+200円
p.136 図5-14
5


# Page. 7

![Page Image](https://bcdn.docswell.com/page/LJL2Z61XER.jpg)

アジェンダ
◼ 5.3 逆伝播
◼ 5.4 単純なレイヤの実装
6


# Page. 8

![Page Image](https://bcdn.docswell.com/page/47M8V5W37W.jpg)

乗算レイヤ・加算レイヤの実装
forward、backwardをそれぞれ定義
7


# Page. 9

![Page Image](https://bcdn.docswell.com/page/P7R523YRJ9.jpg)

リンゴ2個の買い物の実装
定義した乗算レイヤを組み合わせる
• backward()を呼び出す順番はforward()
のときと逆の順番
• backward()の引数に、
「順伝播の際の出力変数に対する微分」
を入力することに注意
8


# Page. 10

![Page Image](https://bcdn.docswell.com/page/PJXKD4GY7X.jpg)

リンゴ2個とみかん3個の買い物の実装
定義した加算レイヤと乗算レイヤを組み合わせる
p.140 図5-17
9


# Page. 11

![Page Image](https://bcdn.docswell.com/page/3JK5XZ447D.jpg)

まとめ
加算ノードと乗算ノードの逆伝播の計算ができるようになった！
• 加算ノード：上流から伝わった微分をそのまま次のノードに流す
• 乗算ノード：上流から伝わった微分に、順伝播の際の入力を
ひっくり返した値をかけて下流に流す
• 連鎖率を利用することで微分の計算が効率的に行える
Google Colabのリンク
10


