您的位置:首页 > 理论基础 > 计算机网络

基于Tensorflow学习神经网络- NN(神经网络)发展-分类

2018-01-11 18:44 513 查看

4.NN(神经网络)发展-分类

https://www.zhihu.com/question/34681168

https://www.cnblogs.com/52machinelearning/p/5821591.html

http://blog.csdn.net/invadertroy/article/details/76253778

https://mp.weixin.qq.com/s/iWaHZEAvPO0pw_u7DVGBqg

http://blog.csdn.net/u011974639/article/details/76146822

http://blog.csdn.net/xbinworld/article/details/45619685

多通道网络????-DPN???

发展依赖

ILSVC(ImageNetLarge Scale Visual
Recognition Challenge)提供大量标注数据;
http://image-net.org/challenges/LSVRC/2017/
最后一届2017
http://image-net.org/challenges/LSVRC/2012/results.html
http://image-net.org/challenges/LSVRC/2014/results.php
imageNet侧重分类、检测、识别webvision侧重于对图像和视频数据的学习和理解

GPU,这种高度并行的计算神器;

算法的改进,包括网络变深、数据增强、ReLU、Dropout等。

模型名

AlexNet
VGG
GoogLeNet
ResNet
初入江湖

2012
2014
2014
2015
层数

8
19
22
152
Top-5错误

16.4%
7.3%
6.7%
3.57%
DataAugmentation

+
+
+
+
Inception(NIN)



+

卷积层数

5
16
21
151
卷积核大小

11,5,3
3
7,1,3,5
7,1,3,5
全连接层数

3
3
1
1
全连接层大小

4096,4096,1000
4096,4096,1000
1000
1000
Dropout

+
+
+
+
LocalResponse Normalization

+

+

BatchNormalization




+

通用准则

1.
避免表达瓶颈,特别是在网络靠前的地方。featuremap的宽和高基本都会逐渐变小,但是不能一下子就变得很小。输出的维度channel,一般来说会逐渐增多,否则网络会很难训练。

2.
可以在低维嵌入上进行空间汇聚而无需担心丢失很多信息。比如在进行3x3卷积之前,可以对输入先进行降维而不会产生严重的后果。假设信息可以被简单压缩,那么训练就会加快。(GoogLeNetInspection
1×1 降维后大尺度卷积)


3.
平衡网络的宽度与深度。

4.任意nxn的卷积都可以通过1xn卷积后接nx1卷积来替代。GoogLeNet作者发现在网络的前期使用这种分解效果并不好,还有在中度大小的featuremap上使用效果才会更好(对于mxm大小的featuremap,建议m在12到20之间)

LeNet5

http://blog.csdn.net/xzzppp/article/details/52253551

AlexNet_5+3(2012)

特点:数据增强,重叠最大池化,ReluLRN(有助于增强模型泛化能力-VGG否定),dropoutGPU训练

VGG_16+3(2014)

http://www.bubuko.com/infodetail-2304506.html

特点:3*3,较小的卷积核多层来扩展感受野,可减少参数;使用1*1卷积核增强模型的判别能力;否定LRN(效果甚微,反倒的计算量增加不少);迁移学习,训练简单模型A,使用模型A的权值初始化复杂模型B;多尺度{S-32,S,S+32},卷积填充0,测试时填充图像相邻部分。

整体使用的卷积核都比较小(3x3),基本不用LRN,从结果上看,用LRN效果反而更差。


GoogLeNet_21+1(2014)

http://blog.csdn.net/shuzfan/article/details/50738394

特点:网中网(NetworkIn Network)的结构,结点也是一个网络,GoogLeNet中的Inception,也如ResNet中的DBA;优化网格缩小的方式,综合conv和pool避免瓶颈,减少计算量;辅助梯度,为了避免梯度消失,增加两个辅助Softmax,用于训练时向前传导梯度,测试时去掉;平均池化。

Inception用不同大小卷积核卷积(把池化也作为一列并列进来),将结果作为不同的神经元,也意味着不同尺度特征的融合,增加了网络的深度和宽度。如上次输出128神经元,Inception输出256神经元,其中包含1*1<64>+
3*3<128>+5*5<32>+pool<32>=256,理想版本如下:

InceptionV1为缩减计算量,先1×1卷积降维(减少上层神经元),然后再进行大尺寸卷积,减少了参数

InceptionV2结合VGG3*3)、(1×nn×1改进结构,如下:

优化网格缩小的方式,通常先inception再pooling,计算量大,但先pooling再inception,可能导致特征表达瓶颈。因此综合两种方式,如下:

ResNet_151+1(2015-DeepResidual Learning
深度残差学习网络)

DeeperBottleneckArchitectures:网络的参数减少了很多(1*1*64+3*3*64+1*1*256+1*1*256=4.5*256<<3*3*256
= 9*256,参数减少了一倍)。

左侧18|34层结构中使用,右侧50|101|152结构中使用
原作中无实现细节,下为RyanDahl实现的ResNet:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: