AnytimeCL:难度加大,支持任意持续学习场景的新方案 | ECCV‘24

来源:晓飞的算法工程笔记 公众号,转载请注明出处

论文: Anytime Continual Learning for Open Vocabulary Classification

  • 论文地址:https://arxiv.org/abs/2409.08518
  • 论文代码:https://github.com/jessemelpolio/AnytimeCL

创新点


  • 在线训练时,每个批次由新训练样本和类别平衡的存储样本组成。
  • 在线学习每个标签的准确性,以有效对原始模型和调整后模型的预测进行加权。
  • 损失修改以支持“以上皆非”(不在预设标签内)的预测,这也使开放词汇训练更加稳定。
  • 中间层特征压缩,减少训练样本的存储并提高速度,同时对准确性的影响不大。

内容概述


论文提出了针对开放词汇图像分类的任意持续学习(AnytimeCL)方法,旨在突破批量训练和严格模型的限制,要求系统能够在任何时间预测任何一组标签,并在任何时间接收到一个或多个训练样本时高效地更新和改进。

AnytimeCL基于一种动态加权机制,结合了部分微调的模型的预测与原始的模型的预测。当有新训练样本时,用存储的样本填充一个类别平衡的批次更新微调模型最后的Transformer块,然后更新对给定标签的调优和原始模型准确度的估计,最后根据它们对每个标签的预期准确度对调优模型和原始模型的预测进行加权。

此外,论文还提出了一种基于注意力加权的主成分分析(PCA)的训练特征压缩方法,这减少了存储和计算的需求,对模型准确度几乎没有影响。

AnytimeCL


论文旨在通过将微调模型与原始模型相结合来增强开放词汇图像分类器以学习目标任务。调优后的模型使用与原始模型相同的编码器,但包含一个可训练的解码器。

对于一幅图像 x x x ,调优模型和原始模型都生成所有候选标签的概率,分别表示为 P t ( y ∣ x ) P_t(y|x) Pt(yx) P o ( y ∣ x ) P_o(y|x) Po(yx) ,最终概率通过在线类别加权(OCW)进行加权:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:our_weighti…

在训练过程中,新样本被编码为中间特征(图像块的特征向量加上一个CLS标记),可以选择进行压缩并存储,以便在未来重复使用。

模型

  • 原始模型

原始模型是公开可用的CLIP ViT模型,该模型基于图像嵌入 e x e_{x} exCLS标记)与文本嵌入 e y e_{y} ey 的点积,为图像 x x x 生成给定一组候选文本标签 Y \mathcal{Y} Y 的标签 y y y 的概率:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:class_wise_…

  • 调优模型

调优模型仅调优最后的图像Transformer块,同时保持标签嵌入固定。这有助于特征与文本模态保持相关,并减少对接收标签的过拟合。

给定一个新样本,构造一个包含该样本的批次以及经过类平衡采样的存储训练样本。此外,使用一种正则化损失来帮助提高性能。如果真实标签不在候选标签中,那么每个候选标签都应该预测一个较低的分数。通过在候选集中添加一个“其他”选项来实现这一点,但由于“其他”没有具体的表现,仅用一个可学习的偏差项来对其建模。因此,训练调优模型的综合损失为:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:final_loss}…

