Coursera, Deep Learning 4, Convolutional Neural Networks - week2

2021.11 update: to add the MobileNet and EfficientNet as Coursera updated to add these

 

Case Study

  

 (Note: 红色表示不重要)

 

LeNet-5 起初用来识别手写数字灰度图片

  

 

 AlexNet 输入的是227x227x3 的图片,输出1000 种类的结果

  

 

VGG

VGG比AlexNet 结构更简单,filter 都是3x3的,max-pool 都是 2x2的.

   

 

 ResNets (Residual Network)

可用让很深的network 工作的很好. This really helps with the vanishing and exploding gradient problems.

  

  

 

为什么ResNet 会起作用呢?下图中所示如果vanishings时候 W[l+2]  =0, 设b也=0. a[l+2] = a[l], 说明很容易保留

  

 

  

 

 

 Networks in Networks and 1x1 Convolutions

 

1x1 convolutions 可以用来减少 channel数据,或者保持一样,甚至可以增大channel.

  

 

  

 

Inception network

就像大烩菜,把1x1, 3x3, 5x5, pooling 都揉到一起,就成了inception network.

  

 

上图中有个问题是 computational cost 很高.

  

这个问题可以用下面的方便解决。这个方法被证明不影响性能.

  

 

 

下面是一个inception module

  

 

 

一个incetption network 是有很多的inception module 组成的network. Inception 来自盗梦空间,和很深的网络有关联意思. 在整个网络中间部分分出来的branch 也是用来做predict的,在中间做预测一般是为了防止overfitting.

这个inception network 来自google的开发者,所以也叫 GoogLeNet, 后面的LeNet 是向 LeNet 的作者 Yann LeCun 致敬

   

 

 

MobileNet

引入了 Depthwise-separable convolution 概念

 

 

 

Normal 和 depthwise-separable convolution 的对比,后者计算量省了很多。

 

 

EfficientNet

 

 

 

Practical advices for using ConvNets

在trainning data 少的情况下,可以用trasfer learning 的方法,在别人比较训练好的model 上修改后面的layer 来得到自己的model. 当然如果trainning set 够大,也可以自己从头到尾训练出自己的model.

  

 

Data augmentation

  

 

  

  

 

 

State of computer vision 

  

 

下面是一些tips针对benchmark/winning competitions, 但是实际工作中不常用.

  

 

 

工作中常用的是下面的方法

  

 

 

 

 

posted @ 2018-04-03 23:14  mashuai_191  阅读(291)  评论(0编辑  收藏  举报