文章名称
【CIKM-2021】【ShenzhenUniversity/Tencent】Deep Self-Adaptive Hashing for Image Retrieval
核心要点
文章旨在解决现有深度无监督散列方法中预先计算的相似度矩阵不可改变,不能在哈希学习过程中进一步探索底层语义,以及容易受到低信息量的成对关系干扰的问题。作者提出了一种深度自适应哈希(DSAH),包括适应邻居发现(AND)和成对信息内容(PIC)两部分。首先,利用AND建立相似度矩阵的临近关系,并随着哈希的学习动态调整。同时,利用PIC计算数据成对关系的权重,从高信息量的成对关系中高效的学习信息。
上一节介绍了作者研究的问题背景,即如何高效的学习哈希函数来解决检索问题,并列举了现有方法存在的可提升点。同时,介绍了作者提出的DSAH方法的整体框架,以及哈希学习函数的结构。本节继续介绍AND、PIC和学习目标。
方法细节
问题引入
如前所述。作者提出了一种深度自适应哈希(DSAH)模型,通过2个模块自适应地捕获语义信息,
- 自适应邻居发现(AND)。目的是解决预先计算相似度矩阵是固定的问题,采用自适应邻居发现(AND)方法,在训练过程中逐渐挖掘微调特征之后的各种邻居关系,并不断更新初始相似度矩阵,实现在哈希学习的过程中利用底层语义,不断更新相似度矩阵。
- 成对信息内容(PIC)。 为了排除信息量低的成对关系的干扰,高效的学习成对关系的信息。作者引入一个自适应的成对权重调节方法(PIC)来区分数据对的重要性,使得具有更多信息的数据对拥有更大的权重,更多的影响模型学习的过程。PIC基于的假设是,不相似的数据对可能包含更多可以判别图片相似度的信息,对模型训练有用。
DSAH的整体框架如下图所示。
具体做法
Adaptive Neighbor Discovery
Adaptive Neighbor Discovery,AND,包括2个步骤,
初始化。现有工作表明,可以通过精心设计相似度矩阵来捕获丰富的语义结构[38, 43, 49, 52]。可见提升相似度对语义的捕获能力,极大的影响了哈希模型的效果。AND首先基于KNN初始相似度矩阵,其构造过程又可以分为2个层级,
- 提取预训练VGG-199模型的relu-7层输出作为特征向量,为每个图像选择个具有最高余弦相似度的图像作为它的邻居,并构造低阶相似度矩阵。其中每个元素的计算方式如下图所示。
- 同时,作者认为如果两张图片的邻居高度重合,那么这两张图片也应该非常相似。 因此,来计算重合度。其中,分别表示两个图像的低阶相似度矩阵的行(也就是他们的邻居都有是谁)。进一步构造高阶相似度矩阵。其中每个元素的计算方式如下图所示。
- 融合高、低阶相似度。为了充分利用这2个相似度矩阵,作者通过融合和来得到初始相似度矩阵,这个矩阵即考虑了两个相似图像在特征空间上的相似程度,也考虑了两个图片共享的相似邻居。
更新。上述方法构造的相似度矩阵是基于预训练特征的,其中可能包含噪声数据。理想情况下,希望相似度与微调特征保持一致(也就是相似度矩阵随着特征的更新一起变化)。因此,需要合理的更新机制。
假设第轮更新中的相似矩阵 (作为更新迭代周期的初始化矩阵),作者首先用它来更新模型参数,更新过程利用了如下图所示的公式。
其中,是构建的相关性矩阵。是哈希模型计算的相关性得分,是一节提到的模型最终的输出(利用得到的,其实就是把相似度矩阵当做label,做MSE)。
随后,利用新的模型(更新参数之后的)计算新的相似度得分。并利用如下图所示的公式,计算相似度更新的阈值。
其中,分别表示如下,是更新后相似度得分矩阵的均值和方差(注意是模型得到的,不是那个),是超参数。同时,是示性函数,表示我们只计算在相似度矩阵中被认为相似的(当前label是相似的)图像间的相似度得分。表示当前被认为相似的图像的总数量。
最终,利用如下图所示的方法进行相似度矩阵(也就是伪标签矩阵的更新),这里之前迭代被认为是相似的图像对,永远不会被认为不相似。
**作者提到之所以这么设计,是因为高于平均相似度分数一定程度的图像对,可以被视为下一个时期的候选相似图像对对,这个一定程度,用方差来控制。更大的要求这个程度足够大,较小的则更宽松一些。作者关注相似对而不是不相似对的原因是,基于邻域的初始化相似度矩阵,仅包含少数相似对。在大量不同的对中仍然有很多信息(例如邻居信息)值得挖掘。随着模型容量的增加,这些信息能够更好地帮助区分图像对。 AND 能够以渐进的机制根据学习的表示自适应地调整相似度矩阵。
本节介绍了AND的两个步骤从初始化和更新,以及如果构造相似度。下一节继续介绍PIC和学习目标。
心得体会
相似度阈值
这里有两个点注意,
- 计算是只发生在当前被认为相似的图像对之上的,也就还是利用了的信息来指导了迭代(作者之前也提到过)。不然,可能不会收敛。
- 更新的时候,只会把之前迭代中不相似的变为相似,而不会修改之前的认为是相似的。这样也可以帮助收敛。但是个人认为,这里其实没有办法对初始化做纠错,实际上仍然会引入初始特征的噪声(虽然作者提到初始化的可能只包含了很少的相似图像对),初始化的好坏很大程度上决定了结果的好坏。但是也许没有办法,必须要防止发散。一个可能的方向是引入置信度等类似深度聚类的提纯的思路,来帮助过滤初始化引入的噪声?
文章引用
[38] JingkuanSong,TaoHe,LianliGao,XingXu,AlanHanjalic,andHengTaoShen. 2018. Binary generative adversarial networks for image retrieval. In Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 32.
[43] Rong-Cheng Tu, Xian-Ling Mao, and Wei Wei. 2020. MLS3RDUH: Deep Un- supervised Hashing via Manifold based Local Semantic Similarity Structure Reconstructing. In Proceedings of the Twenty-Ninth International Joint Conference on Artificial Intelligence. 3466–3472.
[49] Erkun Yang, Cheng Deng, Tongliang Liu, Wei Liu, and Dacheng Tao. 2018. Se- mantic structure-based unsupervised deep hashing. In Proceedings of the 27th International Joint Conference on Artificial Intelligence. 1064–1070.
[52] Wanqian Zhang, Dayan Wu, Yu Zhou, Bo Li, Weiping Wang, and Dan Meng. 2020. Deep Unsupervised Hybrid-similarity Hadamard Hashing. In Proceedings of the 28th ACM International Conference on Multimedia. 3274–3282.