Neural Module Networks

来源:互联网 发布:有线网络信号增强器 编辑:程序博客网 时间:2024/06/15 21:16

  这篇文章旨在开发深度网络的表征能力,并且合成question的语言结构。首先是利用语义解析器分析每个问题,并且利用每个问题的分析结果决定question基本的组成单元(注意、分类等),同时也决定这些单元之间的关系。在Figure 1 中,首先利用CNN生成注意,目标为dog,并且将结果输入到location describer中。低层结构中的各模块之间传递的信息可能是raw image feature、attentions或者classification decisions。每个模块都是特殊输入到输出类型的映射。NMN中所有模块都是相互独立的,都是合成的,这允许对于每个问题的计算都是可以不同的,并且在训练期间可能不会引起注意。出了NMN之外,文中利用LSTM编码问题。
  这里写图片描述
   这篇文章主要贡献:
  1.首先介绍了Neural Module Networks
  2.介绍如何构建Neural Module Networks,并且利用这个网络处理VQA任务
  3.引进一个新的数据集
  我们的目标是确定一套小的模块可以作为任务的配置组件。
  这里写图片描述
  Find 模块.find(c)将输入图像与一个权重向量进行卷积产生一个heatmap或者unnormalized attention。
  这里写图片描述
  transform[c]通过多层感知机实现,激活函数是ReLUs,同搞过全连接将attention映射成另外一个attention。
  这里写图片描述
  combine[c]模块将两个attention合成一个attention。
  这里写图片描述
  describe[c]将attention、输入图像和maps在所有Label上形成分布。
  这里写图片描述
  measure[c]将attention映射成Labels.
  文中利用Stanford Parser解析每个问题。举例来说,what is standing in the field 被解析成what(stand);what color is the truck 解析成color(truck)。
  这些语义上的表示已经可以决定预测网络的结构,但是不能明确的将这些模块组合在一起。给定网络输入,可以得到每个训练样例的网络结构,输入图像,输出标签。在很多情况下,这些网络都是不同的,但是有很多相关参数。举例来说,what color is the cat? /describecolor;where is the truck? /describewhere。
  文章最后利用LSTM预测答案。

0 0