【知识】浅谈度量学习/表示学习

Dymay
Dymay
发布于 2024-04-17 / 32 阅读
0
0

【知识】浅谈度量学习/表示学习

表示学习Representation Learning),也叫表征学习。表示学习的目的是对复杂的原始数据化繁为简,把原始数据的无效的或者冗余的信息剔除,把有效信息进行提炼,形成特征(feature),使下游任务受益。特征提取可以人为地手工处理(这一般就叫特征工程),也可以借助特定的算法自动提取。

度量学习(Metric Learning),也叫相似度学习。其目的即使不同类别的特征相似度小而相同类别的特征相似度大(maximize the inter-class variations and minimize the intra-class variations)

具体分析可参考:Representation learning vs Deep Metric Learning

简而言之两者的重合部分其实比较多,个人理解 deep metric learning 本质上是通过神经网络提取特征(当然也是有传统的 distance metric learning,就是单纯地用欧氏距离、马氏距离等等距离度量来衡量相似性),然后在 loss 上做设计,通过对特征定义了网络提取什么样的特征是“好”的特征(类内紧缩类间分离),最后用这个特征做下游任务,中间的环节其实就是一种表示学习,但不是只有深度学习涉及到表示学习,定义上来说你不用神经网络提特征完全可以(传统 ML 的 PCA、LDA 等等),表示学习出现也早很多至于对比学习(Contrastive Learning)我认为是进行度量学习的一种方法,这里感觉没必要引入有无监督的问题徒增困惑,无论是度量学习的范围内还是其中的对比学习范围内,有/无监督的方法都存在。

那么抛开上面恼人的分类学,下面就主要梳理一下如何进行最为关键的度量学习吧。

metric learning的方法有两大分支:pair-based 和 proxy-based.pair-based是基于真实的样本对,比如contrastive loss, triplet loss, N-pair loss和MS loss等,而proxy-based是利用proxy去表示类别的特征,或者样本特征,比如说softmax, Proxy-NCA等.proxy是一个非常宽泛的概念,在softmax中,它是fc层的列;在memory的方法中,它是存储在memory中的特征。

来自:深度度量学习 - 王珣的文章


评论