FD-Align论文阅读

news2024/11/16 15:50:25

FD-Align: Feature Discrimination Alignment for Fine-tuning Pre-Trained Models in Few-Shot Learning(NeurIPS 2023)

主要工作是针对微调的和之前的prompt tuining,adapter系列对比

Motivation:

通过模型对虚假关联性的鲁棒性来解释全微调的CLIP的out-of-distribution(OOD)性能变差的原因。虚假关联性的鲁棒性指的是模型是否具有区分出样本中和类别相关信息(因果信息)以及(背景、风格等)类别无关信息(虚假信息)的能力。
先前的工作发现,OPENAI 的CLIP对虚假关联性有很好的鲁棒性,因此有很好的OOD性能。然而,全微调的CLIP的OOD性能会下降。对CLIP和全微调后的CLIP的attention map可视化后发现:全微调的CLIP更关注于物体的局部特征,这种对局部信息的注意力使得模型对虚假关联性的鲁棒性变差[3]。
在这里插入图片描述

也就是说,对CLIP进行全微调时,虽然模型更好得学习到了微调样本的因果特征,但是模型对虚假特征的识别能力也变差,导致模型学习到的因果特征不能很好的泛化到未见过样本从而出现过拟合,影响OOD数据上的泛化性。因此,本文提出了一种不影响模型对虚假特征识别能力的微调方法来保证微调后的模型对虚假关联性的鲁棒性。

因果特征:代表和类别相关的特征
虚假特征:和类别上下文相关的特征

贡献

提出了虚假特征约束(Spurious Feature Constraint),用于微调CLIP,通过约束模型在微调前后提取的图像特征的概率分布,确保了模型提取的虚假特征的一致性

模型

在这里插入图片描述

Spurious Feature Constraint

首先计算每个提示模板Pj的特征在所有类上的平均值作为提示模板Pj的虚假原型
在这里插入图片描述
计算微调模型后提取的特征与虚假原型之间的相似度,生成虚假特征的分布如下
在这里插入图片描述
预训练的视觉编码器 f0(微调前的) 来提取特征并产生虚假特征的分布,如下所示
在这里插入图片描述
loss:KL散度保持模型虚假特征上的概率分布在微调前后一致

在这里插入图片描述
总LOSS:
在这里插入图片描述

Spurious Prototype Correction

目前的提示模板大多是人工设计或者语言模型生成,难免会出现不合理或者冗余的情况,从而导致虚假信息原型不准确。 为此,首先使用异常值检测算法来删除不合理的提示特征
在这里插入图片描述
随后,使用k-Means合并其中的冗余特征
在这里插入图片描述

部分实验

在这里插入图片描述

ref

https://zhuanlan.zhihu.com/p/663423245

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

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

相关文章

联想小新Pro14默认设置的问题

联想小新Pro14 锐龙版,Win11真的挺多不习惯的,默认配置都不符合一般使用习惯。 1、默认人走过自动开机。人机互动太强了; 2、默认短超时息屏但不锁屏,这体验很容易觉得卡机然后唤起,却又不用密码打开; 3…

(头哥)多表查询与子查询

目录 第1关:查询每个学生的选修的课程信息 第2关:查询选修了“数据结构”课程的学生名单 第3关:查询“数据结构”课程的学生成绩单 第4关:查询每门课程的选课人数 第5关:查询没有选课的学生信息 第6关&#xff1a…

Linux下C++调用python脚本实现LDAP协议通过TNLM认证连接到AD服务器

1.前言 首先要实现这个功能,必须先搞懂如何通过C调用python脚本文件最为关键,因为两者的环境不同。本质上是在 c 中启动了一个 python 解释器,由解释器对 python 相关的代码进行执行,执行完毕后释放资源。 2 模块功能 2.1python…

设计模式1

