Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

Jesse Mu、Shikhar Murty作者Panda编辑

模型听人讲几句就能学得更好?斯坦福提出用语言解释辅助学习

语言是人与人之间最自然的沟通方式,能帮助我们传递很多重要的信息。斯坦福大学人工智能实验室(SAIL)近日发表博客,介绍了其两篇 ACL 2020 论文。这两项研究立足于近段时间 BERT 等神经语言模型的突破性成果,指出了一个颇具潜力的新方向:使用语言解释来辅助学习 NLP 乃至计算机视觉领域的任务。

想象一下:如果你是一位机器学习从业者并想要解决某个分类问题,比如将彩色方块群分类为 1 或 0。你通常会这样做:收集一个包含大量样本的数据集,标注数据,然后训练一个分类器。

但人类的学习方式却并非如此。对于这个世界,人类有一种非常强大且直观的信息沟通机制:语言!

只需一个短语「at least 2 red squares(至少两个红方块)」,我们就能归纳上面的整个数据集,而且效率要高得多。

语言是人类学习的一大关键媒介:我们使用语言来传递关于这个世界的信念、教育他人以及描述难以直接体验的事物。因此,对监督式机器学习模型而言,语言理应是一种简单且有效的方法。但是,过去基于语言的学习方法都难以扩展到现代深度学习系统致力于解决的一般任务,而这些领域使用的语言形式往往很自由。

今年斯坦福大学 AI 实验室(SAIL)的两篇 ACL 2020 论文在这一研究方向上取得了一些进展:针对自然语言处理(NLP)和计算机视觉领域的多种高难度任务,他们首先用语言解释这些任务,然后使用深度神经网络模型来学习这些语言解释,进而帮助解决这些任务。

  • ExpBERT: Representation Engineering with Natural Language Explanations

  • Shaping Visual Representations with Language for Few-shot Classification

难在哪里?

对人类而言,语言是一种教授他人的直观媒介,但为何使用语言来执行机器学习会这么难?

主要的难题也是最基本的问题:在其它输入的语境中理解语言解释。光是构建能够理解丰富和模糊语言的模型就已经很难了,而构建能将语言与周围世界关联起来的模型还要更难。举个例子,给定解释「at least 2 red squares(至少两个红方块)」,模型不仅要理解什么是「red(红)」和「squares(方块)」,还要理解它们如何指代了输入的特定部分(通常很复杂)。

过去一些研究依靠语义解析器来将自然语言陈述(比如 at least 2 red squares)转换为形式化的逻辑表征(比如 Count(Square AND Red) > 2))。如果我们可以轻松地通过执行这些逻辑公式来检查解释是否适用于输入,则可以将解释用作特征来训练模型。但是,语义解析器仅对简单的领域有效,因为简单我们才能人工设计可能见到语言解释的逻辑语法。它们难以处理更丰富和更模糊的语言,也难以扩展用于更复杂的输入,比如图像。

幸运的是,BERT 等现代深度神经语言模型已经显现出解决多项语言理解任务的潜力。因此,SAIL 在这两篇论文中提出使用神经语言模型来缓解这些基本问题。这些神经语言模型或以确定相关领域内语言解释为目标,或使用了可以解读语言解释的通用型「知识」来进行预训练。下面将详细地介绍这些神经语言模型,看它们如何能在更富挑战性的任务设置中学习更丰富且更多样化的语言。

ExpBERT:使用自然语言解释来设计和创建表征

论文地址:https://arxiv.org/abs/2005.01932

第一篇论文研究了如何使用语言解释来构建文本分类器。首先来看一个关系提取任务:模型需要根据一小段文本识别其中提到的两个人是否已经结婚。尽管当前最佳的 NLP 模型有可能仅基于数据来解决这一任务,但人类还能通过语言描述来暗示两人是否已经结婚,比如度蜜月的人通常是已婚的。这样的语言解释能用于训练更好的分类器吗?

对于语言任务,我们可以提取输入 x 的特征(比如是否出现了特定词)来训练模型,而解释还能提供额外的特征。仍以上述任务为例,我们知道「蜜月(honeymoon)」是相关的语言描述,如果我们能创建一个蜜月特征,并使其在段落描述到两人将要度蜜月时激活,则这个信号应该可用于训练更好的模型。

但创建这样的特征需要某种解释解读机制(explanation interpretation mechanism),这样模型才能知道对输入的解释是否为真。语义解析器就是这样一种工具:给定「A 和 B 正在度蜜月」,我们可以将这个解释解析成一种逻辑形式,即当分析一个输入时,如果在提到 A 和 B 时还提到了「蜜月」,则返回 1。但如果解释更模糊呢?比如「A 和 B 很恩爱」。我们如何解析它?

尽管语义解析在领域较小时高效且准确,但扩展性能很差,因为它只能解读遵循固定语法规则集和预定义函数(比如 contains 和 extract_text)的解释。为了解决这些问题,SAIL 的研究者看中了神经语言模型 BERT 的软推理能力。BERT 在文本蕴涵任务上尤其高效,即确定一个句子是否暗含另一个句子或与另一个句子有矛盾。比如「她吃了披萨」暗含「她吃了食物」。

SAIL 提出的 ExpBERT 模型使用了针对文本蕴涵任务训练的 BERT 模型,但研究者为其设定的训练目标是识别任务段落里是否蕴涵一个解释。BERT 在这一过程中输出的特征可替代上述语义解析器提供的指示特征。

BERT 的这种软推理能力能否提升语义解析效果?在上面的婚姻识别任务中,研究者发现相较于仅使用输入特征(无解释)训练得到的分类器,ExpBERT 能带来显著提升。其中重要的一点是:使用语义解析器来解析解释的作用不大,因为一般性的解释(恩爱)难以转换为逻辑形式。

