互联网技术 / 互联网资讯 · 2023年11月8日 0

斯坦福模型帮助提高语言学习效果

语言是人类间最自然的交流方式,能够传递重要信息。斯坦福大学人工智能实验室(SAIL)最近在其博客中分享了两篇 ACL 2020 的研究论文。这些研究基于BERT等神经语言模型的最新进展,提出了一个具有潜力的新方向:利用语言解释来提升自然语言处理(NLP)及计算机视觉任务的学习效果。

假设你是一名机器学习工程师,正试图解决一个分类问题,比如将不同颜色的方块分为1或0。通常,你会收集一个包含大量样本的数据集,进行标注,然后训练分类器。

斯坦福模型帮助提高语言学习效果

然而,人类的学习方式并不是如此。我们拥有一种强大而直观的信息传递机制:语言!

斯坦福模型帮助提高语言学习效果

只需一个简单的短语「at least 2 Red squaRes(至少两个红方块)」,我们就能高效地概括整个数据集。

语言在人类学习中扮演着至关重要的角色:它是我们传递信念、教育他人以及描述难以直接体验的事物的工具。因此,对于监督式机器学习模型而言,语言应该是一个简单而高效的选项。然而,以语言为基础的学习方法在现代深度学习系统中面临扩展性的问题,这些系统通常处理的是自由形式的语言。

在近期的两篇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的特征(如特定词汇的出现)来训练模型,而解释则可以提供额外的特征。以婚姻关系的例子而言,如果我们能创建一个与蜜月相关的特征,并在描述两人即将度蜜月时激活该特征,这个信号将有助于训练更好的模型。

然而,创建这样的特征需要某种解释解读机制(explanation inteRpRetation MechaniSM),以便模型能够判断输入的解释是否真实。语义解析器可以实现这一功能:例如,当给出「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)的方法:如果在训练时使用语言解释,模型不仅能学习到对分类有用的表征,还能…