前言
上一篇推文介绍了卷积神经网络的组成层以及卷积层是如何在图像中起作用的,推文地址为:https://mp.weixin.qq.com/s/MxYjW02rWfRKPMwez02wFA 。今天我们就继续讲讲卷积核的基本参数以及卷积核有哪些基本类型。
卷积核的基本参数
卷积神经网络的核心操作就是卷积层,我们这里以caffe框架为例子来介绍一下卷积核都有哪些基本的参数。下面先上一段代码,是caffe的卷积层的配置文件:
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult: 1
}
param {
lr_mult: 2
}
convolution_param {
num_output: 20
kernel_size: 5
stride: 1
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
}
}
}
从上面我们可以看到卷积层的参数有:
lr_mult
:学习率的系数,最终的学习率是这个参数乘以caffe的solver.prototxt配置文件中的基础学习率base_lr
。如果有2个lr_mult
,则第一个表示权值的学习率,第二个表示偏置项的学习率。一般偏置项的学习率是权值项的学习率的2倍。num_output
:卷积核的输出通道数。若设置为与输入通道数一样的大小,可以保持输入输出维度的一致性;若采用比输入通道数更小的值,则可以减少整体网络的参数量kernel_size
:卷积核的大小。如果卷积核的长和宽不等,需要用kernel_h
和kernel_w
分别设定其它参数。stride
:卷积核的步长,默认为1。当然也可以用stride_h
和stride_w
来设置。pad
:扩充边缘,默认为0,不扩充。 扩充