"0"からAI~ふらっとどうぞ~

自分は独学でゼロからAIについて学んでいる学生です。このブログは主にAIやネットワークの基本を理解できるようにブログという形で分かりやすくアウトプットしたものです。AIについて学びたいなと思っている方。ぜひこのブログで勉強して見てください!またある程度AIについて知識がある方も何かをを得るヒントにしてくてくれれば幸いです。Twitterアカウントもあるので是非フォローお願いします!

パディング??ストライド??CNNに使われるテクニックと用語

皆さんこんにちは!!

今日も張り切っていきましょう。

 

ここ最近のブログではCNNについて書いていて、

「畳み込み層」「プーリング層」とまとめてきました。

 

今日は畳み込み層、プーリング層で使われる代表的なテクニックと

さらにちょっとした用語について説明します。

これでもう1レベルCNNについて詳しくなりましょう!!

 

CNNについて全体を確認しておきたい方はまずはこちらからどうぞ!

 

zawapython.hatenablog.com

 

「畳み込み層」「プーリング層」を確認したい方へ

 

zawapython.hatenablog.com

zawapython.hatenablog.com

 

 

〜今日の内容と参考文献〜

 

パディング

畳み込み層やプーリング層で行われているテクニック。それは見出しの

「パディング」

という手法です。

これは一言で言うと

入力画像のピクセルの周りにピクセルを囲むテクニック

のことです。

 

下の図を見てみて下さい。

f:id:zawapython:20181002205417j:plain

 

この図では様々な値のピクセルを持つ入力画像を

0のピクセルが取り囲んでいますね。

この様なパディング方法をゼロパディングと言います。

0のピクセルで周りを囲んでますね。

 

これはパディングの中でも代表的な手法の1つです。

 

なぜこのパディングというテクニックが大事なのでしょうか?

 

メリットは2点あります。

1 画像のサイズが変わらないようにするため

 

畳み込み層やプーリング層を行うことで画像のサイズが徐々に小さくなりますよね。

畳み込み層やプーリング層は何度も行うので繰り返していると

次第に画像のサイズが1x1になっていまいます。

このパディングをしてピクセルを配置することで画像サイズを小さくせずに

済むのです。

 

2 端の特徴量もしっかり捉えることができる!

 

畳み込みやプーリングを行うとどうしても外側から画像は縮小されていきます。

そのため端にあるピクセルは内側にあるピクセルに比べて畳み込み回数や

プーリング回数は少なくなってしまいます。

 

しかし!!

このパディングをすれば画像サイズが変わらなくなるだけでなく

しっかり画像の端のピクセルも畳み込まれるのでより精度が高くなります!

 

 

ストライド 

ストライドというのは畳み込みにおいて使われる

フィルタが画像を移動する間隔のことです

 

 

ストライド」って言葉どこかで聞いたことあるなと思ってたら

陸上で「ストライド走法」ってありますよね笑

脱線しますが「ストライド走法」というのは簡単にいうと

歩幅をかなり大きくして走る?走法です。

しかしCNNにおいて「ストライド」とは

 

CNNの「ストライド」=フィルタが移動する幅

f:id:zawapython:20181002211026j:plain

めっちゃ覚えやすい!!

パディングのところの図のストライドですね。

基本的にストライドは1ですが、かなり大きな画像を縮小するときとかにストライドを1以上に設定するときがあります。

 

 

 

参考文献・サイト

ディープラーニング (やさしく知りたい先端科学シリーズ2)

ディープラーニング (やさしく知りたい先端科学シリーズ2)

 

 

 

次回もまた見てください!! 

 

当ブログはAmazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。