赞
踩
注意:
1.加粗的层是相较上一层增加的层
2.weight layers是指conv和FC层
3.根据表二可知VGG参数巨多(计算:3* (3 * 3 * c)* c,比5* 5卷积核大小的少)
4.后面16层和19层的模型分别称为VGG16、VGG19
5.VGG模型很容易迁移到其他领域(VGG模型作为特征提取器可以生成4096维向量,之后交给分类器)
6.conv感受野为3*3,卷积核个数从64 * 2一直到512为止
7.max-pooling 2*2 ,步长为2
8.3* 3感受野是最小的,因为要提取上下左右四个方向的信息
9.论文中提到的conv layer width 是指卷积核个数(channels)
1.VGG这篇论文强调了模型深度的重要性,增加深度可以提升精度。
2.多层堆叠小卷积核可以代替一个大的卷积核,感受野不变。
3.否定了LRN层,引入LRN层反而会增加内存以及计算时间。
4.利用1* 1卷积层可以提升模型的非线性表示能力(例如c中增加的层,可以视作线性变换)。
5.采用小卷积代替大卷积核增加深度。
基本和AlexNet类似,通过利用minibatch梯度下降优化多分类交叉熵损失函数。batchsize=256,momentum=0.9。通过权重衰减进行正则化,dropout在前两个FC层使用,概率设置为0.5。学习率初始设置为0.01,之后每当准确率不变时除以10。总体上学习率下降了3次。模型收敛快的原因有二:1.更深的深度和更小卷积核的尺寸相当于是隐式的正则化。2.预初始化设置。
预初始化很重要,先练浅的A模型,再拿A模型的4层conv核3层fc初始化。预初始化的层的学习率不会再设置成更小的,其他初始化有随机初始化(正态分布(0,0.01)),偏置初始为0。
各向同性:图像长款缩小比例一样
各向异性:图像长款缩放至某一长度,如果原图是长方形,缩放后图像会变
裁剪大小固定为224 * 224,原则上S大于等于224
S=224:裁剪的图是和原图短边相等的图像
S>>224:裁剪的图像相当于图像的一小部分
设置S的方式:
1.固定S(single-scale training)S=256或者S=384,384时要先训练256来预初始化,不然太慢,学习率更小,为0.001。
2.S可变(multi-scale training)随机,S:[Smin,Smax]。相当于通过尺度抖动来数据增强。
测试有两个要点,一个是FC转化为FCN,一个是全局平均池化。
设Q为图像最短边(test scale)Q不一定要和S相等。
为什么要转化?:
1.CNN输入固定是因为有FC层,FC与前一层连接时参数要预设好,参数数量时固定的,但卷积核的参数数量就是卷积核的大小,因此输入的图像大小可以变化。
2.提升效率。
即将每一个通道(depth)取均值变成1* 1* depth的特征。
用了4个GPU来数据并行计算(不是模型并行?)
1.Q不变:Q=S,当S不变;Q=0.5*{smin+smax}当S变化。由表可见深度越深效果越好,横向比较变动的S比固定的S效果好。
2.Q可变:Q={S-32,S,S+32},当s固定;Q={smin,s平均,smax},当s变化。由实验结果可见深度越深效果越好,横向比较变动的S比固定的S效果好。
3.multi-crop:使用了multi-crop效果好(互补?)。
取模型后验概率的平均值,准确率提升但不大。googlenet的效果好。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。