你好,游客 登录
背景:
阅读新闻

学界 | 深度好奇提出文档理解新方法:面向对象的神经编程

[日期:2017-09-30] 来源:机器之心  作者: [字体: ]

深度好奇(DeeplyCurious.ai)和清华大学的研究者近日在 arXiv 上发布的论文提出了一种可用于解析文档的框架 OONP。机器之心在本文中对论文中的 OONP 概览部分进行了编译介绍,能为你提供对该框架的大概理解。有关该框架的更多详情和实验内容请参阅原论文。

论文:用于文档理解的面向对象的神经编程(OONP)

论文链接:https://arxiv.org/abs/1709.08853

我们提出了一个可用于对特定领域的文档进行语义解析的框架——面向对象的神经编程(OONP:Object-oriented Neural Programming)。基本而言,OONP 可以读取文档并将其解析成预先设计的面向对象的数据结构(在本论文中称为本体(ontology)),该数据结构可反映文档的特定领域的语义。OONP 解析器将语义解析建模成了一种决策过程:一个基于神经网络的阅读器(Reader)按顺序浏览文档,在此过程中,它会构建和更新一种中间本体,从而总结出对其已覆盖的文档的部分理解。OONP 支持丰富的用于组合本体的操作系列(符号的和可微分的均可)和用于表征状态和文档的许多种类的形式(符号的和可微分的均可)。OONP 解析器可以使用不同形式和强度的监督进行训练,包括监督学习(SL)、强化学习(RL)和两者的混合。我们在合成的和真实世界的文档解析任务上进行了实验,结果表明 OONP 仅需使用适量的训练数据就能学会处理相当复杂的本体。

图 1:处理一个解析任务的 OONP 的示意图

OONP 概览

OONP 解析器(如图 2 所示)的结构包含一个配置了读写头的阅读器(Reader)、表征文档的内联记忆(Inline Memory)和在每个时间步骤总结对文档的当前理解的进行记忆(Carry-on Memory)。对于每个被解析的文档,OONP 首先会对其进行预处理然后将其放入内联记忆中,然后阅读器控制读取头按顺序读取内联记忆(可能会读取很多次,6.3 节给出了一个例子),同时更新进行记忆。

图 2:OONP 的整体图示,其中 S 表示符号表征,D 表示分布式表征,S+D 就表示带有符号和分布式部分的混合式表征

下面描述 OONP 的主要部件:

记忆(Memory):我们有两种类型的记忆:进行记忆和内联记忆。进行记忆用于保存决策过程中的状态(state),并基于已被「阅读」的文本总结对文档的当前理解。进行记忆有三个部分:

对象记忆(Object Memory):用 Mobj 表示,是指在解析过程中构建的基于对象的本体,详见 2.1 节;

矩阵记忆(Matrix Memory):用 Mmat 表示,是一种矩阵类型的固定大小的记忆,用于通过控制神经网络进行可微分的读/写 [Graves et al., 2014]。在最简单的案例中,它可以只是一个向量,可作为常规循环神经网络(RNN)的隐藏状态;

动作历史(Action History):用 Mact 表示,保存解析过程中所做动作的整个历史。

直观上看,Mobj 存储提取出的知识,这些知识带有定义好的结构和强有力的证据;而 Mmat 则保存模糊、不确定或不完整的知识,等待未来的信息来确认、完成和澄清。内联记忆(用 Minl 表示)是为了保存关于该文档的特定于位置的信息。在某种意义上讲,内联记忆中的信息是低层面的和非结构化的,需要阅读器进行融合和整合,以便得到更结构化的表征。

阅读器(Reader):阅读器是 OONP 的控制中心,协调和管理 OONP 的所有操作。更具体而言,它会读取不同形式的输入(读取),然后处理这些输入(思考),然后更新记忆(写入)。如图 3 所示,阅读器包含神经网络控制器(NNC:Neural Net Controller)和多个符号处理器(symbolic processor);而神经网络控制器又包含一个策略网络(Policy Net)子组件。与神经图灵机 [Graves et al., 2014] 中的控制器类似,神经网络控制器具有多个读取头和写入头,可用于可微分地读/写矩阵记忆和内联记忆(的分布式部分),其寻址策略可能有很多种 [Graves et al., 2014]。但是策略网络会得出离散的输出(即动作),这会随时间逐渐构建和更新对象记忆(详见 2.1 节)。如有需要,这些动作也可以更新内联记忆的符号部分。这些符号处理器是为了以符号的形式处理来自对象记忆、内联记忆、动作历史和策略网络的信息,而来自内联记忆和动作历史的信息最终都是由策略网络生成的。

图 3:OONP 的整体图示

我们可以通过下面这个简略的例子说明 OONP 的主要组件协同工作的方式。在阅读以下文本时:

OONP 已经在内联记忆中到达了画有下划线的 BMW。这时候,OONP 在对象记忆中有两个对象(I01 和 I02),分别表示 Audi-06 和 BMW。阅读器确定其当前所持有的信息是关于 I02 的(在将其与两个对象比较之后)并将其状态属性更新为已售出,矩阵记忆和动作历史也伴随有其它更新。

图 5:左图:具有符号知识的内联记忆;右图: [Yan et al., 2017] 中使用的内联记忆的分布式部分的一种非线性表征

图 6:阅读器的一种特定实现的详情,其中揭示了一些有关神经组件和符号组件之间纠缠关系的细节。虚线表示离散信号,实线表示连续信号。

收藏 推荐 打印 | 录入:Cstor | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款