当前位置: 首页 > article >正文

POUF: Prompt-oriented unsupervised fine-tuning for large pre-trained models

Motivation

通过提示,大规模预训练模型变得更具表现力和强大,近年来引起了人们的极大关注。虽然这些大型模型具有zero-shot能力,但一般来说,仍然需要标记数据来使它们适应下游任务。为了克服这一关键限制,我们提出了一个无监督微调框架,直接对模型进行微调或对未标记的目标数据进行提示。演示了如何通过对齐从提示和目标数据中提取的离散分布来将本文方法应用于语言增强视觉和掩码语言模型。为了验证我们的方法的适用性,我们在图像分类、情感分析和自然语言推理任务上进行了大量的实验。在13个与图像相关的任务和15个与语言相关的任务中,所提出的方法在基线上实现了一致的改进。

1. Introduce

预训练和微调范式已经成为解决许多机器学习应用的标准方法。在此范例中,首先在大量数据集上对模型进行预训练。虽然模型在预训练期间可能会看到许多示例,但目标数据集可能包含未见过的具有新变化的示例。为了解决源域和目标域之间的分布转移问题,使用特定于任务的参数和目标函数对不同下游任务的预训练模型进行微调。然而,这个微调阶段通常需要标记的例子,这是昂贵的获取,使预训练的模型适应特定的任务。

最近的基础模型,如CLIP 、ALIGN 和GPT-3 ,在未引入任务特定参数和目标函数进行微调的情况下,利用预训练期间语言监督的力量,通过语言提示执行zero-shot概率预测。例如,要对新数据集进行预测,用户只需要将类名转换为文本提示,例如“a photo of a {class}.”。然后通过获得与给定图像产生最高相似性分数的提示来进行预测。尽管有能力执行zero-shot预测,但分布移位问题仍然存在。

最近的方法侧重于提示工程,以使这些模型适应下游任务。提示工程是指寻找最合适的提示以允许语言模型解决手头任务的过程。许多方法专注于离散提示搜索(在语言模型的词汇表空间中查找提示)。由于提示的可解释性往往不如模型的性能重要,各种方法提出使用连续提示符,在模型的嵌入空间中进行提示。值得注意的是,在词嵌入空间中引入连续参数,并通过最大化模型在标记目标数据上的似然来优化它们。虽然这些方法成功地适应了预训练的模型,但它们仍然需要一些带注释的样本。

为了克服这一限制,我们提出了提示导向的无监督微调(POUF),这是一个简单而有效的框架,用于直接在未标记的目标数据上微调具有zero-shot能力的预训练的基于提示的大型模型。我们将无监督微调表述为最小化文本原型的经验分布与目标特征之间的统计距离的过程。我们的框架依赖于语言提示来根据模型类型构建类原型或目标特性。对于语言增强视觉模型,我们将特定于类的语言提示(类原型)的表示与潜在空间中的目标图像特征对齐。对于掩码语言模型,我们从语言提示中提取掩码标记表示,并将它们与语言模型解码器头部的文本原型对齐。通过对齐这些分布,预训练模型可以更好地捕获目标数据中的变化。为此,我们利用基于传输的对齐和互信息最大化目标函数来对齐潜在表征。我们提出的方法兼容全模型调优和提示调优。

我们的贡献包括:1)我们提出了一个提示导向的框架,用于直接在未标记的目标数据上微调具有zero-shot能力的预训练模型。2)我们阐述了如何在语言增强视觉模型和掩码语言模型下构建POUF,并证明了其在图像分类、情感分析和自然语言推理等实际任务中的有效性。3)我们进行了广泛的消融研究,以证明我们方法的设计决策是合理的。

2. 面向提示的无监督微调

由于观察到类原型表示源域信息(用于预训练的数据),建议将它们与潜在空间中的目标表示对齐。图1提供了使用我们的方法在不同模型上学习到的潜在特征的激励示例。很明显,在应用我们的方法之前,文本原型没有很好地与目标特征对齐,而在应用POUF之后,原型和目标特征对齐得很好。POUF的示意图如图2所示。


http://www.kler.cn/a/395833.html

相关文章:

  • 如何修改npm包
  • H.265流媒体播放器EasyPlayer.js H.264/H.265播放器chrome无法访问更私有的地址是什么原因
  • 使用热冻结数据层生命周期优化在 Elastic Cloud 中存储日志的成本
  • 【Window主机访问Ubuntu从机——Xrdp配置与使用】
  • unity单例模式的不同声明(待完善
  • Linux系统常用操作与命令指南
  • 【论文阅读】医学SAM适配器:适应医学图像分割的任意分割模型
  • HTML and CSS Support HTML 和 CSS 支持
  • 安装nodejs
  • sslSocketFactory not supported on JDK 9+
  • [前端面试]HTML AND CSS
  • Android OpenGL ES详解——实例化
  • stm32教程:OLED屏显示字母、汉字、图片工程讲解
  • 第1章: 初识Pillow(PIL)
  • Docker 容器常见故障排查及处理
  • 学习用 Javascript、HTML、CSS 以及 Node.js 开发一个 uTools 插件,学习计划及其周期
  • 游戏引擎学习第12天
  • 掌握Electron工具链:在Windows操作系统上无缝开发MacOS软件
  • 浅谈React的虚拟DOM
  • Apache Paimon、Apache Hudi、Apache Iceberg对比分析
  • Spring Cloud Vault快速入门Demo
  • C++ 错题本 MAC环境下 unique_lock try_lock_for函数爆红问题
  • emp.dll文件丢失的几种方法-常见问题
  • Java之JDBC,Maven,MYBatis
  • Java多线程八股(一), 锁策略,synchronized锁策略详解
  • Tiktok对接和内容发布申请流程