元学习与机器学习

news2024/12/23 5:22:39

         如图1 所示,机器学习的目标是要找一个函数f,这个函数可以是一个分类器,把几百张图 片输入进去,分类器就告诉我们分类的结果。元学习一样是找一个函数,但它要找的是一个学 习算法Fϕ∗,这个学习算法可以接受训练数据,然后输出一个分类器f。这个Fϕ∗ 将训练数据 作为输入,它直接输出训练的分类结果f,这个f 就是我们想要的分类器。

图1 元学习和机器学习的目标

        从训练数据角度分析,在机器学习里面,我们是拿某一个任务里面的训练数据进行训练, 而在元学习中我们是拿训练的任务来进行训练。这个很容易搞混,所以在文献中,我们会把任 务里面的训练数据叫做支持(support),把测试数据叫做查询(query)。在元学习里面,我们 是拿查询来进行训练,而在机器学习里面,我们是拿支持来进行训练。 

        那在机器学习里面,我们需要手动设置一个学习算法,而在元学习里面,我们是有一系列 的训练任务,所以我们也将元学习中的学习算法部分的学习称为跨任务学习。而对应的机器 学习中的学习称为单一任务学习,因为我们是在一个任务里面进行学习。

        我们再看一下两者的完整框架,如图2所示。在机器学习中,完整的框架就是把训练 数据拿去产生一个分类器,接着再把测试数据输入到这个分类器里面得出分类的结果。而在 元学习中,我们是有一些训练的任务,把这些训练的任务拿来产生一个学出来的学习算法叫 做Fϕ∗。对于接下来的测试任务,测试任务里面有支持数据和查询数据,我们再把这个测试任务里面的训练数据输入到学习出来的学习算法里面,得到一个分类器后,再把测试数据输入 进去,得到分类的结果。我们把元学习里面的这个测试叫做跨任务测试,因为它不是一般的测 试。一般的机器学习,我们的这个测试叫做单一任务测试,因为我们是在一个任务里面进行测 试。在元学习里面,我们要测试的不是一个分类表现的好坏,而是一个学习算法的表现的好 坏,所以在元学习里面为跨任务的测试。那有时候我们也在一些论文中会看到整个流程中一 次单一任务的训练和一次跨任务的测试,我们把这个流程叫做一个回合。所以在元学习里面, 我们是在一个回合里面进行训练和测试,而在机器学习里面,我们是在一个任务里面进行训 练和测试。

图2 元学习和机器学习的框架对比

        对于损失,在机器学习中我们使用  L=\sum_{k=1}^{k=K}e^k 表示损失函数,其中e^k 表示第k 个 训练样本的损失,其中的加和为所有训练数据在一个任务中的损失总和。在元学习里面,我们 使用L=\sum_{n=1}^{n=N}l^n 表示损失函数,其中的 l^n 表示第n个测试样本中的损失,其中的加和 为在所有任务中的损失总和。

        对于训练的过程两者也有一些差异,元学习的训练需要算ln,也就是计算每一个小任务 的损失函数,在这个过程中,我们需要做一次单一任务的训练+测试,也就是一个回合。现在假设我们的优化算法中,要找一个ϕ让L(ϕ)最小,那做这件事情的时候,我们需要算这个 L 很多次,也就是跨任务的训练包含了很多次的单一任务的训练+测试。这个是非常复杂的 且耗时的。所以在文献中,学习如何去初始化整个过程的工作中,往往把跨任务训练叫做外循 环,把单一任务训练叫做内循环。这是因为在跨任务训练里要跑好几次单一任务训练,所以跨 任务训练是外循环,单一任务训练是内循环。不过,外循环和内循环这些称呼通常只有在学习 初始化的工作中才会有,其他时候通常也不会这样叫。

        刚才介绍的都是元学习和机器学习的差别,他们其实也有很多的共同之处,事实上很多 在机器学习那边学到的知识和基本概念都可以直接搬到元学习来。举例来说,在机器学习上 面你会害怕训练数据上可能会有过拟合的问题,那在元学习里面也有可能会有过拟合的问题, 比如机器学习到了一个学习算法,这个学习算法在训练任务上做得很好,面对一个新的测试 的任务反而会做得不好,所以元学习也有可能有过拟合的问题。如果遇到过拟合问题应该怎 么办呢?我们类比一下机器学习,在机器学习里面,最直观的方法就是收集更多的训练数据, 所以在元学习里面也可以做一样的事——收集更多的训练任务。也就是如果训练的任务越多, 就代表训练的数据样本越多,那学习算法就越有机会可以泛化并用到新的任务上面。

        另外,我们在机器学习上会做数据增强,也就是在训练的时候,我们会把训练数据做一些 变化,比如说把图片做一些旋转、平移、缩放等等,这样可以让训练数据更多。在元学习里面 我们同样也可以做数据增强,也可以想一些方法来增加训练任务,比如说我们可以把训练任 务做一些变化,比如说把训练任务的类别做一些变化,或者把训练任务的数据做一些变化等 等。此外,我们在做元学习的时候还是要做优化,我们还是要想办法去找一个ϕ让l(ϕ)越小 越好。假设我们最小化l(ϕ) 的方法是梯度下降法,那我们在做梯度下降法的时候,我们还是 要去调学习率,只不过与机器学习不同,我们需要调整的参数是可学习的学习算法的参数。有 人可能会问,既然都要调整参数,那我何必还要用元学习,直接讲每一个机器学习的问题调整 参数不就可以了吗?其实并不是,因为在元学习里面,我们只需要把学习算法的参数调整好, 其就可以一劳永逸的使用到其他的任务当中,而不需要每一个任务都去调整参数。这样的话, 我们就可以节省很多的时间,也可以让我们的学习算法更加的有效率。

        那既然说到要调参数就遇到另一个问题了,在机器学习中我们不仅仅有训练样本和测试 样本,同时还有验证集的样本,用验证集样本中的表现来选择你的模型。所以元学习中也应该 要有用于验证的任务,也就是说在元学习中,我们应该要有训练任务、验证任务和测试任务。 其中验证任务来决定训练学习算法的时候的一些超参数,然后才跑在测试的任务中。

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

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

