迁移学习resnet_什么是迁移学习?
回顾您的职业生涯,有些人可能有过这样的经历:依靠过去的经历经验,我们可以开始新的事业。迁移学习正是借鉴了类似的思想。这种深度学习技术让开发者能够将原本是用于某一特定任务的神经网络迁移到另一个新的领域中执行新的任务。以图像识别为例。如果你想构建一个神经网络,让它能够识别马匹,但是手上又没有任何公开的算法可以完成这项任务。这时,借助迁移学习,你可以从一个原本是用来识别其它动物的现成的卷积神经网络(CN
回顾您的职业生涯,有些人可能有过这样的经历:依靠过去的经历经验,我们可以开始新的事业。迁移学习正是借鉴了类似的思想。这种深度学习技术让开发者能够将原本是用于某一特定任务的神经网络迁移到另一个新的领域中执行新的任务。
以图像识别为例。如果你想构建一个神经网络,让它能够识别马匹,但是手上又没有任何公开的算法可以完成这项任务。这时,借助迁移学习,你可以从一个原本是用来识别其它动物的现成的卷积神经网络(CNN)入手,对其进行调整并训练它识别马匹。
以ResNet为例,解析迁移学习
开发者也许会从ResNet-50着手,这是一种由50层预先训练好的网络层构成的深度学习模型,其在识别猫狗方面有着很高的准确率。在这个神经网络中,各层被用来识别轮廓、曲线、线条和其它可以用来识别这些动物的特征点。这些层需要大量的标记训练数据,借助这些层来开发执行新任务的神经网络可以节省很多时间。
在识别马的任务当中,这些层可以被用来执行相同的识别任务,识别马的相关特征。借助ResNet-50你可以识别出眼睛、耳朵、腿和马的轮廓,不过你还需要更多的辅助数据来进一步训练神经网络区别马和狗的不同。
使用马的标记训练数据来进行额外训练,模型将会总结出越来越多关于马所独有的特征点。
借助迁移学习搭建卷积神经网络
整个搭建工作流程大体上是这样的:首先,你要删除“loss output”层,这是神经网络的最后一层,用于预测。将其替换成预测马的层。该loss output层是一个微调节点,能够确定训练如何惩罚标记数据和预测输出之间的偏差。
接下来,你可以使用一个马的小型数据集在整个50层的神经网络上训练,或者在最后几个网络层上训练,亦或只在loss层上训练。通过采用迁移学习技术,你的新卷积神经网络输出层将最终将学会识别马。
借助迁移学习搭建循环神经网络
迁移学习不单单只能应用于图像识别。循环神经网络(RNN),经常被用于语义识别任务当中,也能够采用迁移学习技术。然而,你将需要两个相似的语言数据集,例如一个预先训练的模型中的100万小时的讲话和10小时的针对新任务的特定讲话。
与在CNN上所采用的技术相似,新的神经网络的输出层将被移除。接下来,你可能需要在原位置创建两个或者更多的层,用新的语言数据帮助训练神经网络,训练新的loss层根据讲话内容进行预判。
百度的Deep Speech神经网络为语音转文字模型提供了一个跳跃式的开始,其允许使用迁移学习来编辑特定的语言功能。
为什么要采用迁移学习?
当你想将一个神经网络应用到一个没有充足数据的新领域当中,同时又有一个巨大的预先训练的数据池可以迁移到你的新任务中的时候,迁移学习将是很有用的。
比如,你可能只有1000张马的图片,但是通过改写一个现成的CNN(例如ResNet,该神经网络已经接受了超过100万张图片的训练),你就能够获得许多底层级和中层级的特征定义。
对于开发者和数据科学家来说,他们希望能够借助迁移学习加速他们的AI训练工作流。NVIDIA迁移学习工具包提供了GPU加速的预先训练的模型和功能,用于微调各领域类型的模型(例如智能视频分析和医学影像等)。
当要开始部署的时候,您可以借助用于IVA和医学成像的迁移学习工具包,通过端到端的深度学习工作流程推出您的应用程序。
参加NVIDIA DLI网上课程,了解学习有关迁移学习更多技巧知识。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)