深度学习的局部响应归一化LRN(Local Response Normalization)理解

深度探索:机器学习中的局部响应归一化(Local Response Normalization, LRN)算法原理及其应用 局部响应归一化作为早期深度学习中的一个重要技术,尽管在一些新型网络结构中的使用频率有所下降,但它所体现的局部竞争机制及其对生物视觉系统的模拟仍然具有重要的理论价值和启发意义。随着深度学习技术的发展,未来的研究有可能将LRN的思想与更先进的归一化技术相结合,设计出更加高效、鲁棒的神经网络模型。 阅读详情

1、其中LRN就是局部响应归一化:

这个技术主要是深度学习训练时的一种提高准确度的技术方法。其中caffe、tensorflow等里面是很常见的方法,其跟激活函数是有区别的,LRN一般是在激活、池化后进行的一中处理方法。

        AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下。

(1)成功使用ReLU作为CNN的激活函数,并验证其效果在较深的网络超过了Sigmoid,成功解决了Sigmoid在网络较深时的梯度弥散问题。虽然ReLU激活函数在很久之前就被提出了,但是直到AlexNet的出现才将其发扬光大。

(2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合。Dropout虽有单独的论文论述,但是AlexNet将其实用化,通过实践证实了它的效果。在AlexNet中主要是最后几个全连接层使用了Dropout。

(3)在CNN中使用重叠的最大池化。此前CNN中普遍使用平均池化,AlexNet全部使用最大池化,避免平均池化的模糊化效果。并且AlexNet中提出让步长比池化核的尺寸小,这样池化层的输出之间会有重叠和覆盖,提升了特征的丰富性。

(4)提出了LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。

其中LRN的详细介绍如下:   (链接地址:tensorflow下的局部响应归一化函数tf.nn.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,cha

nnel],这里可以简单解释一下,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


【TensorFlow】tf.nn.lrn 局部响应归一化函数 归一化、标准化和正则化的关系 局部响应归一化,可防止过拟合,原理是生物学上的 ‘侧抑制’,局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。(通俗地讲就是 强的更强,弱的更弱) 这个技术主要是深度学习训练时的一种提高准确度的技术方法,LRN一般是在激活、池化后进行的一种处理方法。 LRN 一般用于使用了 RELU激活... 阅读详情

相关推荐

详解LRN(local response normalization--局部响应标准化)缓解过拟合

局部响应归一化层(Local Response Normalization) LRN全称为Local Response Normalization,即局部响应归一化层,LRN函数类似Dropout和数据增强作为relu激活函数之后防止数据过拟合而提出的一种处理方法。这个函数很少使用,基本上被类似Dropout这样的方法取代. 为什么要引入LRN层? 首先要引入一个神经生物学的概念:侧抑制(lateral inhibitio),即指被激活的神经元抑制相邻的神经元。归一化(normaliazation)的目的

qq_45704645的博客 3368

LRN (Local Response Normalization,即局部响应归一化层)

LRN (Local Response Normalization,即局部响应归一化层) (一)先看看归一化吧 什么是归一化? 归一化化是归纳统一样本的统计分布性。就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。 为什么要归一化,归一化目的是什么? (1)为了后面数据处理的方便,归一化的确可以避免一些不必要的数值问题。 (2)为了

Learning by doing 1万+

Ubuntu 22.04 实战:为WIFI6网卡Realtek RTL8852BE手动编译驱动指南

本文详细介绍了在Ubuntu 22.04系统上为Realtek RTL8852BE WIFI6网卡手动编译驱动的完整指南。从问题诊断、环境准备到源码获取、编译安装,逐步解决驱动缺失问题,并提供常见问题排查和性能优化建议,帮助用户充分发挥WIFI6网卡性能。

weixin_30808693的博客 477

LRN局部响应归一化

                   局部归一化的动机:在神经生物学有一个概念叫做侧抑制(lateral inhibitio),指的是被激活的神经元抑制相邻神经元。归一化的目的是“抑制”,局部响应归一化就是借鉴侧抑制的思想来实现局部控制,尤其当我们使用RELU的时候这种”侧抑制“很管用。 好处:有利于增加泛化能力,做了平滑处理,识别率提高1-2%。LRN层模仿生物神经系统的侧抑制机制,对局部神...

zrh_CSDN的博客 1399

马尔可夫网络和贝叶斯网络的一些总结

马尔可夫网络和贝叶斯网络的一些总结 最近学习了一些关于概率逻辑的知识图谱推理方法,主要就是贝叶斯网络和马尔可夫网络,在此总结一下,内容都来自网络资料,这里加入了一下个人的理解,尽量为大家避雷! 这篇文章是我目前在网络上找到的关于贝叶斯网络最清晰的介绍,大家有兴趣可以去看看 贝叶斯网络中比较重要的两部分就是贝叶斯网络的结构和条件概率表。 贝叶斯网络的结构 下面通过一个例子来介绍: 贝叶斯网的网络结...

qq_43654303的博客 4365

告别‘火龙’:实测BES2800/RK2108等主流芯片,聊聊AI眼镜的功耗与散热‘内卷’实战

本文深入探讨了AI智能眼镜在功耗与散热方面的挑战,重点分析了恒玄BES2800和瑞芯微RK2108等主控芯片的能效表现。通过实测数据和优化策略,揭示了在6nm工艺、异构计算和系统级散热方案下的实战经验,为AI眼镜的功耗管理提供了实用解决方案。

weixin_30839881的博客 923

什么是 Batch normalization

目录 Batch_normalization BN来源: BN原因: BN做法: BN优缺点: LRN 为什么要有LRN 局部响应归一化? LRN公式 : Ref: 归一化(normalization) 将一批不太标准的数据统一到指定的格式. 我们在数据处理时常用的是将一组范围差距较大或者单位不同的数据依据一定规则变化到指定的范围之内。 Batch_normalizati...

渣渣 5万+

Docker网络冲突?手把手教你解决Dify社区版无法访问172.18.0.0网段的问题

本文详细解析了在部署Dify社区版时,因Docker默认网段与局域网冲突导致无法访问172.18.0.0网段的问题。通过剖析Docker网络原理,提供了修改Docker守护进程默认地址池的根治方案,并介绍了在Compose文件中指定自定义网络等备选方法,帮助用户彻底解决网络冲突,保障服务稳定运行。

p8q9r0的博客 480

局部响应归一化LRN (Local Response Normalization)

一、LRN技术介绍: LRN(Local Response Normalization) 是一种提高深度学习准确度的技术方法。 LRN 一般是在激活、 池化函数后的一种方法。在 ALexNet 中, 提出了 LRN 层, 对局部神经元的活动创建竞争机制, 使其中响应比较大对值变得相对更大, 并抑制其他反馈较小的神经元, 增强了模型的泛化能力。 AlexNet将LeNet的思想发扬光大,把CN...

8551

Endnote 导入参考文献的时候,格式错误太多了。et.al错误,国标GBT7714在endnote中的详细配置教程,适用于本科,硕士论文文献插入的模板

EndNote插入文献常遇到以下错误主要如下: 等、et al不分; 英文作者全名大写; 期刊名字使用了缩写(图片里没有体现;卷号、期号缺失时出现乱码,多了半个括号;页码范围略去了相同部分;没有悬挂缩进,本文全部解决,全网最细

sakura的博客 3万+

自动驾驶控制算法——MPC控制算法

自动驾驶MPC控制算法摘要 模型预测控制(MPC)是一种基于系统预测模型的先进控制算法,通过滚动优化方式求解最优控制输入。其核心流程包括:1)使用数学模型预测未来系统状态;2)定义优化目标函数衡量预测误差;3)求解满足约束的最优控制序列;4)仅执行第一步控制并重复该过程。 相比传统PID控制,MPC具有预测未来、多步优化、显式处理约束等优势,特别适合自动驾驶中对安全性要求高的场景,如轨迹跟踪、车道保持、联合纵横向控制、自动泊车和动态避障等。MPC通过状态空间模型预测系统行为,在每个控制周期计算未来N步的控制

