为什么深度学习没有成为自然语言处理的银弹?

前言

  最近在看一些外文文章,遂记录于此。
  目前(2021.1.18),在学术界,深度学习技术刷新了自然语言处理的各项任务记录,集万千宠爱于一身,特别是基于Transformers模型的其它改进模型。这些模型首先在"超大"数据集上进行预训练,然后用于下游任务。Transformer模型在其它领域的应用效果也比较好,大有一统江湖的气势(哈哈哈,开玩笑),例如语音,图像领域等。
  虽然深度学习在NLP上取得了巨大的成功,但当用在工业级的应用上时,并没有成为NLP任务的银弹。主要由以下几个关键原因导致(从落地的角度):1、在小数据集上容易过拟合。2、小样本学习和数据生成。3、领域适配。4、模型可解释性。5、常识和世界知识。6、花费。7、设备上部署(嵌入式)。剩下的内容将围绕上面列出的7个点进行简要的阐述。

一、在小数据集上容易过拟合

  深度学习模型与传统的机器学习模型相比拥有更多的参数,这意味着深度学习模型具有更高的表示能力。这带来了一个不好的问题:奥卡姆剃刀提出,在所有其他条件都相同的情况下,始终首选更简单的解决方案。通常,我们所拥有的数据集是不足以训练出一个复杂的神经网络的,有时传统机器学习模型的表现还要比深度学习模型好。深度学习模型在小型数据集上过拟合,从而导致较差的泛化能力,进而导致生产性能不佳。

二、小样本学习和数据生成

  在计算机视觉领域中,深度学习在少样本学习(即从很少的训练示例中学习)和生成高质量图像中取得了长足的进步。这两项进步使得在少量数据上训练基于深度学习的视觉模型变得可行。因此,在计算机视觉领域中,深度学习在解决工业环境中的问题方面已经获得了更广泛的采用。 目前,尚未看到为NLP成功开发类似的深度学习技术。

三、领域适配

  如果我们利用对来自某些通用领域(例如新闻文章)的数据集来训练大型的深度学习模型,并将训练后的模型应用于不同于通用领域的较新领域(例如社交媒体帖子),则可能会表现不佳。我们需要设计专门的模型来对领域知识进行编码,或者在领域数据集上跑一遍(这个有点不现实,因为领域数据通常很少)。

四、模型可解释性

  这个话题老生长谈了,没什么好说的。

五、常识和世界知识

  尽管我们使用机器学习和深度学习模型在许多NLP任务上取得了良好的性能,但语言仍然是科学家的一大难题。除了语法和语义外,语言还包含我们周围世界的知识。我们在交流时,语言依赖于逻辑推理和关于周围世界的常识,比如“在王者荣耀中,李白是打野的”,对于经常玩游戏的人,理解“王者荣耀”和“李白”这似乎微不足道,但是对于机器而言,需要借助外部知识,多步推理才能识别并了解其意思。由于这种世界知识和常识是语言固有的,因此理解它们对于任何深度学习模型在各种语言任务中都能表现良好是至关重要的。
  当前的深度学习模型在NLP的基准任务上可能表现良好,但仍无法理解常识和逻辑推理。

六、花费

  除了熟知的GPU贵和人工贵之外,开发一个深度学习模型需要很长的时间,主要在数据的收集和处理上。如果数据达不到要求,那么开发周期还会延长。

七、设备上部署(嵌入式)

  对于许多用例,NLP解决方案需要部署在嵌入式设备上,而不是部署在云中。比如智能家居的语音设备,我就不喜欢部署在云上,因为我不想让我说的每句话都被上传在别人的服务器中,虽说有什么隐私保护,只能呵呵。此外,机器翻译模型有时也要部署在嵌入式设备上,随时随地带着走,没网也能用。
  在这种情况下,由于设备的限制,该解决方案必须在有限的内存和电源下工作。大多数深度学习解决方案都不适合此类约束。 在这个方向上已经有人做出了一些努力,可以在边缘设备上部署深度学习模型,但是我们离通用解决方案还差得很远。

总结

  不管是学术界还是工业界都面临很多挑战,革命尚未成功,同志仍须努力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值