编者按:Microsoft Semantic Machines资深研究科学家、UC Berkeley计算机科学博士Jacob Andreas指出,合成语言数据集引起的争议,部分源自不同研究社区间的沟通不畅,应正视合成语言数据集的价值。
在AI生态系统中,虚假语言数据集能起到什么作用吗?(我说的“虚假语言”指的是像bAbI、CLEVR、Karthik的论文(arXiv:1506.08941)、DeepMind论文(arXiv:1710.09867)中所用的语言数据集。)基于这些数据集上的结果,声称各种学习架构可以“处理语言”引起了NLP社区的很多不满。尽管很大程度上这是历史悠久的夸大宣传风气所造成的恶果,我渐渐相信部分原因是两个不同群组使用“语言数据”指代完全不同之物导致的沟通不畅。
本文关注指令遵循(instruction following)这一问题,但我觉得问题回答、生成之类的许多其他接地任务同样存在类似的现象。(明确不在讨论范围内的是对虚假语言数据进行语言学分析的工作。这类工作根本和语言无关,要不就是分析特定模型类别的形式化表达能力,要不就是垃圾。)长时间以来,一个AI研究者眼中的指令遵循问题是像这样的:
语言 -> 抽象 -> 行为
也就是说,我们从人们生成的任意表达开始,将其映射到某种清晰的结构化表示,接着基于该结构做出该如何行动的决策。由于一下子处理整个工作流过于困难,大多数情况下社区从不同端开始着手。(并不是所有人都这么干!在最近的端到端疯狂之前,Stefanie Tellex和Branavan就尝试处理整个工作流。)
“语言研究者”进行的是这样的工作:
语言 -> 抽象
在这幅图景中,语言来自外部世界——你不能控制其分布。你需要设计抽象语言,让它能够处理外部世界扔过来的任意表达(如果无法处理,至少也要优雅地失败)。语言学家以逻辑的形式为我们提供了精良的抽象形式化,通过这种方式从抽象到行为不过是逻辑解释。因此语言学家很容易就把抽象视为形式化语义,而把“抽象 -> 行为”视作其他人的问题。
数据收集自人类说话人,这些人不需要知道任何关于逻辑形式的东西。事实上,关于逻辑语言细节的决策通常是在收集初始注释之后做出的。“语言数据”和其他数据的区别恰恰是它们是由人类用户生成的。(如果我们从虚假语法生成器生成数据,然后将其映射到逻辑形式,那么一般来说我们并没有学到我们之前写下的语法之外的任何东西。)
“策略研究者”(大致可以理解为从事强化学习、规划、经典控制领域研究的人)做的工作是:
抽象 -> 行为
在这一图景中,可接受的抽象的范围取决于系统设计者——行为才牵涉真实世界的细节(物理等)。从“做10件特定事项中的一件”到“满足STRIPS目标”都可以看成是抽象语言。具体来说,一个不支持所有可能目标的抽象语言的问题并不比无法一次性进行所有操作的远程控制器大多少。(某种意义上说,Jonathan Berant和Percy Liang通过改写进行语义解析的工作(aclweb/P14-1133)实际上可以归入这类,而不是语言 -> 抽象那类,虽然他们仍然主张自己的工作是“真实语言”评估标准。)我原先难以领会的是,即使我们完全可以控制输入分布,这类问题中的一些也非常困难。强化学习是困难的。规划是困难的。这些抽象语言的有趣的组合性还有大量空间可供研究——如果我有某种目标的机构化表示,然后在结构的子集上训练,能否推广至剩余结构?我们还有很多事情做不到。
为了处理当前方法能够解决的问题,数据源自生成,而非收集。构建抽象所依据的分布和相应推导的行为是手工设计的。这里没有语言数据;这些工作中使用的数据和“语言数据”的区别在于,语言没有精确的执行语义,而STRIPS之类的东西却有。
近年来,这两个社区渐渐汇合,因为世界看起来是这样的:
语言 -> 行为
所有时刻,所有事情,都是端到端的。抽象并没有消失,但存在于某个无法解释的表示空间,而不是之前手工设计的形式化系统。这是一个大事件!语言研究者再也不必局限在一个他们有足够的聪明才智可以构建足够好的逻辑语言的世界之中。
而策略研究者(这正是麻烦开始之处)再也不用以任何特定形式化系统描述他们的任务了:他们只需要某种生成奖励函数/目标检验以及相应的(可组合的?)描述前者的标识符的方法。所以他们生成由单词序列构成的可解释的字符串。没有执行语义了,使用英语单词:自然语言。这就是困惑的根源。
我相信这对两个社区中的人而言,这都是一个重要的教训:
对作为研究人员的策略研究者而言,请务必一定明确标明所用的输入数据是合成数据。在这一点上,语言一词已经令人绝望地被滥用了,但二元语法自然语言(natural language)还没有:除非涉及真人,否则避免使用自然一词(本文第一段提到的一些论文都应该感到羞愧)。
对作为评审人员的语言研究者而言,对合格的虚假语言数据集而言,提出“它是否解决了一个有趣的抽象 -> 行为问题?字符串是否以一种有趣的方式索引了目标行为类别?”这样的问题来给出回应。对许多工作而言,这是一个比较合适的标准。
我认为我们仍旧处在可以基于虚假语言研究出很多东西的阶段,即使对那些只在意人类生成语言的分布的人,也是如此。
原文地址:http://blog.jacobandreas.net/fake-language.html