MemNet_南理工

2018-08-17  本文已影响0人  conson_wm

1. 提出问题: 短期记忆

  传统CNN基本都是单向传播, 在靠后的层, 接收到的信号十分微弱, 这种单向传播的网络, 比如VDSR/DRCN等, 称为短期记忆网络
  而有些网络结构中, 网络中的神经元不仅受到直接前驱的影响, 另外还受到额外指定的前驱神经元的影响, 这种被称为限制的长期记忆网络
  这里的长短期记忆和LTSM有什么关系, 看一下Andrew那章没看的课程http://mooc.study.163.com/learn/2001280005?tid=2001391038#/learn/content?type=detail&id=2001771051
  受到人类思想持续性的激励(Abstract, Motivated by the fact that human thoughts have persistency, 具体怎么激励的就不用管了), 一个深度持续记忆网络(deep persistent memory network, MemNet)被提出来了

  MemNet引入了一个包含递归单元(recursive unit)和门控单元(gate unit)的内存块(Memory block), 以期通过自适应学习过程明确地挖掘持续记忆, 递归单元学习当前状态在不同接收域(receptive field)下的多层表征(multi-level representation, Fig 1(c)中哪些蓝色的圈), 这些表征就可以视为由当前Memory block产生的short-term memory, 而long-term memory是由之前的Memory block产生的表征(就是Fig 1(c)的绿色箭头, 它表示long-term memory从之前的Memory block来), 这些short-term memory和long-term memory被合并输送到gate unit, gate unit自适应控制应保留多少先前的状态, 并决定应存储多少当前状态, 如文中所说的, is a non-linear function to maintain persistent memory

memory block

  作者自己总结的本文主要的三大贡献


2. 结构分析

Memnet architecture

  基本结构分为三个部分
  FENet, 提取特征的卷积层(bn+relu+conv)
  Memory block, 重复单元, 每个Memory block里一堆Recursive unit和一个Gate Unit, 根据代码
https://github.com/ly-atdawn/MemNet-Tensorflow/blob/master/model/MemNet_M6R6.py

  我并没有看出来Recursive unit用了Recurrent结构, 这点和这篇文章承袭的DRCN不太一样. 在代码中, 一个Memory block里有6个Recursive unit和一个Gate unit. 每个Recursive block都是bn+relu+conv & bn+relu+conv + skip connection这种结构. Gate unit就是将之前的Recursive block的结果concat在一起, 在经过一个卷积层(bn+relu+conv)
ReconvNet, 就是1x1卷积层 + 3x3卷积层(都是bn+relu+conv), 将前面输出的结果维度变换到y的维度
整个网络的strides都是[1,1], 所以从开始到结束图像的分辨率都没有变化, 这点MemNet里没明说, 但是有一句在Experiments里
  For SISR, by following the experimental setting in [20]
  这个20是VDSR, 和DRCN都是CVPR 2016同一团队(首尔国立大学计算机视觉实验室)的工作, VDSR和DRCN分别是将skip connection和rnn引入了SR task中, MemNet实际上就是承袭自它们的工作, 个人觉得, Memory block的创新并不大, 在网络中使用稠密连接(Dense connection)这点与VDSR/DRCN稍有不同, 什么长时记忆的就是在讲故事了
  和VDSR/DRCN, 包括再往前推的SRCNN一样, MemNet也要保证网络的输入输出是同一尺寸, 所以input x是经过插值之后image size和y一样的LR图像, 至于怎么插值, 就看SRCNN是怎么做的了

Multi-Supervised MemNet

Multi-Supervised MemNet

  这个结构就和DRCN非常相似了, 实际上就是每一个Memory block预测的feature我都作为一个预测值, 然后给这些预测值乘以不同的权重得到最后的x^, 这些权重也是经过学习得到的
  The optimal weights {w_m }_(m=1)^M are automatically learned during training and the final output from the ensemble is also supervised.


3. 讨论

  基本结构分为三个部分

上一篇 下一篇

猜你喜欢

热点阅读