DeepLearning勉強会 - 講義ノート3

Lesson 3はConvolutional Neural Networks(畳み込みニューラルネットワーク)について勉強します。

Intro Lesson 3

Lesson 2には一般ニューラルネットワークについて勉強いました。しかし、もしデータが画像だったり、シーケンスだったり、そのデータに対してもっといいニューラルネットワークがあります。

Statistical Invariance

  • Translation invariance:画像の中に猫があるかどうかを判定するニューラルネットワークがあります。猫の位置、左だったり、右だったり、どこでも同じ猫です!猫は位置に依存せず、どこでも同じという性質はtranslation invariance(並進不変性)といいます。 image

  • Weight sharing:もう一つの例:猫(kitten)についてのテキストがあります。猫というワードの意味はテキストの中に、どこでも同じでしょう。なので、猫の意味を一回学習すればよいです。つまり、猫を同じ学習重みに設定して、これはweight sharingといいます。 image

  • Statistical invariants: は時間・空間に依存しないものです。実際問題にはたくさんあります。

このアイデアを基づいて、新しいニューラルネットワークを構築されました。 画像の場合、畳み込みニューラルネットワークになり、テキスト・または一般のシーケンスの場合、embeddingsとrecurrent neural networksになります。

Convolutional Networks

さて、畳み込みニューラルネットワーク(Convolutional NetworksまたはConvnets)について学びます。

  • Convnetsは空間全体にパラメータをシェアするニューラルネットワークです。 image

  • 入力画像は幅width、高さheight、奥行きdepth持っています。RGB画像なので、depth=3になります。 image

  • 次に、その画像の一部を取って、その上にK出力の小さいニューラルネットワークを実行します。 image

  • その小さいニューラルネットワークを全画像をスライドして、結果は新しい画像が得られます。その画像は違う幅・ちがう高さ・ちがう奥行きになるます。K出力のニューラルネットワークなので、奥行きKになります。 image

以上の作業は畳み込み(convolution)と呼ばれます。畳み込み作業で、空間全体にパラメータをシェアするニューラルネットワークを実現できます。

  • たくさんの畳み込みレイヤを重ねると、convolutional pyramidが得られます。 image

(続きは明日に。。。)