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

news2024/10/7 8:24:08

原文链接

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.coloradmin.cn/o/1033788.html

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

相关文章

瑞芯微RK3568:Debian系统如何安装Docker

本文基于HD-RK3568-IOT评估板演示Debian系统安装Docker,该方法适用于RK356X全系产品。 HD-RK3568-IOT评估板基于HD-RK3568-CORE 工业级核心板设计(双网口、双CAN、5路串口),接口丰富,适用于工业现场应用需求&#xff…

怒刷LeetCode的第13天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一:滑动窗口 方法二:哈希表和双指针 方法三:动态规划 第二题 题目来源 题目内容 解决方法 方法一:深度优先搜索(DFS) 方法二:树结构 …

rv1126-rv1109-RkLunch.sh

RkLunch.sh是个脚本,来自哪里 书接上回:rv1126-rv1109-瑞芯微的 IPC 程序_旋风旋风的博客-CSDN博客 修改之后 屏蔽了两行之后,就没有开机自启rklunch了: # [ -f /oem/RkLunch.sh ] && source /oem/RkLunch.sh 就是运行source /oem/RkLunch.sh 这里就跑了RkL…

基于微信小程序的驾校报名系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户微信小程序端的主要功能有:驾校教练的主要功能有:管理员的主要功能有:具体实现截图详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考论文参考源码…

动手学深度学习(pytorch版)第二章-2.2数据预处理Note-pandas

1. 创建 import osos.makedirs(os.path.join(.., data), exist_okTrue) data_file os.path.join(.., data, house_tiny.csv) with open(data_file, w) as f:f.write(NumRooms,Alley,Price\n) # 列名f.write(NA,Pave,127500\n) # 每行表示一个数据样本f.write(2,NA,106000\…

平板用的触控笔什么牌子好?性价比高的触控笔推荐

随着平板电脑的普及,越来越多用户为了方便都选择了电容笔,电容笔已经完全代替了我们的手指,并且使我们的书写速度得到了极大的提升。然而,因为其的独特的重力压感功能与芯片技术,导致了原装笔的售价一直居高不下&#…

深入探析NCV7356D1R2G 单线CAN收发器各项参数

NCV7356D1R2G深力科是一款用于单线数据链路的物理层器件,能够使用多种具碰撞分解的载波感测多重存取 (CSMA/CR) 协议运行,如博世控制器区域网络 (CAN) 2.0 版。此串行数据链路网络适用于不需要高速数据的应用,低速数据可在物理介质部件和微处…

用selenium和xpath定位元素并获取属性值以及str字符型转json型

页面html如图所示: 要使用xpath定位这个div元素,并且获取其属性data-config的内容值。 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.options import Optionshost127.0.0.1 port10808 …

线程安全,与多线程的应用

一、线程安全 1.什么是线程安全 2.用程序模拟线程安全问题 public class Account {private double money;//余额private String cardId;//卡号public Account() {}public Account(double money, String cardId) {this.money money;this.cardId cardId;}public void drawMone…

LeetCode 1993. 树上的操作:大模拟

【LetMeFly】1993.树上的操作:大模拟 力扣题目链接:https://leetcode.cn/problems/operations-on-tree/ 给你一棵 n 个节点的树,编号从 0 到 n - 1 ,以父节点数组 parent 的形式给出,其中 parent[i] 是第 i 个节点的…

基于微信小程序的健康评估系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言运行环境说明用户微信端的主要功能有:医生微信端的主要功能有:管理员的主要功能有:具体实现截图详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考论文参考源码获取…

iOS17正式版BUG汇总:无法正常拨打电话、小组件不可用、无线充电不可用等问题

今天凌晨 iOS 17 正式版发布,相信不少尝鲜派已经更新体验了iOS17的新功能了,但还有很多用户选择观望看是否要升级,小编汇总了目前已更新的用户反馈的已知BUG,供大家查看是否要更新iOS17正式版! 目前已知BUG&#xff1…

【LeetCode75】第六十二题 多米诺和托米诺平铺

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我一个数字n,表示我们有2*n大小的地板需要铺。 我们拥有两种瓷砖,一种的长度为2的多米诺,另一…

Jetpack Compose干货,如何让Compose Dialog从屏幕任意方向进入

一、前言 来个效果图,基于Compose Dialog,最终要实现的库能力如下: 这里使用的是这个包下面的: androidx.compose.ui.window.Dialog androidx.compose.material3.AlertDialog它内部调用的也是androidx.compose.ui.window.Dialog …

Centos7 安装部署 Kubernetes(k8s) 高可用集群

1:基础环境准备 宿主机系统集群角色服务器IP主机名称容器centos7.6master192.168.2.150ks-m1dockercentos7.6master192.168.2.151ks-n1dockercentos7.6master192.168.2.152ks-n2docker 1.1 服务器初始化及网络配置 VMware安装Centos7并初始化网络使外部可以访问*…

No2.详解【2023年全国大学生数学建模竞赛】C题——蔬菜类商品的自动定价与补货决策(代码 + 详细输出 + 数据集代码 下载)

只有不回避痛苦和迷茫的人,才有资格去谈乐观和坚定。命运不会厚待谁,悲喜也不会单为你准备。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客之星人工智能…

爬虫获取接口数据

上一讲讲的是获取静态网页数据的教程,适用于我们要爬取的数据在网页源代码中出现,但是还是有很多的数据是源代码中没有的,需要通过接口访问服务器来获得,下面我就来讲讲如何爬取这类数据。 以巨潮资讯网爬取比亚迪企业年报为例。…

解决windows端口占用

WINR打开cmd窗口;输入命令查看哪个进程占用,8848为要查询占用的端口号:netstat -ano | findstr 8848; 3.杀死进程,输入taskkill /f /t /im 10672 其中10672为上面命令查出来的进程号。

24. 图论 - 图的表示种类

Hi,你好。我是茶桁。 之前的一节课中,我们了解了图的来由和构成,简单的理解了一下图的一些相关概念。那么这节课,我们要了解一下图的表示,种类。相应的,我们中间需要穿插一些新的知识点用于更好的去理解图…

Python异步编程并发执行爬虫任务,用回调函数解析响应

一、问题:当发送API请求,读写数据库任务较重时,程序运行效率急剧下降。 异步技术是Python编程中对提升性能非常重要的一项技术。在实际应用,经常面临对外发送网络请求,调用外部接口,或者不断更新数据库或文…