常用数据集:
ImageNet http://www.image-net.org/ <http://www.image-net.org/>
Microsoft的COCO http://mscoco.org/ <http://mscoco.org/>
CIFAR-10和CIFAR-100 https://www.cs.toronto.edu/~kriz/cifar.html
<https://www.cs.toronto.edu/~kriz/cifar.html>
PASCAL VOC http://host.robots.ox.ac.uk/pascal/VOC/
<http://host.robots.ox.ac.uk/pascal/VOC/>
模型们在ImageNet竞赛上的top-5错误率概况:
常用预训练模型池:
https://github.com/BVLC/caffe/wiki/Model-Zoo
<https://github.com/BVLC/caffe/wiki/Model-Zoo>
AlexNet:
AlexNet 代码及模型(Caffe)
https://github.com/BVLC/caffe/tree/master/models/bvlc_alexnet
<https://github.com/BVLC/caffe/tree/master/models/bvlc_alexnet>
微调AlexNet以适应任意数据集(Tensorflow)
https://github.com/kratzert/finetune_alexnet_with_tensorflow
<https://github.com/kratzert/finetune_alexnet_with_tensorflow>
AlexNet信息如上图
- 在当时第一次使用了ReLU
- 使用了Norm层(在当时还不广泛)
- 训练数据量增大
- dropout 0.5
- 每批数据大小 128
- 优化方式:随机梯度下降+Momentum 0.9
- 学习率为0.01。每次损失到达瓶颈时除以10
- L2 正则 参数为5e-4
VGG:
VGG-16 官方代码和ILSVRC模型(Caffe)
https://gist.github.com/ksimonyan/211839e770f7b538e2d8
<https://gist.github.com/ksimonyan/211839e770f7b538e2d8>
VGG-19 官方代码和ILSVRC模型(Caffe)
https://gist.github.com/ksimonyan/3785162f95cd2d5fee77
<https://gist.github.com/ksimonyan/3785162f95cd2d5fee77>
Tensorflow版 VGG-16/VGG-19 https://github.com/machrisaa/tensorflow-vgg
<https://github.com/machrisaa/tensorflow-vgg>
VGG是最符合典型CNN的一种网络,它在AlexNet的基础上加深了网络,以达到更好的效果。
(以下引用http://blog.csdn.net/u012767526/article/details/51442367#vggnet分析)
这里有两个表格,其中第一个表格是描述的是VGGNet的诞生过程。为了解决初始化(权重初始化)等问题,VGG采用的是一种Pre-training的方式,这种方式在经典的神经网络中经常见得到,就是先训练一部分小网络,然后再确保这部分网络稳定之后,再在这基础上逐渐加深。表1从左到右体现的就是这个过程,并且当网络处于D阶段的时候,效果是最优的,因此D阶段的网络也就是最后的VGGNet啦!
ResNet:
ResNet-50, ResNet-101, and ResNet-152 代码及ILSVRC/COCO模型(Caffe)
https://github.com/KaimingHe/deep-residual-networks
<https://github.com/KaimingHe/deep-residual-networks>
以上模型的Torch版(lua),由Facebook实现 https://github.com/facebook/fb.resnet.torch
<https://github.com/facebook/fb.resnet.torch>
ResNet-1001代码及ILSVRC/COCO模型(Caffe-目前第一名)
https://github.com/KaimingHe/resnet-1k-layers
<https://github.com/KaimingHe/resnet-1k-layers>
ResNet-1001在CIFAR-10上的表现
mini-batch CIFAR-10 test error (%): (median (mean+/-std))
128 (as in [a]) 4.92 (4.89+/-0.14)
64 (as in this code) 4.62 (4.69+/-0.20) ResNet原理
正常的网络是生成一个关于输入的函数,而ResNet生成的是一个对于输入的一个修饰:H(x) = F(x)+x。即神经网络生成的结果还要加上输入,才是最终输出。
训练参数如上图:
- 每一个Conv层后面都会有Batch Normalization层。
- 权重初始化方式:Xavier/2
- optimization方式:随机梯度下降+Momentum(0.9)
- 学习率:0.1,每一次错误率达到瓶颈时除以10,直到错误率无法再优化为止。
- Mini-batch(每批训练数据) 大小为256
- Weight 衰减1e-5(?)
- 不需要dropout
</div>
热门工具 换一换