Paper | Highway Networks
解决的问题:在当时,人们认为 提高深度 是 提高精度 的法宝。但是网络训练也变得很困难。本文旨在解决深度网络训练难的问题,本质是解决梯度问题。
提出的网络:本文提出的网络结构统称为highway networks,允许在多层之间的无障碍信息流动【不仅是梯度,也是特征图的流动】。
特别之处:借鉴了LSTM的思想,使用可学习的门机制,调控信息流,即提供information highways。
1. 网络结构
高速网络的每一层都有一个门\(\mathbf{T}\),其输入就是该层的输入。若输出为\(\mathbf{1}\),则执行变换(transform);若输出为\(\mathbf{0}\),则执行搬运(carry),即恒等变换。
数学表达是这样的:
\[
\mathbf{Y} = H (\mathbf{X}, \mathbf{W}_\text{H}) \cdot T (\mathbf{X}, \mathbf{W}_\text{T}) + \mathbf{X} \cdot (\mathbf{1} - T (\mathbf{X}, \mathbf{W}_\text{T}))
\]
H是highway的意思,T是transform的意思。注意是element-wise相乘。
有几点问题:
要求每一层的输入\(\mathbf{X}\)、输出\(\mathbf{Y}\)、变换输出\(H (\mathbf{X}, \mathbf{W}_\text{H})\)和门输出\(T (\mathbf{X}, \mathbf{W}_\text{T})\)是相同维度的。当维度不同时,我们可以简单地借助补零或降采样。本文中,作者借助一个额外的卷积层完成维度变换。
所有\(\mathbf{H}\)(\(\mathbf{T}\))的权值是共享的。
在初始化\(\mathbf{T}\)时,其偏置\(\mathbf{b}_{\text{T}}\)设为负数。这是希望网络一开始就主动寻求信息流的搬运,只在必要时执行变换。这与Gers等人的LSTM的初始化思路很像。实验证明这种初始化方法非常有效!
实验略。
2. 分析

