博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
论文浅尝 | 基于神经网络的推理(DeepMind Relational Reasoning)
阅读量:4204 次
发布时间:2019-05-26

本文共 1863 字,大约阅读时间需要 6 分钟。

本文转载自公众号:


                                                      

  • 论文:A simple neural network module for relational reasoning(2017)

  • github代码: https://github.com/siddk/relation-network

这篇回顾下 DeepMind 2017 年发表的关系推理方面的工作,Relational Networks(RNs)。

关系推理的传统方法有基于符号的方法(symbolic approaches)基于统计的方法(statistical learning)。基于符号的方法存在着 symbol grounding 的问题,在小任务(small task)和输入变化(input variations)的问题上也不够鲁棒,学习能力不强;而基于统计的方法像深度学习,虽然泛化能力强,但是对数据稀疏但关系复杂的问题也是束手无策。DeepMind 2017年出的这篇论文提出的Relation network(RN)是用于关系推理(relational reasoning)的一个神经网络模块(NN module),能直接加载到已有的神经网络架构中。与 GNN 等网络结构相比,更为简单和灵活,即插可用(plug-and-play),在一些关系推理的测试上的准确率已经超过了人类。

Structure

RN 的网络结构是真的很简单(不然也不会说是”simple neural network”),以至于通篇下面一个公式就可以概括,核心就是利用神经网络来找出任意 pairwise 对象之间的潜在关系。

  • Inputs:  

  • MLPs:  

  • : 使用一个全连接的神经网络来量化 o_i 和 o_j 的关系,任意两个对象之间的关系使用同一套参数

    : 考虑所有组合的关系,相当于考虑一个完全连接图,在这个图上计算各个边的权重,把重要的关系凸显出来,f 函数就计算了这个重要关系的集合

用在自然语言处理里,就是把每个句子当做一个对象,每个句子与句子的 pair 用 g 计算关系,再把所有关系加权和放到最终的预测网络里。

小结一下,RNs有以下三个特点:

  1. 可以学习推理。这里 RNs 计算了所有的两个对象之间的关系,当然也可以只计算部分两个对象之间的关系,这里的“部分”需要预定义

  2. 数据效率更高(data efficient)。RNs 使用一个 gθ 函数来计算所有的关系,任意两个对象之间的关系使用同一套参数,泛化能力更强

  3. 作用在一个集合上对输入和输出都是与顺序无关的(input/output invariation)

Tasks

简单提一下和 NLP 有关的任务。

VQA

RN 在 VQA 任务上的结构也很简单,CNN 处理图像,LSTM 编码 question,然后两两配对的 spatial cell(红蓝;黄红;蓝黄…)和 question embedding 拼接,后面接几个 FC 层,最后 softmax 得到某个 answer word。

Word-embedding: dim32; LSTM: dim128

: 4-layer MLP, dim256-256-256, RELU

: 3-layer MLP, dim256-256-29, RELU

: 综合所有组合 ,implicitly 提取有用的组合预测最终答案

bAbI

RN 在 bAbI 测试集上的结构,每个问题之前的最多 20个句子作为 support set,使用 LSTM-dim32 把 support set 连同每个句子在 set 里的相对位置编码转化为 RN 的 object set,同时使用另一个 LSTM-dim32 的 encoding state 表示问题。

: 4-layer MLP, dim256-256-256-256

: 3-layer MLP, dim 256-512-159

在 joint training 也就是 20 个任务一起训练一个 QA 模型的情况下,通过了 18/20 bAbI test。与 DNC 比较发现,DNC 在 path finding 任务上表现不错,但在 basic induction 上误差达到 55.1%,而 RN 达到了 2.1% 的误差水平。


OpenKG.CN

中文开放知识图谱(简称OpenKG.CN)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

你可能感兴趣的文章
SiteScope - Agentless监控
查看>>
QTP的智能识别(Smart Identification)过程
查看>>
LoadRunner各协议所需耗费的内存资源表
查看>>
AutomatedQA收购Smart Bear?
查看>>
使用QTP进行WEB页面性能测试
查看>>
LoadRunner的VS.NET 2005插件
查看>>
LoadRunner中如何验证下载的文件大小、统计下载时间、度量下载速度?
查看>>
LoadRunner脚本评审Checklist
查看>>
在LoadRunner中设置HTTP请求time-out的时间
查看>>
在LoadRunner脚本中实现随机ThinkTime
查看>>
LoadRunner9.51中文帮助手册
查看>>
RPT录制问题
查看>>
RPT8.0
查看>>
RPT8.1新特性
查看>>
LoadRunner测试AJAX
查看>>
LoadRunner测试GWT
查看>>
负载测试项目成功的5个关键要素
查看>>
LoadRunner性能测试培训大纲
查看>>
LoadRunner测试J2ME的Socket程序
查看>>
《QTP自动化测试实践》要出第二版了!
查看>>