0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于优化的元学习方法

深度学习自然语言处理 来源:哈工大SCIR 作者:哈工大SCIR 2022-12-15 15:19 次阅读

1. 简介

Prompt通过将输入文本填入预设prompt模板的方式,将下游NLP任务形式与语言模型预训练任务统一起来,来更好地利用预训练阶段学习到的知识,使模型更容易适应于下游任务,在一系列NLP任务上取得了很好的效果[1]。Soft prompt方法使用可学习的参数来替代prompt模板中固定的token,尽管在少标注文本分类任务上性能优异[2],但是其表现随模型初始化参数不同会出现很大的波动[1, 3]。人工选择soft prompt模型参数需要对语言模型内部工作机理的深入理解和大量试错,并且在遇到不同少标注任务时难以复用。

e59393fc-7c3f-11ed-8abf-dac502259ad0.png

图1 MetaPrompting帮助模型找到一个更优参数初始化点,以更快、更好地适应于新的少标注任务

为了解决上述问题,本文将目光从任务专用的soft prompt模型设计转移到任务通用的模型参数初始化点搜索,以帮助模型快速适应到不同的少标注任务上。本文采用近年提出的基于优化的元学习方法,例如MAML[4]、Reptile[5]等,来搜索更优的soft prompt模型参数初始化点,以解决模型对初始化点过于敏感的问题。

本文在四个常用的少标注文本分类数据集上进行了充分的实验,结果表明MetaPrompting相比其他基于元学习和prompt方法的强基线模型取得了更好的效果,达到了新的SOTA。

2. 方法

2.1 Soft prompt方法

Prompt方法通过将下游任务转化成语言模型预训练目标的形式,帮助模型更好地在下游任务上发挥性能。如图2所示,对于一个新闻文本分类任务,可以通过将输入文本填入prompt模板的方式,将该文本分类任务转化为MLM任务形式。之后将模型在[MASK]位置填入各个词语的概率映射到不同标签上,即可完成文本分类任务的处理。

Soft prompt模型中,部分prompt tokens以可训练embedding的形式给出,并可以和预训练模型的参数一起进行优化,在保留离散token中语义信息的同时,给予模型更多的灵活性。

e5ad9fe0-7c3f-11ed-8abf-dac502259ad0.png

图2 Soft prompt方法

2.2 将基于优化的元学习方法应用于soft prompt模型

少标注任务构建

本文使用元阶段(episode)风格的少标注学习范式。具体而言,每一个少标注任务包含支持集和查询集两个部分,支持集中每个类别所对应标注样本数量极少,本文通过将模型在支持集上进行适配,在查询集上进行测试的方法,衡量模型的少标注学习性能。本文将不同标签对应的样本分别划分成用于训练、验证和测试的少标注任务,以衡量模型从源领域学习通用元知识来处理目标领域少标注任务的能力。

基于元学习的soft prompt模型优化过程

MetaPrompting的整体优化过程如图3所示。元训练阶段,模型在少标注任务的支持集上进行试探性参数更新,并在查询集上进行梯度回传。元测试阶段,模型在未见过的少标注任务上进行适配和预测。令和分别表示预训练模型和soft prompt的参数,在元训练阶段,模型在一个少标注任务支持集上进行适配的过程如下式所示:

e5d71456-7c3f-11ed-8abf-dac502259ad0.png

其中α是适配过程的学习率,表示模型进行适配学习的步数。令模型在少标注任务上适配学习之后的参数为和,可将模型在该少标注任务上的优化目标描述为:

e5e858ce-7c3f-11ed-8abf-dac502259ad0.png

该优化目标模拟了模型在少标注场景下进行试探性参数更新,并根据试探性更新之后的情况优化模型参数的策略。这种策略更多关注了模型在一步或多步更新之后的情况,因而可以帮助模型找到一个能快速适应于新的少标注任务的参数初始化点。

e6529d24-7c3f-11ed-8abf-dac502259ad0.png

图3 MetaPrompting模型参数更新过程

实验中,本文还使用了MAML++[6]中的多步梯度回传技巧,来使得优化过程更加稳定,达到更好的效果。