swaggytiger的博客 7907

LRN 局部响应归一化层(Local Response Normalization)

局部响应归一化层(Local Response Normalization) 局部响应归一化层简称LRN,是在深度学习中提高准确度的技术方法。一般是在激活、池化后进行的一中处理方法,因在Alexnet中运用到,故做一下整理。 为什么要引入LRN层? 首先要引入一个神经生物学的概念:侧抑制(lateral inhibitio),即指被激活的神经元抑制相邻的神经元。归一化(normaliazation)的目的就是“抑制”,LRN就是借鉴这种侧抑制来实现局部抑制,尤其是我们使用RELU的时候,这种“侧抑制

FY_2018的博客 1766

挣脱枷锁:网页禁止复制/F12失效/右键失灵时的破局之道

大家在网上冲浪的否遇到过这种情况?急需网页上的一段关键信息、一段优美的文字、一个重要的代码片段,或者只是想收藏某篇文章,却发现:文本选择被阻止,右键菜单被禁用,开发者工具(F12)被屏蔽,查看源代码(Ctrl+U)失效?本文会有力解决这些封锁。

安德洛夫 2101

深度学习之局部响应归一化LRN(Local Response Normalization)

1、LRN 局部响应归一化: 这个技术主要是深度学习训练时的一种提高准确度的技术方法。其中caffe、tensorflow等里面是很常见的方法,其跟激活函数是有区别的,LRN一般是在激活、池化后进行的一中处理方法。 AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。 AlexNet主要使用到的新技术点如下: (1)成功使用ReLU作为CNN的激活函...

