Merge pull request #120 from mengban/master

update ch12
This commit is contained in:
scutan90 2018-11-02 11:43:06 +08:00 committed by GitHub
commit 2ee86d5d60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 54 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

View File

@ -6,6 +6,18 @@
- 3.找数据集动手跑一个网络,可以尝试更改已有的网络模型结构。
- 4.根据自己的项目需要设计网络。
<<<<<<< HEAD
10.1.2深度优先原则。
通常增加网络深度可以提高准确率,但同时会牺牲一些速度和内存。
10.1.3卷积核size一般为奇数。
卷积核为奇数有以下好处:
- 1 保证锚点刚好在中间,方便以 central pixel为标准进行滑动卷积避免了位置信息发生偏移 。
- 2 保证在填充Padding在图像之间添加额外的零层图像的两边仍然对称。
10.1.4卷积核不是越大越好。
AlexNet中用到了一些非常大的卷积核比如11×11、5×5卷积核之前人们的观念是卷积核越大感受野越大看到的图片信息越多因此获得的特征越好。但是大的卷积核会导致计算量的暴增不利于模型深度的增加计算性能也会降低。于是在VGG、Inception网络中利用2个3×3卷积核的组合比1个5×5卷积核的效果更佳同时参数量3×3×2+1=19<26=5×5×1+1被降低因此后来3×3卷积核被广泛应用在各种模型中
=======
10.1.2深度优先原则。
&#8195;&#8195;通常增加网络深度可以提高准确率,但同时会牺牲一些速度和内存。
10.1.3卷积核size一般为奇数并且不是越大越好。
@ -13,6 +25,7 @@
- 1 保证锚点刚好在中间,方便以 central pixel为标准进行滑动卷积避免了位置信息发生偏移 。
- 2 保证在填充Padding在图像之间添加额外的零层图像的两边仍然对称。
&#8195;卷积核不是越大越好。AlexNet中用到了一些非常大的卷积核比如11×11、5×5卷积核之前人们的观念是卷积核越大感受野越大看到的图片信息越多因此获得的特征越好。但是大的卷积核会导致计算量的暴增不利于模型深度的增加计算性能也会降低。于是在VGG、Inception网络中利用2个3×3卷积核的组合比1个5×5卷积核的效果更佳同时参数量3×3×2+1=19<26=5×5×1+1被降低因此后来3×3卷积核被广泛应用在各种模型中
>>>>>>> upstream/master
10.2 有哪些经典的网络模型值得我们去学习的?
@ -23,10 +36,49 @@
| ----- | --------- | ----------- | ------- |
| 1 | 2012 | AlexNet | ILSVRC图像分类冠军 |
| 2 | 2014 | VGGNet | ILSVRC图像分类亚军 |
| 3 | 2014 | GoogLenet| ILSVRC图像分类冠军 |
| 3 | 2014 | GoogLeNet| ILSVRC图像分类冠军 |
| 4 | 2015 | ResNet | ILSVRC图像分类冠军 |
| 5 | 2017 | SeNet | ILSVRC图像分类冠军 |
![](http://wx4.sinaimg.cn/mw690/005B3ViFly1fwswhzquw2j31810or78b.jpg)
> - 1 AlexNet
论文:[ImageNet Classification with Deep Convolutional Neural Networks](https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf)
代码实现:[tensorflow](https://github.com/tensorflow/tensorflow/blob/361a82d73a50a800510674b3aaa20e4845e56434/tensorflow/contrib/slim/python/slim/nets/alexnet.py)
主要特点:
>> - 1.第一次使用非线性激活函数ReLU。
>> - 2.增加防加过拟合方法Droupout层,提升了模型鲁棒性。
>> - 3.首次使用数据增强。
>> - 4.首次使用GPU加速运算。
>- 2 VGGNet
论文:[Very Deep Convolutional Networks for Large-Scale Image Recognition](https://arxiv.org/abs/1409.1556)
代码实现:[tensorflow]https://github.com/tensorflow/tensorflow/blob/361a82d73a50a800510674b3aaa20e4845e56434/tensorflow/contrib/slim/python/slim/nets/vgg.py)
主要特点:
>> - 1.网络结构更深。
>> - 2.普遍使用小卷积核。
>- 3 GoogLeNet
论文:[Going Deeper with Convolutions](https://arxiv.org/abs/1409.4842)
代码实现:[tensorflow](https://github.com/tensorflow/tensorflow/blob/361a82d73a50a800510674b3aaa20e4845e56434/tensorflow/contrib/slim/python/slim/nets/inception_v1.py)
主要特点:
>> - 1.增强卷积模块功能。
>>主要的创新在于他的Inception这是一种网中网Network In Network的结构即原来的结点也是一个网络。Inception一直在不断发展目前已经V2、V3、V4。其中1*1卷积主要用来降维用了Inception之后整个网络结构的宽度和深度都可扩大能够带来2-3倍的性能提升。
>> - 2.连续小卷积代替大卷积,保证感受野不变的同时,减少了参数数目。
>- 4 ResNet
论文:[Deep Residual Learning for Image Recognition](https://arxiv.org/abs/1512.03385)
代码实现:[tensorflow](https://github.com/tensorflow/tensorflow/blob/361a82d73a50a800510674b3aaa20e4845e56434/tensorflow/contrib/slim/python/slim/nets/inception_v1.py)
主要特点:
>> 解决了“退化”问题,即当模型的层次加深时,错误率却提高了。
>- 5 SeNet
论文:[Squeeze-and-Excitation Networks](https://arxiv.org/abs/1709.01507)
代码实现:[tensorflow](https://github.com/ry/tensorflow-resnet)
主要特点:
>> 提出了feature recalibration通过引入 attention 重新加权,可以得到抑制无效特征,提升有效特征的权重,并很容易地和现有网络结合,提升现有网络性能,而计算量不会增加太多。
**CV领域网络结构演进历程**
![CV领域网络结构演进历程](./img/ch12/网络结构演进.png)
**ILSVRC挑战赛历年冠军:**
![ILSVRC挑战赛历年冠军](./img/ch12/历年冠军.png)
&#8195;&#8195;此后ILSVRC挑战赛的名次一直是衡量一个研究机构或企业技术水平的重要标尺。
&#8195;&#8195;ILSVRC 2017 已是最后一届举办.2018年起将由WebVision竞赛Challenge on Visual Understanding by Learning from Web Data来接棒。因此即使ILSVRC挑战赛停办了但其对深度学习的深远影响和巨大贡献将永载史册。
@ -54,4 +106,3 @@
- 3 可变的学习速率。比如当输出准确率到达某个阈值后可以让Learning Rate减半继续训练。