1. 磐创AI首页
  2. Medium

如何利用之前的CNN培训和操作转移学习?

在上一个主题中(参见https://medium.com/birdie-ai/how-to-use-cnns-as-feature-extractors-54c69c1d4bdf),的上一篇文章),我介绍了有关卷积网络(CNN)的介绍性概念以及使用这些架构进行特征提取的过程。特征提取是一种广泛使用的方法,当我们想要利用深层网络的潜力,而没有必要的样本数量来直接训练网络时,特征提取是一种广泛使用的方法。因此,我们认识到卷积网络具有很高的描述能力。另一方面,当我们有大量的训练示例时,我们可以使用第二个资源:网络微调。这种方法还重用了预先训练的网络;但是,为了使以前的训练适应当前任务。我们知道,网络的初始层提供对低级特征、颜色和形状的学习,这些特征、颜色和形状独立于所使用的数据集。因此,无论我们要应用什么上下文,这些层都提供非常相似的功能,即这些层更通用。相比之下,网络的最后几层更具体,其学习完全依赖于为培训提供的示例[Yosinski,2014]。因此,我们可以针对新的任务改进以前的网络训练,重新调整网络的权重,特别是在最后一层。https://medium.com/birdie-ai/how-to-use-cnns-as-feature-extractors-54c69c1d4bdf

那么,让我们直接来看一个实际的例子。与特征提取过程一样,我们加载预训练模型(ResNet50[He,2016]),并确定要考虑的层。例如,我们正在考虑从第一层(输入)到倒数第二层(-2)。最初的模型是为了预测训练集中的1000个班级(ImageNet[Russakovsky,2015])。在我们的示例中,使用的数据集只包含10个类。因此,我们将修改最终的预测层,添加一个包含10个神经元(number Classes=10)的致密层。请注意,选择的激活函数是Softmax,它会将接收到的值转换为概率。我们的新架构已经准备好了。现在,我们需要使用培训设置编译结构。每个CNN都需要一个损失函数和优化方法,以及一个评估指标。有关这些项目的详细信息和各种可能性,我建议阅读更详细的论文[庞蒂,2017年]和/或凯拉斯图书馆的文档(https://keras.io/api/).对于我们的示例,选择的损失函数是使用“Adam”优化器的“CATEGORARY_CROSENTROPY”。https://keras.io/api/

现在我们需要做的是重新训练网络,这样我们就可以在我们的测试集中测试它的性能。为了洗牌训练集,我们可以应用排列,然后使用批概念训练网络。KERAS库提供了其他培训功能,但我选择了这个功能,以便与批次相关的教学更明显。当我们训练CNN时,我们希望所有的图像都能传递到建筑上。但是,可用的RAM可能不足以加载所有示例。然后,批处理大小定义了一次要传递给CNN的一定数量的图像。因此,当所有图像都上传到网络时,一个纪元就完成了。我们必须对“n”个纪元(代码中的number纪元)执行此过程。在文献中,我们有几种启发式方法来确定理想的批次大小,但我们将把它留到未来的主题中去讨论。

训练结束后,我们使用测试集来验证所获得的性能。因此,我们只在训练后的模型中使用评估函数。请参阅https://github.com/fernandopersan/medium/blob/main/CNNFineTuning.ipynb上的完整示例https://github.com/fernandopersan/medium/blob/main/CNNFineTuning.ipynb

综上所述,当我们有大量的示例时,建议对网络进行微调,但不足以从头开始训练网络。因此,我们只需要根据我们的目标改变结构的最后一层,并对网络进行重新培训。这种重用以前的权重并使其适应新任务的概念称为迁移学习。目前正在对这一研究领域进行调查,以降低加工成本,并利用以前获得的知识。

参考文献:

[何,2016]何凯,张晓.,任松生,孙杰,《用于图像识别的深度残差学习》,载于IEEE计算机视觉与模式识别会议论文集,2016,第770-778页。

[Ponti,2017]M.Ponti,L.S.Ribeiro,T.S.Nazare,T.Bui和J.Collomosse,“关于计算机视觉的深度学习,你想知道但不敢问的一切”,在第30届SIBGRAPI关于图形、图案和图像的教程会议(SIBGRAPI-T 2017)中,2017年,第17-41页。

[Russakovsky,2015]O.Russakovsky,J.邓,H.Su,J.Krause,S.Satheesh,S.Ma,Z.Huang,A.Karparis,A.Khosla,M.Bernstein等,“Imagenet Large Scale Visual Recognition Challenges”,International Journal of Computer Vision,Vol.115,第3期,第211-252页,2015年。

[Santos,2020]Santos,F.P.;“用于图像和视频识别任务的域间特征迁移学习”,圣保罗大学博士论文,2020。

[Yosinski,2014]J.Yosinski,J.Clune,Y.Bengio和H.Lipson,“深层神经网络中的特征有多大的可传递性?”“神经信息处理系统的进展”,2014年,第3320-3328页。

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/06/30/%e5%a6%82%e4%bd%95%e5%88%a9%e7%94%a8%e4%b9%8b%e5%89%8d%e7%9a%84cnn%e5%9f%b9%e8%ae%ad%e5%92%8c%e6%93%8d%e4%bd%9c%e8%bd%ac%e7%a7%bb%e5%ad%a6%e4%b9%a0%ef%bc%9f/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息