来源:
https://www.zhihu.com/question/312388163
本文仅作为学术分享,若有侵权,立删文处理
话题:
2019年在NLP领域,资源有限的个人/团队能做哪些有价值有希望的工作?
来源:
https://www.zhihu.com/question/312388163
知乎高赞同回答一
作者:林禹臣BiLL
南加州大学 计算机科学博士在读
https://www.zhihu.com/question/312388163/answer/600712686
其实我觉得 BERT等大型预训练模型的出现,其实对于小规模的团队反而是有非常积极的促进作用。使用BERT作为word-level features本身并不需要很大的计算资源,即使要fine-tune BERT,也没有想象中的那么复杂。作为小团队,反而能抓住机会,利用这个优势,不再去纠结text encoding的部分,而可以把关注点更多地放在对特定任务、领域的设计上。
其实解决任何一个具体的 task的过程都可以看做是把 universal, domain-general text representation 降维到 task-specific space 的过程,现在只不过是universal representation变得更强了,从逻辑上并不影响我提出新的解决方案吧?
不过确实,BERT在很多任务上的突破也让人开始思考,什么才是更有意义的任务以及更有意义的测评方法?其实很多dataset在创建初期就有很多缺陷,很多测评标准也是当时的无奈之举。现在SOTA的分数很高,但并不能完全说明在这些经典任务就没有可以突破的地方了。比如在放在limited labeled data的setting下,transfer learning (domain/language adaptation), weak-supervision, few-shot learning 等不同的学习场景还是有很大的发展空间。
我个人比较关注的是这样几个话题:
- 需要外部知识的(推理)任务。这种任务的核心的难点在于,如何在外部知识库中快速检索相关的知识,并有效地、可解释地应用在模型中,比如常识推理和科学问答。
- 常识推理
- 在一些数据集比如WSC, SWAG上面,基于BERT/GPT的方法已经可以拟合的很好了,但是我个人还是觉得这是因为dataset本身的bias比较大,以及评测的方法太过肤浅导致的。虽然BERT, GPT-1/2可以通过海量预料来通过语感来掌握常识,但是这种不可控的方式并不应该是解决常识推理的所期望的人工智能发展的方向。
- 如何将常识知识引入到神经网络这一问题从去年开始一直不断有很多人在提出新的方案,但是由于没有统一的benchmark,基本上都是在各说各话。尤其是有一篇搞笑的AAAI19,一套拳脚下来做的还没有base model好,但却在paper里只report自己实现的(较低的)效果当做基线而非官方report的数字,误导读者。总之,我觉得常识推理还是非常有潜力的一个方向,AI2也在一直推进,可以关注一下他们的dataset,比如ATOMIC这种关注社交常识的知识库也很有趣。
- 科学问答 (ARC dataset, OpenBookQA, etc.)
- 目前ARC challenge上面即使是BERT的效果也表现平平,离人类的表现还有一段距离。
- 如何提高问答系统的解释性,也是难以直接套预训练的模型来解决的。
- 常识推理
- 模型可解释性
- 老调常谈的问题。核心还是在于测评 (no evaluation, no research),如何设计一个指标衡量一个模型的可解释性?AI2的VCR dataset给了一个比较简单有效的方案,在传统的多选题类型QA任务上加上一个对于正确选项的正确解释的选择题。如果我们要求模型在两个任务上都答对,则同时衡量了模型的正确性和可解释性。不过似乎应该有更复杂的方式。
- 更新颖、综合的实验分析方式。印象比较深的还ACL18有一篇evaluate KGE的paper,主旨就是告诉读者为什么一些model比另外一些好,非常可视化地从几何学角度做了各个model的分析。NLP毕竟还是实验科学,太多paper就纠结在几个metric的数字比大小,其实是非常不可取的。
- 社交媒体里的nlp问题
- 很多数据集都是基于wiki或news article 等正式文本来构建的,然而很多重要的新信息与新知识都来自于社交媒体。
- social media messages 里面的噪音,以及修饰成分的理解(比喻、幽默、昵称等),都是有趣且现实的问题,有更多的利用语言学知识的可能性。
知乎高赞同回答二
作者:Towser
北京大学 https://www.zhihu.com/question/312388163/answer/600865806
1、做理论:反思一下已有方法为什么有效。模型结构、数据集分布、学习算法等分别起到了什么样的作用,如何进一步优化。如果这很难的话,至少做做已有模型的可解释性、可视化也是好的。
2、做精致:既然不能做大,那只能做小了。看看如何使用更少的参数和计算量实现得体的效果。
3、做原型:抛开现实问题,而是做一些原型研究。例如试试能不能做出来一个能完全学会(100% 掌握,而不是测试集上多少个点的 perplexity) CFG 语法的语言模型。
4、做脏数据:处理社交网络中的各种奇葩数据(如 emoji、各种乱七八糟的缩写和转写等)。
5、做 hot fix:如何干预模型在特定输入下的行为,而又不影响其他输入对应的输出。例如发现使某个模型出错的对抗样本以后,如何给模型打补丁。再比如 one-shot learning,如何把一条知识直接注入到已有的大型模型中(告诉模型单词 w 有一种特殊用法,用一两个例句教模型学会这种用法,同时不影响模型其他部分)。
6、改 Transformer 的 position embedding:这个东西实在是太丑了,怎么让他更漂亮一些,以及拥有处理(理论上)无限长序列的能力呢?
7、做测评:我觉得这一条是最难的…… BLEU 的提出极大地促进了机器翻译的发展,我们可能需要类似的指标来指引 NLP 在接下来若干年的发展,尤其是文本的受控生成(比如给个题目扩写出一篇文章,给个剧情梗概写完整本小说这种)。
上面说得比较宽泛,再写几个具体一点儿的:
i) 并行解码:从 Jiatao Gu 的 non-autoregressive transformer 开始的一系列工作开启了新的研究方向,在机器翻译的时候不必逐词生成目标语言的句子,而是可以一下子全部生成。但是目前翻译质量还不太好,很期待这方面进一步的工作。
ii) m-s-n 式序列到序列生成:输入和输出长度不同的序列到序列任务很多,目前的 seq2seq attention 是直接把源序列的 m 步和目标序列的 n 步对了起来,能否有一种可以在内部学到序列隐含不变量(并非 m/n,而是一个新的自适应的值 s,例如机器翻译中可能是两个句子对齐后的短语数/语法树内部节点数)的模型?这种隐表示应该会很有用,可以用来分析文本的结构。
iii) 轻量级的 seq2seq 模型:很多时候输入和输出序列是相近的,例如语法改错任务,源序列往往只有个别错误。但现在都是用通用的 seq2seq 模型做的,我总觉得是高射炮打蚊子,应该有更轻量的解决方案才对。
知乎高赞同回答三
作者:刘知远
清华大学
https://www.zhihu.com/question/312388163/answer/600519086
我感觉,产业界开始集团化搞的问题,说明其中主要的开放性难题已经被解决得差不多了,如语言识别、人脸识别等,在过去20年里面都陆续被广泛商业应用。看最近的BERT、GPT-2,我理解更多的是将深度学习对大规模数据拟合的能力发挥到极致,在深度学习技术路线基本成熟的前提下,大公司有强大计算能力支持,自然可以数据用得更多,模型做得更大,效果拟合更好。
成熟高新技术进入商用竞争,就大致会符合摩尔定律的发展规律。现在BERT等训练看似遥不可及,但随着计算能力等因素的发展普及,说不定再过几年,人人都能轻易训练BERT和GPT-2,大家又会在同一个起跑线上,把目光转移到下一个挑战性难题上。
所以不如提前考虑,哪些问题是纯数据驱动技术无法解决的。NLP和AI中的困难任务,如常识和知识推理,复杂语境和跨模态理解,可解释智能,都还没有可行的解决方案,我个人也不看好数据驱动方法能够彻底解决。更高层次的联想、创造、顿悟等认知能力,更是连边还没碰到。这些正是有远见的研究者们应该开始关注的方向。