在学习与定制AI模型的过程中,开发者会面对各种各样的概念,在深度学习领域,有一个名词正在被越来越频繁地得到关注:迁移学习。它相比效果表现好的监督学习来说,可以减去大量的枯燥标注过程,简单来说就是在大数据集训练的预训练模型上进行小数据集的迁移,以获得对新数据较好的识别效果,因其能够大量节约新模型开发的成本,在实际应用中被更广泛地关注。EasyDL专业版在最新上线的版本中,就引入了百度超大规模视觉预训练模型,结合迁移学习工具,帮助开发者使用少量数据,快速定制高精度AI模型。
在训练一个深度学习模型时,通常需要大量的数据,但数据的采集、标注等数据准备过程会耗费大量的人力、金钱和时间成本。为解决此问题,我们可以使用预训练模型。以预训练模型A作为起点,在此基础上进行重新调优,利用预训练模型及它学习的知识来提高其执行另一项任务B的能力,简单来说就是在大数据集训练的预训练模型上进行小数据集的迁移,以获得对新数据较好的识别效果,这就是迁移学习(Transfer Learning)。迁移学习作为一种机器学习方法,广泛应用于各类深度学习任务中。在具体实现迁移学习时,有多种深度网络迁移方法,其中的Fine-tune(微调)是最简单的一种深度网络迁移方法,它主要是将已训练好的模型参数迁移到新的模型来帮助新模型训练。
在实际应用中,针对一个任务,我们通常不会从头开始训练一个模型,因为这非常耗时耗力,不仅需要大量的计算资源、丰富的经验去保证模型的效果,还需要ImageNet量级(千万级)的数据集保证模型的泛化性,需要支付高昂的成本。因此,一般我们会选择在公开的大数据集上训练收敛、且效果较好的模型,作为预训练权重,在此基础上使用业务数据对模型进行Fine-tune。在Fine-tune时,默认源域(预训练模型)、目标域数据集(用户业务数据集)需要具有较强相关性,即数据同分布,这样我们能利用预训练模型的大量知识储备,快速高效地训练出针对特定业务场景并具有优秀效果的模型。
但在应用预训练模型到实际场景时,很多用户会面临数据集与源数据集分布不同的问题。比如,预训练模型的数据都是自然风景,但用户的数据集都是动漫人物。类似这种源数据集和目标数据差别较大的问题,在具体应用中较易导致负向迁移,具体表现为训练收敛慢,模型效果差等。
因此,一个包含各类场景、覆盖用户各类需求的超大规模数据集就十分重要,通过这个包罗万象的超大规模数据集训练所得的模型,才能够更好地适应来自各行各业用户的需求,更好地Fine-tune用户的业务数据集,帮助用户在自己的数据集上得到效果更好的模型。
百度超大规模预训练模型便在此背景下产生,覆盖自然语言处理和视觉两大方向。在自然语言处理方向,百度自研了业界效果最好的预训练模型ERNIE,开创性地将大数据预训练与多源丰富知识相结合,持续学习海量数据中的知识,将机器语义理解水平提升到一个新的高度。ERNIE在中英文的16个任务上已经超越了业界最好模型,全面适用于各类NLP应用场景。目前,EasyDL专业版已预置了领先的预训练模型ERNIE2.0,并配套了多种NLP经典算法网络,支持了文本分类、短文本匹配和序列标注等典型文本处理任务。
视觉方向,百度自研超大规模视觉预训练模型覆盖图像分类与物体检测两个方向。图像分类的预训练模型,用海量互联网数据,包括10万+的物体类别,6500万的超大规模图像数量,进行大规模训练所得,适应于各类图像分类场景;物体检测的预训练模型,用800+的类别,170万张图片以及1000万+物体框的数据集,进行大规模训练所得,适应于各类物体检测应用场景。相对于普通使用公开数据集训练的预训练模型,在各类数据集上都有不同程度效果提升,模型效果和泛化性都有显著提升。
(以下实验数据集均来自不同行业)
图像分类
在图像分类模型中,使用百度超大规模预训练模型的Resnet50_vd相比普通模型在各类数据集模型效果上平均提升12.76%,使用百度超大规模预训练模型的Resnet101_vd,相比于普通预训练模型,平均提升13.03%,使用百度超大规模预训练模型的MobilenetV3_large_1x,相比于普通预训练模型,平均提升8.04%。
并且,在图像分类方向,还新增了11个模型,包括:
- EffcientNetB0_small
- EfficientNetB4
- MobileNetV3_large_x1_0
- ResNet18_vd
- ResNeXt101_32x16d_wsl
- Res2Net101_vd_26w_4s
- SE_ResNet18_vd
- Xception71
- ResNet50_vd
- ResNet101_vd
- MobileNetV3_large_x1_0