3. 实验

本文分别采用5way 1shot和5way 5shot的少标注学习设定来测试模型性能。实验选择了HuffPost、Amazon、Reuters和20newsgroup四个广泛使用的文本分类数据集,结果以分类准确率%给出。

实验结果如表1所示,表中20newsgroup数据集性能由于数据构造问题与原文略有出入,现为勘误后结果,勘误不影响实验结论。由实验结果可见,MetaPrompting性能优于当前的SOTA模型ContrastNet[7]和其他基于元学习和提示学习的方法,取得了明显的性能提升。相比于不使用元学习优化目标的Ours (Pretrain Init),引入元学习搜索模型参数初始化点的Ours (Meta Init)也得到了更好的性能,说明了元学习方法在soft prompt模型参数优化中的有效性。

表1 MetaPrompting主实验结果

e67c2004-7c3f-11ed-8abf-dac502259ad0.png

主实验中,为了与其他基线模型进行公平的对比,将soft prompt参数和预训练模型参数一起进行了优化。为了更好地说明MetaPrompting针对soft prompt参数初始化的作用,本文还参数进行了固定预训练模型的实验。实验结果如表2所示,相比于参数随机初始化的soft prompt模型,MetaPrompting取得了明显的性能提升。

表2 MetaPrompting在固定预训练模型参数时的性能

e77114c4-7c3f-11ed-8abf-dac502259ad0.png

现实应用场景中,往往难以得到内容、形式十分相近的源领域数据。因此本文还对MetaPrompting在分布外数据上的性能进行了测试。实验结果如表3所示,即使源领域的数据内容、形式上有较大的差异,MetaPrompting仍然可以学习到任务通用的元知识,来辅助在目标领域少标注任务上的学习。

表3 MetaPrompting在不同内容、形式的源领域数据上进行元学习的性能

e7897e38-7c3f-11ed-8abf-dac502259ad0.png

本文还对MetaPrompting对于不同prompt模板的鲁棒性进行了测试。如表4所示,相比于随机初始化的soft prompt模型,MetaPrompting寻找到的参数初始化点在不同prompt模板下性能方差更小,鲁棒性更强。

表4 MetaPrompting在不同prompt模板下性能的方差

e79c70f6-7c3f-11ed-8abf-dac502259ad0.png

4. 总结

本文提出了MetaPrompting,将基于优化的元学习方法推广到soft prompt模型中,来处理少标注文本任务。MetaPrompting利用源领域数据进行元学习,搜索能够更快、更好地适应于新的少标注人物的模型参数初始化点。在4个少标注文本分类数据集上的实验结果表明,MetaPrompting相比于朴素的soft prompt模型以及其他基于元学习的基线模型取得了更好的效果,达到了新的SOTA性能。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    3247

    浏览量

    48854
  • 数据集
    +关注

    关注

    4

    文章

    1208

    浏览量

    24709
  • nlp
    nlp
    +关注

    关注

    1

    文章

    488

    浏览量

    22038

