元学习-学习笔记

学习视频:火炉课堂 | 元学习(meta-learning)到底是什么鬼?_哔哩哔哩_bilibili

一、从传统机器学习到元学习

        我们传统的机器学习,是手工设计一个模型,然后将训练数据投进模型中进行训练,得到一个最优的模型参数,再将测试的数据放进这个最优的模型参数中,得出预测的结果。如下图所示,我们想得到的是一个最优的模型参数F。

        但是这个初始化的模型,是经过手工设计的,比如说CNN里面卷积有多少层或者使用什么样的激活函数,这些想要得到最优的状态,就需要一遍一遍的做消融实验来得到一个最优值,那这些能不能也使它自主学习呢?这就是元学习想要达到的效果。通俗来讲,元学习就是希望能够自动学习应该使用什么样的算法。

二、损失优化

        深度学习的损失计算和优化是在训练阶段。比如分类网络,在训练的时候,经过模型之后会得到一个预测类别,这个时候与标签对比,判断分类是否正确,如果不正确的话,惩罚的力度就更大,强迫模型去往正确的方向优化。但是元学习首先学习的是算法,那要评判一个算法好不好,就需要看这个算法在验证集上的效果,所以损失是在验证过程中计算,相当于深度学习外面又套了一层训练。整体来说是因为:元学习要得到一个模型,就必须要有训练数据,那么这个时候要想评估这个模型好不好,是不能用训练数据来做评估的,因此只能换一批数据来做评估,这也就是为什么要在验证数据上计算损失。

三、数据集构成

        传统机器学习的数据集由两部分构成:训练集和测试集,并且要求训练集和测试集里面的样本类别是保持一致的。

        元学习的数据集也包含训练集和测试集两部分,但是要求训练集和测试集里面的类别不同,不存在交叉情况,也就是说测试集里面的数据对于训练集来说都是新的数据。这里我的理解是,元学习是为了学习一个算法适用于多个任务的算法,这个时候就需要算法的泛化能力很强,所以需要新的任务来评估效果。元数据的数据集构成如下:

        像前面损失优化部分所说的,首先,一个初始给定的算法,需要一部分训练数据来训练一个模型参数,然后需要一部分验证数据使用这个模型参数对这个算法做评估,继而对算法进行优化,这个时候肯定是需要训练数据和验证数据类别是相同的。但是相对于优化算法这一层来说,这部分还是在训练的过程,我们需要在验证数据上来评估这个算法的效果怎么样,然后对算法进行优化。所以这个时候,相对于优化算法这一层的训练过程,就需要两批数据,一批用来训练一个模型参数,一批用来评估,这两批数据就叫做支撑数据(support set) 和 查询数据(query set)。整体的训练过程如下:

        train_supprot是为了先训练一个模型出来,然后使用train_query来做评估,从而更新算法的相关参数,在train里面训练好了一个算法之后,再用test_supprot来训练一个适用于当前任务的模型参数(即针对test里面的数据任务训练一个适用于test数据的模型),test_supprot训练完了之后,再使用test_query里面的数据来进行评估。整体来说,四个部分的数据,train_supprt、train_query、test_supprot里面的数据都是参与训练的,唯独只有test_query里面的数据是做最后的评估,不参与训练。

四、训练部分

        元学习的训练成为元训练(mate-training),分为外层训练(训练算法)和内层训练(训练当前算法的模型参数)。元学习的测试,称之为元测试(meta-testing)。

1、元训练

        这里ω指的是算法的相关参数,θ指的是当前算法的模型参数。外层训练是为了训练算法参数ω,内层训练是为了训练模型参数θ。主要的步骤是:首先给定一个算法ω,然后使用train-support的数据训练出模型参数θ,拿着这个模型参数θ在train-query数据上做评估,此时经过内层的训练,对于此时的ω肯定是模型θ最优的状态,如果此时在train-query上的评估结果不好,说明此时的ω算法不合适,就需要对ω进行更新。

2、元测试

        外层训练结束之后,学习到的ω可以看作是最优的算法,那么此时,我们想要在测试任务中得到一个最优的模型参数,就需要在测试集的支撑集(test-support)数据上对模型参数θ进行更新训练,从而得到最优算法下的最优模型参数θ。

