---
title: 【ゼロから作るDeap Learning】5.1~5.4
tags: 
author: [京都大学人工知能研究会KaiRA](https://docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GJ8DW25LJD.jpg?width=480
description: 【ゼロから作るDeap Learning】5.1~5.4 by 京都大学人工知能研究会KaiRA
published: May 28, 26
canonical: https://docswell.com/s/kyoto-kaira/KL3QN3-2026-05-28-215127
---
# Page. 1

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

2026前期輪読会 #6 2026/05/28
ゼロから作るDeep Learning
5.1-5.4：誤差逆伝播法
京都大学工学部理工化学科B3
岡本 和優
0


# Page. 2

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

アジェンダ
◼ 5.1 計算グラフ
◼ 5.2 連鎖律
◼ 5.3 逆伝播
◼ 5.4 単純なレイヤの実装
1


# Page. 3

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

アジェンダ
◼ 5.1 計算グラフ
◼ 5.2 連鎖律
◼ 5.3 逆伝播
◼ 5.4 単純なレイヤの実装
2


# Page. 4

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

計算グラフの意味と目的
ノードと矢印で計算の過程を表すことで局所的な計算に着目する
問1：1個税抜100円のリンゴを2個買う時の代金は？
演算が複雑になっても局所的には簡単な計算に還元できる
この値を知るだけでOK！
計算グラフを使った問題の解き方
1.
2.
計算グラフを作る
計算を左→右に進める
左→右を順伝播、
右→左を逆伝播と呼ぶ
3


# Page. 5

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

計算グラフによる微分計算
局所的な微分の積み重ねで各変数の微分が効率よく計算できる！
ex. 問1でリンゴの値段が上がった時支払いはどれくらい増える？
𝜕𝐿
支払い金額を𝐿、リンゴの値段を𝑥とすると𝜕𝑥 に対応する
逆伝播の計算で簡単に求められる！（後述）
リンゴが1円値上がりすると、支払いは2.2円増える
4


# Page. 6

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

アジェンダ
◼ 5.1 計算グラフ
◼ 5.2 連鎖律
◼ 5.3 逆伝播
◼ 5.4 単純なレイヤの実装
5


# Page. 7

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

計算グラフの逆伝播
局所的な微分を乗算して逆向きに流していく
規則はシンプルで、局所的な微分をかけて逆向きに流していくだけ
目的は連鎖律を使って微分の値を効率よく求めること
cf. 連鎖律
𝜕𝑧 𝜕𝑧 𝜕𝑡
=
𝜕𝑥 𝜕𝑡 𝜕𝑥
←𝜕𝑡が互いに打ち消し合うイメージ
6


# Page. 8

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

連鎖律と計算グラフ
連鎖律を計算グラフで表すと逆伝播の規則が得られる！
𝑧 = 𝑡 2 , 𝑡 = 𝑥 + 𝑦の合成関数の微分を計算グラフで考える
𝜕𝑧
𝜕𝑥
𝜕𝑧
を得るために
𝜕𝑧
𝜕𝑡
、 、 、
𝜕𝑧 𝜕𝑡 𝜕𝑥
と局所的な微分を順番にかけている
→逆伝播の規則が得られた！
7


# Page. 9

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

アジェンダ
◼ 5.1 計算グラフ
◼ 5.2 連鎖律
◼ 5.3 逆伝播
◼ 5.4 単純なレイヤの実装
8


# Page. 10

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

加算ノードの逆伝播
上流の値をそのまま下流へ流す
𝜕𝑧
𝑑𝑧
𝑧 = 𝑥 + 𝑦を考えると、𝜕𝑥 = 𝑑𝑦 = 1
加算ノードの逆伝播では上流から伝わった微分をそのまま次のノードに流す
𝜕𝑧
𝜕𝑥
9


# Page. 11

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

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


# Page. 12

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

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


# Page. 13

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

アジェンダ
◼ 5.1 計算グラフ
◼ 5.2 連鎖律
◼ 5.3 逆伝播
◼ 5.4 単純なレイヤの実装
12


# Page. 14

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

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


# Page. 15

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

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


# Page. 16

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

リンゴ2個とみかん3個の買い物の実装
定義した加算レイヤと乗算レイヤを組み合わせる
層を逐次的に組み合わせていく、
という感覚はニューラルネットワーク
の実装にも繋がります！
15


# Page. 17

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

まとめ
逆伝播を使って微分が計算できることが確認できた！
計算グラフと逆伝播
• 計算グラフ：計算の過程をノードと矢印で表現し、
複雑な計算を局所的には単純な計算に還元する
• 逆伝播：計算グラフを逆むきに流し、連鎖室を利用して微分計算を効率的に行う
加算ノードと乗算ノードの逆伝播
• 加算ノード：上流から伝わった微分をそのまま次のノードに流す
• 乗算ノード：上流から伝わった微分に、順伝播の入力を
ひっくり返した値をかけて下流に流す
Google Colab
16