原文标题:参考文献

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    传统机器学习方法和应用指导

    用于开发生物学数据的机器学习方法。尽管深度学习(一般指神经网络算法)是一个强大的工具,目前也非常流行,但它的应用领域仍然有限。与深度学习相比,传统方法在给定问题上的开发和测试速度更快。
    的头像 发表于 12-30 09:16 108次阅读
    传统机器<b class='flag-5'>学习方法</b>和应用指导

    什么是机器学习?通过机器学习方法能解决哪些问题?

    来源:Master编程树“机器学习”最初的研究动机是让计算机系统具有人的学习能力以便实现人工智能。因为没有学习能力的系统很难被认为是具有智能的。目前被广泛采用的机器学习的定义是“利用经
    的头像 发表于 11-16 01:07 411次阅读
    什么是机器<b class='flag-5'>学习</b>?通过机器<b class='flag-5'>学习方法</b>能解决哪些问题?

    深度学习模型的鲁棒性优化

    深度学习模型的鲁棒性优化是一个复杂但至关重要的任务,它涉及多个方面的技术和策略。以下是一些关键的优化方法: 一、数据预处理与增强 数据清洗 :去除数据中的噪声和异常值,这是提高模型鲁棒
    的头像 发表于 11-11 10:25 265次阅读

    如何使用 PyTorch 进行强化学习

    强化学习(Reinforcement Learning, RL)是一种机器学习方法,它通过与环境的交互来学习如何做出决策,以最大化累积奖励。PyTorch 是一个流行的开源机器学习库,
    的头像 发表于 11-05 17:34 299次阅读

    Pytorch深度学习训练的方法

    掌握这 17 种方法,用最省力的方式,加速你的 Pytorch 深度学习训练。
    的头像 发表于 10-28 14:05 215次阅读
    Pytorch深度<b class='flag-5'>学习</b>训练的<b class='flag-5'>方法</b>

    AI大模型的性能优化方法

    AI大模型的性能优化是一个复杂而关键的任务,涉及多个方面和策略。以下是一些主要的性能优化方法: 一、模型压缩与优化 模型蒸馏(Model Distillation) 原理:通过训练一个
    的头像 发表于 10-23 15:01 701次阅读

    嵌入式学习建议

    学习目的,并注意学习方法。要明确学习目的是打基础,还是为了适应工作需要而进行的短训。学习方法方面,要根据学习目的选择合适的
    发表于 10-22 11:41

    《DNK210使用指南 -CanMV版 V1.0》第一章本书学习方法

    第一章 本书学习方法 为了让读者更好地学习和使用本书,本章将为读者介绍本书的学习方法,包括:本书的学习顺序、编写规范、代码规范、资料查找和学习
    发表于 08-28 17:57

    深度学习中的时间序列分类方法

    的发展,基于深度学习的TSC方法逐渐展现出其强大的自动特征提取和分类能力。本文将从多个角度对深度学习在时间序列分类中的应用进行综述,探讨常用的深度学习模型及其改进
    的头像 发表于 07-09 15:54 935次阅读

    深度学习中的无监督学习方法综述

    应用中往往难以实现。因此,无监督学习在深度学习中扮演着越来越重要的角色。本文旨在综述深度学习中的无监督学习方法,包括自编码器、生成对抗网络、聚类算法等,并分析它们的原理、应用场景以及优
    的头像 发表于 07-09 10:50 748次阅读

    深度学习与nlp的区别在哪

    深度学习和自然语言处理(NLP)是计算机科学领域中两个非常重要的研究方向。它们之间既有联系,也有区别。本文将介绍深度学习与NLP的区别。 深度学习简介 深度学习是一种基于人工神经网络的
    的头像 发表于 07-05 09:47 938次阅读

    深度学习的模型优化与调试方法

    深度学习模型在训练过程中,往往会遇到各种问题和挑战,如过拟合、欠拟合、梯度消失或爆炸等。因此,对深度学习模型进行优化与调试是确保其性能优越的关键步骤。本文将从数据预处理、模型设计、超参数调整、正则化、模型集成以及调试与验证等方面
    的头像 发表于 07-01 11:41 830次阅读

    深度学习编译工具链中的核心——图优化

    等,需要调整优化网络中使用的算子或算子组合,这就是深度学习编译工具链中的核心——图优化。图优化是指对深度学习模型的计算图进行分析和
    的头像 发表于 05-16 14:24 961次阅读
    深度<b class='flag-5'>学习</b>编译工具链中的核心——图<b class='flag-5'>优化</b>

    大模型Reward Model的trick应用技巧

    借助对比学习学习方法。增加对比学习的loss,对比学习通过增强模型区分能力,来增强RM的对
    发表于 01-25 09:31 1027次阅读
    大模型Reward Model的trick应用技巧

    请问初学者要怎么快速掌握FPGA的学习方法?

    对于初学者 FPGA的编程语言是什么? FPGA芯片的基础结构也不了解. FPGA开发工具的名称和使用方法都不知道. 要学的很多啊,请问有什么自学的学习方法么?
    发表于 01-02 23:01