元学习之应用案例

news2024/9/20 15:43:07

                现在在做元学习的时候,我们最常拿来测 试元学习技术的任务叫做少样本图像分类,简单来讲就是每一个任务都只有几张图片,每一 个类别只有几张图片。比如我们使用图1的案例为例说明。现在分类的任务是分为三个 类别,每个类别都只有两张图片作为输入,我们希望通过这样一点点的数据就可以训练出一 个模型。也就是给这个模型一张新的图片,它可以知道这张图片属于哪一个类别。在做这种少样本图像分类的时候,我们会常看到一个名词叫做N类别K样例下的分类任务,这个名词 是什么意思呢?N类别K样例的分类任务,它的意思就是在每一个任务里面,我们有N个类 别,而每一个类别我们只有K个样例。举例来说,在图1这个例子里面我们有三个类别, 每一个类别只有两个样例,那它就是3类别2样例分类。在元学习里,如果我们要教机器能 够做N类别K样例分类,那意味着说我们需要准备很多的N类别K样例下的分类任务当做 训练的任务,这样机器才能够学到N类别K样例的算法。

图1 少样本的案例分析

        那要怎么去找一系列的N类别K样例下的任务呢?在文章中最常见的一种做法是使用 Omniglot 当做基准,Omniglot 是一个手写的数据集,它有 1623 个不同的字符,每一个字符 有20 个样例。那有这些字符以后呢,我们就可以去制造N类别K样例下的分类。比如我们 从Omniglot 里面选出 20 个字符,然后每一个字符就只取一个样例,这样就得到一个20 类 别1样例的分类任务。如果我们把这个任务当做训练数据,那我们就可以让机器学习到20类 别1样例的分类算法。如果我们把这个任务当做测试数据,那我们就可以测试机器在20类别 1 样例的分类任务上的表现。同理,我们可以制造出20类别5样例的分类任务,这个任务里 面每一个类别都有5个样例,然后我们可以把这个任务当做训练数据,让机器学习到20类别 5 样例的分类算法。

        在使用Omniglot 的时候,我们会把字符分成两半,一半是拿来制造训练任务的字符,另 外一半是拿来制造测试任务的字符。如果我们要去制造一个N类别K样例的任务,那么就是 从这些训练任务的字符里面先随机采样N个字符,然后这N个字符每个字符再去采样K个 样例,集合起来就得到一个训练的任务。对于测试的任务,就从这些测试的字符里面拿出N 个字符,然后每个字符采样K个样例,你就得到一个N类别K样例下的测试任务。这样我 们就可以把Omniglot 当做一个基准,然后在这个基准上面测试不同的元学习算法。

        总之,元学习不是只能用非常简单的任务,今天在学界已经开始把元学习推向更复杂的 任务,我们也一直希望未来元学习这个技术能够真的用在现实的应用上,可以走得多远好。        

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

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

相关文章

贪心-用最少的箭射球

一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后…

MySQL从C盘迁移到D盘

文章目录 前言一、停止MySQL服务打开服务(方式一)打开服务(方式二)停止MySQL服务 二、找到C盘中的文件文件夹1文件夹2文件夹3 三、修改文件内容1.对应文件夹12.对应文件夹3 四、 修改注册表中文件路径1.打开注册表2. 修改注册表中…

微积分-积分应用5.5(函数的平均值)

很容易计算有限多个数字 y 1 , y 2 , … , y n y_1, y_2, \dots, y_n y1​,y2​,…,yn​ 的平均值: y ave y 1 y 2 ⋯ y n n y_{\text{ave}} \frac{y_1 y_2 \cdots y_n}{n} yave​ny1​y2​⋯yn​​ 但是,如果可以进行无限多次的温度读取&…

Java 入门指南:Java 并发编程 —— 同步工具类 CountDownLatch(倒计时门闩)

文章目录 同步工具类CountDownLatch常用方法使用步骤适用场景使用示例 同步工具类 JUC(Java.util.concurrent)是 Java 提供的用于并发编程的工具类库,其中包含了一些通信工具类,用于在多个线程之间进行协调和通信,特别…

【kafka】kafka如何保证数据的可靠性,kafka如何保证数据不丢失

1. Kafka架构: Producer - Broker - Consumer 回到问题上来,Kafka如何保证数据不丢失,我们先看看Kafka如何保证Producer端数据不丢失: 通过ack机制 最小副本数设置 生产者重试机制 2. Kafka Producer消息发送ACK机制&#xff1…

量化交易backtrader实践(一)_数据获取篇(2)_tushare与akshare

上一节回顾 在上一节中,从股票的基本功能和主要数据进行小结,明确了进行backtrader回测所需要的数据,并且学习了backtrader的数据来源以及PandasData的格式要求,已经做到假设拿到.txt或.csv文件后,能把里面的股票基本…

【代码随想录】字符串

