当前位置: 代码迷 >> CUDA >> cuda-convnet 卷积神经网络 一般性构造卷积核个数 和 输入输出的关系以及输入输出的个数的说明
  详细解决方案

cuda-convnet 卷积神经网络 一般性构造卷积核个数 和 输入输出的关系以及输入输出的个数的说明

热度:767   发布时间:2016-04-29 10:44:19.0
cuda-convnet 卷积神经网络 一般性结构卷积核个数 和 输入输出的关系以及输入输出的个数的说明:

卷积神经网络 一般性结构卷积核个数和 输入输出的关系以及输入输出的个数的说明:

以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多了在单一输入的卷积核。