什么是元学习?外循环和内循环?支持集和查询集?

news2024/11/17 17:50:25

一、前言

元学习近几年也算是一个比较热门的研究方向,大部分被用来解决低资源少样本零样本学习的任务场景中。

那么为什么元学习可以提升低资源少样本的学习效果呢?活着说元学习到底是一个什么阳的算法呢?

这里做一个简单的概念阐述。元学习的目标是让模型学会学习,一般传统的训练方法都是让模型直接对所有数据集进行统一的训练,得到了一套对所有数据集泛化能力都不错的模型参数,但这样有个问题,在具体的某种类型的数据集上,可能效果就会比较一般。

我们可以这样理解,同样是文本情感分类任务,假设只需要对文本进行2分类即可(正向情感或者负面情感),现在有个NLP模型,然后我们获取了来自电商的情感数据、来自小说的情感数据还有来自游戏评价的情感文本数据。那么这里就会有个问题,同样都是情感的2分类数据,但是因为背景不同,这3类数据集信息的细节上是存在一定差异的,如果是直接粗暴的把这3类数据集混合在一起训练,那么也能得到一套很不错的模型参数,同样在这3类任务上也能得到一个不错的表现,但是此时如果来了第4种数据源的情感文本数据集(比如美食评价的情感数据),而且第4种数据集很少,那么模型在第4种数据集上进行训练,模型的参数更新的过程可能会比较受限,其原因是第4种数据集太少了,不足以撼动在前3种丰富的数据集上学习到的参数内容。也就是说因为第4种数据集太少,而当前模型的参数主要都是学习的前3种数据集的信息分布,使得转换到第4种数据集上微调得到的参数能够表达的内容比较有限。

现在我们换个思路,我们让模型学会学习,当引入前3种数据集时,我们分别把每种数据集单独送给模型,能模型做的第一件事就是根据当前数据集的内容,能够快速生成一套比较符合当前数据集内容的参数,然后在这套参数的基础上再进行微调,那么这样学习到的模型效果肯定鲁棒性更好,就算第4种数据集来了,虽然第4种数据集很少,但是模型已经具备这种根据数据集内容生成一套合适参数的能力,那么也可以马上根据第4种数据集的数据分布,先生成一套很合适的参数,然后在这套参数的基础上进行微调,那么效果就会更好。这种思路就是元学习,这也就是为啥元学习可以比较好解决低资源少样本任务的原因。

二、元学习的训练方式:外循环和内循环

我们前面已经提到了元学习的基本概念,简单粗暴来说就是模型先根据输入的数据内容自动生成一套新的参数,然后在这套参数的基础上进行具体任务的微调。那么如何做到这个功能呢?这就涉及到元学习的训练方式:外循环训练和内循环训练。因为外循环和内循环是两个不同的训练过程,因此也涉及到两套训练数据,支持集(Support Datasets)和查询集(Query Datasets),你可以理解为把原来本来用来直接训练的同一份数据集一分为2,分成了支持集和查询集。

外循环:它负责优化模型的参数和超参数,以适应不同的任务。外循环的目标是学习如何在多个任务之间快速适应,并生成一个泛化能力更强的模型。外循环需要用到查询集,外循环的目的就是根据当前输入的数据内容快速更新生成一套更加合适当前任务场景的模型参数,所以查询集的名字也是这么来的:用于从模型中查询适用于当前任务场景的模型参数。

内循环:我们在外循环已经更新模型参数得到了一套理论上认为是符合当前任务场景的模型参数。因此现在内循环就是在这套参数的基础上进行更加细化的微调训练,让模型更好的学习当前任务场景数据内容。内循环用到的数据集是支持集。

下面贴一个元学习的训练流程示意图,贴图来源于:Universal Information Extraction with Meta-Pretrained Self-Retrieval。需要注意,内循环和外循环是两个独立的训练过程,使用的学习率这些都不一样。
在这里插入图片描述

关于上图的训练流程解释,首先模型是在内循环进行模型参数更新,得到了参数,让模型认为这就是符合当前任务场景最合适的参数。然后在外训练基于这套参数进行训练更新模型参数,让模型学会快熟适应不同任务。

希望我的分享对你有帮助,如果有问题请及时指正,谢谢~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/756890.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

echart之map地图图表使用教程

本文以echarts展示成都地图为例子。 echarts map (echarts地图)使用教程 效果展示准备阶段获取地图geojson数据安装echarts 开始绘制容器准备js代码 补充事项vue3.0 用ref定义echarts报错toRaw、markRaw 扩展 地图隐藏南海诸岛地图显示提示框地图实现下钻…

Vue项目的启动

前言: 由于最近开始实习,负责人上来就给我丢一个前端vue项目和后端文件,让我在本机完成部署,由于之前学的基本上都是后端相关知识,很少有了解到前端的东西,因此在这里将自己部署Vue项目时遇到的问题和解决过…

编译libtiff库给IOS平台用

打开libtiff官方网 : libtiff / libtiff GitLab 克隆: git clone --recursive https://gitlab.com/libtiff/libtiff.git 克隆成功并打开libtiff目录,发现有autogen.sh 与CMakeLists.txt所以可生成Configure程序来配置并编译,也可直接使用CMake-GUI来配置编译,选择其中一种 …

远程会诊如何实现?