本博文为《代码随想录》学习笔记,原文链接:代码随想录 344.反转字符串 题目链接:. - 力扣(LeetCode) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的…

Qt使用绿色pdf阅读器打开文件

1.下载SumatraPDF 2.设置 3.代码 void MainWindow::on_pushButton_clicked() {QProcess *process new QProcess();QString filePath "C:\\Users\\jude\\Desktop\\su\\11.pdf";QString sumatraPath "C:\\Users\\jude\\Desktop\\su\\SumatraPDF-3.5.2-64.exe&q…

Android 系统级应用守护进程

import java.util.Random; /** Application class for SystemUI. -42,6 69,8 public class SystemUIApplication extends Application { private static final String TAG “SystemUIService”; private static final boolean DEBUG false; private Context mContext;/*…

嵌入式产品发货后出现问题,怎么办?

目录 1、问题识别与初步诊断 2、影响评估 3、提出临时解决方案 4、根本原因分析与修复 5、修复验证与回归测试 6、修复的部署与客户沟通 7、预防未来类似问题 当嵌入式电子产品已发货且出现问题时,及时采取有效的补救措施是至关重要的。补救步骤应包括问题的…

javascript柯里化

return a b c d; } //通常调用方式 var sum add(1, 2, 3, 4); //柯里化的调用方式 var curryAdd Curry(add); var sum curryAdd(1)(2)(3)(4); //或者很多奇怪的方式调用 var sum curryAdd(1, 2)(3, 4); var sum curryAdd(1, 2, 3)(4); var sum curryAdd(1)(…

C语言 | Leetcode C语言题解之第398题随机数索引

题目: 题解: typedef struct {int *nums;int numsSize; } Solution;Solution* solutionCreate(int* nums, int numsSize) {Solution *obj (Solution *)malloc(sizeof(Solution));obj->nums nums;obj->numsSize numsSize;return obj; }int solu…

Maven之坑setting.xml配置

先来看遇到的问题 在运行 mvn clean package 打包命令的时候,IDEA控制台提示如下 Non-resolvable parent POM for com.xxxxx.xxxxx:1.0.0: The following artifacts could not be resolved: com.xxxxx:xxxxx:pom:1.0.0 (present, but unavailable): xxxxx:xxxxx…

全球热门剪辑软件大搜罗

如果你要为你的视频进行配音那肯定离不开音频剪辑软件,现在有不少音频剪辑软件免费版本就可以实现我们并不复杂的音频剪辑操作。这次我就给你分享几款能提高剪辑效率的音频剪辑工具。 1.福晰音频剪辑 链接直达>>https://www.foxitsoftware.cn/audio-clip/ …

Java面试篇基础部分-Java各种垃圾收集器

导语   在之前的分享中,我们知道Java堆内存被分为新生代和老年代两个部分;其中,新生代中主要存储生命周期较短的对象,了解了新生代中的对象采用的是复制算法进行垃圾回收;而老年代主要存储生命周期较长的对象以及大对象,采用的是标记整理算法进行垃圾回收。 针对不同的…

Es6解构赋值,熟练掌握作用域

5.3 数组的解构赋值 数组的解构赋值是按照前后数据的索引值一一对应的 5.4 前后数据结构也要保持一致,不然解构的可能与原数组解构嵌套不同 5.5 数组解构时的默认值 6 对象的解构赋值 对象的解构赋值是按照key一一解构 7 解构数组,如果有两个值必须写在后面,rest参数 8 解…

VMware账户授权迁移Broadcom账户-操作指南

前言: VMware被Broadcom收购后,大量的国内VMware企业用户获取技术支持的渠道改变。 特别是授权以及开Case的问题。 这篇文章保姆级教学,从你怎么拨打外国电话(并且告诉你背诵英文短语的方式从400处获取答案,不用交流),怎么获取Site ID,以及如何…

湖仓一体-Paimon篇-简介

简介 Apache Paimon 是一种数据湖的格式,支持使用 Flink 和 Spark 构建实时湖仓架构,用于流式和批处理操作。Paimon 创新性地结合了数据湖格式和LSM结构,将实时流式更新引入数据湖架构。 Paimon 提供以下核心功能: ● 实时更新&a…

游戏开发引擎___unity位置信息和unlit shader(无光照着色器)的使用,以桌子的渲染为例

unity是左手坐标系 1.位置信息 1.1 代码 using System.Collections; using System.Collections.Generic; using UnityEngine;public class positionTest : MonoBehaviour {public Camera Camera;private void OnGUI(){//世界坐标系,GUI里的标签GUI.Label(new Rec…

【智能流体力学】机器学习 (ML) 增强计算流体动力学 (CFD) 的最新进展

这篇综述探讨了通过机器学习 (ML) 增强计算流体动力学 (CFD) 的最新进展。文献系统地分为三个主要类别:数据驱动的代理、物理知情的代理和 ML 辅助数值解。随后,我们重点介绍了 ML for CFD 在关键科学和工程…