It’s All Uphill From Here 877

2026年1至9月武汉市房地产价格深度分析报告

本报告基于2026年1月至9月武汉市实际成交案例,从成交价格、区域分布、户型结构、价格走势等维度进行深度分析。数据来源包括武汉市住房保障和房屋管理局备案数据、主要中介机构成交记录及典型楼盘网签案例,覆盖全市15个行政区及主要功能板块。

王国平的博客 291

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【深度学习技术】LRN 局部响应归一化

LRN(Local Response Normalization) 局部响应归一化笔记本笔记记录学习 LRN(Local Response Normalization),欢迎学习交流。侧抑制(lateral inhibition)计算公式Hinton在2012年的Alexnet网络中给出其具体的计算公式如下:公式看上去比较复杂,但理解起来非常简单。i表示第i个核在位置(x,y)运用激活函数ReLU后

谢军的博客 4万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

LRN ( Local Response Normalization) 局部响应归一化层

LRN全称为Local Response Normalization,即局部响应归一化层,LRN函数类似DROPOUT和数据增强作为relu激励之后防止数据过拟合而提出的一种处理方法。这个函数很少使用,基本上被类似DROPOUT这样的方法取代,见最早的出处AlexNet论文。 首先在弄懂原理之前,希望读者能够认真的看两边公式,而不是直接看别人解释的原理 bix,ybxi,y是归一化后的值,i...

qq_32172681的博客 1031

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

局部响应归一化LRN(Local Response Normalization)

LRN一般是在激活、池化后进行的一中处理方法。 其主要思想是:对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力。 更加详细可看:https://blog.csdn.net/hduxiejun/article/details/70570086 在 AlexNet 的论文中有提到 LRN: 其中,a 表示卷积层(包括卷积操作和池...

yleave的博客 521

深度学习:局部响应值归一化(Local Response Normalization,LRN)

Local Response Normalization(LRN)技术主要是深度学习训练时的一种提高准确度的技术方法。 LRN一般是在激活、池化函数后的一种方法。 在ALexNet中,提出了LRN层,对局部神经元的活动创建竞争机制,LRN仿造生物学上活跃的神经元对相邻神经元的抑制现象(侧抑制)。 Hinton在2012年的Alexnet网络中给出其具体的计算公式如下: 公式看上去比较复杂,但理...

默语之声的博客 1229

LRN 局部响应归一化的理解

一、LRN技术介绍: Local Response Normalization(LRN)技术主要是深度学习训练时的一种提高准确度的技术方法。其中caffe、tensorflow等里面是很常见的方法,其跟激活函数是有区别的,LRN一般是在激活、池化后进行的一种处理方法。LRN归一化技术首次在AlexNet模型...

catkin_ws的博客 476

在AlexNet中LRN 局部响应归一化的理

在AlexNet中LRN 局部响应归一化的理 一、LRN技术介绍: Local Response Normalization(LRN)技术主要是深度学习训练时的一种提高准确度的技术方法。其中caffe、tensorflow等里面是很常见的方法,其跟激活函数是有区别的,LRN一般是在激活、池化后进行的一种处理方法。LRN归一化技术首次在AlexNet模型...

adong1976的博客 313

局部响应归一化LRN(Local Response Normalization)理解

1、其中LRN就是局部响应归一化: 这个技术主要是深度学习训练时的一种提高准确度的技术方法。其中caffe、tensorflow等里面是很常见的方法,其跟激活函数是有区别的,LRN一般是在激活、池化后进行的一中处理方法。           AlexNet将LeNet的思想发扬光大,把CNN的基本原理应用到了很深很宽的网络中。AlexNet主要使用到的新技术点如下。 (1)成功使用ReLU...

weixin_NineDays66 5425
上一篇: OpenCV显示中文汉字,未使用CvxText和FreeType库,很强大!!
下一篇: tensorflow的知识点一
yangdeshun888
yangdeshun888 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄11年 714粉丝 229原创
评论 20
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值