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

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

2026年度前期輪読会 #4 2026/5/14
ゼロから作るDeepLearning
ニューラルネットワーク（3.1~3.4）
工学部情報学科 4回生
宮前明生
0


# Page. 2

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

アジェンダ
◼ パーセプトロンからニューラルネットワークへ
◼ 活性化関数
◼ 多次元配列の計算
1


# Page. 3

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

アジェンダ
◼ パーセプトロンからニューラルネットワークへ
◼ 活性化関数
◼ 多次元配列の計算
2


# Page. 4

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

パーセプトロンからニューラルネットワークへ：ニューラルネットワークの変更点
ニューラルネットワークの例について
⚫ 1番左が入力層（画像データやテーブルデータ）
⚫ 真ん中が中間層（隠れ層とも呼ぶ）
⚫ 1番右が出力層（回帰問題なら予測値、分類問題なら予測
クラス確率）
パーセプトロンからニューラルネットワークへの変更点
⚫ 非線形な出力を得るために、
パーセプトロンは閾値を用いた
ニューラルネットワークの例
ニューラルネットワークはより一般化にした活性化関数を用
いる
⚫ 重みを勾配降下法や誤差逆伝播法で適切な値に更新する
3


# Page. 5

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

パーセプトロンからニューラルネットワークへ：パーセプトロンに活性化関数を導入
パーセプトロンの閾値処理を活性化関数ℎ(𝑥)を用いて表現する
ここでは活性化関数として、ステップ関数ℎ(𝑥)を採用している
パーセプトロンの復習
↑ステップ関数ℎ(𝑥)
0 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 0)
𝑦=ቊ
1 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 &gt; 0)
𝑎 = 𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2
𝑦=ℎ 𝑎
0 (𝑥 ≤ 0)
ℎ(𝑥) = ቊ
1 (𝑥 &gt; 0)
4


# Page. 6

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

アジェンダ
◼ パーセプトロンからニューラルネットワークへ
◼ 活性化関数
◼ 多次元配列の計算
5


# Page. 7

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

活性化関数：例①シグモイド関数
シグモイド関数
1
𝜎(𝑥) =
1 + 𝑒 −𝑥
⚫ 基本はステップ関数を滑らかにしたもの
⚫ 𝑥 → −∞のとき𝜎(𝑥) → 0、 𝑥 → ∞のとき𝜎(𝑥) → 1
⚫ パーセプトロンの活性化関数はステップ関数
ニューラルネットワークの活性化関数はシグモ
イド関数やReLU関数
⚫ シグモイド関数を採用する利点としては、導関
数が簡潔になることが挙げられる（計算は省
略）
𝜎′ 𝑥 = 𝜎 𝑥 1 − 𝜎 𝑥
↑シグモイド関数とステップ関数
※勾配降下法で有効
6


# Page. 8

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

活性化関数：例②ReLU関数
ReLU関数
0 𝑥≤0
ℎ(x) = ቊ
𝑥 𝑥&gt;0
⚫ 現代のニューラルネットワークの活性化関数として、シ
グモイドよりもReLUの方が一般的
⚫ シグモイド関数と同様に導関数が簡潔になる
0 𝑥≤0
ℎ′ 𝑥 = ቊ
1 𝑥&gt;0
↑ReLU関数
7


# Page. 9

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

活性化関数：活性化関数が非線形でなければいけない理由
図のような2層ニューラルネットワークを考える。
第1層の活性化関数ℎ1 𝑥 と第2層の活性化関数ℎ2 𝑥
を線形にする。つまり、
ℎ1 𝑥 = 𝑐1 𝑥,
ℎ2 𝑥 = 𝑐2 𝑥
このとき
1
1
1
𝑠1 = ℎ1 𝑤11 𝑥1 + 𝑤12 𝑥2
1
1
2
2
𝑤11
𝑠2 = ℎ1 𝑤21 𝑥1 + 𝑤22 𝑥2
1
1
2
1
+ 𝑤2 𝑐1 ቀ𝑤21 𝑥1 +
1
𝑤22 𝑥2 ቁ ቁ
2
1
= 𝑐1 𝑐2 𝑤1 𝑤11 + 𝑤2 𝑤21
2
2
1
𝑦 = 𝑐2 ቀ𝑤1 𝑐1 𝑤11 𝑥1 + 𝑤12 𝑥2
1
𝑤2
1
𝑦を𝑥1 , 𝑥2 で表すと、
2
2
𝑤12
𝑦 = ℎ2 𝑤1 𝑠1 + 𝑤2 𝑠2
2
𝑤1
2
𝑤21
1
𝑤22
1
𝑥1 + 𝑐1 𝑐2 ቀ𝑤1 𝑤12 +
1
𝑤2 𝑤22 ቁ 𝑥2
結局 𝑦 = 𝑐1′ 𝑥1 + 𝑐2′ 𝑥2 となり、2層にしても出力は線
形でしか表現できない
8


# Page. 10

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

アジェンダ
◼ パーセプトロンからニューラルネットワークへ
◼ 活性化関数
◼ 多次元配列の計算
9


# Page. 11

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

多次元配列の計算：行列の積
行列の積
⚫ 行列の横の並びを行、縦の並びを列と呼ぶ
⚫ 行列の積ABについて、 𝑖, 𝑗 成分はAの𝑖番目
の行ベクトルとBの𝑗番目の列ベクトル
ニューラルネットワークの重み行列
⚫
𝑥1 , 𝑥2 → 𝑦1 , 𝑦2 , 𝑦3 の計算を単純に𝑿𝑾 = 𝒀
表せる
↑行列の積AB
10


# Page. 12

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

多次元配列の計算：行列の積のコード
⚫ Numpyでは、行列の積はnp.dotや@で実行
できる
↑行列の積AB
11


