近年来随着模型越来越深,标注数据越来越难增加,人脸识别可能遇到瓶颈。本文提出一种有监督的Metric用于人脸聚类,来部分解决无标注数据内部结构复杂、依赖特定Metric、缺乏Outlier控制,以及时间复杂度等问题。本文来自MMLab香港中文大学-商汤科技联合实验室。
人脸识别也许是最成功也最先到达瓶颈的深度学习应用。在Go Deeper, MoreData,Higher Performance的思想指导下,模型更深了,数据却越来越难增加。目前在人脸的公开数据集标到了百万级别,人脸识别百万里挑一的正确率达到99.9%(MegaFace Benchmark)之后,发现再也标不动了。标注员能标出来的数据永远是简单样本,而人脸识别模型是个“深渊”,当你凝视“深渊”的时候,“深渊”并不想看到你。
“深渊”想看到这样的数据,并且明确被告知不是同一个人:
以及这样的数据,并且明确被告知是同一个人:
在把标注员弄疯之前,不如先让模型自己去猜一猜,说不定就猜对了呢?这其实就是半监督学习的思路。利用已有的模型对无标签数据做某种预测,将预测结果用来帮助模型训练。这种自我增强(Self-Enhanced)的学习方式,虽然看起来有漂移(Drift)的风险,但实际用起来还挺好用 [5]。对于闭集(Close-Set)的问题,也就是所有数据都属于一个已知的类别集合(例如ImageNet, CIFAR等),只需要模型能通过各种方法,例如标签传播(labelPropagation)等,预测出无标签数据的标签,再把它们加入训练即可。
然而问题来了,人脸识别是一个开集(Open-Set)的问题。
例如,人脸比对(Verification)、人脸鉴定(Identification)等任务中,测试样本的身份(Identity)通常没有在训练样本中出现过,测试过程通常是提取人脸特征进行比对,而非直接通过网络推理得到标签。同样,对于无标注数据,在采集的过程中,人脸的身份也是未知的。可能有标注的数据的人脸属于10万个人,而新来的无标注数据属于另外10万个人,这样一来就无法通过预测标签的方式把这些数据利用起来。而聚类不同于半监督学习,只需要知道样本的特征描述(Feature)和样本之间的相似度度量标准(Metric)就可以做聚类。聚完类之后再给每个类分配新的标签,同样可以用来帮助提升人脸模型。