论文总结《A Closer Look at Few-shot Classification Again》

原文链接

A Closer Look at Few-shot Classification Again

摘要

这篇文章主要探讨了在少样本图像分类问题中,training algorithm 和 adaptation algorithm的相关性问题。给出了training algorithm和adaptation algorithm是完全不想关的,这意味着我们在设计少样本学习算法时,可以分别设计模型的training阶段和adaptation阶段。同时文章也在训练集规模、监督学习和自监督学习在少样本学习中的性能、以及标准finetune在少样本图像分类adaptation阶段对模型影响的问题。

Training 和 Adaptation 算法完全不相关

在这里插入图片描述

如图,行为training算法,列为adaptation算法。对于行,表示的是不论采用什么样的training算法,adaptation算法对应的性能偏序关系都是一样的;对于列,表示的是不论采用什么样的adaptation算法,training算法对于的性能偏序关系都一样。实验说明两个算法是完全不想关的,因此对于未来更优模型的研究,我们可以分别设计training和adaptation阶段的算法。

training阶段让模型“看到”更多的类使得模型更能适应新类别

在这里插入图片描述

如图,在训练算法和适应算法不变的情况下,对十种不同的训练集进行adaptation。如Figure1,2所示,training阶段增加训练的class数量对性能的提升比增加sample的数量更加高效。

自监督学习在少样本图像分类中表现优于监督学习

在这里插入图片描述

Figure3每一个点表示的是监督学习模型,Figure4每一个点表示自监督学习模型。Figure3所示,监督学习在性能更好的模型下,通过少样本的调整后,性能反而效果不佳,这说明性能更优的监督模型一定程度上在训练集上过拟合了。

反观自监督学习,自监督学习模型本身的性能和通过少样本微调过后的性能基本呈现线性关系,因此可以说在少样本图像分类问题中,将自监督学习作为backbone网络优于将监督学习作为backbone网络。

training阶段增加sample数量对性能的提升优于增加class数量

在这里插入图片描述
可以看到,如果固定Support set size,不同的class数量对性能的影响较小。而增加support set size对于性能的影响较大。

vanilla Finetune效果最好

与之前的一些研究得出的在少样本上Finetune会导致模型的过拟合不同,本文通过实验反而表明,Vanilla Finetune反而带来最佳性能,并且backbone和linear head采用不同的learning rate效果更优。

讨论

文章分析得出,一味的增加训练数据规模并不是一劳永逸的解决方法,我们可以多关注训练知识和调整所需的知识的对齐。如何不像finetune那样暴力的自适应算法,用一种更加精准的对模型进行微调的方法是我们未来可以研究的一点。

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

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

相关文章

Day46:项目-购物车案例

购物车案例 准备工作 首页默认加载,其余页面懒加载 调用defineStore方法构建store 入口main做对应配置,找指南,快速开始,把elementplus引入进来 import { createApp } from "vue"; import { createPinia } from &qu…

典型数据结构-栈/队列/链表、哈希查找、二叉树(BT)、线索二叉树、二叉排序树(BST树)、平衡二叉树(AVL树)、红黑树(RB树)

目录 典型数据结构列举 栈/队列/链表 树 二叉树 线索二叉树 二叉排序树 平衡二叉树(AVL树) 红黑树 其它树种和应用介绍 典型数据结构列举 栈/队列/链表 描述略。 一些基本的简单实现参考/数据结构简单实现/文件夹里面。 线性表详解&#xff…

Spring Boot 动态加载jar文件

