iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 28
0
Google Developers Machine Learning

初心者的自我挑戰系列 第 28

CNN - Architectures

今天一樣繼續學習~今天要學習的主題是CNN architectures,參考資料為Stanford University課程,Fei Fei Li & Justin Johnson & Serena Yeung 開設.這個大名鼎鼎的課程應該大家都看過.

LeNet-5: 應用在手寫數字辨識.
Conv filters 使用5x5 stride = 1
subsampling(Pooling) 使用2x2 stride = 2
Conv -> Pool -> Conv -> Pool -> Fc -> Fc

圖:
https://ithelp.ithome.com.tw/upload/images/20191013/20121109StxhIFvniy.png


AlexNet:在2012擊敗所有非深度學習模型贏得影像分類(image classification)比賽,開啟了deep network研究浪潮.
架構: conv maxpool norm conv maxpool norm conv conv conv maxpool fc fc fc
可以看出跟LeNet差不多架構只是比較多層.

input = 227x227x3 images
第一層conv使用11x11 96個 filters at stride 4
Output volumn size ? 55x55x96 55因為:(227-11)/4+1 = 55
parameters = 11x11x3x96 個

第二層pool 使用3x3 filters at stride 2
output volumn size ? (55-3)/2+1=27 27x27x96
parameters = 0 !

Full architecture:

227x227x3 Input      
55x55x96  CONV1      96 11x11,stride=4,pad0
27x27x96  MAXPOOL1   3x3,stride=2
27x27x96  NORM1      Normalization
27x27x256 CONV2      256 5x5,stride=1,pad2 
13x13x256 MAXPOOL2   3x3,stride=2
13x13x256 NORM2      Normalization
13x13x384 CONV3      384 3x3,stride=1,pad1
13x13x384 CONV4      384 3x3,stride=1,pad1
13x13x256 CONV5      256 3x3,stride=1,pad1
6x6x256   MAXPOOL3   3x3,stride=2
4096      FC
4096      FC
1000      FC

圖:
https://ithelp.ithome.com.tw/upload/images/20191013/201211097pYuz6LWRR.png

Details:

  • 第一個使用ReLu
  • use Norm layers(現在不用)
  • 使用大量data augmentation(flipping ,cropping...)
  • Dropout=0.5
  • batch size=128
  • SGD momentum=0.9
  • L2 weight decay
  • CNN7 ensemble

2014: GoogleNet 和 VGG出現將比賽成績向前推進一大步.

VGG: much deeper network, much smaller filter
Alex(8 layers) -> VGG(16layers)
Only 3x3 conv at stride=1, pad=1 and 2x2 maxpool at stride=2

Why use smaller filter? ->

  • 3個3x3 conv (stride=1) 跟 一個7x7 conv有相同的感知野(receptive field)
  • 參數減少: 3x3x3 v.s 7x7
  • deeper -> more non-linearities

圖:
https://ithelp.ithome.com.tw/upload/images/20191013/20121109gGwz4gwpV9.png

由上圖所知由於層數增加參數變多->computation complexity
Details:

  • NO normalization
  • VGG16 v.s VGG19(slightly better, more memory)
  • use emsemble
  • FC7 features generalize well to other tasks

明天接著學習GoogLeNet


上一篇
Python basic 2
下一篇
Python Basic 3
系列文
初心者的自我挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言