“迁移学习的不合理有效性”
Unreasonable effectiveness of transfer learning
使用Keras功能性API进行多输出预测的基本指南

训练复杂的深度学习神经网络需要显著的计算效率、大量的数据语料库以及更好的特征学习架构,以实现最先进的结果。但是对于初创公司、研究人员和学生,这些要求只有在某些情况下才能满足。随着深度学习的最新进展,许多预训练模型现在已经开源。
一些流行的基于卷积神经网络的预训练模型包括VGG16/19、ResNet、MobileNet、EfficientNet、ResNeXt等等。这些预训练模型的权重和架构可以调整以用于各种用例。
VGG16网络是一个常用的预训练模型,用于通过图像进行多类别预测(1000类中的1类输出)。
在本文中,我们将使用迁移学习来开发一个使用Keras功能性API进行多个预测或多输出预测的用例。
问题陈述:
任务是开发一个模型,给定一个人的面部图像,可以预测年龄、性别和种族(多输出预测)。

我们需要利用迁移学习和使用VGG-16预训练网络来建模上述架构并进行多输出预测。不幸的是,VGG网络设计用于进行多类别预测(1000个类别之一),而不是多输出预测。
解决方案:
现在的任务是使用Keras功能性API调整和更新VGG-16架构,以进行多输出预测。
数据集:
我将使用Kaggle上的数据集(在CC0许可下开源)
,其中包含23k+个带有对应年龄、性别和种族的标注面部图像。