Paper | Feedback Networks
发表在2017年CVPR。
读后总结
这篇论文旨在说明:反馈学习比单纯的前向学习更有效,并且给出了一些理由,并予以实验证明。本文通过ConvLSTM予以实现,同时考察了课程学习方法对coarse-to-fine分类原理(同时也是反馈学习框架的优势)的应用。
现在看着蛮平庸的。虽然想法很直接,也很容易想到,但本文的实验充分,有理有据,还是不错的。
动机
对于图像分类问题,我们通常采用前向CNN网络。但作者认为我们还可以采取反馈的方式代替前向模式,有以下几点优势:
可以实现提前判决,这在查询时特别有效。
符合标签化的分类原理,从大类到小类(coarse to fine)逐步判断,如图1。
为Curriculum Learning提供了基础。
作者通过ConvLSTM实现了这种思想,其性能超越了前向网络。注意,本文提出的反馈,指的是在隐藏空间中的反馈。这样就不需要针对特定任务,设计误差-输入转换。

故事
反馈是循环因果系统的产物[13] =>
反馈是一种在控制论和物理学中被广泛使用的强大手段[一堆文献]。大脑也是[一堆文献],表明了反馈在视觉中有重要意义 =>
因此,本文就提出了基于反馈的学习方法,相较传统前向方法具有上述优点。
ConvLSTM图像分类网络

本文中,ConvLSTM单元是权值共享的。其中还有红线代表短连接。
注意,ConvLSTM有两个维度:时间t和深度d。具体gate和推导操作见3.1节。核心:中间层状态同时由当前输入和上一层隐藏层状态决定。3.2节介绍了图2中ConvLSTM单元的具体结构。
进一步,作者还通过短连接,将若干时刻前的隐藏层状态与当前输入求和,得到新的输入。这种短连接是有效的,见表1给出的溶解实验结果。
损失函数
方法的精髓在于:作者在每一个时间步都计算一次loss。最终的loss是这些loss的加权组合。这样,我们就避免网络成为一个前向推导网络,而是成为一个具有coarse-to-fine特点的推导网络。更进一步,我们还可以结合课程学习的方法,见下一节。
与Episodic Curriculum Learning的结合
很简单。作者设计了一个动态变化的loss。在训练早期,loss将重点惩罚大类错误,后期再重点惩罚小类错误。就像一个孩子,我们让TA循序渐进地学习,从分大类开始,再到细致分类。
实验方法
并没有对early exit设置判决方法。相反,作者是让网络完整地进行推导,然后看看在每一层的准确率是多少。
作者将反馈网络与前向网络相比,观察到:反馈网络在相同层级上准确率更高。

此外还有一个实验:有一些样本在大类是正确的,但小类是错误的。通过增加网络深度,作者看看网络是否能逐渐得到正确的小类。具体见论文。结论是反馈结构更具有这种能力。
Paper | Feedback Networks的更多相关文章
- Paper | Highway Networks
目录 1. 网络结构 2. 分析 解决的问题:在当时,人们认为 提高深度 是 提高精度 的法宝.但是网络训练也变得很困难.本文旨在解决深度网络训练难的问题,本质是解决梯度问题. 提出的网络:本文提出的 ...
- Paper | Squeeze-and-Excitation Networks
目录 1. 故事 2. SENet 2.1 概况 2.2 具体 3. 实验 本文的贡献点在于:通过显式建模特征注意力机制,达到了很好的效果.这是以往被默认隐式学习的操作.并且注意,此时建模出来的注意力 ...
- CVPR 2017 Paper list
CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View ...
- Awesome Deep Vision
Awesome Deep Vision A curated list of deep learning resources for computer vision, inspired by awes ...
- Res-Family: From ResNet to SE-ResNeXt
Res-Family: From ResNet to SE-ResNeXt 姚伟峰 http://www.cnblogs.com/Matrix_Yao/ Res-Family: From ResNet ...
- 图像超分辨-DBPN
本文译自2018CVPR DeepBack-Projection Networks For Super-Resolution 代码: github 特点:不同于feedback net,引入back ...
- Awesome Torch
Awesome Torch This blog from: A curated list of awesome Torch tutorials, projects and communities. T ...
- OpAmp Voltage Follower/Regulator
LDO Regulator High accuracy voltage regulator Vout = 2.5V * (1 + ( 5.6 / 6.8 ) ) = 4.55V Recently th ...
- [Paper Reading]--Exploiting Relevance Feedback in Knowledge Graph
<Exploiting Relevance Feedback in Knowledge Graph> Publication: KDD 2015 Authors: Yu Su, Sheng ...
随机推荐
- go语言使用go-sciter创建桌面应用(八) 窗口显示时,自动加载后端数据。
有些时候我们需要在窗口创建并显示时,加载一些后端的配置,这就需要用到view提供的几个事件. https://sciter.com/docs/content/sciter/View.htm state ...
- 黄聪:table自适应宽度和高度
自适应宽度: td { width: 1px; white-space: nowrap; /* 自适应宽度*/ word-break: keep-all; /* 避免长单词截断,保持全部 */ } 自 ...
- SpringCloud的入门学习之Eureka(Eureka的单节点)
SpringCloud--->Spring生态体系的微服务架构:https://spring.io/ 官网贴图,如下所示,介绍了微服务的架构体系(话说,英语好读官网,可能很爽吧,没体验过). 1 ...
- ActiveMQ笔记之ConnectionFactory
一.ActiveMQ原生的连接工程:ActiveMQConnectionFactory 默认的maxThreadPoolSize=1000,也就是每个connection的session线程池最大值为 ...
- C# QRBarCode
1. install-package barcode -v 4.0.2.2; 2. using IronBarCode; class Program { static void Main(string ...
- 【随笔】CLR:向头对象(Object Header)迈进一大步!!!
前言 在我之前一篇随笔里(戳我),我们知道,一个引用类型的对象,包含了2个额外的开销,一个是头对象(object header),一个是MT.我们接下来看看头对象到底有多神秘... Object He ...
- Go template高级用法、深入详解、手册、指南、剖析
入门示例 以下为test.html文件的内容,里面使用了一个template语法{{.}}. <!DOCTYPE html> <html> <head> <m ...
- python 安装impala包
一路安装就可以 .pip install six .pip install bit_array .pip install thriftpy .pip install thrift_sasl .pip ...
- go-GUI-代码
直接看网址吧,所有的GO-GUI代码!~~~~ 网址
- 滑动门出现的背景---实例微信导航栏(a盒子里面包span盒子,文字写在span里)
需求: 制作网页时,为了美观,常常需要为网页元素设置特殊形状的背景,比如微信导航栏,有凸起和凹下去的感觉,其中最大的问题是字数不同,如何做? 解决: 用一个a包含span来制作,字数放在span里面. ...