βshortの自堕落Diary

web関係や、プログラミングなどを扱う予定です。プランなど立てていないので、不定期投稿になります。

畳み込みニューラルネットワーク

畳み込みニューラルネットワーク

畳み込みニューラルネットワーク(convolutional neural network : CNN)(以下CNNと呼ぶ)は、画像認識や音声認識などで使われている、手法です。
画像認識について、まとめようと思います。
CNNは、畳み込み計算を行う層、プーリング層、分類を行う全結合層で構成され、これらの層が持つパラメータを誤差逆伝播法(Error Backpropagation)で学習することで、画像分類問題などで高い性能が出る。

f:id:weblog2016it:20180429143650p:plain
自分で作図しましたが...
下図の方がわかりやすいですね。
f:id:weblog2016it:20180429144230j:plain
畳み込みニューラルネットワーク (CNN) - MATLAB & Simulinkから、引用しました。

畳み込み層

畳み込み層では、入力データに対して畳み込み処理を行います。この出力データを特徴マップと言います。
入力データに対して、フィルタを掛けます。このフィルタは、カーネルとも呼びます。この結果に活性化関数を通したものが、特徴マップとなります。

パディング

パディングとは、畳み込み層の処理を行う前に、入力データの周囲のデータを0などで埋めることです。

ストライド

フィルタを適用する位置の間隔をストライドと言います。

プーリング層

プーリング層は、畳み込み層から出力された特徴マップを縮小します。
縦、横方向の空間を小さくします。
微小な位置変化に対して、強いです。(ロバスト

全結合層

全結合層は、多層パーセプトロンです。

参考

楽して、勉強したいので、参考書等は、つまみ食いしています。
正直、たくさん数式が書いてあるのは嫌いです笑


画像認識 (機械学習プロフェッショナルシリーズ)


ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装


イラストで学ぶ ディープラーニング (KS情報科学専門書)


深層学習 (機械学習プロフェッショナルシリーズ)