比如:医生遇到复杂病情需要求助院外专家远程会诊过程中,需要将电脑中的病人资料给院外专家看,同时确保医院电脑和网络系统绝对安全,电脑不允许安装任何外部软件,不能被外人控制和操作,外部设备不能接入医院…

【Java技术专题】「攻破技术盲区」带你攻破你很可能存在的Java技术盲点之技术功底指南(鲜为人知的技术)

带你攻破你很可能存在的Java技术盲点之技术功底指南 基本类型的包装类技术盲点:基本类型的比较技术盲点:字符串内部化(string interning)字符串内部化的示例 技术盲点:类型缓存机制(空间换时间)…

微信小程序border-radius不圆滑

border-radius可以设置:百分比或者像素值 1.使用像素值比较圆滑 2.使用百分比不够圆滑

习题1.25

对吗?实践出真知,运行看看。代码如下。 (defn square [x] (* x x))(defn fast-expt[b n](println "call iter" n)(cond (= 1 n) b(= 2 n) (square b)(even? n) (square (fast-expt b (/ n 2))):else (* b (fast-expt b (- n 1)))))(defn expmod [base exp m](mod…

pytest 结合logging输出日志保存至文件

API_log.py import loggingclass loger():def logering(self):# 创建logger对象logger logging.getLogger(test_logger)# 设置日志等级logger.setLevel(logging.DEBUG)# 追加写入文件a ,设置utf-8编码防止中文写入乱码test_log logging.FileHandler(test.log, a,…

Java:基于JDBC数据连接池方式同步第三方数据库表信息数据

前言 最近遇到一个需求就是要拉取第三方的数据信息,但是第三方那边又没有对外暴露对接接口,只给出了具体的数据库连接信息和具体表信息基于第三方给出的有效信息,我采取了用 JDBC 传统的方式去进行数据拉取注意:前置条件两端的网…

收费站对讲广播系统方案

收费站对讲广播系统方案 收费站对讲广播系统是一种用于收费站内部通信和广播传输的系统。它能够实现不同收费站点之间的语音通信和广播,以便快速、准确地传达信息和指令。该系统通常由以下几个核心组件组成:1. 主控台:主控台是系统的中心控制…

cocos shader在编辑器正常,浏览器上不显示

问题出在需要将图片的package属性取消勾选。如果用的单色精灵,那么可以将系统的白色图片复制一份再取消勾选。 相关链接: shader在浏览器上不显示 - Creator 2.x - Cocos中文社区

Redis高级篇(一)

分布式缓存 -- 基于Redis集群解决单机Redis存在的问题 单机的Redis存在四大问题: 1.Redis持久化 Redis有两种持久化方案:RDB持久化、AOF持久化 1.1.RDB持久化 什么是RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件&am…

第一章 JavaScript --下

第一章 JavaScript --下 2.5.6 DOM操作 由于实际开发时基本上都是使用JavaScript的各种框架来操作,而框架中的操作方式和我们现在看到的原生操作完全不同,所以下面罗列的API仅供参考,不做要求。 2.5.6.1 在整个文档范围内查询元素节点 功…

XUbuntu22.04之vim无法复制内容到系统(一百八十四)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

2023年7月14日,ArrayList

集合框架图: 集合和数组的区别 AarrayList ArrayList底层实现原理 ArrayList的底层实现是基于数组的动态扩容。 初始容量:当创建一个新的ArrayList对象时,它会分配一个初始容量为10的数组。这个初始容量可以根据需求进行调整。 //表示默认的初…

CS162 9-10

lecture9 thread lecture10 I/O层 调度 1.最小化响应时间 2.最大化吞吐量 3.分配时间公平 FCFS 后面的短请求,要等待前面的长请求。 Round Robin Scheduling Each process gets a small unit of CPU time (time quantum), usually 10-100 milliseconds – …

layui会议OA项目数据表格新增改查

文章目录 前言一、后台代码编写1.1 数据表优化1.2 R工具类1.3 UserDao新增改查1.4 Servlet的编写 二、前台页面的编写2.1 userManege.jsp2.2 userManage.js2.3 新增、修改用户共用jsp2.4add、edit的js 三、演示3.1 查询3.2 新增3.3 修改3.4 删除 前言 在上篇博客我们实现了左侧…

山东农信:一云多芯助力金融活水普惠齐鲁大地

农业金融正走在发展的关键路口。 一方面,我国全面推进乡村振兴、加快建设农业强国,需要形成和健全金融支农服务体系,为三农发展提供多元金融服务;另一方面,在大数据、云计算、人工智能等数字化的驱动下,数…

实战 ➾【Red Hat 搭建部署VSFTPd服务】

实战 ➾【Red Hat 搭建部署VSFTPd服务】 🔻 前言🔻 一、vsFTPd服务部署🚥 1.1 vsFTPd服务安装🚥 1.2 vsFTPd服务的启动与关闭 🔻 二、vsFTPd相关配置🚥 2.1 vsFTPd的相关配置文件🚥 2.2 配置匿名…

【无标题】使用html2canvas和jspdf生成的pdf在不同大小的屏幕下文字大小不一样

问题:使用html2canvas和jspdf生成的pdf在不同大小的屏幕下文字大小不一样,在mac下,一切正常,看起来很舒服,但是当我把页面放在扩展屏幕下(27寸),再生成一个pdf,虽然排版一…