通过对权值的可视化发现:
训练后,初始为负值的偏置不但没有上升,反而变得更负【第一排第一列的偏置初始化为-2,现在更低了;第二排初始化为-4,也更低了】。但随着深度增加,CIFAR的偏置有所提升【第二排的偏置随着深度增加在降低】。
CIFAR变换门的输出却随着深度增加而降低趋于0【第二列第二排和第一列对比】。这说明,一开始强烈的负偏置并没有让门都为0,而是促进其选择性。
对同一个输入,变换门表现得非常稀疏,如第三列所示。
如第四列所示,大多数样本随着深度增加并不会发生太大变化。主要变化发生在网络浅层。
综上,高速网络最大的意义在于:跳过没有用的层,加快信息传递。而这种没有用的层在深度网络和简单任务中是非常常见的。
还有一篇补充论文《Training Very Deep Networks》发表在2015年NIPS。有时间再看~
Paper | Highway Networks的更多相关文章
- 基于pytorch实现HighWay Networks之Train Deep Networks
(一)Highway Networks 与 Deep Networks 的关系 理论实践表明神经网络的深度是至关重要的,深层神经网络在很多方面都已经取得了很好的效果,例如,在1000-class Im ...
- Highway Networks
一 .Highway Networks 与 Deep Networks 的关系 深层神经网络相比于浅层神经网络具有更好的效果,在很多方面都已经取得了很好的效果,特别是在图像处理方面已经取得了很大的突破 ...
- Highway Networks Pytorch
导读 本文讨论了深层神经网络训练困难的原因以及如何使用Highway Networks去解决深层神经网络训练的困难,并且在pytorch上实现了Highway Networks. 一 .Highway ...
- 基于pytorch实现HighWay Networks之Highway Networks详解
(一)简述---承接上文---基于pytorch实现HighWay Networks之Train Deep Networks 上文已经介绍过Highway Netwotrks提出的目的就是解决深层神经 ...
- Highway Networks(高速路神经网络)
Rupesh Kumar Srivastava (邮箱:RUPESH@IDSIA.CH)Klaus Greff (邮箱:KLAUS@IDSIA.CH)J¨ urgen Schmidhuber (邮箱: ...
- 【论文笔记】Training Very Deep Networks - Highway Networks
目标: 怎么训练很深的神经网络 然而过深的神经网络会造成各种问题,梯度消失之类的,导致很难训练 作者利用了类似LSTM的方法,通过增加gate来控制transform前和transform后的数据的比 ...
- Paper | Squeeze-and-Excitation Networks
目录 1. 故事 2. SENet 2.1 概况 2.2 具体 3. 实验 本文的贡献点在于:通过显式建模特征注意力机制,达到了很好的效果.这是以往被默认隐式学习的操作.并且注意,此时建模出来的注意力 ...
- Paper | Feedback Networks
目录 读后总结 动机 故事 ConvLSTM图像分类网络 损失函数 与Episodic Curriculum Learning的结合 实验方法 发表在2017年CVPR. 读后总结 这篇论文旨在说明: ...
- Paper | Densely Connected Convolutional Networks
目录 黄高老师190919在北航的报告听后感 故事背景 网络结构 Dense block DenseNet 过渡层 成长率 瓶颈层 细节 实验 发表在2017 CVPR. 摘要 Recent work ...
随机推荐
- Android 非法字符:'/ufeff'
[问题来源] 不知道大家有没有做过这样的事,在Android开发的过程中,通过文本直接修改代码,不打开编译器,然后提交让同时编译运行.这时Android编译就会报错,指定修改的文件开始位置,显示非法字 ...
- 20190608_浅谈go&java差异(三)
20190608_浅谈go&java差异(三) 转载请注明出处https://www.cnblogs.com/funnyzpc/p/10990703.html 第三节内容概览 多线程通讯(线程 ...
- C#数据采集用到的几个方法
这两天在做数据采集,因此整理了下数据采集要用到的一些方法.因为我采集的数据比较简单,所以没有用到框架.比较有名的两个框架 HtmlAgilityPack 和 Jumony,感兴趣的可以研究下.当然,火 ...
- 导入Jar报错An internal error occurred during: "Building workspace". zip END header not found
百度了好久都没有找到答案,后来新建了一个文件夹,再build path就正常了,不知道为什么
- 5 其他命令-学习目标以及find命令的基本使用
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- IT兄弟连 HTML5教程 HTML5文字版面和编辑标签 使用HTML表格
表格在网站中应用得非常广泛,使用它可以方便.灵活地排版,很多动态大型网站也都是借助表格排版的,但现在都使用DIV+CSS进行页面布局.表格可以把相互关联的信息元素集中定位,使浏览页面的人一目了然.在H ...
- 解决 vscode 中 nuget 插件无法获取包版本的问题
解决 vscode 中 nuget 插件无法获取包版本的问题 1.问题描述 大概在今年的7月份左右,我忽然发现 NuGet Package Manager 拓展没法正常使用了,只能查询到包: 选完包之 ...
- Microsemi Libero系列教程(一)——Libero开发环境介绍、下载、安装与注册
前言 相比与Xilinx和Altera在国内的市场,Microsemi的FPGA在国内应用很少很少,网上几乎没有详细的教程,刚开始使用时,遇到了各种问题,自己也走了不少弯路.本系列教程以Libero ...
- java遍历request.getParameterMap()中的值
在开发过程中发现request对象有提供一个request.getParameterMap()方法可以获取到从前端请求发送的参数Map. 但是在使用get()方法通过key(键)去获取这个参数Map中 ...
- 【朝花夕拾】Android自定义View篇之(三)Canvas绘制文字
前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10968358.html],谢谢! 前面的文章中在介绍Canvas的时候,提到过后续单独讲Can ...