如何理解深度学习中迁移学习、预训练、微调的概念

说明

本文为观看吴恩达深度学习课程视频所做的学习笔记
吴恩达 deeplearning.ai
Part 3 结构化机器学习项目
第二周 机器学习(ML)策略(2)2.7迁移学习

正文

假设已经训练好一个图像识别神经网络,如果让这个图像识别神经网络适应或者说迁移不同任务中学到的知识,比如放射科诊断(阅读X射线扫描图)。做法是:

  1. 删掉神经网络最后的输出层和进入到最后一层的权重
  2. 为最后一层重新赋予随机权重
  3. 让神经网络在放射诊断数据上训练

这样把图像学习的知识应用或迁移到放射科诊断上来,这就是迁移学习(Transfer learning)的一个具体例子。
如何理解深度学习中迁移学习、预训练、微调的概念_第1张图片

具体来说,当你进行图像识别任务训练时,可以训练神经网络所有常用参数、所有权重、所有层,然后就得到了一个能够做图像识别预测的网络。在训练了这个神经网络后,要实现迁移学习,你现在要做的是把数据集换成新的xy对(x是放射科图像,y是预测的诊断结果,示意图见上图),初始化最后一层的权重,在这个新数据集上重新训练网络。
要用放射科数据集从新训练神经网络有两种做法:

  • 如果放射科数据集很小,可能只需要重新训练最后一层的权重
  • 如果有足够多的放射科数据,可以重新训练神经网络中剩下的所有层,重新训练神经网络中的所有参数。那么这个在图像识别数据的初期训练阶段有时称为预训练(pre-training)。因为你再用图像识别数据去预先初始化或者预训练神经网络的权重。然后,如果你之后更新所有权重,然后在放射科数据上训练,有时这个过程叫微调(fine tuning)

如果在深度学习的文献中看到预训练和微调这两个概念,就知道它们指的是预训练和微调迁移学习来源的权重。

你可能感兴趣的:(计算机视觉,深度学习,迁移学习,机器学习)