BETA

ゼロから作るDeepLearning 第七章 前半

投稿日:2019-08-27
最終更新:2019-08-27

画像

畳込み層

畳み込み層は、画像識別のために使う層のこと。

これまでのAffine層などは全結合であるため、次元などの特徴を消してしまう。
そのため、畳み込み層は各チャンネル(RGBなど)ごとに値を畳み込んで計算をする。
これによって、周囲の画素のほうが結びつきが強いなど部分的な特徴を生かした計算ができる。

CNNを作るときは前半がConv-ReRU-Poolingであり、後半はAffienそして、最後にAffine+Softmaxで確率分類を行う。

パディング

畳込みでは、重みがフィルターに値するが
フィルターを掛けると出力サイズが小さくなってしまう。

よって、入力段階で周囲にパディングを入れておこう。

次元保存

畳み込み処理では、$R$チャンネルがあっても、$R$チャンネルのフィルターを用意すると、$1$チャンネルのみになり薄っぺらくなってしまう。

こうすると繰り返しConv処理を行うことができない。

よって、フィルターを$FN$個用意すれば良い。
こうすると出力は$FN{\times}H{\times}W$という入力の形式とおなじになる。

さらに、本来はバッチで流し込むので四次元になる。

プーリング層

プーリングは、関数という感覚に近い。

与えられた入力にたいして、縦や横の長さを小さくする効果がある。

あるウィンドウサイズを用意してそれらのサイズの範囲の入力データのうち、最大値のみを取り出す。

このようにして、ズレを減らしながら重要なデータのみを取り出すことができる。

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

雑多まとめ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!