【ゼロから作るDeap Learning】7.4~7.6

>100 Views

June 30, 25

スライド概要

profile-image

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

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

2025年前期輪読会 ゼロから作るDeepLearning #10(6/30) CNNの実装 京都大学 理学部 数理科学系 3回 千葉 一世 0

2.

アジェンダ ◼ Convolutionの実装 ◼ Poolingの実装 ◼ フィルターの可視化 ◼ 代表的なCNN 実装コード 1

3.

Convolutionの実装 畳み込み層をそのまま実装しようとするとfor文の繰り返しなどで計算効率が悪い 4次元の画像を上手く二次元に変換することで、畳み込みがただの行列積で実装できる。 im2col , col2imという都合よく画像と二次元行列を変換する関数を用いる。 2

4.

Convolutionの実装 元画像 パディング 二次元行列化 Poolingの場合 • フィルターをかけて、チャンネル間で足し合わせる操作が行列積になっている 3

5.

Convolutionの実装 4

6.

Poolingの実装 5

7.

CNNの実装 一層の畳み込みと2層の線形層で構成する 実装は線形層のみのモデルに畳み込み層とプーリング層を入れるだけで変更点は特に無し 6

8.

学習結果 線形層のみ 畳み込み層あり Train : 99.3% Test : 97.3% Train : 99.9% Test : 98.9% 7

9.

畳み込み層の可視化 学習前のフィルター 学習後のフィルター 学習前はランダムに初期化されただけだが、学習後では縦・横・斜めの模様のような ある程度の規則性を持った状態になっている。 各フィルターが別の役割を持って画像を見ている。 8

10.

畳み込み層の可視化 フィルターによる処理の可視化 ⊗ 9

11.

畳み込み層の可視化 横線強調 エッジ強調 斜め強調 10

12.

畳み込み層の可視化 一層の畳み込みでは、エッジなどの局所的・単純な構造を見るが、層を重ねる毎に 広範囲のテクスチャ・パーツなどを識別できるようになっていく。 https://donglaiw.github.io/proj/mneuron/index.html 11

13.

• LeNet 1998年考案の初期のCNN プーリングではなくサブサンプリング 活性化関数がシグモイド関数 • AlexNet 2012年考案のCNN ReLU, Max Pooling, LRN, Dropout の使用と、 GPUによる計算速度・大規模データ によって精度が大きく向上した 12