LoginSignup
1
2

More than 5 years have passed since last update.

Course 4 > Week 1 Foundations of Convolutional Neural Networks(Coursera Deep Learning Specialization 受講記録)

Last updated at Posted at 2018-06-20

Coursera > Deep Learning Specialization > Course 4 : Convolutional Neural Networks の受講記録。

概要

Course 4 は4週分の講座から構成される。

  1. Week 1 Foundations of Convolutional Neural Networks
  2. Week 2 Deep convolutional models: case studies
  3. Week 3 Object detection
  4. Week 4 Special applications: Face recognition & Neural style transfer

Week1 はCNNの基本を学ぶ。


Convolutional Neural Networks

Computer Vision

これまで学んできたようなNNのinputとしてそれなりのサイズの画像を与えると、パラメータの数が膨大になる。1000×300万次元の行列・・・等。畳み込み演算をつかうことでこの問題を解消できる。

Edge Detection Example

畳み込み演算をつかって簡単な垂直エッジ検出を行う例。

More Edge Detection

positive edge と negative edge
Sobel filter
Scharr filter
フィルタの値をlearning parameterとして学習させる方法もある

Padding

Paddingを使わない場合、以下の課題がある。

  • 畳み込み演算を繰り返すたびにinputの画像サイズがどんどん小さくなる
  • 画像の端近くの情報は軽視されがち

Valid Convolutions : Paddingを使わない
Same Convolutions : inputとoutputが同じサイズになるようPaddingする

Strided Convolutions

Stride = 畳み込み演算を適用する間隔。
Strideが大きいと、inputに比べてoutputがより小さなサイズになる

outputの1辺のサイズ = floor( (n + 2p - f) / s + 1 )
n:inputの1辺のサイズ、f:filter、p:padding、s:stride

CNNの世界で言う「畳み込み演算」は、数学や信号処理の世界では厳密には「相互相関」と言われる。
(参考)畳み込み警察です! たまには反転のことも思い出してやってください

Convolutions Over Volume

channel数を加味した畳み込み演算の例。
inputとfilterのchannel数は合わせる必要がある

One Layer of a Convolutional Network

畳み込みニュラルネットワークの1階層分の動作
表記法の紹介
ConvNetではパラメータの数は入力画像のサイズに依存せず、フィルタのサイズに依存し、入力画像サイズに比べてずっと少ない数で済む。

Simple Convolutional Network Example

複数階層のConvNetの例。一般的なConvNetでは層が深くなるほどinputの高さと幅が小さく、チャネル数は多くなる。以下の種類のレイヤーがある。

  • Convolution(CONV)
  • Pooling(POOL)
  • Fully Connected(FC)

Pooling Layers

Pooling Layer:表現のサイズを縮小し、計算を高速化し、ロバスト性が増す
Max PoolingとAverage Poolingがあるが、通常はMax Poolingを使う
通常はPaddingしない
ハイパーパラメータは必要だが、学習の必要なパラメータは無い。

(参考)

CNN Example

全結合層も加えたCNNの例。
LeNet-5と呼ばれるClassicなニューラルネットワークに似ているサンプルで説明。
Pooling層には学習の必要なパラメータは無い
FC層はパラメータ数が多い
Conv層はパラメータ数が少ない

Why Convolutions?

Parameter shareing
垂直エッジ検出器などの特徴検出器(filter)は、画像のいろいろな部分に対して有用と考えられる→filter(パラメータ)を使い回すことができ、学習の必要なパラメータ数を削減できる


Heroes of Deep Learning (Optional)

Yann LeCun Interview

後で見る。。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2