去年 12 月,斯坦福大学联合 Facebook 推出了一个用于,可用于测试许多视觉推理能力。近日,斯坦福大学李飞飞组与 Facebook FAIR 团队又在这一数据集的基础上取得了进一步的成果,提出了一种新的视觉推理(Visual Reasoning)模型。机器之心在本文中对该研究的部分内容进行了编译介绍。该研究的模型目前已经开源。 深度学习著名学者 Yann LeCun 在社交网络上也分享点评了这项研究:「在为视觉推理和问答学习生成程序上的非常棒的新成果。」 论文链接:https://arxiv.org/abs/1705.03633 研究演示页面: GitHub 项目(Pytorch):https://github.com/facebookresearch/clevr-iep 在论文中,研究者称该方法成功摆脱了深度学习黑箱状态的缺陷,从而让模型可以摆脱数据集偏见的影响。在仅接受少量训练后,该模型即可学会产生可用的程序;同时,它比典型的深度学习系统更加透明:通过 LSTM,模型可为不同任务创建可解释的程序,这使我们能够得知系统尝试回答问题的「思路」。此外,该模型能够概括人类提出的问题——而不是仅仅通过搜索训练数据来完成这个任务。 论文:推理和执行视觉推理程序(Inferring and Executing Programs for Visual Reasoning) 摘要 现有的视觉推理方法通常使用黑箱架构将输入映射到输出,而没有对其中的推理过程建模。于是,这些黑箱模型经常在学习过程中受到数据偏差的影响,而导致图像推理的错误。受到网络模块的启发,本论文提出了一种视觉推理模型,其中包括一个程序生成器(program generator)——该组件构造要执行的推理过程的显式表示;以及一个执行引擎(execution engine)——执行生成的程序以产生答案。程序生成器和执行引擎均由神经网络实现,并都使用了反向传播和强化学习的组合进行训练。在 CLEVR 视觉推理基准上,我们展示了新模型具有显著强于其他方法的性能,j2直播,并在进行设置后具有推广到多种任务上的潜力。 正如前文所述,该模型有两个组件构成: 程序生成器:读取问题文本,输出可执行解答问题的程序。程序生成器是由 LSTM sequence-to-sequence 模型实现的。 执行引擎:负责对图像执行生成出的程序以产生答案,由神经网络模块实现。 它们是互相独立训练的基础功能模块,这些模块根据预测的程序进行组合,atv,为每个问题提供专属的神经网络架构。 图 1. 系统结构示意 图 2. 组合推理是无人机导航、自动驾驶、监视摄像头等应用中在复杂环境下所需的关键功能,然而目前的机器学习方式无法有效实现这样的能力。 图 3. 模型对预测答案最终特征图的分数之和进行了规范化和可视化。从左至右,每个问题都会向程序增加一个模块,在上图中,增加的模块用下划线表示。中间的可视化图说明了当执行问题回答的推理时模型所关注的热点区域。 图 5. 该方法和其他方式在 CLEVR-CoGenT 数据集上的回答问题准确度对比(数字越高越好)。 图 5 上表:研究者们用条件 A 训练了模型,随后在条件 A 和条件 B 下测试模型的性能。然后,研究者们将这些模型在条件 B 中用 3000 个图片和 30,000 个问题进行了微调,再在 A、B 条件中进行了测试。新模型在条件 A 中使用了 18,000 个程序,而在条件 B 的微调中没有使用任何程序。最后,他们研究了在条件 B 上进行微调时使用不同数量的数据的影响。 图 7. CLEVR-Humans 数据集中的问题示例,以及新模型预测的程序和答案。没有出现在 CLEVR 中的问题被加上了下划线。一些预测的程序与问题的语义完全匹配(绿色);一些程序与问题语义非常匹配(黄色);一些程序与问题无关(红色)。 (责任编辑:本港台直播) |