![在这里插入图片描述](https://img-blog.csdnimg.cn/c9fbecf1ae89436095885722380ea460.png)一、设计模式分类: 1、创建型模式:创建与使用分离,单例、原型、工厂、抽象、建造者。 2、结构型模式:用于描述如何将对象按某种更大的…

01-Spring中的工厂模式

工厂模式 工厂模式的三种形态: 工厂模式是解决对象创建问题的属于创建型设计模式,Spring框架底层使用了大量的工厂模式 第一种:简单工厂模式是工厂方法模式的一种特殊实现,简单工厂模式又叫静态工厂方法模式不属于23种设计模式之一第二种:工厂方法模式…

Leetcode—234.回文链表【简单】

2023每日刷题(二十七) Leetcode—234.回文链表 直接法实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ bool isPalindrome(struct ListNode* head) {if(head NULL) {return t…

【mysql】CommunicationsException: Communications link failure

CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 通信异常:通信链路故障 最后一个成功发送到服务器的数据包是0毫秒前…

华为ensp:ospf末梢stub完全末梢totally Stub

现在宣告都宣告完了,现在要给area1做完全末梢 末梢区域 进入r2系统视图模式 ospf 1area 1 stub quit进入r1系统视图 ospf 1 area 1 stub quit 现在去r1上查看 末梢成功 完全末梢 进入r2系统视图 ospf 1 area 1stub no-summary 现在就成为完全末梢了&…

YOLOv8-Seg改进: 分割小目标系列篇 | 小目标分割到大目标分割一网打尽的GFPN

🚀🚀🚀本文改进:一种新的路径融合GFPN,包含跳层与跨尺度连接,助力YOLOv8-seg Neck,实现创新 🚀🚀🚀GFPN在不同分割场景均有涨点的表现,尤其适合存在不同大小分割尺寸的场景 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,…

计算机毕业设计选题推荐-校园交流平台微信小程序/安卓APP-项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

1204. 错误票据

题目: 1204. 错误票据 - AcWing题库 思路: 将输入的数据存入数组,从小到大排序后遍历,若 (a[i] a[i - 1])res1 a[i]--->重号;若(a[i] - a[i - 1] > 2)res2 a[i] - 1--->断号。 难点:题目只告诉我们输入…

【Linux】:静动态库

静动态库 一.静态库1.设计静态库2.生成静态库3.发布静态库4.使用静态库 二.动态库1.设计动态库2.生成和发布动态库3.使用 一.静态库 程序在编译链接的时候把库的代码链接到可执行文件中。程序运行的时候将不再需要静态库。 静态库链接格式:libxxx.a(前缀是lib,后缀是…

【数字图像处理】RGB 转灰度图

常见的数字图像格式有 RGB, RGBA, YCbCr 等,RGB/RGBA 格式适合存储,而 YCbCr 格式适合图像处理。在数字图像处理中,通常需要将 RGB 格式的图像变换为灰度图,再进行后续的处理,例如边缘检测、锐化等。本文主要介绍数字图…

数据结构 树和二叉树

敬请期待 1. 术语详解 树: 二叉树: 森林: 完全二叉树: 满二叉树: 二叉排序树: 二叉搜索树: 哈夫曼树:分为左小右大和左先右后两种构造方法。 平衡二叉树: 线索…

【Bug】当用opencv库的imread()函数读取图像,用matplotlib库的plt.imshow()函数显示图像时,图像色彩出现偏差问题的解决方法

一,问题描述 我们在利用opencv的imread读取本地图像,进行一系列处理,但是发现用matplotlib库的imshow()函数显示的时候出现色彩改变,比如图像偏黄,偏红,偏蓝等等,但是对…

黑马程序员微服务Docker实用篇

Docker实用篇 0.学习目标 1.初识Docker 1.1.什么是Docker 微服务虽然具备各种各样的优势,但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中,依赖的组件非常多,不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署…

消息队列之初识Rabbit及安装

文章目录 一、MQ的相关概念1.什么是MQ?2.为什么要用MQ2.1流量消峰2.2应用解耦2.3异步处理 3.MQ 的分类3.1.ActiveMQ3.2.Kafka3.3.RocketMQ3.4.RabbitMQ 4.MQ 的选择4.1.Kafka4.2.RocketMQ4.3.RabbitMQ 二、RabbitMQ的相关概念1.四大核心概念2.RabbitMQ 核心部分3.Ra…

面向萌新的技术博客入门指南

Python之禅 在Python的解释器中隐藏一个彩蛋,输入import this就会返回19条Python之禅,具体如下: import this The Zen of Python, by Tim Peters Python之禅 ,by Tim Peters Beautiful is better than ugly. 优美好于丑陋&…

JS算法练习 11.12

leetcode 2622 有时间限制的缓存 看这道题之前,先复习一下Map类的用法(和array.map()区分开) //创建一个Map对象 const map new Map();//set()方法添加键值对 map.set(key, value); map.set(key, {value1, value2})//get()获取键对应的值 …

【 第九章】软件设计师 之 多媒体基础

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 备考资料导航 软考好处:软考的…