论文还比较了更多基准方法,探索了更大的关系提取任务(如 TACRED),执行了控制变量研究,研究了使用解释相比于添加数据的高效性。此处不再赘述。

使用语言为少次分类任务塑造视觉表征

论文地址:https://arxiv.org/abs/1911.02683

上文描述的研究使用自然语言解释来帮助解决单个任务,比如识别婚姻状况。但是,认知科学领域的研究表明:语言还能让我们获取正确的特征和抽象概念,进而帮助我们解决未来的任务。例如,能说明 A 和 B 已婚的语言解释还能说明其它一些对人类关系而言非常重要的概念:孩子、女儿、蜜月等等。知道这些额外概念不仅有助于识别已婚夫妇,还有助于帮助识别其它关系,比如兄弟姐妹、父母等。

机器学习中,我们可能会问:如果我们最终希望解决的新任务没有提供语言说明,语言如何为高难度且未指明的领域提供恰当的特征?SAIL 的第二篇论文便探索了这一任务设置,这个任务的难度更大:语言能否提升跨模态(这里是视觉)的表征学习?

具体来说,该研究重点关注的是少次视觉推理任务,比如下面这个来自 ShapeWorld 数据集的例子:

针对一个视觉概念给定一个小型训练样本集,任务目标是确定留出集的测试图像是否表达了同样的概念。现在,如果假设能在训练时间获得相关视觉概念的语言解释,又会如何呢?我们能否使用它们来学习一个更好的模型,即便在测试时没有语言可用?

SAIL 的研究者将该任务放到了一个元学习任务框架中:他们没有在单个任务上训练和测试模型,而是选择了在一组任务上训练模型,其中每个任务都有一个小型训练集和配套的语言描述(元训练集 / meta-train set)。然后,他们在一组未见过任务组成的元测试集(meta-test set)上测试模型的泛化能力,并且该测试集没有可用的语言描述。

首先,如果没有语言描述,我们会如何解决这一任务?一种典型的方法是原型网络(Prototype Network),其策略是学习某个能对训练图像执行嵌入、求平均并将其与测试图像的嵌入进行对比的模型 f_θ(在这里是一个深度卷积神经网络):

在此基础上,为了使用语言,SAIL 提出一种名为语言塑造型学习(Language Shaped Learning/LSL)的方法:如果能在训练时使用语言解释,则可以促使模型学习不仅对分类有用的表征,而且该表征还能用于预测语言解释。SAIL 采用的具体方案是引入一个辅助训练目标(即与最终的目标任务无关),同时训练一个循环神经网络(RNN)解码器来预测对输入图像表征的语言解释。有一点至关重要,即这个解码器的训练过程取决于图像模型 f_θ 的参数,因此该过程应该能促使 f_θ 更好地编码语言中显现的特征和抽象。

从效果上看,可以说这是训练模型在训练期间表征概念时「把想法大声说出来」。在测试阶段,则可以直接抛弃 RNN 解码器,使用这个「经过语言塑造的」图像嵌入按常规方式执行分类即可。

研究者使用真实图像和人类语言,在上述 ShapeWorld 数据集以及更真实的 Birds 数据集上进行了测试:

在这两种情况下,相对于无语言解释的基准模型(Meta)、使用隐含语言的学习(L3)方法,这个辅助训练目标实现了性能提升:

此外,该论文还研究了语言的哪些部分最重要(其实差不多都挺重要),以及 LSL 需要多少语言才能取得优于无语言模型的表现(其实只需一点点)。详情请参阅原论文。

展望未来

正如 NLP 系统理解和生成语言的能力在日益增长一样,机器学习系统基于语言学习解决其它高难度任务的潜力也在增长。SAIL 的这两篇论文表明,在视觉与 NLP 领域的多种不同类型任务上,通过学习语言解释,深度神经语言模型可成功提升泛化能力。

研究者指出,这是训练机器学习模型方面一个激动人心的新途径,而且强化学习等领域已经对一些类似的想法进行了探索。在他们的设想中,未来在解决机器学习任务时,我们无需再收集大量有标注数据集,而是可以通过人与人之间使用了成千上万年的互动方式——「语言」来与模型进行自然且富有表达力的交互。

原文链接:https://ai.stanford.edu/blog/learning-from-language/

入门斯坦福人工智能实验室ACL 2020
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

元学习技术

元学习是机器学习的一个子领域,是将自动学习算法应用于机器学习实验的元数据上。现在的 AI 系统可以通过大量时间和经验从头学习一项复杂技能。但是,我们如果想使智能体掌握多种技能、适应多种环境,则不应该从头开始在每一个环境中训练每一项技能,而是需要智能体通过对以往经验的再利用来学习如何学习多项新任务,因此我们不应该独立地训练每一个新任务。这种学习如何学习的方法,又叫元学习(meta-learning),是通往可持续学习多项新任务的多面智能体的必经之路。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

分类问题技术

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

神经语言模型技术

语言模型是估计单词序列的联合概率函数,比如给一个长度为m的单词序列,通过使用语言模型,可以获得这m个单词分布的概率P(W1,...,Wm)。对于许多的自然语言处理的应用,可以估计不同短语的概率是极具应用价值的。语言模型可以应用于语音识别,机器翻译,语音标记,解析,手写识别,信息检索等领域。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

深度神经网络技术

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

视觉推理技术

视觉推理是指为了得出某个结论而操纵一个人对一个物体的心理印象的过程。

暂无评论
暂无评论~