Index A I | CNN |
CNN 基本的仕組み 畳み込み演算 出力サイズ 3次元データ バッチ処理 代表的CNN 構成・方式など タスク 導入 Sample 用語 |
CNN(畳み込みニューラルネットワーク) ・畳み込み 画像から「特徴」を抽出する操作 Convolution(二項演算という計算の一方法)・入力データが画像の場合、通常はチャネル・縦・横の3次元の形状 Affineレイヤ(全結合層)では3次元データを1次元にする。 Convolutionレイヤ(畳み込み層)では形状を維持する。・CNNで行う処理は畳み込み演算 (画像処理におけるフィルター演算) 入力データに対してフィルターを適用 バイアス項の加算は、フィルター適用後のデータに対して行う。・パディング 出力サイズを調整できる。 空間サイズを一定にしたまま次の層へデータを渡せる。・ストライド フィルターを適用する位置の間隔基本的な仕組み ・データを入力 ・畳み込み層 畳み込み層で画像内の特徴を発見・プーリング層 抽出された特徴を集約(情報を圧縮)し、次の畳み込み層へ・畳み込み層 ・全結合層 ・一次元で出力 畳み込み演算 ・フィルターのウインドウを一定の間隔でスライドさせて適用 ・フィルターの要素と入力の対応する要素を乗算し、その和を求める。(積和演算) ・和を出力の対応する場所に格納する。全ての場所で行う。 ・バイアスは一つ、フィルター適用後の全ての要素に加算 出力サイズ ・入力サイズ(H,W)、フィルターサイズ(FH,FW)、出力サイズ(OH,OW) パディング(P)、ストライド(S) OH=(H+2P-FH)/S +1 分数は割り切れるようにする。 OW=(W+2P-FW)/S +1・分数は割り切れるようにする。 3次元データ ・画像の場合、縦・横方向とチャネル方向の3次元データとなる。 チャネルごとに入力データとフィルターの畳み込み演算を行う。 チャネルの数は入力データのチャネル数と同じ。・フィルターが1個の場合、出力データのチャネル数は1になる。 ・畳み込み演算の出力をチャネル方向にも複数(N個)持たせる。 複数(N個)のフィルター(重み)を用いる。 出力(次の入力)のチャネル数はNになる。・バイアスはチャネル毎に一つ、フィルター適用後の全ての要素に加算 バッチ処理 ・バッチ用の次元を追加 代表的CNN ・LeNet ・AlexNet |
All Rights Reserved. Copyright (C) ITCL |