您的位置:首页 > 大数据 > 人工智能

论文笔记 UberNet : Training a ‘Universal’ Convolutional Neural Network

2016-09-11 22:39 971 查看
UberNet : Training a ‘Universal’ Convolutional Neural Network for Low-, Mid-, and High-Level Vision using Diverse Datasets and Limited Memory

这是一篇很有意思的文章,将CNN的许多用途一起结合训练一个网络进行,实现CNN的:

boundary detection (b) normal estimation (c) saliency estimation (d) semantic segmentation (e) semantic part segmentation (f) semantic boundary detection and (g) proposal generation and object detection
多功能的结合对于工业界应该有很深的意义,一个网络十分方便。

对于不同任务下网络的结合,主要需要解决的问题有以下2个:

(1)不同数据集上的训练



(2)内存大小的限制

对于问题(1):

不同的数据集上同时训练时的统一,作者设计了如下图的网络,即为UberNet,结合多标签任务:图中最左是一个连续的降采样操作得到的影像金字塔,金字塔中每个图像都连接着独立的一个CNN网络。图中,C指的是VGG网络,结合B批处理的正则化操作,来得到特征,并得到对应的task的回应E。所有的回应E结合最终完成task-special 的操作。



对于问题(2)内存的问题:

作者修改了一系列内存的储存方式来进行内存问题的优化。下图为单个任务的Vanilla backpropagation方法:黑色箭头代表memory查找操作,黄色箭头代表储存操作,蓝色箭头代表前后向传播。在前向传播中,每层在bottom box中储存激活信号,而在后向传播中,激活信号与梯度信息(top boxes)通过loss层进行递归的计算。



而相对地,下图为单个任务下的low-memory backpropagation方法示意图:首先储存memory中的激活值的子集,然后在小网络上提供‘anchor’points的运行的反向传播算法,主要减少同时在内存中储存的激活与梯度信息。



对于多任务下,作者也进行了一系列改进,下图分别为多任务下的Vanilla backpropagation及作者修改的结果:





最终的部分结果展示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