LRN局部相应归一化

el/2024/4/19 22:59:26

本笔记记录学习 LRN(Local Response Normalization),若有错误,欢迎批评指正,学习交流。

1.侧抑制(lateral inhibition)

这里写图片描述

2.计算公式

Hinton在2012年的Alexnet网络中给出其具体的计算公式如下:

这里写图片描述

公式看上去比较复杂,但理解起来非常简单。i表示第i个核在位置(x,y)运用激活函数ReLU后的输出,n是同一位置上临近的kernal map的数目,N是kernal的总数。参数K,n,alpha,belta都是超参数,一般设置k=2,n=5,aloha=1*e-4,beta=0.75。

这里写图片描述


3.后期争议

在2015年 Very Deep Convolutional Networks for Large-Scale Image Recognition.提到LRN基本没什么用。


示例:

实验环境:windows 7,anaconda 3(Python 3.5),tensorflow(gpu/cpu) 
函数:tf.nn.lrn(input,depth_radius=None,bias=None,alpha=None,beta=None,name=None)

函数解释援引自tensorflow官方文档 
https://www.tensorflow.org/api_docs/python/tf/nn/local_response_normalization 
The 4-D input tensor is treated as a 3-D array of 1-D vectors (along the last dimension), and each vector is normalized independently. Within a given vector, each component is divided by the weighted, squared sum of inputs within depth_radius. In detail, 
sqr_sum[a, b, c, d] = 
sum(input[a, b, c, d - depth_radius : d + depth_radius + 1] ** 2) 
output = input / (bias + alpha * sqr_sum) ** beta

背景知识: 
tensorflow官方文档中的tf.nn.lrn函数给出了局部响应归一化的论文出处 
详见http://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks 
为什么要有局部响应归一化(Local Response Normalization)? 
详见http://blog.csdn.net/hduxiejun/article/details/70570086

局部响应归一化原理是仿造生物学上活跃的神经元对相邻神经元的抑制现象(侧抑制),然后根据论文有公式如下 
这里写图片描述

公式解释: 
因为这个公式是出自CNN论文的,所以在解释这个公式之前读者应该了解什么是CNN,可以参见 
http://blog.csdn.net/whiteinblue/article/details/25281459 
http://blog.csdn.net/stdcoutzyx/article/details/41596663 
http://www.jeyzhang.com/cnn-learning-notes-1.html 
这个公式中的a表示卷积层(包括卷积操作和池化操作)后的输出结果,这个输出结果的结构是一个四维数组[batch,height,width,channel],这里可以简单解释一下,batch就是批次数(每一批为一张图片),height就是图片高度,width就是图片宽度,channel就是通道数可以理解成一批图片中的某一个图片经过卷积操作后输出的神经元个数(或是理解成处理后的图片深度)。ai(x,y)表示在这个输出结构中的一个位置[a,b,c,d],可以理解成在某一张图中的某一个通道下的某个高度和某个宽度位置的点,即第a张图的第d个通道下的高度为b宽度为c的点。论文公式中的N表示通道数(channel)。a,n/2,k,α,β分别表示函数中的input,depth_radius,bias,alpha,beta,其中n/2,k,α,β都是自定义的,特别注意一下∑叠加的方向是沿着通道方向的,即每个点值的平方和是沿着a中的第3维channel方向的,也就是一个点同方向的前面n/2个通道(最小为第0个通道)和后n/2个通道(最大为第d-1个通道)的点的平方和(共n+1个点)。而函数的英文注解中也说明了把input当成是d个3维的矩阵,说白了就是把input的通道数当作3维矩阵的个数,叠加的方向也是在通道方向。 
画个简单的示意图: 
这里写图片描述
实验代码:

import tensorflow as tf
import numpy as np
x = np.array([i for i in range(1,33)]).reshape([2,2,2,4])
y = tf.nn.lrn(input=x,depth_radius=2,bias=0,alpha=1,beta=1)with tf.Session() as sess:print(x)print('#############')print(y.eval())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

这里写图片描述 
结果解释: 
这里要注意一下,如果把这个矩阵变成图片的格式是这样的 
这里写图片描述 
然后按照上面的叙述我们可以举个例子比如26对应的输出结果0.00923952计算如下 
26/(0+1*(25^2+26^2+27^2+28^2))^1




http://www.ngui.cc/el/5179160.html

相关文章

简要介绍一下目标检测的网络,r-cnn, spp-net, fast-rcnn, faster-rcnn

简要介绍一下目标检测的网络 (1)R-CNN的原理:先用框把物体找出来,然后将找出来的框放入CNN中进行分类,这就是RCNN的简单原理。 (2)SPP-net:直接输入整张图片,所有区域…

概率分布中的cdf,pdf, pmf

一 概念解释二 数学表示三概念分析四分布函数的意义五参考文献 一. 概念解释 PDF:概率密度函数(probability density function), 在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简称为密度函数&#xff0…

[Latex] 所有字体embedded: Type3 PDF文档处理 / True Type转换为Type 1 目录: [正文] Type3转TRUE Type/Type 1 [Appendi

目录: [正文] Type3转TRUE Type/Type 1 [Appendix] TRUE Type转Type 1 (并embedded) 准备提交给ACM与IEEE的论文时,我们手头的文档除了有明确具体字体类型的Type1和TrueType字体外,还经常会出现Type3字体&#xf…

贝叶斯分析

1 先来说一下贝叶斯统计与经典统计的不同之处: 简单说,频率派认为估计对象(参数)是一个未知的固定值。而贝叶斯却认为未知的参数都是随机变量。 我曾经见到这么个不错的例子:我们要通过一些事实估计“爱因斯坦在1905年12月25日晚上八点吸烟”的真假。定义参数:,吸烟;,…

数据科学必备的分布

正态分布 正态分布代表了宇宙中大多数情况的运转状态,大量的随机变量被证明是正态分布的。 若随机变量X服从一个数学期望为u, 方差为σ^2的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ…

tensorflow保存模型文件分析

tensorflow模型保存函数为: tf.train.Saver() 例如下列代码: import tensorflow as tf ​ v1 tf.Variable(tf.random_normal([784, 200], stddev0.35), name"v1") v2 tf.Variable(tf.zeros([200]), name"v2") v3 tf.Variable(tf.zeros([100]), name&quo…

目标检测之YoloV1论文及tensorflow实现

You Only Look Once: Unified, Real-Time Object Detection Abstract 作者提出了一种新的物体检测方法YOLO。YOLO之前的物体检测方法主要是通过region proposal产生大量的可能包含待检测物体的 potential bounding box,再用分类器去判断每个 bounding box里是否包含有物体,…

迁移学习总结(One Shot Learning, Zero Shot Learning)

转自: https://blog.csdn.net/XJTU_NOC_Wei/article/details/77850221 目录 目录迁移学习 综述Source Data 与Target Data 都有标签 Fine-tuningMultitask LearningSource Data 有标签Target Data 没有标签 Domain-adversarial trainingZero-shot Learning Source D…

YoloV1源码解析

准备阶段数据集的准备: ① 索引文件trainval.txt: 存放的是训练图片的名称 ② 图片文件: ③ 标签文件xml:

YoloV2之TensorFlow版源码解析

准备阶段数据集的准备: ① 索引文件trainval.txt: 存放的是训练图片的名称 ② 图片文件: ③ 标签文件xml: 网络的设计(分类训练与检测训练)