Spring Boot 动态加载jar文件 接口实现: package org.bc.device;public interface IDeviceHandler {String start();String stop(); }实现类: package org.bc.device; public class MqttDevice implements IDeviceHandler{ Override public String s…

【深度学习】Pytorch 系列教程(十):PyTorch数据结构:2、张量操作(Tensor Operations):(4)索引和切片详解

目录 一、前言 二、实验环境 三、PyTorch数据结构 0、分类 1、张量(Tensor) 2、张量操作(Tensor Operations) 1. 数学运算 2. 统计计算 3. 张量变形 4. 索引和切片 使用索引访问单个元素 使用切片访问子集 使用索引和…

自动生成bug异常追踪-SRE与开发自动化协同

作者:观测云 数据智能部 产品方案架构师 范莹莹 简介 生产环境 bug 的定义:RUM 应用和 APM 应用的 error_stack 信息被捕捉后成为 bug。 以 APM 新增错误巡检为例,当出现新错误时,在观测云控制台的「事件」模块下生成新的事件报…

Python150题day03

1.2字符串练习题 ①字符串内置方法练习 在交互式解释器中完成下列题目 1.将字符串“abcd"转成大写 2.计算字符串“cd”在 字符串“abcd"中出现的位置 3.字符串“a,b,c,d”,请用逗号分割字符串,分割后的结果是什么类型的? 4."…

Vue2电商前台项目——完成加入购物车功能和购物车页面

Vue2电商前台项目——完成加入购物车功能和购物车页面 文章目录 Vue2电商前台项目——完成加入购物车功能和购物车页面一、加入购物车1、路由跳转前先发请求把商品数据给服务器(1)观察接口文档(2)写接口(3)…

React-Hooks 和 React-Redux

注:Redux最新用法参考 个人React专栏 react 初级学习 Hooks基本介绍------------------------- Hooks:钩子、钓钩、钩住, Hook 就是一个特殊的函数,让你在函数组件中获取状态等 React 特性 ,是 React v16.8 中的新增功…

斗地主案例及一些实现规则

4. 斗地主发牌 4.1 案例介绍 按照斗地主的规则,完成洗牌发牌的动作。 具体规则: 使用54张牌打乱顺序,三个玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌。 4.2 案例分析 准备牌: 牌可以设计为…

机器学习 day34(机器学习项目的完整周期、精确度和召回率、F1)

机器学习项目的完整周期 第一步,决定项目是什么。第二步,收集数据。第三步,训练模型,进行错误分析并改进模型,可能会回到第二步。第四步,当模型足够好后,部署在生产环境中,继续监控…

汽车OTA

汽车OTA(Over-The-Air)技术是指通过无线网络对汽车进行软件升级、数据传输和远程诊断等功能的技术。随着汽车行业的数字化和智能化发展,OTA技术在汽车领域的应用越来越广泛,对于提高汽车性能、降低维修成本和提升用户体验具有重要…

Leetcode 1004. Max Consecutive Ones III 滑动窗口经典题

Max Consecutive Ones III Medium Given a binary array nums and an integer k, return the maximum number of consecutive 1’s in the array if you can flip at most k 0’s. Example 1: Input: nums [1,1,1,0,0,0,1,1,1,1,0], k 2 Output: 6 Explanation: [1,1,1,0,0…

【Redis7】--3.Redis持久化

Redis持久化 Redis持久化(Redis persistence)是指将数据写入持久化存储,如固态硬盘(SSD) Redis提供了一系列持久化选项,这些包括: RDB(redis数据库):RDB持久化方式能够在指定的时间间隔对数据进行快照存储AOF(追加文件)&#x…

axios在vue3.x中的基础入门使用

-2023.05.18更新,修复了之前demo中存在的3个问题。现在可以无bug跑起来。 1.axios在vue3.x中的基础入门使用 在不涉及使用axios进行请求拦截以及响应拦截的场景下,axios的使用可以简化为以下步骤。 step1. 使用npm安装axios npm install axios step…

Linux安装包 | Git使用 | NFC搭建

dpgt使用 当谈到基于 Debian 的操作系统中的软件包管理工具时,dpkg 是一个重要的工具。它是 Debian 系统中用于安装、升级、配置和卸载软件包的命令行工具。以下是对 dpkg 的详细介绍: 软件包管理:dpkg 可以管理系统中的软件包。它可以安装单…

Aztec.nr:Aztec的隐私智能合约框架——用Noir扩展智能合约功能

1. 引言 前序博客有: Aztec的隐私抽象:在尊重EVM合约开发习惯的情况下实现智能合约隐私 Aztec.nr,为: 面向Aztec应用的,新的,强大的智能合约框架使得开发者可直观管理私有状态基于Noir构建,…

汽车ECU软件升级方案介绍

软件OTA的背景 随着汽车网联化的发展,现在的汽车电子架构都支持软件空中升级,即大家常说的OTA(Software Update and Upgrade Over the Air),传统的软件升级常常是离线升级,需要车主将车开到维修保养中心进行软件更新。不过OTA升级方式带来方便之处需要考虑的问题也随之增…

LeetCode2.两数相加

一看完题,我的想法是先算出这两个链表表示的数,然后相加,然后把这个数一位一位的分配给第三个数组,这种方法应该很简单但是要遍历三次数组,于是我就想直接一遍遍历,两个链表同时往后面遍历,把这…

基础篇之SDK编译

文章目录 一、 Ubuntu系统固件下载1. 固件下载2 放入SDK根目录中 二、编译SDK三、说明 一、 Ubuntu系统固件下载 1. 固件下载 在资源下载页面下载Ubuntu Rootfs固件,文件夹有三个文件,其区别如下,根据情况进行选择下载 资源名称作用Ubuntu2…

MySQL里的查看操作

文章目录 查看当前mysql有谁连接查看数据库或者表 查看当前mysql有谁连接 show processlist;查看数据库或者表 列出所有数据库: show databases;查看正在使用的数据库(必须大写): SELECT DATABASE();列出数据库中的表&#xf…