在深度学习领域,有一个名词正在被越来越地关注:迁移学习。它相比效果表现好的监督学习来说,可以减去大量的枯燥标注过程,简单来说就是在大数据集训练的预训练模型上进行小数据集的迁移,以获得对新数据较好的识别效果,因其能够大量节约新模型开发的成本,在实际应用中被更广泛地关注。EasyDL 专业版在最新上线的版本中,就引入了百度超大规模视觉预训练模型,结合迁移学习工具,帮助开发者使用少量数据,快速定制高精度 AI 模型。
在训练一个深度学习模型时,通常需要大量的数据,但数据的采集、标注等数据准备过程会耗费大量的人力、金钱和时间成本。为解决此问题,我们可以使用预训练模型。以预训练模型 A 作为起点,在此基础上进行重新调优,利用预训练模型及它学习的知识来提高其执行另一项任务 B 的能力,简单来说就是在大数据集训练的预训练模型上进行小数据集的迁移,以获得对新数据较好的识别效果,这就是迁移学习(Transfer Learning)。
迁移学习作为一种机器学习方法,广泛应用于各类深度学习任务中。在具体实现迁移学习时,有多种深度网络迁移方法,其中的 Fine-tune(微调)是最简单的一种深度网络迁移方法,它主要是将已训练好的模型参数迁移到新的模型来帮助新模型训练。
针对一个具体的模型开发任务,我们通常会选择在公开的大数据集上训练收敛、且效果较好的模型,作为预训练权重,在此基础上使用业务数据对模型进行 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,其中比较特殊的几个模型,EffcientNetB0_small 是去掉 SE 模块的 EffcientNetB0,在保证精度变化不大的同时,大幅提升训练和推理速度,ResNeXt101_32x16d_wsl 是基于超大量图片的弱监督预训练模型,准确率高,但预测时间相对增加,Res2Net101_vd_26w_4s 则是在单个残差块内进一步构造了分层的残差类连接,比 ResNet101 准确度更高。
新增的分类模型的推理时间、效果,以及支持的部署方式如下表所示:
注:以上模型均基于 ImageNet1k 分类数据集训练和测试
更多预置模型,参见 EasyDL 官网
https://ai.baidu.com/ai-doc/E...
更多模型效果,参见 PaddleClas
https://paddleclas.readthedoc...
并且,为了进一步提升图像分类模型的模型效果,在训练层面,图像分类新增了 mix_up 和 label_smoothing 功能,可以在单标签分类任务中,根据模型的训练情况选择开启或者关闭。
mix_up 是一种数据增强方式,它从训练样本中随机抽取了两个样本进行简单的随机加权求和,并保存这个权重,同时样本的标签也对应地用相同的权重加权求和,然后预测结果与加权求和之后的标签求损失,通过混合不同样本的特征,能够减少模型对错误标签的记忆力,增强模型的泛化能力。
Label_smoothing 是一种正则化的方法,增加了类间的距离,减少了类内的距离,避免模型对预测结果过于 confident 而导致对真实情况的预测偏移,一定程度上缓解由于 label 不够 soft 导致过拟合的问题。
物体检测
在物体检测模型中,使用百度超大规模预训练模型的 YOLOv3_DarkNet 相比普通模型在各类数据集上平均提升4.53%,使用百度超大规模预训练模型的 Faster_RCNN,相比于普通预训练模型,平均提升1.39%。
并且,在物体检测方向,新增了 Cascade_Rcnn_ResNet50_FPN、YOLOv3_ResNet50vd_DCN、YOLOv3_MobileNetv1 网络,以及基于百度超大规模预训练模型训练出来的 YOLOv3_Darknet、Faster_R-CNN_ResNet50_FPN,其中,Cascade_Rcnn_ResNet50_FPN 通过级联多个检测器以及设置不同 IOU 的重采样机制,使得检测器的精度、和定位的准确度进一步提升。
此外,针对用户的需求,新增两种 YOLOv3 的变种模型,其中,YOLOv3_MobileNetv1 是将原来的 YOLOv3 骨架网络替换为 MobileNetV1,相比 YOLOv3_DarkNet,新模型在 GPU 上的推理速度提升约73%。而 YOLOv3_ResNet50vd_DCN 是将骨架网络更换为 ResNet50-VD,相比原生的 DarkNet53 网络在速度和精度上都有一定的优势,在保证 GPU 推理速度基本不变的情况下,提升了1%的模型效果,同时,因增加了可形变卷积,对不规则物体的检测效果也有一定的正向提升。
各检测模型的效果,以及支持的部署方式如下表所示:
注:以上模型均基于 COCO17 数据集训练和测试
更多预置模型,参见 EasyDL 官网
https://ai.baidu.com/ai-doc/E...
更多模型效果,参见 PaddleDetection
https://github.com/PaddlePadd...
各模型的推理时间如下表所示:
注:以上模型均基于 coco17 训练所得
更多模型速度详情,参见 PaddleDetection
https://github.com/PaddlePadd...
百度超大规模视觉预训练模型对比公开数据集训练的预训练模型,效果提升明显,目前这些模型已经预置在 EasyDL 专业版中正式发布。EasyDL 专业版是面向专业算法工程师群体专门推出的 AI 模型开发与服务平台。支持视觉及自然语言处理两大技术方向,可灵活支持脚本调参及 Notebook 两类开发方式,预置了几十种经典网络和百度海量数据训练的预训练模型,模型效果在业界保持领先,同时支持公有云/私有化/设备端等灵活的部署方案,开发效率高、训练速度快,同时设备端轻量级部署和加速方案使得显存占用更少,预测速度更快。
开发者可以搜索进入 EasyDL 平台,选择专业版,选择【新建任务】-【配置任务】-【选择预训练模型】处选择【百度超大规模数据集 通用分类预训练模型】
零门槛 AI 开发平台 EasyDL,面向 AI 开发全流程提供灵活易用的一站式平台方案。包含了 AI 开发过程中的三大流程:数据服务、训练与开发、模型部署。
在数据服务上,刚刚上线的 EasyData 智能数据服务平台覆盖了数据采集、管理、清洗、标注、安全,并支持接入 EasyDL 进行训练,在模型训练部署之后,在云服务授权的前提下完成数据回流,针对性地进行难例挖掘,获得更有助于模型效果提升的高质量数据。
EasyData 是业内首家推出了软硬一体、端云协同自动数据采集方案的平台,有离线视频数据采集的用户,可以下载 EasyData 的数据采集 SDK,通过定时拍照、视频抽帧等方式,实时统计到云端进行处理。
在训练与开发上,除了刚刚提到的大规模预训练模型来提升模型性能,EasyDL 还采用了 AutoDL 自动搜索最优网络及超参数,以及自动数据增强、自动超参搜索来增加数据量和多样性、分布式训练加速等丰富的训练机制提升模型的训练速度。
在模型部署上,EasyDL 提供端云协同的多种灵活部署方式,包括公有云 API、设备端 SDK、本地服务器部署、软硬一体产品。值得关注的是,在 EasyDL 软硬一体产品矩阵方案中,提供了六款软硬一体方案,覆盖超高性能,高性能和低成本小功耗三种不同形态,满足开发者的各类业务需求,已经在几十个行业上百个场景中落地应用。
点击链接进入 EasyDL 专业版,感受预训练模型的强大效果吧!