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

2023-11-06

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


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 高级计算机网络 知识点总结

    高级计算机网络知识点总结 一 引言 一 OSI七层模型 OSI定义了网络互连的七层框架 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 即ISO开放互连系统参考模型 每一层实现各自的功能和协议 并完成与相邻层的接口通信 OSI的
  • 5G及移动边缘计算(MEC)学习笔记(1)

    原文链接 https blog csdn net gongxifacai believe article details 80804841 1 1G 5G发展变革 1G 第一代移动通信系统出现在蜂窝系统理论提出之后 主要满足人们无线移动通话
  • GameFi 增长: 如果保持游戏用户的留存

    Mar 2023 Daniel 链游存在用户留存低的问题 对于所有关于成为游戏的未来的讨论 90 的区块链游戏在30天内就不活跃了 如果没有玩家长期享受游戏 今天大多数GameFi项目仍然只是DeFi协议 以及有更漂亮的图形和一些互动元素
  • idea 安装 Vue 插件后没有新建Vue文件Vue component选项

    解决办法 2 copy之后会出现一个新文件 Name 改成 Vue Component 然后把代码里的 COMPONENT 删掉即可
  • Android高斯模糊(毛玻璃效果)蒙层库

    ShapeBlurView ShapeBlurView库是一个高斯模糊 毛玻璃效果 蒙层库 Like iOS UIVisualEffectView不知大家做需求的时候是否有这样的效果要求 需求示例 大家熟悉的Android常用图片加载库 比
  • 剑指 Offer 62. 圆圈中最后剩下的数字(leetcode)--约瑟夫问题

    文章目录 题目描述 算法 约瑟夫问题 算法描述 解决方案 普通解法 缺点 公式法 代码 题目描述 算法 约瑟夫问题 算法描述 约瑟夫问题是个著名的问题 N个人围成一圈 第一个人从1开始报数 报M的将被杀掉 下一个人接着从1开始报 如此反复
  • 该连接被站点断开怎么办_上网速度慢、掉线怎么办

    又到周末啦 休息的小伙伴可以在家里看看视频 玩玩手机 打打王者 彪彪飞车 但是网络突然出现网速慢掉线 电视看不了 游戏玩不了 怎么办呢 还要追剧呢 还要打团呢 还要飙车呢 好难过 别着急 小助手来帮你 上网速度慢怎么办 1 访问某个站点服务
  • [需求管理-11]:需求拆分常见的原则与方法

    目录 前言 第1章 需求拆分的原则 1 1 理解需要背后的客户价值 1 2 参考 用户故事的定义方法 1 3 系统需求的层次 1 4 需求拆分的INVEST原则 小而整 1 5 需求拆分的三个准则 一个用户 完整价值 不依赖 第2章 9 种
  • unity打飞碟

    unity hw4 1 编写一个简单的鼠标打飞碟 Hit UFO 游戏 游戏的演示视频地址 http v youku com v show id XMzU0Mjg0NDg3Mg html spm a2h3j 8428770 3416059
  • Python初学 Anaconda安装方法

    Anaconda 指的是一个开源的Python发行版本 其包含了Python conda等180多个科学包及其依赖项 conda是一个开源的包 环境管理器 可以用于在同一个机器上安装不同版本的软件包及其依赖 并能够在不同的环境之间切换 因为
  • 下载blob地址或m3u8格式视频方法以及常见问题解决

    STEP1 在一些视频播放网站视频下方没有直接的下载按钮 此时可以先用电脑F12键查看元素 会出现类似如下界面 STEP2 该界面左上角的位置有一个指针形状的按钮 选用这个按钮 点一下网页里视频播放的区域 审查元素界面会跳转到类似如下的界面
  • Pandas知识点-合并操作join

    Pandas知识点 合并操作join 在Pandas中 join 方法也可以用于实现合并操作 本文介绍join 方法的具体用法 一 基础合并操作 join other 将一个或多个DataFrame加入到当前DataFrame中 实现合并的
  • Redis基础

    文章目录 1 Redis入门 Redis简介 Redis下载与安装 Redis启动与停止 设置Redis密码和允许远程连接 2 Redis数据类型 3 Redis常用命令 字符串string操作命令 哈希hash操作命令 列表list操作命
  • Windows防止程序多开并在多开时弹出已运行程序

    Windows下防止程序多开并在多开时弹出已运行的程序 1 功能说明 在Windows客户端开发时 往往需要禁止客户多开程序的情况 并且在客户再次双击启动图标时显示已启动的程序界面 故而需要下面的功能 使用CreateMutex禁止程序多开
  • CNN网络,CNN+SVM网络对故障分类(python代码)

    1 数据集可以使用多种数据集验证 例如 CWRU PU IMS JNU SEU PHM2010等等 这里使用的是IMS 辛辛那提 正常 内圈故障 外圈故障 滚动体故障 原始数据下载官网 Prognostics Center of Excel
  • CentOS7 彻底清除MySQL

    MySQL完全删除 参考文档 http www centoscn com mysql 2017 0517 8791 html 查看已经安装的服务 rpm qa grep i mysql i 作用是不区分大小写 删除这两个服务 去掉后缀 rp
  • [思维模式-7]:《如何系统思考》-3- 认识篇 - 什么是系统?系统的特征?

    目录 第1章 什么是系统 1 1 万事万物都是一个有机的系统 1 2 系统的科学定义 1 3 系统的构成 1 4 系统的分类 第2章 动态复杂系统的八大特征 2 1 目的性 2 8 边界 2 3 结构影响行为 2 4 总体大于部分之和 2
  • 数据大屏适配方案 (scale)

    目录 适配方案分析 vw vh 什么是vw和vh vw和百分比的区别是什么 vw怎么使用 实现思路 案例 scale方案 一 scale 方法 1 scaleX x 2 scaleY y 3 scale x y 案例 大屏之关键 前期的自适
  • TemplateSyntaxError at /statistics/ ‘staticfiles‘ is not a registered tag li

    报错django template exceptions TemplateSyntaxError staticfiles is not a registered tag library Mustbe one of admin list ad
  • app基本控件

    一个完整的APP包括四大类 各种 栏 内容视图 控制元素 临时视图 各种 栏 状态栏 导航栏 标签栏 工具栏 搜索栏 范围栏 内容视图 列表视图 卡片视图 集合视图 图片视图 文本视图 控制元素 用于控制产品行为或显示的信息 临时视图 警告

