Alexnet与vggnet的比较
AlexNet 是一种典型的convolutional neural network,它由5层 convolutional layer,2层 fully connected layer,和最后一层label layer (1000个node,每个node代表ImageNet中的一个类别)组成。2012年,deep learning的大牛教授Geoffrey Hinton (University of Toronto, Google) 的学生AlexKrizhevsky设计了一个8层的CNN,并把它用于ImageNet的imageclassification,直接把当时最好算法的错误率差不多减半。这引起了computer vision community 的强烈关注。这篇文章的出现也是 deep learning开始被computer vision community接受的关键转折点。如是后来大家把这个8层的CNN命名为AlexNet。
alexnet图像:
Alexnet的卷积参数:
Layer |
Input |
Kernel |
Output |
Stride |
Pad |
1 |
256 * 3 * 227 * 227 |
48 * 3 * 11 * 11 |
256 * 48 * 55 * 55 |
4 |
0 |
2 |
256 * 48 * 27 * 27 |
128 * 48 * 5 * 5 |
256 * 128 * 27 * 27 |
1 |
2 |
3 |
256 * 128 * 13 * 13 |
192 * 128 * 3 * 3 |
256 * 192 * 13 * 13 |
1 |
1 |
4 |
256 * 192 * 13 * 13 |
192 * 192 * 3 * 3 |
256 * 192 * 13 * 13 |
1 |
1 |
5 |
256 * 192 * 13 * 13 |
192 * 192 * 3 * 3 |
256 * 192 * 13 * 13 |
1 |
1 |
Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. “Imagenetclassification with deep convolutional neural networks.” Advances in neural information processing systems. 2012.
VGG-Net同样也是一种CNN,它来自 Andrew Zisserman教授的组(Oxford),VGG-Net在2014年的 ILSVRC localization and classification两个问题上分别取得了第一名和第二名,VGG-Net不同于AlexNet的地方是:VGG-Net使用更多的层,通常有16-19层,而AlexNet只有8层。另外一个不同的地方是:VGG-Net的所有convolutional layer 使用同样大小的 convolutional filter,大小为 3 x 3。
VGGnet图像:
data_size=3*32*32
label_size=10
batch_size = 128
MomentumOptimizer(0.9)
VGG卷积网络参数:
Layer |
Input |
Kernel |
Output |
Stride |
Pad |
1 |
256 * 3 * 224 * 224 |
64 * 3 * 3 * 3 |
256 * 64 * 222 * 222 |
1 |
0 |
2 |
256 * 64 * 222 * 222 |
64 * 64 * 3 * 3 |
256 * 64 * 220 * 220 |
1 |
0 |
3 |
256 * 64 * 110 * 110 |
128 * 64 * 3 * 3 |
256 * 128 * 108 * 108 |
1 |
0 |
4 |
256 * 128 * 108 * 108 |
128 * 128 * 3 * 3 |
256 * 128 * 106 * 106 |
1 |
0 |
5 |
256 * 128 * 58 * 58 |
256 * 128 * 3 * 3 |
256 * 256 * 56 * 56 |
1 |
0 |
6 |
256 * 256 * 56 * 56 |
256 * 256 * 3 * 3 |
256 * 256 * 54 * 54 |
1 |
0 |
7 |
256 * 256 * 54 * 54 |
256 * 256 * 3 * 3 |
256 * 256 * 52 * 52 |
1 |
0 |
8 |
256 * 256 * 52 * 52 |
256 * 256 * 3 * 3 |
256 * 256 * 52 * 52 |
1 |
1 |
9 |
256 * 256 * 26 * 26 |
512 * 256 * 3 * 3 |
256 * 512 * 24 * 24 |
1 |
0 |
10 |
256 * 512 * 24 * 24 |
512 * 512 * 3 * 3 |
256 * 512 * 22 * 22 |
1 |
0 |
11 |
256 * 512 * 22 * 22 |
512 * 512 * 3 * 3 |
256 * 512 * 20 * 20 |
1 |
0 |
12 |
256 * 512 * 20 * 20 |
512 * 512 * 3 * 3 |
256 * 512 * 18 * 18 |
1 |
0 |
Simonyan, Karen, and Andrew Zisserman. “Very deepconvolutional networks for large-scale image recognition.” arXiv preprint arXiv:1409.1556 (2014).
Output_size 与 Input_size Kernel_size Padding Stride 的关系
Out_size=(In_size−Kernel_size+2×Pad_sizeStride+1)/stride