一篇关于人脸识别迁移学习的文章
IIT出品,文章地址:Arxiv
摘要
Do we know what the different filters of a face network represent? Can we use this filter information to train other tasks without transfer learning? For instance, can age, head pose, emotion and other face related tasks be learned from face recognition network without transfer learning? Understanding the role of these filters allows us to transfer knowledge across tasks and take advantage of large data sets in related tasks. Given a pre-trained network, we can infer which tasks the network generalizes for and the best way to transfer the information to a new task.
We demonstrate a computationally inexpensive algorithm to reuse the filters of a face network for a task it was not trained for. Our analysis proves these attributes can be extracted with an accuracy comparable to what is obtained with transfer learning, but 10 times faster. We show that the information about other tasks is present in relatively small number of filters. We use these insights to do task specific pruning of a pretrained network. Our method gives significant compression ratios with reduction in size of 95% and computational reduction of 60%
作者做了一个非常有意思的研究,对CNN最后一层的各个filter所表示的特征进行了分类研究,想要挖掘filter表现特征的物理意义。以VGGFace为例,对最后一层的512个filter所表示的特征进行分类研究
结果如上图所示,其中和age、Head pose、Eyeglass、Facial Hair有关的filter数量如图所示,并且有一些filter是共用的。
那么在从vggface迁移到age predict任务的时候,只要用到114个和age相关的filer就能取得效果,减少了网络复杂度和参数量。
main contribution
- We introduce a simple method to analyze the internal representation of a pretrained face network and how information about other related tasks it was not trained for, is encoded in this network.
- We present a computationally inexpensive method to transfer the information to other tasks without explicit transfer learning.
- We show that information about other tasks is concentrated in very few filters. This knowledge can be leveraged to achieve cross-task pruning of pre-trained networks, which provides significant reduction of space and computational complexity.
文章结构分类两部分,先研究不同task之间是否存在联系;然后研究如何获取这种联系。
Learning Relationships between Face Tasks
先证明了从一个task迁移到另一个task是可行的
We hypothesize that, unlike contemporary transfer learning methodologies (that finetune the weights or input these activation maps through further layers of a different network), a simple linear regression model is sufficient to obtain the predicted label of the satellite task, f t f_t ft.
作者任务,和传统的迁移学习需要改变layer里的权重不同,face task之间的迁移只要简单的线性回归就能完成。
本文提出的linear regression的方法和传统的用迁移学习方法对比,识别精度差不多,但是计算快了78倍。
Pruning across Face Tasks
Our pruning algorithm has two steps:
- Remove top layers of the network which give less performance
- For each layer, retain only filters that have information about task T.
本文选择了一种feature selection方法:LASSO,a L1-regularized regression method来确定每个layer里有效的filters数量。