相关文章

Java并发编程实战 06 | 为什么不建议使用线程优先级?

什么是线程优先级? 线程优先级是一个标识,用来提示操作系统或线程调度器哪个线程更重要、更需要优先执行。优先级通常是一个整数值。 在 Java 中,线程优先级的设置范围从 1 到 10,其中 1 是最低优先级,10 是最高优先…

2024 年高教社杯全国大学生数学建模竞赛C题—农作物的种植策略(讲解+代码+成品论文助攻)

2024数学建模国赛选题建议团队助攻资料-CSDN博客文章浏览阅读1k次,点赞20次,收藏24次。通过分析5个题目的特点,可知数学建模常用的模型大概可以分为五大类——https://blog.csdn.net/qq_41489047/article/details/141925859 本次国赛white学长…

WebAPI(四) BOM;延时函数;JS执行机制(同步异步);location对象;history对象;navigation对象

文章目录 BOM1. 定时器-延时函数2. JS执行机制(1)、同步与异步(2)、事件循环 3. location对象(1)、href属性获取完整的url地址(2)search属性获取地址中携带的参数(3) hash:获取地址中的#后边的部分(3) reload: 刷新当前页面,传入参数true表示…

025集—— 转义字符\、字符串详解(对比、分割、日期、数字等)——C#学习笔记

本文讲解字符串的比较:忽略大小写与不忽略大小写,内存地址是否相同。 当需要对两个字符串的值进行比较和排序而不需要考虑语言惯例时,请使用基本的序号比较。基本的序号比较 (Ordinal) 是区分大小写的,这意味着两个字符串的字符必…

纳米材料咋设计?蛋白质模块咋用?看这里就知道啦!

大家好,今天我们来了解一项关于蛋白质纳米材料设计的研究——《Blueprinting extendable nanomaterials with standardized protein blocks》发表于《Nature》。蛋白质结构复杂,其组装体的设计颇具挑战。但近期的研究取得了新突破,通过设计标…

高精度治具加工的重要性和创新性

在现代制造业中,高精度治具加工扮演着至关重要的角色。它不仅是生产过程中的关键环节,更是推动行业不断创新和发展的重要力量。时利和将解析高精度治具加工的重要性和创新性。 一、高精度治具加工的重要性 1.确保产品质量 高精度治具能够为生产过程提供准…

API安全 | 发现API的5个小tips

在安全测试目标时,最有趣的测试部分是它的 API。API 是动态的,它们比应用程序的其他部分更新得更频繁,并且负责许多后端繁重的工作。在现代应用程序中,我们通常会看到 REST API,但也会看到其他形式,例如 Gr…

