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

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

本笔记记录学习 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基本没什么用。

这里写图片描述

在Alexnet模型中首次提出这个概念。
参考文献:

[LRN]:ImageNet Classification with Deep Convolutional Neural Networks

### 局部响应归一化 (LRN) 的概念与实现 #### 概念解释 局部响应归一化(Local Response Normalization, LRN)是一种用于深度学习模型中的归一化技术,旨在通过对神经元的响应进行调整来增强重要特征并抑制不必要或冗余的信息。具体而言,LRN 基于一种 **局部竞争机制**,即每个神经元的最终响应不仅取决于其自身的激活值,还受到周围邻近神经元激活值的影响[^1]。 如果某区域内多个神经元具有较高的激活值,则 LRN 将对该区域内的所有神经元施加一定的抑制效果;相反,对于低激活值的情况,LRN 则会适当放大这些信号。这种动态调节有助于改善特征图的质量,从而促进后续层更好地提取有意义的模式[^3]。 然而值得注意的是,在实际应用过程中发现相比其他更先进的正则化手段比如批量规范化(Batch Normalization),LRN 提供的好处相对较小,并且计算成本较高因此逐渐被淘汰掉[^2]。 #### 实现方法 以下是 Python 中基于 TensorFlow/Keras 的简单 LRN 实现方式: ```python import tensorflow as tf from tensorflow.keras.layers import Layer class LocalResponseNormalization(Layer): def __init__(self, depth_radius=5, bias=1, alpha=0.0001, beta=0.75, **kwargs): super(LocalResponseNormalization, self).__init__(**kwargs) self.depth_radius = depth_radius self.bias = bias self.alpha = alpha self.beta = beta def call(self, inputs): return tf.nn.local_response_normalization( input=inputs, depth_radius=self.depth_radius, bias=self.bias, alpha=self.alpha, beta=self.beta) # 使用示例 model = tf.keras.Sequential([ tf.keras.layers.Conv2D(64, kernel_size=(3, 3), activation='relu', input_shape=(None, None, 3)), LocalResponseNormalization(), ]) ``` 上述代码定义了一个名为 `LocalResponseNormalization` 的自定义 Keras 层类,其中包含了四个主要参数: - `depth_radius`: 控制窗口大小,默认为 5; - `bias`, `alpha`, 和 `beta`: 调整公式的超参设置^。 通过调用 Tensorflow 自带函数 `tf.nn.local_response_normalization()` 完成了核心操作部分。 --- #### 总结 尽管 LRN 曾经作为 AlexNet 架构的一部分发挥了重要作用,但由于现代架构倾向于采用更加高效且易于优化的方法如 BatchNorm 或 Instance Norm 来替代它,所以目前 LRN 并未广泛应用于最新的研究项目当中。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值