Keras深度学习实战(10)——迁移学习详解
0. 前言
在《卷积神经网络的局限性》中,我们看到从零开始训练卷积神经网络 (Convolutional Neural Network
, CNN
) 模型时,可能会遇到以下一些问题:
- 训练数据集中图像数量不足,使得模型难以学习
- 当图像尺寸很大时,卷积可能无法学习图像中的所有特征
第一个问题可以通过对增加数据集中的数据量来解决(即数据增强),第二个问题可以通过在更深的网络架构上训练更多的 epoch
来解决(即增加训练量)。尽管我们能够通过执行所有这些操作来解决上述问题,但通常情况下,我们可能无法获取更多的训练数据。在这种情况下,使用预先训练完成的模型进行迁移学习将能够快速解决上述问题。
1. 迁移学习
1.1 迁移学习原理
迁移学习 (Transfer Learning
) 是机器学习中的一个重要研究方向,研究如何将在任务 A
上学到的知识迁移至任务 B
,例如任务 A
为猫狗分类,任务