一种非常强大的人工智能领域的深度学习技术——迁移学习

什么是迁移学习?

在人工智能领域,迁移学习是非常强大的一种深度学习技术,在AI的众多领域有着广泛的应用。迁移学习简单的理解是:将某一种领域的知识和经验移接到另外一种不同但是相关领域,以便更加轻松的完成另一种领域的任务。

举个例子:当我们学会java编程之后,我们可以将编程的思想移接到python编程中,这样我们可以很快的入手python语言。或者说当我们骑自行车已经非常熟练的时候,我们可以将控制自行车的平衡技术移接到骑摩托车中,以便更加迅速的掌握摩托车的骑行。总之,人类能把过去的知识和经验应用到不同的新场景中,这样就有了一种适应的能力。

一种非常强大的人工智能领域的深度学习技术——迁移学习

人类中的迁移学习

对比人工智能领域,迁移学习的思想也是一样的,我们可以将成熟的识别狗的模型算法,移接到识别猫的任务中,这样往往会取得非常好的效果,虽然狗和猫之间领域不同,但是二者的图片特征还是有非常多的相似之处的,所以这也是符合迁移学习中不同但是领域相关的迁移思想。

一种非常强大的人工智能领域的深度学习技术——迁移学习

猫狗识别迁移学习

为什么需要迁移学习?

在深度学习领域,往往需要大量的数据才能完成神经网络模型的训练,但是在很多时候数据往往不够,这样就成为了制约模型训练的关键所在,并且将大数据处理成为优质的可以供机器训练用的数据,还需要花费很多的人力投入,数据收集复杂且昂贵。针对这种情况,我们可以使用迁移学习技术,在已经训练好的模型基础上进行训练,此时只需要少量的数据就可以完成我们想要的效果,也就是站在巨人的肩膀上可以看的更远。

一种非常强大的人工智能领域的深度学习技术——迁移学习

迁移学习

计算量也是迁移学习火爆的关键点之一,众所周知,深度学习需要大量的数据进行支撑,要想完成如此大规模的训练任务,需要强大的CPU和GPU的支持,如果我们使用迁移学习技术,就可以将别人已经在强大的GPU和CPU上训练数周或者数月的模型为我所用,这样我们就不需要非常多的计算能力,也不用在花费更多的时间,从经济角度来看,这显著的降低深度学习所需的硬件资源,这是非常有意义的。

迁移学习的实现方法

1)样本迁移:在数据集中找到与目标领域相似的数据,把这个数据放大多倍,与目标领域的数据进行匹配

一种非常强大的人工智能领域的深度学习技术——迁移学习

样本迁移

2)特征迁移:通过观察源领域图像与目标域图像之间的共同特征,然后利用观察所得的共同特征在不同层级的特征间进行自动迁移

一种非常强大的人工智能领域的深度学习技术——迁移学习

特征迁移

3)模型迁移:利用超级大的的图象训练数据集训练一个图象识别的系统,当遇到一个新的图象领域,就不用再去找几千万个图象来训练了,可以将原来的图像识别系统迁移到新的领域,所以在新的领域只用几万张图片同样能够获取相同的效果。

一种非常强大的人工智能领域的深度学习技术——迁移学习

模型迁移

4)关系迁移:利用源域学习逻辑关系网络,再应用于目标域上。

一种非常强大的人工智能领域的深度学习技术——迁移学习

关系迁移

如何完成迁移学习

就计算机视觉领域举例,迁移学习的理念是,由于神经网络中间的隐藏层是学习图像一般特征的,所以我们可以将其用作一个大型特征生成器,我们可以先下载一个预训练模型,删去网络的最后一层,然后根据我们的任务进行调整,比如我们的任务是十分类任务,那么我们可以增加一个具有十个神经元的全连接层作为输出层,最后我们可以只训练神经网络的输出层。

一种非常强大的人工智能领域的深度学习技术——迁移学习

迁移学习过程

当然,具体来说删除预训练模型的哪几层以及增加新的层可以根据具体任务试验的,基于网络的深度迁移学习是指用预先训练好的部分网络,包括其网络结构和连接参数,将其迁移到新的任务中,使之成为深度神经网络的一部分。

迁移学习的未来

迁移学习在深度学习领域,尤其是计算机视觉和文本处理方面应用广泛,典型的应用方面的研究主要包含有文本分类、文本聚类、情感分类、图像分类、协同过滤等。深度学习中很多算法是数据驱动型,效果最好的模型往往是具有更多的数据的,而迁移学习的出现打破了这一既定的规则,使小数据学习正在成为新的热点

相关推荐