迁移学习概述
迁移学习是人工智能机器学习中的一种(除了迁移学习还有深度学习、强化学习),将一个开发模型应用到其他任务或是类型中,也就是在机器处理全新的领域时,难以获取大量数据取构建模型时可以通过迁移学习的方法,通过少量数据训练从而适用于新领域。通俗来讲,迁移学习就是一种举一反三的学习方法。
比如:我们学会了弹吉他,我们再去学习钢琴、小提琴等其他乐器,可以节约好多时间,我们可以从学习吉他中的乐理知识、音阶等相关知识,迁移到其他乐器中,从而降低我们学习的成本,节约学习的时间。
迁移是机器学习中一种常见的方法,通常应用到计算机视觉、自然语言处理等相关人工智能领域,通过神经网路学习需要大量数据、长时间的计算,某些情况下我们难以获取足够的资源,所以我们通过迁移学习的方式,将一些建好的学习模型通过迁移的方式来加速训练过程。
如何进行迁移学习?
在理解如何进行迁移学习中,我们先了解一下如下定义:
域:一个域 D 由一个特征空间 X 和特征空间上的边际概率分布 P(X) 组成,其中 X=x1,x2,…xn 。举个例子:对于一个有文档,其有很多词袋表征(bag-of-words representation)X 是所有文档表征的空间,而 xi 是第 i 个单词的二进制特征。P(X)代表对X的分布。
任务:在给定一个域 D={X,P(X)} 之后,一个任务 T 由一个标签空间 y 以及一个条件概率分布 P(Y/X) 构成,其中,这个条件概率分布通常是从由特征—标签对 xi,yi组成的训练数据中学习得到。
源域:在迁移学习中,我们已有的知识叫做源域。
目标域:在迁移学习中,要学习的新知识叫目标域。
以上概念如果不是专门做AI技术的同学可能很难理解,那我们举个例子来解释一下:
有一个养狗的高手,对不同的狗狗的类型都能分辨出来,能够识别不同狗狗的特征。有一天想去卖卖猫猫了,他就从养狗狗的经验上去学习猫猫,分辨猫猫,发现按照狗狗狗的特征是难以正确的分辨猫猫的,因此他又重新学习了猫猫的特征。
在以上案例中:域就是猫猫或狗狗,源域就是狗狗,目标域就是猫猫,任务就是猫猫或狗狗的特征或是特点,这样说就好理解了。
在迁移学习中有不同的方法:
1. 基于实例的迁移学习方法
意思是说在源域中找到与目标域相似的数据,把这个数据的权值进行调整,让目标域与源域权值数据进行匹配,然后对调整的数据进行训练学习,不断的调整权值,最终形成目标域的模型。
这种属于源域中的样本进行迁移,也就是样本与样本之间相似度较高的情况,我们看如下图片(以下图片来自于百度):
2. 基于特征的迁移学习方法
意思是说通过源域与目标域相同的特征进行提取,找到共同特征,然后学习。它与基于实例的迁移学习方法,不同在于——基于实例的是从实际数据中进行选择来匹配与目标域相似的部分,进行学习,基于特征的是找到源域与目标域的相同交集特征,进行学习。
如下图所示(图片来自于百度):
3. 基于模型的迁移学习方法
意思是说通过源域训练好的模型,直接应用到目标域中,通过目标域中少量数据去训练此模型,进行学习,比如:你有一个识别狼狗的模型,这个模型可以男出来训练哈士奇。
4.基于关系的迁移学习方法
意思是说当两个域是有某些相似的时候,他们之间存在某种关系,我们可以根据域中的相同的关系背后逻辑进行迁移,比如:生物病毒传播的规律迁移到电脑病毒的传播规律。
迁移学习对我们产品经理的启发
通过对迁移学习的概述以及迁移学习的方法的介绍,我们总结一下迁移学习使用场景:
- 数据量不足的问题:一方面是因为某些领域,数据量比较少;一方面是因为收集大量数据需要较高的资源和成本,我们需要考虑通过迁移学习的方法。
- 个性化方面的问题:通过群体数据,难以反映一个个体的特征。
对于我们产品经理,我们在设计产品或是设计某些逻辑的时候,可以看一下我们设计场景是否符合迁移学习的使用场景,我们如果通过迁移学习的方法,去解决我们的产品设计问题。
比如以下案例:
数据量成本案例
比如:不同产品用户评价模型的迁移,一个产品好或者坏,我们需要分析大量用户的评价,通过对评价的标注,建立评价模型但。是如果我们有大量产品,并且不同用户有不同的用户评价习惯,不同的用语,来表达对产品的好或是坏,我们很难收集到全面的用户评价数据。
因此,我们只需要从少量产品大量数据评价中去标注,去训练,找打标注模型,通过此模型应用到其他产品中,我们就可以迅速分辨出这个产品的在用户眼里是好或者是坏。
个性化推荐案例
比如:我们有一个售卖书籍的电商平台,根据用户偏好、行为等对其做了智能推荐,然后我们想在电商平台上新增了电影推荐内容。
假如我们想在这个产品一上线就能智能推荐给用户,这时候我们可以使用书籍的智能推荐方案迁移到电影内容推荐这个产品上,比如:某一用户群体喜欢悬疑类书籍,那我们可以推荐一些悬疑类电影内容。
再比如:我们一个新APP冷启动时的个性化推荐,是否可以利用之前已上线APP的用户画像描述,通过特征迁移的方式,做个性化推荐?