![12c799cce8ee0e1cf4cd3f1a918ba41e.png](https://i-blog.csdnimg.cn/blog_migrate/c1aa3deb5ab6e3e9d486ae0f89c190fd.jpeg)
编辑:zero
关注 搜罗最好玩的计算机视觉论文和应用,AI算法与图像处理 微信公众号,获得第一手计算机视觉相关信息
本文转载自:公众号:AI公园
作者:Cecelia Shao
编译:ronghuaiyang
导读
预训练模型用起来非常容易,但是你是否忽略了可能影响模型性能的细节呢?
你运行过多少次下面的代码:
import torchvision.models as models
inception = models.inception_v3(pretrained=True)
或者是这个
from keras.applications.inception_v3 import InceptionV3
base_model = InceptionV3(weights='imagenet', include_top=False)
看起来使用这些预训练的模型已经成为行业最佳实践的新标准。毕竟,有一个经过大量数据和计算训练的模型,你为什么不利用呢?
预训练模型万岁!
利用预训练的模型有几个重要的好处:
- 合并超级简单
- 快速实现稳定(相同或更好)的模型性能
- 不需要太多的标签数据
- 迁移学习、预测和特征提取的通用用例
NLP领域的进步也鼓励使用预训练的语言模型,如GPT和GPT-2、AllenNLP的ELMo、谷歌的BERT、Sebastian Ruder和Jeremy Howard的ULMFiT。
利用预训练模型的一种常见技术是特征提取,在此过程中检索由预训练模型生成的中间表示,并将这些表示用作新模型的输入。通常假定这些最终的全连接层得到的是信息与解决新任务相关的。
每个都参与其中
每一个主流框架,如Tensorflow,