LRN归一化

来源:互联网 发布:JAVA http post 多附件 编辑:程序博客网 时间:2024/06/15 23:32

LRN全称为LocalResponse Normalization,即局部响应归一化层。局部响应归一化层完成一种“临近抑制”操作,对局部输入区域进行归一化

具体实现在CAFFE_ROOT/src/caffe/layers/lrn_layer.cpp和同一目录下lrn_layer.cu中。

 

该层需要参数有:

norm_region: 选择对相邻通道间归一化还是通道内空间区域归一化,默认为ACROSS_CHANNELS,即通道间归一化;

local_size:两种表示

(1)通道间归一化时表示求和的通道数;

(2)通道内归一化时表示求和区间的边长;默认值为5;

alpha:缩放因子(详细见后面),默认值为1

beta:指数项(详细见后面), 默认值为5;

 

在通道间归一化模式中,局部区域范围在相邻通道间,但没有空间扩展(即尺寸为 local_sizex 1 x 1), local_size为通道数;

在通道内归一化模式中,局部区域在空间上扩展,但只针对独立通道进行(即尺寸为 1 xlocal_size x local_size),local_size为空间上的边长;

每个输入值都将除以

其中n为局部尺寸大小local_size, alphabeta前面已经定义。

求和将在当前值处于中间位置的局部区域内进行(如果有必要则进行补零)。


 

1. layers {  

2.   name: "conv1"  

3.   type: CONVOLUTION  

4.   bottom: "data"  

5.   top: "conv1"  

6.   blobs_lr: 1  

7.   blobs_lr: 2  

8.   weight_decay: 1  

9.   weight_decay: 0  

10.  convolution_param {  

11.    num_output: 96  

12.    kernel_size: 7  

13.    stride: 4  

14.    weight_filler {  

15.      type: "gaussian"  

16.      std: 0.01  

17.    }  

18.    bias_filler {  

19.      type: "constant"  

20.      value: 0  

21.    }  

22.  }  

23.}  

24.layers {  

25.  name: "relu1"  

26.  type: RELU  

27.  bottom: "conv1"  

28.  top: "conv1"  

29.}  

30.layers {  

31.  name: "pool1"  

32.  type: POOLING  

33.  bottom: "conv1"  

34.  top: "pool1"  

35.  pooling_param {  

36.    pool: MAX  

37.    kernel_size: 3  

38.    stride: 2  

39.  }  

40.}  

41.layers {  

42.  name: "norm1"  

43.  type: LRN  

44.  bottom: "pool1"  

45.  top: "norm1"  

46.  lrn_param {  

47.    local_size: 5  

48.    alpha: 0.0001  

49.    beta: 0.75  

  1.   }  
0 0
原创粉丝点击