
已经博主授权,源码转载自 https://pan.quark.cn/s/d458140f09be
在深度学习的研究与应用阶段,当数据集被采集之后,在利用该数据集对自身构建的网络进行训练之前,通常会借助其他研究者已经训练好的网络进行fine-tuning(微调),随后再进行训练。在现实操作层面,由于数据集的规模往往不够庞大,极少有研究者选择从头开始训练网络,普遍的做法是采用预训练的网络进行重新fine-tuning(微调),或者将其用作特征提取工具。fine-tuning可以被视为迁移学习的一种具体应用(策略)。Transfer Learning Definition指系统具备识别并运用在先前领域/任务中习得的知识与技能,以应对新领域/任务的能力。在深度学习学科中,Fine-tuning是一项极为重要的技术手段,它关联到迁移学习,即通过运用那些已在大规模数据集上完成训练的预训练模型来增强特定任务的执行效能。这是由于在处理诸多实际问题时,我们可能无法获取到足够规模的数据集,用以从头训练出一个完整的深度神经网络。Fine-tuning允许我们基于这些预训练模型,在新任务上实施微调,从而提升模型的准确程度和泛化性能。让我们进一步深入探讨Fine-tuning的概念内涵。当一个预训练模型在一个大规模数据集(例如 ImageNet)上得到充分训练后,它已经掌握了大量通用的图像特征。这些特征对于众多计算机视觉任务均具有高度的代表性。比如,即便预训练模型最初是为了区分一千种不同的物体而设计,它同样能够捕捉到颜色、纹理、形状等基础性特征,而这些特征同样适用于其他图像分类任务。在实施Fine-tuning的过程中,一般会保持预训练模型的大部分层(特别是早期卷积层)保持不变,因为它们学习到的是...

