ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MULTIMODAL GENERALIZED CATEGORY DISCOVERY

MULTIMODAL GENERALIZED CATEGORY DISCOVERY 1、摘要提出多模态GCD任务理论分析认为核心在于模态对齐所以在特征层和输出空间用对比学习和蒸馏技术进行对齐特征空间用对比学习对齐输出空间用蒸馏技术对齐实验上取得好结果2、引言介绍新类发现任务一部分数据类别已知新输入的数据包含旧类别和新类别不仅要能识别旧的类还要能识别新类在开放世界场景中有重要价值。之前的很多任务只利用单模态数据本文扩展到多模态场景。但也带来了新的挑战即如何利用这些异构的数据如果多模态之间的数据没有很好对齐模型会受到影响。因此提出MM-GCD直接解决GCD中的对齐问题。划分为两个阶段一个是特征空间构建在这里引入对比学习来进行对齐另一个是对特征空间进行类别划分引入蒸馏技术具体而言一个模态产生的预测可以作为另一个模态的学习目标并结合熵最小化来进一步增强不同模态预测之间的一致性。对比学习区分谁应该近谁应该远蒸馏是让两个分支互相模仿——主要读一下用的什么基线怎么对齐和执行后续步骤的感觉做的不是很难。3、相关方法多模态学习拼接等聚合方法对比学习作为对齐方法通常在大规模数据集上进行过预训练新类发现任务旨在从无标签数据中识别并划分此前从未见过的新类别无标签里全是新类把他们聚合起来广义类别发现无标签数据里有旧类也有新类4、理论分析最开始直接拼接用CLIP提取的两个模态的特征比单模态效果还要差认为是模态的信息没有对齐导致的干扰拉低性能所以从数据分布角度进行理论推到分析模态对齐对任务的影响。对于一个多模态数据集 (X,Y)这里 X 和 Y 分别表示来自两个不同模态的特征随机变量。Xk​,Yk​分别表示第 k 个类别在两个模态中的特征随机变量。假设每个类别的特征数据服从高斯分布Xk​∼N(μXk​​,SXk​​) Yk​∼N(μYk​​,SYk​​) 拼接之后的分布是Fk​∼N(μFk​​,SFk​​) 所以μFk是μXk​​和μYk​​拼接的向量因为这里是一个簇的样本的特征所以均值是向量融合后的均值是拼接后的向量协方差矩阵为SXk​Yk​​是交叉协方差可以理解为第 k类中图像特征变化的时候文本特征是不是也以某种对应方式发生变化如果毫无关系会比较弱相当于把模态对齐转化为了跨模态相关性定义SXk​Yk​​SXk​1/2 ​ Rk​ SYk​1/2​. Rk是一个对角矩阵模态相关时ρ趋于1用协方差矩阵的行列式衡量类别是否紧凑协方差越小说明类别越紧凑也就更容易被算法识别那么对齐为什么会让联合分布更紧凑其实后两项由数据分布的性质决定的只有R越大LF才越小R越大就是ρ要越大。对齐越好拼接之后的协方差矩阵行列式更小类别内部分布的紧凑度会更高也就更容易区分5、本文方法基于理论分析审视了单模态GCD场景中损失函数的设计在原有单模态的基础上加上跨模态对齐的学习目标。5.1 发现一个新类别需要什么条件第一步需要一个能够区分不同类别的嵌入空间第二步需要对这个空间进行有效划分并且划分后要包含新类别其实对应的是表征学习和参数化分类这两个点倒是挺对的严肃学习本文方法就是在这两个步骤里都加入跨模态对齐的信息也就是前面说的在表征学习里加入对比学习在划分的输出空间里互相蒸馏。5.2 表示空间构造定义三种正样本对,hi是特征空间zi是用于做对比学习的映射空间第一种同一个样本的两个视图有一个增强样本感觉这里说的有点奇怪因为这里给的是无监督对比学习的损失函数其实正负样本对都给出了第二种有监督对比学习Ni表示和xi有相同真实标签的样本集合可能因为有增强视图所以这里的正样本也是同类其他样本的增强样本j应该也属于Bl——本来我质疑没写r不等于i那就退化到第一类了但是想了想第一类是无监督所有样本都做第二类是有监督只针对有标签的样本其实是造成了一些不必要的第三种跨模态对比学习认为同一个样本中不同模态的表示层是正样本对可以理解为前两个损失是模态内的样本级别一致性学习类别结构第三个才是做对齐。三种对比损失结合在一起形成嵌入表示层的约束。5.3 划分嵌入空间借鉴simGCD使用参数化分类器先构建所有类别的可学习类别中心然后让每个样本计算属于每个类别中心的概率分类部分也设计了三个层次的loss第一类所有样本的自蒸馏损失用增强样本得到一个更尖锐的算标签qi再用pi去你和qi第二种用有标签数据修正类别中心这里上面应该是s吧supervise这里其实是p去拟合y第三种多模态原型蒸馏这里其实互相蒸馏了因为这个公式只是后者对齐前者实际两个都要蒸馏除此之外不同模态对于未知类别的结果可能不一致比如同一个新类别可能被分到不同的cluster所以在计算损失之前使用 Hungarian algorithm 做 label mapping以寻找最优的类别对应关系但没有ground truth怎么知道cluster之间的对应关系是什么因为一个mini batch有很多成对样本看两个分支的预测结果会构造一个共现矩阵意思是横向模态的的第一类样本落在另一个模态的第三类第二类样本在另一个模态的第一个类别这样匹配上。只是产生一个mapping可是这个如果在初始化阶段匹配错了呢——可能因为不是随机初始化的而是用了预训练的大模型而且只微调最后一个block这个和聚类不太一样的就是预训练的CLIPimage encoder和text encoder作为backbone前面大部分层冻结损失函数作用在最后一个transformer block来参与微调同时 projection head、后面的 prototype classifier / fusion 等可训练部分也一起优化。总之参数会反向传播6、实验7、总结8、我的思考之前对于新类发现任务和多模态任务觉得很复杂但是看完这个确实觉得就那么几步最重要的就是映射到好划分的表示空间再进行划分只是多了一些无标签数据而已只是要解决一些问题来提升性能而已。重点在于为什么现有方法学出来的空间还不好聚后面看GCD的论文就可以看他们主要是作用在哪个地方或者是两者交叉的地方。新类发现的时候不同模态对于新类别的标识可能不一致所以要mapping
返回列表