在线类别加权(OCW

在更新之前使用每个训练样本,根据调优和原始预测来更新对其标签正确性的可能性估计,从而对给定标签正确的模型分配更高的权重。应用指数滑动平均(EMA)更新方法在线估计它们,符合随时持续学习的目标。假设EMA衰减设置为 η \eta η (默认为 0.99 0.99 0.99 ),当前步骤调优模型的估计准确性为:

c t ( y ) = η c ^ t ( y ) + ( 1 − η ) 1 [ y t ( x ) = y ] . \begin{equation} c_t(y) = \eta \hat{c}_t(y) + (1 - \eta) \mathbb{1}[y_t(x)=y]. \end{equation} ct(y)=ηc^t(y)+(1η)1[yt(x)=y].

这里, c ^ t ( y ) \hat{c}_t(y) c^t(y) 是前一步骤中标签 y y y 的估计准确性; y t ( x ) y_t(x) yt(x) 表示调优模型对 x x x 的预测标签。由于指数滑动平均依赖于过去的值,将 c t ( y ) c_t(y) ct(y) 计算为前 ⌊ 1 1 − η ⌋ \lfloor \frac{1}{1-\eta} \rfloor 1η1 个样本的平均准确性。 c o ( y ) c_o(y) co(y) 也是以相同的方式更新的。

在获得 c t ( y ) c_t(y) ct(y) c o ( y ) c_o(y) co(y) 之后,两个模型的权重为:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:final_alpha…

这里, ϵ \epsilon ϵ 是一个非常小的数(1e-8),用于防止除以零。对于调优模型未见过的标签,设置 α t ( y ) = 0 \alpha_t(y)=0 αt(y)=0 ,因此 α o ( y ) = 1 \alpha_o(y)=1 αo(y)=1

存储的高效性与隐私性

模型的调优需要存储每个图像或者存储输入到调优部分的特征(或标记)。存储图像存在缺乏隐私和在空间和计算上低效的缺点,因为在训练中需要重新编码。存储特征可以缓解其中一些问题,但仍然使用大量内存或存储空间。

训练良好的网络学习到的数据高效表示往往难以压缩,如果尝试使用在某个数据集上训练的VQ-VAEPCA(主成分分析)来压缩特征向量,将无法在不大幅损失训练性能的情况下实现任何有意义的压缩。然而,每幅图像中的特征包含许多冗余。因此,计算每幅图像中特征的PCA向量,并将这些向量与每个特征向量的系数一起存储。

此外,并非所有标记在预测中都是同等重要的。因此,可以训练一个逐图像的注意力加权PCA,通过每个标记与CLS标记之间的注意力加权。最后,可以通过存储每个向量及其系数的最小/最大浮点值,并将它们量化为8位或16位无符号整数来进一步压缩。通过以这种方式仅存储五个PCA向量及其系数,可以将50768维标记( 7 × 7 7\times 7 7×7 patch 标记 +CLS标记)的存储从153K字节减少到5K字节,同时预测准确度的差异不到1%

主要实验




如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

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

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

相关文章

2020年美国总统大选数据分析与模型预测

数据集取自:2020年🇺🇸🇺🇸美国大选数据集 - Heywhale.com 前言 对2020年美国总统大选数据的深入分析,提供各州和县层面的投票情况及选民行为的可视化展示。数据预处理阶段将涉及对异常值的处理&#xff0…

工业以太网PLC无线网桥,解决用户布线难题!

工业以太网无线网桥 功能概述 本产品是工业以太网(Profinet、EtherNet/IP、ModbusTCP等)转无线设备,成对使用(一对一),出厂前已经配对好,用户不需要再配对,即插即用。适用于用户布线不方便的场景。使用方式简单,只需要把拨码开关设置好并上电即可工作,无需进行其它设置。支持P…

Android13 系统/用户证书安装相关分析总结(三) 增加安装系统证书的接口遇到的问题和坑

一、前言 接上回说到,修改了程序,增加了接口,却不知道有没有什么问题,于是心怀忐忑等了几天。果然过了几天,应用那边的小伙伴报过来了问题。用户证书安装没有问题,系统证书(新增的接口)还是出现了问题。调…

AUTOSAR CP NVRAM Manager规范导读

一、NVRAM Manager功能概述 NVRAM Manager是AUTOSAR(AUTomotive Open System ARchitecture)框架中的一个模块,负责管理非易失性随机访问存储器(NVRAM)。它提供了一组服务和API,用于在汽车环境中存储、维护和恢复NV数据。以下是NVRAM Manager的一些关键功能: 数据存储和…

kelp protocol

道阻且长,行而不辍,未来可期 有很长一段时间我都在互联网到处拾金,but,东拼西凑的,总感觉不踏实,最近在老老实实的看官方文档 & 阅读白皮书 &看合约,挑拣一些重要的部分配上官方的证据,和过路公主or王子分享一下,愿我们早日追赶上公司里那些可望不可及大佬们。…

LeetCode25:K个一组翻转链表

原题地址:. - 力扣(LeetCode) 题目描述 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那…

k8s图形化显示(KRM)

在master节点 kubectl get po -n kube-system 这个命令会列出 kube-system 命名空间中的所有 Pod 的状态和相关信息,比如名称、状态、重启次数等。 systemctl status kubelet #查看kubelet状态 yum install git #下载git命令 git clone https://gitee.com/duk…

Github 2024-11-07 Go开源项目日报 Top10

根据Github Trendings的统计,今日(2024-11-07统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Go项目10HTML项目1Kubernetes: 容器化应用程序管理系统 创建周期:3618 天开发语言:Go协议类型:Apache License 2.0Star数量:106913 个Fork数…

HTML 标签属性——<a>、<img>、<form>、<input>、<table> 标签属性详解

文章目录 1. `<a>`元素属性hreftargetname2. `<img>`元素属性srcaltwidth 和 height3. `<form>`元素属性actionmethodenctype4. `<input>`元素属性typevaluenamereadonly5. `<table>`元素属性cellpaddingcellspacing小结HTML元素除了可以使用全局…

制造业仓储信息化总体规划方案

文件是一份关于制造业仓储信息化的总体规划方案&#xff0c;主要内容包括项目背景、现状调研、项目目标、建设思路、业务蓝图设计方案、系统设计方案以及场景展示等。以下是对PPT内容的分析和总结&#xff1a; 1. 项目背景 目标&#xff1a;通过物流执行系统&#xff08;LES&a…

Ubuntu使用Qt虚拟键盘,支持中英文切换

前言 ​最近领导给了个需求&#xff0c;希望将web嵌入到客户端里面&#xff0c;做一个客户端外壳&#xff0c;可以控制程序的启动、停止、重启&#xff0c;并且可以调出键盘在触摸屏上使用(我们的程序虽然是BS架构&#xff0c;但程序还是运行在本地工控机上的)&#xff0c;我研…

python爬取旅游攻略(1)

参考网址&#xff1a; https://blog.csdn.net/m0_61981943/article/details/131262987 导入相关库&#xff0c;用get请求方式请求网页方式&#xff1a; import requests import parsel import csv import time import random url fhttps://travel.qunar.com/travelbook/list.…

基于单片机的农业自动灌溉系统

本设计基于单片机的农业自动灌溉系统&#xff0c;以STM32F103C8T6单片机为控制核心&#xff0c;采用电容式土壤传感器来测量土壤湿度&#xff0c;DHT11温湿度检测模块来测量环境温湿度&#xff0c;OLED屏幕来显示实时时间、Wi-Fi连接状态、环境温湿度、土壤湿度情况以及灌溉情况…

安全工程师入侵加密货币交易所获罪

一名高级安全工程师被判犯有对去中心化加密货币交易所的多次攻击罪&#xff0c;在此过程中窃取了超过 1200 万美元的加密货币。 沙克布艾哈迈德&#xff08;Shakeeb Ahmed&#xff09;被判刑&#xff0c;美国检察官达米安威廉姆斯&#xff08;Damian Williams&#xff09;称其…

Istio Gateway发布服务

1. Istio Gateway发布服务 在集群中部署一个 tomcat 应用程序。然后将部署一个 Gateway 资源和一个与 Gateway 绑定的 VirtualService&#xff0c;以便在外部 IP 地址上公开该应用程序。 1.1 部署 Gateway 资源 vim ingressgateway.yaml --- apiVersion: networking.istio.…

Linux云计算 |【第五阶段】CLOUD-DAY9

主要内容&#xff1a; Metrics资源利用率监控、存储卷管理&#xff08;临时卷ConfitMap、EmptyDir、持久卷HostPath、NFS(PV/PVC)&#xff09; 一、Metrics介绍 metrics是一个监控系统资源使用的插件&#xff0c;可以监控Node节点上的CPU、内存的使用率&#xff0c;或Pod对资…

Java 异常处理的最佳实践

在 Java 开发中&#xff0c;异常处理是一个非常重要的环节。良好的异常处理实践可以提高代码的健壮性、可读性和可维护性。本文将介绍 20 个异常处理的最佳实践&#xff0c;帮助你在实际开发中避免常见的陷阱。 1. 尽量不要捕获 RuntimeException 阿里出品的 Java 开发手册上…

系统上云-流量分析和链路分析

优质博文&#xff1a;IT-BLOG-CN 一、流量分析 【1】流量组成&#xff1a; 按协议划分&#xff0c;流量链路可分为HTTP、SOTP、QUIC三类。 HTTPSOTPQUIC场景所有HTTP请求&#xff0c;无固定场景国内外APP等海外APP端链路选择DNS/CDN(当前特指Akamai)APP端保底IP列表/动态IP下…

Linux网络编程之UDP编程

UDP编程效率高&#xff0c;不需要差错校验&#xff0c;在视频点播场景应用高 基于UDP协议客户端和服务端的编程模型&#xff0c;和TCP模型有点类似&#xff0c;有些发送接收函数不同,TCP是之间调用I/O函数read0或write()进行读写操作&#xff0c;而UDP是用sendto()和readfrom(…

【C++动态规划 01背包】2787. 将一个数字表示成幂的和的方案数|1817

本文涉及知识点 C动态规划 C背包问题 LeetCode2787. 将一个数字表示成幂的和的方案数 给你两个 正 整数 n 和 x 。 请你返回将 n 表示成一些 互不相同 正整数的 x 次幂之和的方案数。换句话说&#xff0c;你需要返回互不相同整数 [n1, n2, …, nk] 的集合数目&#xff0c;满…