ACMR算法笔记总结
ACMR:Adversarial Cross-Modal Retrivieval
(当然本文参照了几个大神之前写的笔记,借助了某些内容,自己融合了一下,然后再结合自己的理解写得,若有侵权,务必私聊删文,感谢配合)
该论文基于对抗学习机制在不同模态之间互相作用获得一个有效的共享子空间,提出了一种新颖对抗性的跨模态检索(ACMR)方法,用于跨模态检索任务。
核心思想:
第一次结合了跨模态检索和对抗学习的监督表示学习,特征生成器和模态分类器两个过程间的相互作用。
对抗学习机制(极大-极小对抗机制):
1.特征生成器,用来生成适应不同模态的特征表达,来迷惑模态分类器最终让MC不能区分输入的是图像还是文本;
2. 模态分类器,区分目标的模态,也就是区分输入的是图像还是文本。
ACMR模型图:
模态分类器和特征生成器的关系
生成器开始把投影到公共空间的特征送入判别器中,让判别器区分输入的是文本还是图像,若模态分类器loss的值很大,就反馈给特征生成器,在这种不断的对抗学习中,对同一语义的图片和文本描述,将会在特征空间中逐步靠近。当模态分类器无法再区分出输入的是文本还是图像即模态分类器loss值很小的时候,特征生成器在同一个空间学习到特征表达。
模态分类器(充当判别器)
模态分类器的任务是通过区分公共子空间中的样本来自哪个模态,来提升特征映射器的表征学习能力
根据投影到公共空间的特征,来输出数据属于图像或文本的概率,要最终使模态分类器最终无法区分输入是图像还是文本,就是要使loss越小越好,这里使用的是softmax函数
特征映射器(特征生成器)
标签预测
标签预测目的是保证样本语义标签在样本被映射到公共子空间时不发生改变。
根据投影到公共空间的特征来输出数据属于某一类的概率,从而进行语义标签(分类)的区分
标签预测过程使得在给定语义标签的情况下,公共子空间中每个模态的投影特征表示是有区别的。
结构保持
结构保持目的是:为了保证模态间的不变性,我们的目标是最小化来自不同模态的所有语义相似项的表示之间的间隙,同时最大化相同模态的语义不同项之间的距离。
(3)表示:计算每个耦合项对f的距离,并使用2范数进行分类,并从不匹配的图像文本中选择负样本(具有不同语义标签)的对,构建三元组集。
通过这种抽样方式,可以确保非空的三联体样本独立于原始数据集被组织成小批量。
计算图像和文本模态之间的不变性损失(将前面所提的三元组作为输入):
模态间的损失函数为(4)(5)式的和,
但为了防止过拟合,引入正则化项:
其中F是表示F范数,W表示DNN的表示层参数。
特征映射器中的损失函数(嵌入损失)
是模态内区分损失和模态间不变性损失与正则化的组合:
α和β是超参数
对抗学习:优化
学习目标是使得adversarial loss 和 embedding loss 最小,将两者结合起来,使用 minimax game 来优化如下两个公式
这种极大极小博弈可以使用随机梯度下降优化算法来实现。
算法流程:
评估函数
对所有结果的评估根据平均精度(MAP)进行试验。是关于跨模式检索研究中的经典性能评估标准,
这里以维基百科数据集为例得出以下结果(其他具体的论文中有呈现):