---
title: 【ゼロから作るDeep Learning】7.4~7.8
tags: 
author: [京都大学人工知能研究会KaiRA](https://convert.docswell.com/user/kyoto-kaira)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4EM43QLPJW.jpg?width=480
description: 【ゼロから作るDeep Learning】7.4~7.8 by 京都大学人工知能研究会KaiRA
published: July 08, 24
canonical: https://convert.docswell.com/s/kyoto-kaira/Z98E49-2024-07-08-193049
---
# Page. 1

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

2024年度前期輪読会 #11 - ゼロから作るDeep Learning
CNNの実装と可視化(7.4~7.8)
京都大学工学研究科M1
阿戸豪
0


# Page. 2

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

目次
目次
01 Convolution/Pooling層の実装 (7.4)
02 CCNの実装 (7.5)
03 CNNの可視化 (7.6)
04 代表的なCNN (7.7)
05 まとめ
1


# Page. 3

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

目次
目次
01 Convolution/Pooling層の実装 (7.4)
02 CCNの実装 (7.5)
03 CNNの可視化 (7.6)
04 代表的なCNN (7.7)
05 まとめ
2


# Page. 4

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

Convolution/Pooling層の実装 (7.4)
Im2Col による展開
愚直に
Im2Col
●
*
・
・
・
入力データを展開する
・
・
・
dim 4
Im2Col
dim 2
For文の繰り返し
Numpyでは処理に時間がかかる
×
高速な行列演算ができるnumpyの
恩恵を最大限に受けられる
3


# Page. 5

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

Convolution/Pooling層の実装 (7.4)
Convolution層の実装
カーネル当たりの
要素数
Im2Col
OW×OH
×batch数
×
FN
・
・
・
(バッチ数,チャネル数,height, width)
Reshape
・
・
・
フィルター数
FN
dim 2
4


# Page. 6

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

Convolution/Pooling層の実装 (7.4)
Pooling層の実装
1チャネル内のカーネル当たりの要素数
Im2Col
1
1
1
1
2
2
OW×OH
×チャネル×batch
Input
要素内の最大値
(Max Poolingの場合)
1
1
1
1
2
2
Output
5


# Page. 7

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

目次
目次
01 Convolution/Pooling層の実装 (7.4)
02 CCNの実装 (7.5)
03 CNNの可視化 (7.6)
04 代表的なCNN (7.7)
05 まとめ (7.8)
6


# Page. 8

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

CNNの実装 (7.5)
ネットワーク構成
Conv
ReLU
Pooling
Affine
ReLU
Affine
Softmax
Parameters
---------input_size : 入力サイズ（チャネル・高さ・幅）
hidden_size_list : 隠れ層のニューロンの数のリスト
output_size : 出力サイズ（MNISTの場合は10）
conv_param : フィルター数,フィルターサイズ,パッド,ストライド
weight_init_std : 重みの標準偏差を指定（e.g. 0.01）
7


# Page. 9

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

CNNの実装 (7.5)
ネットワーク構成
Conv
ReLU
Pooling
Affine
ReLU
Affine
Softmax
結果
8


# Page. 10

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

目次
目次
01 Convolution/Pooling層の実装 (7.4)
02 CCNの実装 (7.5)
03 CNNの可視化 (7.6)
04 代表的なCNN (7.7)
05 まとめ (7.8)
9


# Page. 11

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

CNNの可視化 (7.6)
フィルターの可視化
*
・
・
・
斜めのエッジが強調される
学習後
横のエッジが強調される
エッジやプロブ(局所的に塊がある領域)などの
プリミティブな情報を抽出できるようになる。
10


# Page. 12

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

CNNの可視化 (7.6)
階層構造の重みフィルター
終盤層の特徴マップほど，高レベル特徴(物体全体領域のクラスごとの特徴)が，畳み込み層に
学習される．逆に，序盤層の特徴マップでは低レベル特徴(エッジ・色など)が畳み込み層へ学
習される。
引用(https://medium.com/@siddheshb008/alexnet-architecture-explained-b6240c528bd5)
11


# Page. 13

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

CNNの可視化 (7.6)
おまけ
数字認識のプロセスが視覚的にわかるサイト
https://adamharley.com/nn_vis/cnn/3d.html
12


# Page. 14

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

目次
目次
01 Convolution/Pooling層の実装 (7.4)
02 CCNの実装 (7.5)
03 CNNの可視化 (7.6)
04 代表的なCNN (7.7)
05 まとめ (7.8)
13


# Page. 15

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

代表的なCNN(7.7)
LeNet
LeNet-5 [LeCun et al.,(1998)] は画像認識CNNの基礎となった先駆的研究。
省モデル化と(各層の段階での)局所並行移動不変性を実現した
文献より引用
[特徴]
・7層のニューラルネットワーク
・誤差逆伝搬
・ゼロパディング無し
・平均プーリング
・活性化関数はtanhやSigmoid
14


# Page. 16

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

代表的なCNN(7.7)
AlexNet
AlexNet [Krizhevsky et al., 2012] はGPUを使って，大規模な学習に成功。
「ISLVRC 2012」(物体認識のコンペ)において，2位よりも10%以上低い値で優勝した。
[特徴]
・8層のニューラルネットワーク
・学習パラメータは6000万
(LeNetは6万)
・ReLUの採用
・データ拡張やDropoutの導入
・平均プーリング
・重なりあり最大値プーリング
引用(https://medium.com/@siddheshb008/alexnet-architecture-explained-b6240c528bd5)
15


# Page. 17

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

まとめ
まとめ１
まとめ２
まとめ３
Im2Colを用いて、行列の積として畳み込みを処理することで、高速な計算を実現することが
できる。
終盤層の特徴マップほど，高レベル特徴(物体全体領域のクラスごとの特徴)が，畳み込み層に学習さ
れる．逆に，序盤層の特徴マップでは，など低レベル特徴(エッジ・色など)が畳み込み層へ学習される．
LeNetは画像認識CNNの基礎となった先駆的研究。
AlexNet はGPUを使って，大規模な学習に成功した。
16


# Page. 18

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

17


