【ゼロから作るDeap Learning】5.3~5.4

105 Views

June 02, 25

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

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

2.

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

3.

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

4.

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

5.

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

6.

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

7.

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

8.

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

9.

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

10.

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

11.

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