深度学习、强化学习和迁移学习的关系

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zgcr654321/article/details/82622517

深度学习(Deep Learning):

深度学习是近期人工智能取得重大突破的重要因素之一。从原理上来说,深度学习主要关注的是特征的提取,通过大量的标注数据来训练模型来达到精准的特征提取和识别。现在商用的多是有监督的深度学习,需要大量的标注数据

深度学习是一种端到端的学习方式,整个学习过程中不需要中间的和显著的人类参与。直接把海量数据投放到算法中,让数据自己说话,系统会自动从数据中学习。从输入到输出是一个完全自动的过程。

如:

怎么教小朋友认识小狗。你会找些图片给小朋友看,告诉他这是小狗;路上碰见小狗,你会指给他看,告诉他这个是小狗;而小朋友指着电视上的猫说这是小狗,你会赶紧指正,告诉他这不是小狗,旁边那个才是小狗。时间久了,次数多了,小朋友就大致能够知道哪些是小狗了。其实这就是一个监督学习的过程,而你在这个过程中提供了大量的标注数据(小狗的图片,路边的指认等等)。

深度学习也具有一些局限:

表达能力的限制。因为一个模型毕竟是一种现实的反映,等于是现实的镜像,它能够描述现实的能力越强就越准确,而机器学习都是用变量来描述世界的,它的变量数是有限的,深度学习的深度也是有限的。另外它对数据的需求量随着模型的增大而增大,但现实中有那么多高质量数据的情况还不多。所以一方面是数据量,一方面是数据里面的变量、数据的复杂度,深度学习来描述数据的复杂度还不够复杂。

缺乏反馈机制。目前深度学习对图像识别、语音识别等问题来说是最好的,但是对其他的问题并不是最好的,特别是有延迟反馈的问题,例如机器人的行动,AlphaGo下围棋也不是深度学习包打所有的,它还有强化学习的一部分,反馈是直到最后那一步才知道你的输赢。还有很多其他的学习任务都不一定是深度学习才能来完成的。

强化学习(Reinforcement Learning):

强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大。强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。由于外部环境提供的信息很少,RLS必须靠自身的经历进行学习。 

强化学习是一种自我修正和反馈的机器学习机制,主要解决的是延时反馈的问题。强化学习最开始是运用于机器人路径规划方向,但其实它的应用面也很广,尤其是很多有反馈的任务中,每一步对最终的结果都造成影响,这种情况下单纯的深度学习处理起来就比较困难了。

如:

教小朋友用筷子,你只需要告诉小朋友大概的拿筷子的手法,然后示范两下,接下来就得让小朋友自己去尝试着用筷子夹东西。小朋友夹东西时的步骤,角度,力度等等因素都会对最终的结果造成影响。他们自己会从每次的结果反馈中去寻找每一步最合适的角度和力度等,慢慢地学会使用筷子。这就区别于上面我们举的有监督的深度学习的例子了,你不需要找很多很多的视频来告诉小朋友怎么做,因为影响因素太多,变量太多,很难做到足够的标准化,统一化。

迁移学习(Transfer Learning):

迁移学习一般就是要将从源领域(Source Domain)学习到的东西应用到目标领域(Target Domain)上去。源领域和目标领域之间往往有gap/domain discrepancy(源领域的数据和目标领域的数据遵循不同的分布)。迁移学习能够将适用于大数据的模型迁移到小数据上,实现个性化迁移。迁移什么,怎么迁移,什么时候能迁移,这是迁移学习要解决的主要问题。

迁移学习是一种举一反三的能力。让机器在处理全新领域的问题时能够根据以往的模型,根据少量的数据快速训练出适合新场景的模型。最近Google推出的Cloud Auto ML就是运用了迁移学习,这不是简单的准备一个通用的预训练模型,而是用少量的数据来重新训练一个模型。

如:

我们小时候有学骑自行车,可能跌倒了很多次之后,终于学会了。而我们再去学骑摩托车,相对就容易多了,你可能不会花学习骑自行车用的那么多的时间,尽管这其中还是存在很大的不同,但是依然有很多的经验可以迁移,来降低你学习新技能的难度和成本。

迁移学习能解决那些问题?

小数据的问题。比方说新开一个网店,卖一种新的糕点,没有任何的数据,就无法建立模型对用户进行推荐。但用户买一个东西会反映到用户可能还会买另外一个东西,所以如果知道用户在另外一个领域,比方说卖饮料,已经有了很多很多的数据,利用这些数据建一个模型,结合用户买饮料的习惯和买糕点的习惯的关联,就可以把饮料的推荐模型给成功地迁移到糕点的领域,这样,在数据不多的情况下可以成功推荐一些用户可能喜欢的糕点。这个例子就说明,有两个领域,一个领域已经有很多的数据,能成功地建一个模型,有一个领域数据不多,但是和前面那个领域是关联的,就可以把那个模型给迁移过来。 
个性化的问题。比如每个人都希望自己的手机能够记住一些习惯,这样不用每次都去设定它,怎么才能让手机记住这一点呢?其实可以通过迁移学习把一个通用的用户使用手机的模型迁移到个性化的数据上面。

迁移学习的四种实现方法:

1.、样本迁移 Instance-based Transfer Learning

一般是对样本进行加权,给比较重要的样本较大的权重。 
样本迁移即在数据集(源领域)中找到与目标领域相似的数据,把这个数据放大多倍,与目标领域的数据进行匹配。其特点是:需要对不同例子加权;需要用数据进行训练。

2、特征迁移 Feature-based Transfer Learning

在特征空间进行迁移,一般需要把源领域和目标领域的特征投影到同一个特征空间里进行。

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

3、模型迁移 Model-based Transfer Learning

 

整个模型应用到目标领域去,比如目前常用的对预训练好的深度网络做微调,也可以叫做参数迁移。

模型迁移利用上千万的图象训练一个图象识别的系统,当我们遇到一个新的图象领域,就不用再去找几千万个图象来训练了,可以原来的图像识别系统迁移到新的领域,所以在新的领域只用几万张图片同样能够获取相同的效果。模型迁移的一个好处是可以和深度学习结合起来,我们可以区分不同层次可迁移的度,相似度比较高的那些层次他们被迁移的可能性就大一些

4. 关系迁移 Relational Transfer Learning

社会网络,社交网络之间的迁移。

总结:

我们应该说已经了解很多深度学习了,这个可以作为我们昨天的一个成就。

今天我们在刚刚开始去获得强化学习的一个红利,这个可能还不是在很多的领域得到应用,但是我要告诉大家,强化学习比大家想象的要更有用,它不仅仅是在围棋或者是在计算机游戏上有用。在金融、在我们日常生活当中,甚至在教育上,机器人的规划都离不开强化学习。

我们明天要看到的应该是迁移学习,因为迁移学习能够让我们把大数据得到的模型迁移到小数据上面,使得千千万万的人都能够受益,人人都能享受人工智能带来的红利。

猜你喜欢

转载自blog.csdn.net/zgcr654321/article/details/82622517