第9章 目标检测——CNN迁移学习
“个人如何从一个环境中转移到具有相似特征的另一个环境?”
——E. L. Thorndike, R. S. Woodworth (1991)
迁移学习(transfer learning,TL)是数据科学中研究的一个问题,主要涉及在解决特定任务时不断获取知识,并使用这些已获得的知识来解决另一个不同但相似的任务。本章将展示数据科学领域中使用TL的现代实践和共同主题之一。这里的想法是在处理具有较小数据集的领域中的问题时,如何从具有非常大的数据集的领域中来获得帮助。最后,本章将重新探讨CIFAR-10目标检测示例,并尝试使用TL来缩短训练时间和减小性能误差。
本章主要包括以下两个主题。
- 迁移学习。
- CIFAR-10目标检测——回顾。
9.1 迁移学习
深度学习架构对于数据是贪婪的,在训练集中有一些样本不能够充分发挥作用。TL通过将从解决大数据集任务中学习和获得的知识/表示迁移到另一个具有小数据集的不同但相似的任务上来解决这个问题。
TL不但适用于小型数据集的情况,而且可以加速训练过程。从头开始训练大型的深度学习架构通常是非常慢的,因为可能需要学习数百万的权重参数。相反,我们可以考虑使用TL方法,将从类似问题中学习到的权重微调到自己尝试解决的问题上来。
9.1.1 迁移学习背后的直觉
这里通过使用教师-学生来类比TL背后的直觉。教师在他所熟悉的领域中有多年的教学经验,学生从教师讲授的课程中获得对该课程的一个简单理解。因此可以认为教师正在以简明扼要的方式向学生传授着知识。
同样,教师与学生的类比通常可以应用于通过深度学习或者神经网络来传递知识的情境中。模型学习到数据的一些特征,这些特征由网络的权重来表示。这些学习到的/特征(权重)能够转移到另一个不同但是相似的任务中。为了使深度学习架构收敛,将学习到的权重转移到另一个任务的过程将减少程序对大型数据集的需求,并且与从头开始训练模型相比,它还将缩短模型适应于新数据集所需的时间。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access