VGG网络
1. 网络结构
2. 为什么VGG要用3*3的小卷积核
2.1 前提
两个3 * 3的卷积核(堆叠)和一个5 * 5的卷积核感受野相同
- RF(2 x Conv3) = RF(1 x Conv5)
- RF(3 x Conv3) = RF(1 x Conv7)
证明
- 假设图片是32 * 32的
- 使用5 * 5的卷积核对其卷积,步长为1,不填充
- 根据计算公式(n+2 * p-f)/2 + 1
- 得到的结果是:(32-5)/1+1=28
- 使用两个3 * 3卷积核,这里的两个是指进行2层3 * 3的卷积:
- 第一层3 * 3:
- 得到的结果是(32-3)/1+1=30
- 第二层3 * 3:
- 得到的结果也是(30-3)/1+1=28
结论:RF(2 x Conv3) = RF(1 x Conv5)
2.2 参数量计算
3 x Conv3 = 3 x 3 x C x 3 = 27C
1 x Conv7 = 7 x 7 x C x 1 = 49C
2.3 总结:小卷积核的优势
- Has same RF with big kernel(感受野相同)
- 模型参数大小方面
- Small kernel save space(节省空间)
- Cheaper to use(计算相对快一些)
- 模型拟合能力方面
- 拥有更多的非线性,可以把三个3x3的filter看成是一个7x7filter的分解(中间层有非线性的分解, 并且起到隐式正则化的作用。