迁移学习实现将特定领域的模型应用到多个目标领域中,能够促进目标领域模型的学习成长,并降低目标领域内对于数据量和类型的要求,实际上就是利用已有先验信息来优化模型学习内容。迁移学习在小数据环境、智能终端上具有广阔的应用空间,迁移学习需要将在数据量充足的情况下学习到的知识,迁移到数据量小的新环境中,能够通过发现大数据和小数据问题之间的关联,把知识从大数据中迁移到小数据问题中,从而打破人工智能对大数据的依赖。
迁移学习为两类问题提供了解决路径,这也是迁移学习存在的实际价值:
一是在数据样本量小的行业中,人工智能学习、认知的问题。比方说我们准备新开一个售卖零食的网店,由于没有数据积累,无法从售卖其他商品的网店推荐顾客来购买,这时候如果我们知道顾客买饮料的时候很有可能也会买零食,并且卖饮料的网店已经积累了大量数据,就能够利用这些数据,结合顾客买饮料和零食的习惯建一个模型。然后,把饮料的推荐模型迁移到零食的领域,这样就可以成功推荐顾客购买可能喜欢的零食。这个例子足以说明迁移学习的应用前提,即至少包括两个领域,一个领域已经积累了足够多的数据,能够成功地建立算法模型;另外一个领域数据量不大,但是和前面那个领域是相互关联的,这时就可以把前一个领域的模型迁移过来给后一个领域使用。
二是通用与个性化问题。平时在使用手机的时候,希望它能够记住我们的一些生活习惯以方便使用,可以把常规用户A使用手机的常见习惯,建立成为通用模型,当其他用户使用的时候,可以迁移通用模型到其个性化的数据中。这样,A用户的常见习惯就“迁移”成为了所有同类型用户的“公共习惯”,让所有人操作手机的时候都能够更方便快捷。
但是不能讲迁移学习不能简单认为就是小数据环境下的学习认知问题,它是在深度学习基础上实现广泛应用在小数据环境下的有效途径。在特定领域内通过大数据建立好深度学习应用模型后,换一个领域进行应用,实际就是实现认知学习中的联想记忆、举一反三的能力。
实现迁移学习的方法
1)样本迁移,就是我们在数据集里面找到跟目标领域相似的数据,把这个数据放大多倍,这个叫做样本迁移,通过样本来达到迁移的目的;
2)特征迁移,可以观察到有些相似的特征,然后利用这些特征,在不同的层次的特征,来进行自动的迁移;
3)基于模型的迁移学习,利用上千万的图象来训练一个图象识别的系统,我们遇到一个新的图象领域,我们就不用再去找几千万个图象来训练了,我们就把原来的那个迁移到新的领域,所以在新的领域只用几万张图片就够,同样可以得到很高的效果,模型迁移的一个好处是我们可以区分,就是可以和深度学习结合起来,我们可以区分不同层次可迁移的度,相似度比较高的那些层次他们被迁移的可能性就大一些;
4)通过关系进行迁移,我们也可以通过关系来进行迁移,比方说社会网络,社交网络之间的迁移。
因为现阶段的人工智能需要从海量数据中进行学习,但是对于很多特定垂直的领域而言,其数据并不足够支持AI学习,这时候就需要迁移学习来发挥巨大价值。比如在语音识别中,虽然识别普通话有海量数据可供人工智能学习,但是对于方言,其样本数据量就不够。所以,为了针对数据量不那么多的方言进行语音识别,百度需要把从学习普通话中得到的知识迁移到学习方言过程中,才能完成比较准确的语音识别。
举个栗子
Google的机器人和无人驾驶汽车就是使用了迁移学习进行训练,通常会建设一个仿真的环境(数字虚拟),在场地中安排数百个机器人或虚拟无人汽车同时训练,可以极大提高人工智能的学习效率,并且不用担心损耗问题。
当Google通过这样的方式训练出一个能够在仿真环境中干家务的机器人时,那么把它的智能迁移到实体的机器人中,这个机器人再经过一定训练后也就可以做家务了。这对传统机器人行业带来的冲击是巨大的。因为传统机器人的控制方法都依赖于人工,需要对每一种机器人进行编程;而通过迁移学习的方式,机器人可以把在仿真环境中学会的知识运用到真实的环境。这将为智能时代制造和训练机器人创造了最好的工具。