五、元知识

        前面一直在说在train_query评估之后,如果效果不好,就更新算法,那么是更新算法的什么东西呢,又有哪些东西是可以更新的呢?这些东西就成为元知识。

如:超参数、初始化参数、特征空间嵌入,模型结构,损失函数等等

六、元学习方法的分类

这部分直接简单的归纳一下,细节可以看原视频。

1、基于优化(optimization-base method)

可优化的部分如下:

方法举例:MAML

2、基于模型(model-based method)

        可以直接生成一个模型,不需要先训练一个算法再训练模型

方法举例:

Memory-augmented neural network

Meta networks

CNAPs

3、基于度量(metric-based method)

        先提取每类样本的特征,然后拿测试样本的特征与每类样本计算距离,并将其预测为距离最近的那一类,这种方法分类器是没有模型的,但是特征提取的过程可以用cnn来做。

方法举例:

仅简单的记录一下元学习的相关知识,若有不对,欢迎指正!

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

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

相关文章

文件inode

磁盘结构: 众所周知扇面是磁盘存储数据的地方,而一个磁盘有个6个磁盘面,而磁头指向都是相同半径的扇面,所以我们可以抽象出来一个三维指针; 这样我们就抽象出来了一个磁盘,而我们的每个磁盘面都有相同名字…

MES系列- 统计过程分析(SPC)实现

MES系列文章目录 ISA-95制造业中企业和控制系统的集成的国际标准-(1) ISA-95制造业中企业和控制系统的集成的国际标准-(2) ISA-95制造业中企业和控制系统的集成的国际标准-(3) ISA-95制造业中企业和控制系统的集成的国际标准-(4) ISA-95制造业中企业和控制系统的集成的国际标准…

MMA: Multi-Modal Adapter for Vision-Language Models

两个观察 图1所示。各种基于transformer的CLIP模型中不同层的数据集级识别精度。这个实验是为了确定样本属于哪个数据集。我们用不同的种子运行了三次,并报告了每层识别精度的平均值和标准差。 X E m b e d XEmbed XEmbed是指变压器块之前的文本或图像嵌入层&#x…

外包干了7天,技术明显退步。。。。。

先说一下自己的情况,本科生,22年通过校招进入南京某软件公司,干了接近2年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

【银河麒麟高级服务器操作系统·实例分享】裸金属服务器开机失败分析及处理建议

了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer.kylinos.cn 文档中心:https://documentkylinos.cn 现象描述 裸金属物理服务器开机卡在EFI stub页面…

.NET 8 Web API 中的身份验证和授权

本次介绍分为3篇文章: 1:.Net 8 Web API CRUD 操作.Net 8 Web API CRUD 操作-CSDN博客 2:在 .Net 8 API 中实现 Entity Framework 的 Code First 方法https://blog.csdn.net/hefeng_aspnet/article/details/143229912 3:.NET …

详解Java之Spring MVC篇一

目录 Spring MVC 官方介绍 MVC RequestMapping 传递参数 无参数 单个参数 针对String类型 针对Integer类型 针对int类型 针对自定义类型 多个参数 参数重命名 参数强制一致 参数不强制一致 传递数组 ​编辑传递List ​编辑 传递JSON ​编辑 从路径中获取参…

什么是微服务中的反应性扩展?

大家好,我是锋哥。今天分享关于【什么是微服务中的反应性扩展?】面试题?希望对大家有帮助; 什么是微服务中的反应性扩展? Reactive Extensions 也称为 Rx。这是一种设计方法,我们通过调用多个服务来收集结果…

Atlas800昇腾服务器(型号:3000)—Docker容器部署【图像分类】(十)

服务器配置如下: CPU/NPU:鲲鹏 CPU(ARM64)A300I pro推理卡 系统:Kylin V10 SP1【下载链接】【安装链接】 驱动与固件版本版本: Ascend-hdk-310p-npu-driver_23.0.1_linux-aarch64.run【下载链接】 Ascend-…

VsCode | 修改内置字体为JetBrains Mono NL

