机器视觉领域的问题通常来说是个有很多参数的复杂问题,从零开始自己构造一个神经网络通常来说是非常消耗计算能力和时间的。
我们可以站在巨人的肩膀上,用别人训练好的图像识别的卷积神经网络的结构和参数,只改造最后的几层全联接层,并训练这几层,就可以快速得到一个能解决我们问题的专用神经网络。这就是迁移学习的意思,即迁移别人现成的网络结构和参数,嫁接我们自己问题的分类器来训练。
例如,当我们在研发一个新的图像识别分类器时(如识别猫的分类器),通常我们不需要从零开始训练一个猫的专用分类器,我们到GitHub下载别人开源的卷积神经网络架构和训练好的权重,我们拿掉该开源的卷积神经网络的最后几层(通常只能解决它原来的问题),改成符合我们问题的结构,在这里就是分类几种猫的Softmax层。
这里要注意的是,我们要保留之前的层次的参数,因为原来的卷积神经网络已经通过大量的图片被充分训练并得到了较好的参数(可以理解为该卷积神经网络已经见多识广,充分理解了图像的结构,并可对新输入的图像有良好的表达)。然后,对这个改造后的网络输入我们的图像做训练,相当于只训练了我们改造的最后几层,就能快速得到能解决我们问题的神经网络。
image关于我:
linxinzhe,全栈工程师,目前供职于某500强通信企业。人工智能,区块链爱好者。
GitHub:https://github.com/linxinzhe
欢迎留言讨论,也欢迎关注我,收获更多AI开发相关的知识,我也会关注你的哦!
网友评论