卷积神经网络 一般性结构卷积核个数和 输入输出的关系以及输入输出的个数的说明:
以cifar-10为例:
Initialized data layer 'data', producing3072 outputsInitialized data layer 'labels', producing1 outputsInitialized convolutional layer 'conv1',producing 32x32 64-channel outputInitialized max-pooling layer 'pool1',producing 16x16 64-channel outputInitialized cross-mapresponse-normalization layer 'rnorm1', producing 16x16 64-channel outputInitialized convolutional layer 'conv2',producing 16x16 64-channel outputInitialized cross-map response-normalizationlayer 'rnorm2', producing 16x16 64-channel outputInitialized max-pooling layer 'pool2',producing 8x8 64-channel outputInitialized locally-connected layer'local3', producing 8x8 64-channel outputInitialized locally-connected layer'local4', producing 8x8 32-channel outputInitialized fully-connected layer 'fc10',producing 10 outputsInitialized softmax layer 'probs',producing 10 outputsInitialized logistic regression cost'logprob'Initialized neuron layer 'conv1_neuron',producing 65536 outputsInitialized neuron layer 'conv2_neuron',producing 16384 outputsInitialized neuron layer 'local3_neuron',producing 4096 outputsInitialized neuron layer 'local4_neuron',producing 2048 outputs
1、卷积说明:
输入是3个32*32, 共3*1024=3072。每条边padding为2,则内存里实际为3个36*36.
卷积核个数是3维的5*5分别与3个输入进行卷积运算,得到3维的32*32的输出,这里将3维的32*32对应位相加得到一张32*32的feature Map
如果有64个3维的5*5卷积核就有64张feature Map
具体过程图示为:
2、local层说明:
输入是8x8 64-channel output 。每条边padding为2,则内存里实际为64个10*10.
卷积核个数是8*8个的3*3的卷积核分别与单一的一个输入对应位置卷积,得到1个8*8的中间输出O1。这里将8*8个的3*3作用于单一单张输入O1的卷积核组称为A。
现在64维的A分别作用于64个输入,将得到64个中间输出O2(就是64个O1),这里将64维的O2对应位相加得到一张8*8的feature Map。这里将64维的A称作B。
如果有64个B就有64张feature Map,就是最终的输出。
Local层和conv层的区别就在于local的单一输入的feature Map不共享卷积核。而conv是共享卷积核的,所以local比conv多了在单一输入的卷积核。