加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长资讯 > 动态 > 正文

为您的机器学习问题选择正确的预训练模型

发布时间:2021-05-02 13:43:49 所属栏目:动态 来源:互联网
导读:络最初训练用来解决的问题。例如,您可以利用构建好的用于识别狗的品种的深度学习模型来对狗和猫进行分类,而不是构建您自己的模型。这可以为您省去寻找有效的神经网络体系结构的痛苦,可以为你节省花在训练上的时间,并可以保证有良好的结果。也就是说,你

络最初训练用来解决的问题。例如,您可以利用构建好的用于识别狗的品种的深度学习模型来对狗和猫进行分类,而不是构建您自己的模型。这可以为您省去寻找有效的神经网络体系结构的痛苦,可以为你节省花在训练上的时间,并可以保证有良好的结果。也就是说,你可以花很长时间来制作一个50层的CNN来***地区分你的猫和狗,或者你可以简单地使用许多预训练好的图像分类模型。

使用预训练模型的三种不同方式

主要有三种不同的方式可以重新定位预训练模型。他们是,

  1. 特征提取 。
  2. 复制预训练的网络的体系结构。
  3. 冻结一些层并训练其他层。

特征提取:这里我们所需要做的就是改变输出层,以给出cat和dog的概率(或者您的模型试图将内容分类到的类的数量),而不是最初训练它将内容分类到的数千个类。当我们试图训练模型所使用的数据与预训练的模型最初所训练的数据非常相似且数据集的大小很小时,这是理想的。这种机制称为固定特征提取。我们只对添加的新输出层进行重新训练,并保留每一层的权重。

复制预训练网络的架构 :在这里,我们定义了一个与预训练模型具有相同体系结构的机器学习模型,该模型在执行与我们试图实现的任务类似的任务时显示了出色的结果,并从头开始训练它。我们从预训练的模型中丢弃每一层的权重,然后根据我们的数据重新训练整个模型。当我们有大量的数据要训练时,我们会采用这种方法,但它与训练前的模型所训练的数据并不十分相似。

冻结一些层并训练其他层:我们可以选择冻结一个预训练模型的初始k层,只训练最顶层的n-k层。我们保持初始值的权重与预训练模型的权重相同且不变,并对数据的高层进行再训练。当数据集较小且数据相似度较低时,采用该方法。较低的层主要关注可以从数据中提取的最基本的信息,因此可以将其用于其他问题,因为基本级别的信息通常是相同的。

另一种常见情况是数据相似性高且数据集也很大。在这种情况下,我们保留模型的体系结构和模型的初始权重。然后,我们对整个模型进行再训练,以更新预训练模型的权重,以更好地适应我们的特定问题。这是使用迁移学习的理想情况。

下图显示了随着数据集大小和数据相似性的变化而采用的方法。

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读