赞
踩
假设:
当前卷积层的输入是:6x6x3
卷积层参数是:卷积核大小 3x3 ;stride=1, padding=0; 卷积核个数就是3;
那么卷积层的输出就是:(W -F +2*P)/ S + 1 =(6 - 3 + 2*0)/ 1 + 1 = 4,数据就是 4x4x3
那么问题就是:卷积层的参数是多少?
首先分析卷积操作的过程:
输入是3个通道的6x6,输出的是3个4x4的feature map。
每一个3x3的卷积核,在输入的6x6x3上滑动卷积。卷积核的每一次滑动,实质上的操作就是选取它所覆盖的元素(先不同通道的同位置元素相加),输入到一个神经元(神经元就是一个线性方程f(x) +bias,卷积核参数就是线性方程的权值参数),卷积核选取的元素与神经元参数,即卷积核参数进行点乘求和,这就完成了一次滑动卷积,得到了输出的feature map中的一个元素。
不同的卷积核卷积得到代表不同特征的feature map。
也就是说,输出的feature map中的每一个元素都对应一个神经元的输出。一个卷积的参数被生成feature map的所对应的所有神经元共享。输出有3个feature map,每个feature map有4x4 =16个神经元,所以这个卷积层有16x3=48个神经元。
对于卷积的参数个数的话,每一个feature map都是共享对应的卷积核的参数的。卷积核的参数是:3x3 + 1 =10。共3个卷积核,所以卷积核参数就是:3 x 10 =30个参数。
综上:卷积核才是代表卷积过程中,参数/权值矩阵,因为同一个输出的feature map中的神经元权值共享的原因,神经元个数不等于参数个数,中间差了feature map大小的倍数。
1、提取一下神经元个数计算公式就是:输出feature map * 卷积核个数。
2、如果计算卷积层的全连接个数,就是(卷积核H * 卷积核W + 1偏置) * 神经元个数
3、卷积层参数计算公式: (卷积核H * 卷积核W + 1) * 卷积核个数
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。