522 Views
July 08, 24
スライド概要
AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!
2024年度前期輪読会 #11 - ゼロから作るDeep Learning CNNの実装と可視化(7.4~7.8) 京都大学工学研究科M1 阿戸豪 0
目次 目次 01 Convolution/Pooling層の実装 (7.4) 02 CCNの実装 (7.5) 03 CNNの可視化 (7.6) 04 代表的なCNN (7.7) 05 まとめ 1
目次 目次 01 Convolution/Pooling層の実装 (7.4) 02 CCNの実装 (7.5) 03 CNNの可視化 (7.6) 04 代表的なCNN (7.7) 05 まとめ 2
Convolution/Pooling層の実装 (7.4) Im2Col による展開 愚直に Im2Col ● * ・ ・ ・ 入力データを展開する ・ ・ ・ dim 4 Im2Col dim 2 For文の繰り返し Numpyでは処理に時間がかかる × 高速な行列演算ができるnumpyの 恩恵を最大限に受けられる 3
Convolution/Pooling層の実装 (7.4) Convolution層の実装 カーネル当たりの 要素数 Im2Col OW×OH ×batch数 × FN ・ ・ ・ (バッチ数,チャネル数,height, width) Reshape ・ ・ ・ フィルター数 FN dim 2 4
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
目次 目次 01 Convolution/Pooling層の実装 (7.4) 02 CCNの実装 (7.5) 03 CNNの可視化 (7.6) 04 代表的なCNN (7.7) 05 まとめ (7.8) 6
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
CNNの実装 (7.5) ネットワーク構成 Conv ReLU Pooling Affine ReLU Affine Softmax 結果 8
目次 目次 01 Convolution/Pooling層の実装 (7.4) 02 CCNの実装 (7.5) 03 CNNの可視化 (7.6) 04 代表的なCNN (7.7) 05 まとめ (7.8) 9
CNNの可視化 (7.6) フィルターの可視化 * ・ ・ ・ 斜めのエッジが強調される 学習後 横のエッジが強調される エッジやプロブ(局所的に塊がある領域)などの プリミティブな情報を抽出できるようになる。 10
CNNの可視化 (7.6) 階層構造の重みフィルター 終盤層の特徴マップほど,高レベル特徴(物体全体領域のクラスごとの特徴)が,畳み込み層に 学習される.逆に,序盤層の特徴マップでは低レベル特徴(エッジ・色など)が畳み込み層へ学 習される。 引用(https://medium.com/@siddheshb008/alexnet-architecture-explained-b6240c528bd5) 11
CNNの可視化 (7.6) おまけ 数字認識のプロセスが視覚的にわかるサイト https://adamharley.com/nn_vis/cnn/3d.html 12
目次 目次 01 Convolution/Pooling層の実装 (7.4) 02 CCNの実装 (7.5) 03 CNNの可視化 (7.6) 04 代表的なCNN (7.7) 05 まとめ (7.8) 13
代表的なCNN(7.7) LeNet LeNet-5 [LeCun et al.,(1998)] は画像認識CNNの基礎となった先駆的研究。 省モデル化と(各層の段階での)局所並行移動不変性を実現した 文献より引用 [特徴] ・7層のニューラルネットワーク ・誤差逆伝搬 ・ゼロパディング無し ・平均プーリング ・活性化関数はtanhやSigmoid 14
代表的な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
まとめ まとめ1 まとめ2 まとめ3 Im2Colを用いて、行列の積として畳み込みを処理することで、高速な計算を実現することが できる。 終盤層の特徴マップほど,高レベル特徴(物体全体領域のクラスごとの特徴)が,畳み込み層に学習さ れる.逆に,序盤層の特徴マップでは,など低レベル特徴(エッジ・色など)が畳み込み層へ学習される. LeNetは画像認識CNNの基礎となった先駆的研究。 AlexNet はGPUを使って,大規模な学習に成功した。 16
17