随机推荐

  • IDEA设置启动选择项目

    IDEA设置启动选择项目 IDEA2019 3 5启动后自行选择项目 而不是进入上一次关闭的项目 通过下面的设置修改 将Reopen last project on startup勾选去除
  • 从零开始学Qt(四)信号与槽

    信号与槽 书不记 熟读可记 义不精 细思可精 1 信号 槽是啥 古有 烽火狼烟 传递消息 敌人来犯的消息迅速传达开来 是多么的聪慧啊 烟就是信号 下一个燃火台看到烟后就点燃燃料 这个就槽 换种方法说就是 一个按钮被点击了 会触发一个点击的信
  • 校园网连路由器

    1 校园网 并记住账号及其密码 2 一台电脑 Windows 系统 3 一台路由器 4 两条网线 准备完成 下面开始正式干活 第一步 电脑插上网线 路由器通电插上网线 在你的电脑登陆你的校园网 第二步 打开你的电脑搜索CMD 并以管理员权限
  • QString和QByteArray的区别

    QString和QByteArray的区别 本质 格式转换 QString字符串格式化打印 长度 本质 QString是对QByteArray的再次封装 QString可以通过char 来构造 也可以通过QByteArray来构造 QByt
  • CentripetalNet: Pursuing High-quality Keypoint Pairs for Object Detection解读

    摘要 基于关键点的检测器得到了不错的性能 但关键点匹配错误是普遍性存在的 严重的影响了其检测器的性能 作者通过centripetal shif将相同的类别的实例分开 CentripetalNet是预测角点的位置和向心偏移 通过向向心偏移来对
  • Web API: URL.createObjectURL()实践

    1 问题 URL createObjectURL的介绍如下 The URL createObjectURL static method creates a DOMString containing a URL representing th
  • 图形学数学基础之1D采样分布计算方法Inverse Method

    作者 i dovelemon 日期 2017 09 04 来源 CSDN 主题 Rendering Equation Probability Density Function Cumulative Density Function 引言 前
  • Android开发中Javassist的妙用

    Javassist Java字节码以二进制的形式存储在 class文件中 每一个class文件包含一个Java类或接口 Javassist框架就是一个用来处理Java字节码的类库 它可以在一个已经编译好的类中添加新的方法 或者修改已有的方法
  • pytorch 下载

    pytorch 下载 使用anconda 直接下载pytorch的朋友应该是知道pytorch是个啥的 所以直接上教程 anconda下载 anconda是一个用于下载和管理python依赖包和环境的一个工具 下载详情可以去看这篇文章 an
  • VMware虚拟机nat模式连不上网

    我的虚拟机总是各种连不上网 每次都要折腾一番 现在我把虚拟机连不上网的原因总体排查一下 按照流程一步步来 基本上可以解决大部分人的问题 首先 在VMware的编辑 gt 虚拟网络编辑器重新建立 网络 之前的要删掉 新建的同样选择 就可以 如
  • 线性回归总结

    向量相似理论 线性回归 比如预测房价中学区属性0 4 居住体验0 2 通勤距离0 2 商业环境0 2等因素 在同一价格区间 只有样本特征与上述属性分布一致时 各方面都加权均衡 才能取得高分 任一单一属性过高 必然导致其他属性降低 通常意义上
  • Flutter音频播放之just_audio

    just audio的使用 just audio 它是一个用于播放音频的 Flutter 插件 安装和导入 just audio 要使用 just audio 库 需要将其添加到项目的 pubspec yaml 文件中 dependenci
  • Update your application to remove the dependency cycle between beans

    Spring 高版本循环依赖问题 问题描述 提示 Spring boot 应用启动报错 Relying upon circular references is discouraged and they are prohibited by d
  • 三大战略引擎加速转动,微盟驶入智慧商业服务深水区

    2023年3月30日 微盟披露了2022年财报 经调整总收入18 39亿元 经调整毛利11 2亿元 在业务层面 订阅解决方案业务表现亮眼 其中智慧零售板块营收5 13亿元 同比内生增长45 5 拉动每用户平均收益同比增长12 3 达1296
  • (四) 区块链数据结构 – 脚本

    脚本是交易数据中的核心部分 可用于锁定输出和解锁输入 当向某人支付比特币时 我们要为交易输入设置解锁脚本 向别人证明我们有全力使用该输入 同时我们还需要对交易输出添加锁定脚本 确保只有接收者能解锁该输出 脚本 比特币系统专门设计了一套脚本语
  • games101——作业1

    文章目录 作业要求 代码框架 已有代码解读 作业部分代码 进阶部分代码 编译 结果 作业要求 在接下来的三次作业中 我们将要求你去模拟一个基于 CPU 的光栅化渲染器的简化版本 这次作业简要来说就是补全两个函数的内容 一个是 get mod
  • 数据结构实验9:并查集的使用

    问题描述 给定一个图 图中有N个顶点 1 lt N lt 500 编号依次为1 2 3 N 部分顶点之间存在一条无向边 请找出图中所有的极大连通子图 其中 极大联通子图可以描述为该子图中任意两个顶点之间都存在一条路径 且加入任何一个不在该子
  • 会议论文_干货

    研鹿论文 沿路有我 写好论文就找我 有很多同学对会议论文和期刊论文的界定并不是那么明确 那么小鹿今天就为大家详细介绍一下吧 1 会议论文是针对某个学术会议投稿的 且由学术会议的会务组决定是否录用 期刊论文则是针对某学术期刊投稿的 且是由期刊
  • python并发编程:协程asyncio、多线程threading、多进程multiprocessing

    python并发编程 协程 多线程 多进程 CPU密集型计算与IO密集型计算 多线程 多进程与协程的对比 多线程 创建多线程的方法 多线程实现的生产者 消费者爬虫 Lock解决线程安全问题 使用线程池ThreadPoolExecutor 多
  • 深度学习的局部响应归一化LRN(Local Response Normalization)理解

    1 其中LRN就是局部响应归一化 这个技术主要是深度学习训练时的一种提高准确度的技术方法 其中caffe tensorflow等里面是很常见的方法 其跟激活函数是有区别的 LRN一般是在激活 池化后进行的一中处理方法 AlexNet将LeN