热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

一种新的ResNet思路:LearningIdentityMappingwithResidualGates论文笔记

论文地址:LearningIdentityMappingswithResidualGates本文地址:http:blog.csdn.netwspbaar

论文地址:Learning Identity Mappings with Residual Gates
本文地址:http://blog.csdn.net/wspba/article/details/72789964

前言

自从2015年ResNet在ImageNet比赛上火了之后,现在简直就是大红大紫啊,这两年关于ResNet的研究、基于ResNet网络的延伸、改进也越来越多,包括FractalNet、WideResNet、DenseNet等等,这几篇文章都会一一为大家介绍,今天要介绍的叫做Gated ResNet,它来自一篇发表在今年ICLR上的论文,它没有之前提到的几个网络复杂,它对ResNet所提出的Identity Mapping进行了更加细致的思靠,它认为Identity Mapping才是ResNet包括Highway Network的精髓,并提出了对于一个深层网络,如果它具有退化成Identity Mapping的能力,那么它一定是容易优化、并且具有很好性能的。

精髓:Identity Mapping

ResNet中所提出的Residual block之所以成功,原因有两点,第一,是它的shortcut connection增加了它的信息流动,第二,就是它认为对于一个堆叠的非线性层,那么它最优的情况就是让它成为一个恒等映射,但是shortcut connection的存在恰好使得它能够更加容易的变成一个Identity Mapping。对于第二点,其实刚开始看ResNet原文时,并没有完全理解,直到看到今天所讲的这篇论文时才正真理解到它的含义。

看下图:
这里写图片描述

下面那行的网络其实就是在上面那行网络的基础上新叠加了一层,而新叠加上那层的权重weight,如果能够学习成为一个恒等的矩阵I,那么其实上下两个网络是等价的,那么也就是说如果继续堆叠的层如果能够学到一个恒等矩阵,那么经过堆叠的网络是不会比原始网络的性能差的,也就是说,如果能够很容易的学到一个恒等映射,那么更深层的网络也就更容易产生更好的性能。这是ResNet所提出的根源,也是本文所强调的重点。

对于一个网络中的一个卷积层f(x,W),W是卷积层的权重,如果要使得这个卷积层是一个恒等映射,即f(x,W)=x,那么W就应该是一个恒等映射I,但是当模型的网络变深时,要使得W=I 就不那么容易。对于ResNet的每一个Residual Block,要使得它为一个恒等映射,即f(x,W)+x=x,就只要使得W=0即可,而学习一个全0的矩阵比学习一个恒等矩阵要容易的多,这就是ResNet在层数达到几百上千层时,依然不存在优化难题的原因。

改进:Residual Gates

学习一个全0矩阵,是要使得一个矩阵中所有的值都为0,那么还有没有更简单的方法呢?比如说,只要一个值为0就够了?这恰恰就是本文的亮点:Residual Gates。

下图是基于plain network的一个改进:
这里写图片描述
这样f(x,W)就变成了g(k)f(x,W)+(1-g(k))x,很熟悉有没有,是不是很像Highway Network:这里写图片描述 ,但是Highway Network仍然需要学习一个以x为输入的函数T(x,Wt),使Wt为全0矩阵时,整个网络才相当于恒等映射。而在这里,只需要g(k)等于0表示为恒等映射,注意到这里k也是模型的一个参数,也是通过模型的前向和反向训练得出,g为激活函数(ReLU),即只要k学习到一个接近于0或者小于0(由于ReLU的存在)的值,或者k=1,W=I即可,比单纯指望W学习到I要简单得多。按照作者的意思,这个模型就具有了退化成恒等映射的能力,因此当层数加深时,是能够提升模型的性能的。

而对于ResNet,也可以使用同样的Gates:
这里写图片描述
即:g(k)(f(x,W)+x)+(1-g(k))x=g(k)f(x,W)+x ,这样看来g(k)甚至都不需要作为门控的功能,只要相当于一个缩放的作用,相比于原始ResNet需要W学成全0矩阵而言,使得g(k)等于0更加简单,因此作者推断,门控版的Gates ResNet要强于原始的ResNet。

实验

模型在MINIST和CIFAR-10数据集上的结果在这里就不多进行展示和解释。但是有几点我也是比较感兴趣的。
首先:
这里写图片描述
当模型较浅时,参数优化简单,因此k的作用体现不出来,而且k值很大,可能起到的是一个信号的放大或者增强的作用;但是当层数逐渐增加时,k值慢慢减小,比如上图,d=100时,k的均值只有0.67,那么在很多层中,k的值应该是很接近与0的,这些层起到的就是恒等映射的作用,这也就验证了作者的观点。

其次,另外一个图,这是一个100层的深层模型:
这里写图片描述
作者发现在ResNet中,k值可能在中间的某些曾具有更低的值,而作者认为,当k接近于0时,该层接近于恒等映射,那么该层可能起到更多的就是信息传递,而不是信息提取的作用,因此,对于整个模型的影响并不大,那么将这些层剔除,模型的性能应该也不会有太大的影响。右图的曲线也证明了这点,作者的这个发现,为模型的压缩也提供的新的思路。

基于第二个发现,在只有24层的浅层模型中:
这里写图片描述
我们发现,在第1、5、9个residual block中,k值很低,而第1、5、9个residual block正好对应了维度上升的层(不明白的可以回去看Wide ResNet或者ResNet的模型结构),这说明了在升维的residual block中,shortcut connection中用来增加维度卷积层起到了更加重要的作用,而在最后一个block中,k值非常高,也就是说明在这里,shortcut connection几乎不起到作用,因此将shortcut connection去除也几乎没有影响。

总结

这篇论文给模型的设计和优化提供了很好的思路,它提出了一个叫做模型退化成恒等映射的能力,即,如果模型具有退化成恒等映射的能力,那么堆叠很多这样的层,将不会比更浅的层效果要差。提出了一个只有单一参数的门控机制,它是的普通的平原网络,甚至是本来就性能很好的ResNet,变得更好,原因是一个参数的学习总会比多维权重的学习更加简单。最后,作者还给出了一个对模型理解以及优化的思路,对于一个含有门控机制的训练好的模型,我们可以通过观察k的值,来判断各个层的作用,并且根据作用的重要性,可以对不重要的层进行剔除而不影响到模型的效果,起到了一个模型压缩的作用。

总的来说,这篇论文真的是非常棒的文章,值得大家细细品读,当然论文中还有很多理解不到位的地方,也希望大家能够提出来,一起交流一起学习!


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • HTML学习02 图像标签的使用和属性
    本文介绍了HTML中图像标签的使用和属性,包括定义图像、定义图像地图、使用源属性和替换文本属性。同时提供了相关实例和注意事项,帮助读者更好地理解和应用图像标签。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 本文介绍了在Python中使用zlib模块进行字符串的压缩与解压缩的方法,并探讨了其在内存优化方面的应用。通过压缩存储URL等长字符串,可以大大降低内存消耗,虽然处理时间会增加,但是整体效果显著。同时,给出了参考链接,供进一步学习和应用。 ... [详细]
  • 本文介绍了Android中的assets目录和raw目录的共同点和区别,包括获取资源的方法、目录结构的限制以及列出资源的能力。同时,还解释了raw目录中资源文件生成的ID,并说明了这些目录的使用方法。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
author-avatar
Black
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有