C2-3.3.3 迁移学习

C2-3.3.3 迁移学习

1、为什么要使用-迁移学习

和 “数据增强” [C2-3.3.2 数据增强.md](C2-3.3.2 数据增强.md) 相比, 有一些应用程序没有那么多数据,而且 很难获取到更多的数据——“迁移学习 ” 诞生

迁移学习 在实际的应用中使用的很频繁,非常受欢迎

2、迁移学习举例

C2-3.3.3 迁移学习_第1张图片

我们这里已经有一个成熟的模型,进行1000个类别分类。分成:猫、狗、车、人… 。 但是我们想要一个能实现手写体识别的模型,但是我们手里的数据很少,比如有50个吧(也不能实现数据增强)。有两种方法能实现:

  • 方法一 - 迁移学习:把人家预训练好的模型拿过来: 除了最后一层输出层以外留下所有层的参数 w , b 。 把输出层换成一个 比较小的有10个神经元的输出层(因为有10种结果的判别,簇类)。通过我们手里有的50个 手写体数据,对模型进行训练,只训练输出层的参数。
  • 方法二-传统的方法:需要很大的数据集,从头到尾进行训练

3、为什么迁移学习能胜任这份工作呢

C2-3.3.3 迁移学习_第2张图片

因为在前几层 隐藏层中 做的功能都是差不多的,只不过是后面的输出层 有一些不同(有可能有时倒数几层开始不同)

4、迁移学习 总结 / 步骤

C2-3.3.3 迁移学习_第3张图片

【※注释】:必须是同一个输入类型

你可能感兴趣的:(机器学习,迁移学习,人工智能,机器学习)