文章目录 一、下载JetBrains Mono NL字体二、VsCode进行字体的设置 一、下载JetBrains Mono NL字体 字体下载 下载完成以后解压找到JetBrainsMono-2.304\fonts\ttf文件夹下,全选鼠标右键点安装即可。 注意:一定要全部安装,否则字体样式可…

ffmpeg视频滤镜: 裁剪-crop

滤镜简述 crop官网链接 > FFmpeg Filters Documentation crop滤镜可以对视频进行裁剪&#xff0c;并且这个滤镜可以接受一些变量比如时间和帧数&#xff0c;这样我们实现动态裁剪&#xff0c;从而实现一些特效。 滤镜使用 参数 out_w <string> ..…

111.SAP ABAP - Function ALV - 列、行、单元格颜色 - 记录

目录 1.介绍 2.列背景色 3.行背景色 4.单元格背景色 4.1颜色码相关的结构 LVC_T_SCOL LVC_S_SCOL LVC_S_COLO 4.2单元格颜色设置方法 5.ALV 颜色码 1.介绍 在数据展示方面&#xff0c;要求ALV的数据列、行、单元格通过颜色醒目显示&#xff08;颜色展示…

elasticsearch 8.x 插件安装(三)之拼音插件

elasticsearch 8.x 插件安装&#xff08;三&#xff09;之拼音插件 elasticsearch插件安装合集 elasticsearch插件安装&#xff08;一&#xff09;之ik分词器安装&#xff08;含MySQL更新&#xff09; elasticsearch 8.x插件&#xff08;二&#xff09;之同义词安装如何解决…

MATLAB疲劳监测系统

课题介绍 该课题为基于眼部和嘴部的疲劳驾驶检测。带有一个人机交互界面GUI&#xff0c;通过输入视频&#xff0c;分帧&#xff0c;定位眼睛和嘴巴&#xff0c;通过眼睛和嘴巴的张合度&#xff0c;来判别是否疲劳。 二、操作步骤 第一步&#xff1a;最好电脑安装的是MATLAB 2…

redis集群(主从同步、哨兵、群集)

目录 一、redis主从复制 1.1 主从复制的作用 1.2 主从复制的流程 1.3 搭建redis主从复制 1.3.1 环境准备 1.3.2 修改内核参数 1.3.3 安装redis 1.3.4 创建redis工作目录 1.3.5 环境变量 1.3.6 定义systemd服务管理脚本 1.3.7 修改 Redis 配置文件&#xff08;Master节点操作&am…

MicroServer Gen8再玩 OCP万兆光口+IT直通之二

这个接上一篇&#xff0c;来个简单测试。 一、测试环境 PC端&#xff1a;Win10&#xff0c;网卡&#xff1a;万兆光纤&#xff08;做都做了&#xff0c;都给接上&#xff09;&#xff0c;硬盘使用N年的三星SSD 840 交换机&#xff1a;磊科GS10&#xff0c;带两个万兆口 Gen…

Linux系统基础-多线程超详细讲解(1)

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 Linux系统基础-多线程超详细讲解(1) 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 目录 …

Github 2024-10-29Python开源项目日报 Top10

根据Github Trendings的统计,今日(2024-10-29统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10TypeScript项目1gpt4free存储库:强大语言模型的集合 创建周期:300 天开发语言:Python协议类型:GNU General Public License v3…

高职院校教学一体化护理实训室建设方案

当前&#xff0c;高职院校在人才培养方面正经历着深刻的变革。教育部明确提出&#xff0c;高职院校在人才培养过程中&#xff0c;必须着重培养学生的专业技能与职业素养&#xff0c;旨在培育出更多出类拔萃的应用型人才&#xff0c;从而全面提升高职院校护理类专业的人才培养质…

【K8S系列】Kubernetes 中 Service IP 分配 问题及解决方案【已解决】

在 Kubernetes 中&#xff0c;LoadBalancer 类型的 Service 允许用户轻松地将应用暴露给外部流量。它自动创建一个云负载均衡器并分配一个外部 IP 地址。然而&#xff0c;在某些情况下&#xff0c;LoadBalancer 类型的 Service 可能未能成功分配 IP 地址&#xff0c;导致外部无…