找回密码
 立即注册
搜索
查看: 88|回复: 0
打印 上一主题 下一主题
收起左侧

[探索频道] 干货 | 第一批在 SQUAD 2.0 上刷榜的 U-NET 模型,它们有何高明之处?

[复制链接]

 成长值: 23000

绿铜v3_04绿银v3_04灰金v1_05紫铜v1_05绿金v1_01紫铜v3_01

跳转到指定楼层
楼主
 楼主| 发表于 2018-12-11 18:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AI 科技评论按:今年下半年,SQuAD 2.0 横空出世。基于 U-net 的一众模型纷纷获得了优异的成绩(截至到 BERT 屠榜之前)。一篇来自 betterlearningforlife.com 的文章对 SQuAD 2.0 进行简要的介绍,并以问答的形式介绍了计算语言学与 U-net 模型相关的一些问题。 AI 科技评论全文编译如下。
「在 SQUAD 上取得好成绩的网络架构是什么样的呢?」
在我开始撰写本文的时候,排名前三位的模型在谷歌上没有任何链接。微软亚洲研究院的团队(Microsoft Research Asia team)是这三者其中之一,它们甚至还没有在网站上发布它们最新的成果。我似乎有一个理论来解释为什么,但这多少有些推测性。
幸运的是,前四名的表现并没有太大的不同,所以我们可以看看一些高性能的想法。最佳方案采用了基于 U-net 的架构,相关的论文链接如下:https://arxiv.org/abs/1810.06638。本文也将从这里展开。
「U-net 背后的思想是什么?」
在目前的机器学习架构开发过程中,开发者往往都会针对数据集构建特定的算法架构。U-net 也不例外,采用 U-net 架构是为了针对 Standford 提出 SQuAD 2.0 的目的。Standford 之所以会创建 SQuAD 2.0 是为了修复1.0中的一些缺陷。
「SQuAD 1.0 存在什么问题呢?」
这就涉及到一些「无法回答的问题」的难题。当人们阅读一段东西时(如新闻),他们可能会问一些简单的问题,这些问题的答案可以直接在文本中找到。然而,他们更有可能问一些不能直接回答的相关问题。一个强大的数据集需要很好地同时对这两者建模。如果数据集中只有已经被回答的问题,那么模型将学会总是给出一些在文本中能够找到的答案。当有人提出一个没有直接出现在文本中的问题时,它自然而然地会给出错误的答案。
SQuAD 1.0 中也有一些无法回答的问题,但它们是由机器生成的,而且对神经网络来说,不需要更深层的理解就很容易识别它们。许多参赛模型的性能已经在 SQuAD 1.0 数据集上超越了人类的水平,然而它们在现实世界中的实际应用却没有取得有意义的进展。
「Stanford 是如何改进这个数据集的呢?」
他们增加了5万个由众包员工撰写的无法回答的问题。这些问题被设计得与可回答的问题相类似。
下面的例子向大家展示了一段文字以及两个无法回答的问题,材料来自论文「Know What You Don’t Know: Unanswerable Questions for SQuAD」(https://arxiv.org/abs/1806.03822):
文章:濒危物种法案
摘选段落:「...其他立法紧随其后,包括1929年的候鸟保护法案,1937年的禁止捕杀露脊鲸和灰鲸的条约,1940年的秃鹰保护法案。这些随后制定的法律的社会成本很低,毕竟这些物种相对稀有,很少有人会反对这样的法案。」
问题 1:「哪项法律被极力反对?」
机器可能给出的回答:随后制定的法律。
问题 2:「1937 年通过的条约的名字是什么?」
机器可能给出的回答:秃鹰保护法案
「U-net 模型是如何处理这些改进的数据集的?」
U-net 模型包含一个结合了许多最新研究进展的有趣方法。这是一个很好的例子,告诉我们可以如何用神经架构创造性地进行设计。
他们的模型基本上包含以下四个部分:
  • 嵌入
  • 融合
  • 多层注意力机制
  • 预测
接下来让我们仔细看看这个模型,在我们的脑海中,让我们从广义概念上对模型推断进行思考,并想想这个系统是如何作为一个不同的整体的一部分与其组合在一起的。
现在,让我们从头开始细细研究 U-net 模型。
「什么是嵌入技术?」
嵌入是降维的一种形式。例如,对使用通用网络爬虫技术抓取到的「Glove」(Global Vectors for Word Representation,用于词语表示的全局向量)的嵌入技术可以将大小为 1.9M 的词汇表缩减为一个 300 维的向量。
然而,我们可以进一步把这个 300 维的向量缩减到2维。我们可以看到,这些词在大致相同的「方向」上会根据其意义被区分开。
Glove 的降维结果
「在人类的思维存储一些概念时,会将其存储为嵌入、图模型、二者的结合还是其它形式呢?」
嵌入技术缺乏人类大脑所拥有的一种关键能力。像所有的神经网络一样,嵌入式是「分组的」近似。更改任何网络权重都会更改其它输入的输出。
我们可以猜测,人类的大脑能够有选择地对某些词汇做出一些改变。相信大家都有过和别人辩论一个词的意思的经历。然后在查了字典之后,我们发现我们对这个词的理解并不是通常被人们所接受的定义。从那时起,我们可以在脑海中更新对这个词的理解,这样的过程会一直持续下去。不可否认,「连词」肯定会对理解有一些影响,但总的来说,我们的准确率并不会下降。(让我们大胆地想象一下。)
下面这张最近发布的大脑图像显示了「不同的单词被存储在大脑的各个地方」的设想。这是个有趣的想法。那么,大脑是如何防止对同一个单词进行重复多次的表示呢?
进行这项研究的团队发布了一个在线交互模型,链接如下:http://gallantlab.org/huth2016/
「在未来的通用人工智能(AGI)系统中,嵌入技术会成为语言翻译的模型吗?」
它们确实感觉很相似,因为它们本质上都是降维,或压缩信息。我们可以想象大脑也在做类似的事情。我们的语言中个存在很多同义词,我们经常会说「...和...意思相同」。通常情况下,当同义词之间的细微差别非常小时,我们必须将其弄清楚,探究这些词在这个语境下究竟代表什么意思。
「什么是词与词之间结构的理论?」
我们先不谈这个!
「嵌入技术是如何实现的?」
它们基本上是降维的一种形式。经过对模型的训练,隐层会被提取出来,它们的「潜在空间」会被用于另一个架构中。近年来,研究者们提出了许多不同的嵌入方法,所以在这里我们仅仅以两个嵌入方法为例。(1)FastText,这是一个简单而强大的对比基线,(2)ELMO,这是 2018年最先进的方法。
FastText 与 CBOW 算法类似。
「什么是 CBOW?」
CBOW 是 skip-gram 方法的「镜像」。
「那什么是 skip-gram 呢?」
在 skip-gram 方法中,句子中的每一个单词都会被用来预测邻近的单词。
「Gram」指的是我们要处理的单词/单词串/字符串有多长。
我们还可以加大「窗口大小」来预测距离当前单词更远的单词。我们在这里使用大小为 1 的窗口。
「但是语言并不仅仅是以概率形式存在。它作为人类的意图和可以改变的事实而存在。一个大的概率模型对我们来说意味着什么?」
正如我们在上面看到的,它为我们提供了词语之间的「关系」,或者说将那些在某种程度上相似的词语以「相近」的形式表征了出来。
使用 skip-gram 或 cbow 方法的 word2vec(https://code.google.com/archive/p/word2vec/)模型能够执行一些有一定规律可循的向量操作。例如(以下均为嵌入向量的计算):「国王」 - 「男人」+ 「女人」得到的向量与代表「女王」的向量非常相近。
我们可以通过以下链接看到一个使用 word2vec 的在线演示样例:http://bionlp-www.utu.fi/wv_demo/
这个单词类比工具很有趣。你可以给它三个单词,A, B, C,它会尝试找到第四个单词 D。相信你还记得 9 年级英语课上最烦人的练习「A 之于 B,就像 C 之于 D」(A is to B as C is to D)。
当我们向这个模型输入「女王」、「女人」和「公主」,模型会输出「女孩」。然而,当我们输入「国王」、「男人」和「王子」则并没有得到同样令人满意的结果,模型给出的答案是「女人和男孩」。
「这似乎是一个良好的开端。我们是否能继续进行研究,并且通过更改单词来得到特定的关系呢?」

插件设计:zasq.net

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋| ( Q群816270601 )

GMT+8, 2024-7-1 11:32 , Processed in 1.568617 second(s), 47 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表