0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在深度学习中为什么要正则化输入?

电子工程师 来源:未知 作者:佚名 2017-11-22 09:37 次阅读

本文作者原创,转载请注明出处。

今天我们来讲解一下为什么要正则化输入(也叫标准化输入)呢?

正则化输入其实就是论文中说的局部相应归一化,它最早由Krizhevsky和Hinton在关于ImageNet的论文里面使用的一种数据标准化方法。

在实际应用中,我们可能会遇到各维度数据或者各特征在空间中的分布差别很大。就如同下图

这给训练增加了难度,我们可以看一下如果是这样的数据我们会得到一个什么样的梯度下降图。

很明显,这是一个狭长的立体图形,在进行反向传播的过程中,如果在两端开始梯度下降的话,整个过程就变得很漫长。所以为了解决这种情况,我们使用了正则化输入去解决。下面就是正则化输入的计算公式:

按照这个公式来计算的话,我们的梯度下降就变成这样了。

这样的话我们无论是从哪一个点开始梯度下降,得到的效果是一样的。

那我们再来看一下在Tensorflow中是怎么实现的。Tensorflow中的APItf.nn.lrn,别名也叫tf.nn.local_response_normalization,这两个是一个东西。再来看一下函数是怎么定义的:

local_response_normalization(  input,  depth_radius=5,  bias=1,  alpha=1,  beta=0.5,  name=None)

里面那么多参数,那分别又是代表什么呢?首先,input是我们要输入的张量,depth_radius就是上面公式中的n/2,其实这个变量名为什么叫depth_radius呢?radius不是半径吗?与半径又有什么关系呢,我等下再来讲解为什么。接着,bias是偏移量,alpha就是公式中的α,beat就是公式中的β。

其实啊,LRN也可以看作是“每个像素”在零值化后除以“半径以内的其他对应像素的平方和”,这个半径就是给定的变量depth_radius的值。

那我们用代码来看一下效果怎么样:

import numpy as npimport tensorflow as tfa = 2 * np.ones([2, 2, 2, 3])print(a)b = tf.nn.local_response_normalization(a, 1, 0, 1, 1)with tf.Session() as sess:    print(sess.run(b))

输出的结果a是:

输出的结果b是:


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 深度学习
    +关注

    关注

    73

    文章

    5224

    浏览量

    119866
  • 正则化输入
    +关注

    关注

    0

    文章

    1

    浏览量

    831

原文标题:技术详解 | 为什么要正则化输入?

文章出处:【微信号:gh_a204797f977b,微信公众号:深度学习实战】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    #硬声创作季 #深度学习 深度学习基础-3.3.1 损失函数的正则

    深度学习
    水管工
    发布于 :2022年10月27日 18:23:06

    shell正则表达式学习

    正则表达式计算机科学,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。很多文本编辑器或其他工具里,正则表达式通常被
    发表于 07-25 17:18

    深度学习汽车的应用

    的“深度”层面源于输入层和输出层之间实现的隐含层数目,隐含层利用数学方法处理(筛选/卷积)各层之间的数据,从而得出最终结果。视觉系统深度
    发表于 03-13 06:45

    深度学习的机器视觉(网络压缩、视觉问答、可视等)

    一些可视的手段以理解深度卷积神经网络。直接可视第一层滤波器由于第一层卷积层的滤波器直接在输入图像滑动,我们可以直接对第一层滤波器进行可
    发表于 07-21 13:00

    改善深层神经网络--超参数优化、batch正则和程序框架 学习总结

    深度学习工程师-吴恩达》02改善深层神经网络--超参数优化、batch正则和程序框架 学习总结
    发表于 06-16 14:52

    深度学习的类别激活热图可视介绍

    深度学习的类别激活热图可视
    发表于 02-03 07:02

    深度学习预测和健康管理的应用

    深度学习预测和健康管理的应用综述摘要深度学习对预测和健康管理(PHM)引起了浓厚的兴趣,因为
    发表于 07-12 06:46

    一种基于机器学习的建筑物分割掩模自动正则和多边形方法

    化处理,使其更加逼真,即有更多的直线型轮廓,需要时构造直角。这是通过给定输入图像为真的概率的鉴别器和从鉴别器响应中学习创造更真实图像的生成器之间的相互作用来实现的。最后,从正则
    发表于 09-01 07:19

    什么是深度学习?使用FPGA进行深度学习的好处?

    什么是深度学习为了解释深度学习,有必要了解神经网络。神经网络是一种模拟人脑的神经元和神经网络的计算模型。作为具体示例,让我们考虑一个输入图像
    发表于 02-17 16:56

    dropout正则化技术介绍

    dropout技术是神经网络和深度学习模型的一种简单而有效的正则化方式。 本文将向你介绍dropout正则化技术,并且教你如何在Keras中用Python将其应用于你的模型。 读完本文
    发表于 10-10 10:38 2次下载

    基于快速自编码的正则化极限学习

    正则化极限学习机RELM是一种单隐层前馈神经网络,不同于传统神经网络算法,RELM通过随机设置输入层权重和偏置值,可以快速求得输出层权重,并且引入正则化因子,能够提高模型的泛化能力。针
    发表于 11-30 16:58 0次下载
    基于快速自编码的<b class='flag-5'>正则</b>化极限<b class='flag-5'>学习</b>机

    三种典型的神经网络以及深度学习中的正则化方法应用于无人驾驶

    在前几十年,神经网络并没有受到人们的重视,直到深度学习的出现,人们利用深度学习解决了不少实际问题(即一些落地性质的商业应用),神经网络才成为学界和工业界关注的一个焦点。本文以尽可能直白
    的头像 发表于 06-03 09:27 9357次阅读

    【连载】深度学习笔记4:深度神经网络的正则

    今天要写的是关于机器学习深度学习中的一项关键技术:正则化。相信在机器学习领域摸爬滚打多年的你一定知道
    的头像 发表于 08-14 11:58 3129次阅读

    详解机器学习深度学习常见的正则

    说到正则化大家应该都不陌生,这个在机器学习深度学习中都是非常常见的,常用的正则化有L1正则化和
    的头像 发表于 01-29 17:52 1976次阅读
    详解机器<b class='flag-5'>学习</b>和<b class='flag-5'>深度</b><b class='flag-5'>学习</b>常见的<b class='flag-5'>正则</b>化

    基于耦合字典学习与图像正则化的跨模态检索

    基于耦合字典学习与图像正则化的跨模态检索
    发表于 06-27 11:23 39次下载