7.1 全体の構造 7.2 畳み込み層 7.3 プーリング層 7.4 Convolution/Poolinng レイヤの実装 7.5 CNN の実装 7.6 CNN の可視化 7.7 代表的な CNN 7.8 まとめ |
関連用語
・Convolutional Neural Network:CNN) 畳み込みニューラルネットワーク
・画像認識、音声認識
・Convolutionレイヤ(畳み込み層)
・Poolingレイヤ(プーリング層)
・全結合(Fully-connected)
・Affineレイヤの実装
・CNNのネットワーク構成
・3次元データによる表現
・全結合層の問題点…データの形状が無視される
・特徴マップ(feature map):畳み込み層の入出力データ
・入力特徴マップ(input feature map):畳み込み入力データ
・出力特徴マップ(output feature map):畳み込み出力データ
・畳み込み演算/フィルター演算
・height(H)、width(W)
・カーネル/フィルター(重み)
・積和演算
・畳み込み演算のバイアス
・パディング(Padding)-周囲への0値の埋め込み-出力サイズの調整
・ストライド(Stride)-フィルタの移動量
・サイズ 入力(H,W)×フィルタ(FH,FW)→出力(OH,OW)
・出力の高さの計算式 OH=(H+2P-FH)/S+1
・出力の幅の計算式 OW=(H+2P-FW)/S+1
・3次元データの畳み込み演算
・ブロック 入力(C,H,W)、フィルタ(C,FH,FW)、出力(1,OH,OW)
・FN個 (C,H,W)×(FN,C,FH,FW)→(FN,OH,OW)
・バイアス (FN,OH,OW)+(FN,1,1)→(FN,OH,OW)
・バッチ処理(バッチの個数 N)
・(N,C,H,W)×(FN,C,FH,FW)→(N,FN,OH,OW)+(FN,1,1)→(N,FN,OH,OW)
・プーリング層-空間を小さくする演算
・Maxプーリング:通常使用される
・プーリングウインドウサイズとストライドサイズの関係
・Averageプーリング
・プーリング層の3つの特徴
・4次元データ (N,C,H,W)
・im2col 関数…4次元→2次元(image to column)
・im2col関数のインタフェース (InputData,FH,FW,S,P)
・im2col関数を用いた処理
・convolutionレイヤ (フィルタ,バイアス,S,P)
・フィルタ(重み) (FN,C,FH,FW)
・reshape関数の引数 -1 の機能…指定形へのリシェイプ
・transpose関数…多次元配列の軸の順番を入れ替える
・col2img関数…2次元→4次元
・プーリング(縮小)適用領域の展開
・Poolingレイヤの実装
・手書き数字認識のCNNのネットワーク構成
・一番簡素なCNN
(Convlution-ReLU-Pooling-Affine-ReLU-Affine-SoftMax)
・CNNの可視化
・エッジ検出
・ブロブ(局所的に塊のある領域)の検出
・階層構造による情報抽出
・LeNet(手書き数字認識)
・AlexNet(LeNetがベース、ReLU、LRN、Dropoutを使用)
・局所的正規化(LRN)
・GPUによる大量並列計算