基于yolov8的包装盒纸板破损缺陷测系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的包装盒纸板破损缺陷检测系统是一种高效、智能的解决方案,旨在提高生产线上包装盒纸板的质量检测效率与准确性。该系统利用YOLOv8这一前沿的深度学习模型,通过其强大的目标检测能力,能够实时识别并标记出包装盒纸板…

HyperLogLog简介

基数估算 基数估算(Cardinality Estimation),也称为 count-distinct problem,一直是大数据领域的重要问题之一,顾名思义,基数估算就是为了估算在一批超级大的数据中,它的不重复元素有多少个。常见的基数估算算法包括L…

HTML 基础,尚优选网站设计开发(二)

最近在恶补HTML相关知识点,本人是后端程序员,看到周围很多人都被裁员了,突然想尽早转变成全栈程序员变成独立开发者,有空余接接私单、商单的 尚优选网站设计开发,HTMLCSSJavaScript实际使用 尚优选网站设计开发页面分析…

《Web性能权威指南》-HTTP-读书笔记

HTTP简史 HTTP(HyperText Transfer Protocol,超文本传输协议)。 HTTP 0.9:只有一行的协议 Tim Berners-Lee罗列HTTP协议的几条宏观设计目标:支持文件传输、能够请求对超文本文档的索引搜索、格式化协商机制&#xf…

全季恒温,网球爱好者的理想运动场馆—轻空间

气膜网球馆内配备了先进的恒温恒压系统,不论四季如何变化,都能为运动员们提供一个稳定、舒适的运动环境。凉爽的空气流通,配合无障碍的视觉体验,打造了一个极致的训练与比赛场所。 大人挥拍竞技,孩子们快乐训练 馆内不…

第四届摩纳哥智能化可持续发展码头交流会

第四届摩纳哥智能化可持续发展码头交流会 摩纳哥游艇码头顾问公司(M3)认为游艇行业的绿色转型需要做到从游艇本身到游艇码头的360度全方位可持续化发展,因此,继今年3月的摩纳哥智能游艇交流会后,他们将于2024年9月22日…

[第三篇 运维与安全管理] ==> 第8章 数据库安全管理与审计

MongoDB 数据库安全管理与审计 8.1 权限管理简介8.2 用户管理8.2.1 创建用户与登录8.2.2 查询用户8.2.3 修改用户8.2.4 删除用户8.2.5 授予用户权限8.2.6 撤销用户权限 8.3 角色管理8.3.1 内建角色8.3.2 创建自定义角色8.3.3 查询自定义角色8.3.4 修改自定义角色8.3.5 删除自定…

day44-测试平台搭建之前端vue学习-基础3

目录 一、条件渲染 二、列表渲染 三、收集表单数据 四、内置指令 五、自定义指令 六、今日学习思维导图 一、条件渲染 1.1.v-if 1).写法 1.1).v-if"表达式" 1.2).v-else-if"表达式" 1.3).v-else"表达式‘ 2).适用于:切换频率较低的场…

Kafka 实战演练:创建、配置与测试 Kafka全面教程

文章目录 1.配置文件2.消费者1.注解方式2.KafkaConsumer 3.依赖1.注解依赖2.KafkaConsumer依赖 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都…

腾讯地图SDK Android版开发 10 InfoWindow

腾讯地图SDK Android版开发 10 InfoWindow 前言介绍默认风格自定义样式实现方式交互操作播放信息窗口的动画开启多窗口模式 相关类和接口默认样式MarkerOptions 类Marker 类TencentMap类TencentMap.OnInfoWindowClickListener 接口类 自定义样式TencentMap 类TencentMap.InfoWi…

6.2高斯滤波

目录 实验原理 示例代码1 运行结果1 示例代码2 运行结果2 实验代码3 运行结果3 实验原理 在OpenCV中,高斯滤波(Gaussian Filtering)是一种非常常用的图像平滑处理方法。它通过使用一个高斯核(即高斯分布函数)对…

Pr 入门系列之二:导入与管理素材(下)

◆ ◆ ◆ 管理素材 导入素材后,项目面板中每一个媒体都只是原始素材的“链接”。 所以,视频编辑过程中一般情况下都不会破坏原始素材。 1、在不同视图模式下组织素材 项目面板提供了三大视图 View供选用:列表视图、图标视图以及自由格式视图…

基于VAE和流模型的AIGC技术

哇哦,VAE(变分自编码器)和流模型在AI生成内容(AIGC)领域可真是大放异彩呢!🚀🌟 它们就像魔法师一样,能够创造出各种各样、高质量的数据,从图像到音频&#xf…