视觉层包括Convolution,Pooling, Local Response Normalization(LRN) ,im2col等
Convolution层和Pooling层大家都已经很熟悉,我们重点关注后面两个。
1、Local Response Normalization(LRN)层
此层是对一个输入层的局部区域进行归一化,达到”侧抑制“的效果。可以去搜索AlexNet或GoogLenet,里面就用到了这个功能。
参数:全部为可选,没有必须
local_size:默认为5,如果是跨通道LRN,则表示求和的通道数;如果是在通道内LRN,则表示求和的正方形区域长度。
alpha:默认为1,归一化公式中的参数
bata:默认为5,归一化公式中的参数
norm_region:默认为ACROSS_CHANNELS。有两个选择,ACROSS_CHANNELS表示在相邻的通道间求和归一化。WITHIN_CHANNEL表示在一个通道内部特定区域进行求和归一化。与前面的local_size参数对应。
归一化公式:对于每一个输入,去除:
示例
layers{
name: "norm1"
type: LRN
bottom: "pool1"
top: "norm1"
lrn_param{
local_size: 5
alpha: 0.0001
beta: 0.75
}
}
2、im2col层
将一个大矩阵,重叠划分为多个子矩阵,对每个子矩阵序列化为向量,最后得到另外一个矩阵。
在caffe中,卷积运算就是先对数据进行im2col操作,再进行内积运算,这样比原始卷积操作更快。