对于的卷积核,在上做卷积,这样的操作涉及个维度,所以过滤器的shape是,一个过滤器在一个输入上得到一层feature map,共有个feature maps,所以一共有个过滤器。那么参数总量为
考虑bias,每个过滤器增加一个参数,总参数量为
乘法次数=
加法次数=(考虑bias)。
卷积核的初始化参数的方差为,在中采样得到。
先把momentum固定,按0.001, 0.01, 0.1, 1等配置试验learning rate。找出最佳learning rate之后,固定它,按照一定的梯度试验momentum,直到找到最佳的值。
在试验最佳learning rate时,每做一次实验画出loss随训练时间变化的曲线。如果曲线开始下降很快,后期不断震荡,说明learning rate太大。如果曲线下降太慢,或者保持在很高的loss不下降,说明learning rate太小。
降维或升维。
假设1x1卷积的输入是一个形状为的张量,其中是batch size,是channel个数,和分别是高度和宽度。
通过一个stride为1, padding为0的1x1卷积,得到的结果是。
其中F1由做1x1卷积的过滤器个数决定。所以1x1卷积相当于改变channel这一维的大小。
相同大小的感受野,大卷积核的参数量多于小卷积核级联的参数量。
例如,一个5x5的卷积核有25个参数,两个3x3卷积核级联有18个参数,但两者的感受野(reception field)是一样的——这其实就是VGG在AlexNet上做的改进之一。
经过5x5卷积得到的feature map上的每个点来自输入空间中25个点;经过两层3x3卷积得到的feature map的每个点,可以对应经过一次3x3卷积得到的feature map上的9个点,而后者的每个点对应原输入空间中的9个点。由于kernel的形状是矩形,第一层feature map的9个点在原输入空间中有重叠的感受野,在第二层feature map看来,感受野相当于第一层的感受野只在边缘扩增了一个像素,所以感受野大小是5x5=25。
随着卷积核越来越小,卷积层级联得越来越深,模型能获得比起相同参数量的大卷积核更大的感受野。
一个例子来自空洞卷积(dilated convolution),引进dilation使得同一层feature map的感受野之间的重叠减小,感受野进一步增大。如下图所示,一个普通3x3卷积(a),级联一个3x3的2-dilated卷积(b),再级联一个3x3的4-dilated卷积©,能够达到15x15=225的感受野,而参数只有3x3x3=27(不算bias)。
而相同参数量的大卷积核不能做到这么大的感受野。相同感受野的大卷积核不能做到这么少参数。