度量学习(Metric Learning),也称距离度量学习(Distance Metric Learning,DML) 属于机器学习的一种。其本质就是相似度的学习,也可以认为距离学习。因为在一定条件下,相似度和距离可以相互转换。比如在空间坐标的两条向量,既可以用余弦相似度的大小,也可以使用欧式距离的远近来衡量相似程度。
常见的人脸识别与声纹识别都属于度量学习。
一般的度量学习包含以下步骤:
通过使用大量数据集进行网络模型训练。使编码模型可以实现对原始数据提取特征向量的功能。
基于深度学习的度量学习算法中,可以分为两个流派:
本文主要讲整体开发流程,具体细节请自行查阅。
通过对编码模型训练,得到了具备提取特征的encoder模型,让原始数据通过encoder模型就可以对应特征向量:
X = Encoder(row)
下面就是利用这个encoder模型,作为特征提取器,进行相似度判别。
在第一步(1.编码模型训练)完成后,获得了具备特征提取的编码模型,就可以利用此encoder网络进行验证系统开发。
首先要对在第一步得到的编码模型进行性能测试。步骤如下:
通过上述步骤就可以获得模型的识别性能和应用阈值。
如若想提高阈值的泛化能力,可以采用测试与验证的方法计算阈值: