加强学习、增量学习、迁移学习——概念性认知

1、加强学习/强化学习(Reinforcement Learning 算法

        咱们老是给定一个样本x,而后给或者不给label y。以后对样本进行拟合、分类、聚类或者降维等操做。然而对于不少序列决策或者控制问题,很难有这么规则的样本。好比,四足机器人的控制问题,刚开始都不知道应该让其动那条腿,在移动过程当中,也不知道怎么让机器人自动找到合适的前进方向。另外如要设计一个下象棋的AI,每走一步实际上也是一个决策过程,虽然对于简单的棋有A*的启发式方法,但在局势复杂时,仍然要让机器向后面多考虑几步后才能决定走哪一步比较好,所以须要更好的决策方法。数据库

        对于这种控制决策问题,有这么一种解决思路。咱们设计一个回报函数(reward function),若是learning agent(如上面的四足机器人、象棋AI程序)在决定一步后,得到了较好的结果,那么咱们给agent一些回报(好比回报函数结果为正),获得较差的结果,那么回报函数为负。好比,四足机器人,若是他向前走了一步(接近目标),那么回报函数为正,后退为负。若是咱们可以对每一步进行评价,获得相应的回报函数,那么就好办了,咱们只须要找到一条回报值最大的路径(每步的回报之和最大),就认为是最佳的路径。网络

        加强学习(Q-learning)要解决的是这样的问题:一个能感知环境的自治agent,怎样经过学习选择能达到其目标的最优动做。agent的任务就是从这个非直接的,有延迟的回报中学习,以便后续的动做产生最大的累积效应Agent经过学习改进自身的性能并选择行为框架

        所谓强化学习是指从环境状态到行为映射的学习,以使系统行为从环境中得到的累积奖赏值最大。该方法不一样与监督学习技术那样经过正例、反例来告知采起何种行为,而是经过试错(trial-and-error)的方法来发现最优行为策略。强化学习的目标就是学习从环境状态到行为的映射,使得智能体选择的行为可以得到环境最大的奖赏,使得外部环境对学习系统在某种意义下的评价(或整个系统的运行性能)为最佳。机器学习

        加强学习的目的就是求解马尔可夫决策过程(MDP)的最优策略,基本的解法有:动态规划法,蒙特卡罗方法,时间差分法,Q学习。函数

        加强学习在不少领域已经得到成功应用,好比自动直升机,机器人控制,手机网络路由,市场决策,工业控制,高效网页索引等。性能

        发展(AlphaGo结合了深度学习、强化学习和蒙特卡洛树搜索这三种算法):学习

        深度强化学习(DQN)是深度学习与强化学习的结合,就是用深度学习网络自动学习动态场景的特征,而后经过强化学习学习对应场景特征的决策动做序列。测试

2、增量学习(Incremental learning大数据

 为何须要增量学习算法?

 1)数据库中的数据是动态变化的

 2)数据量(训练样本)的变化引发重复学习

 3)应避免在海量数据的状况下重复学习

 4˜只需修改因数据变化而涉及的规则

 5)增量学习算法是数据挖掘算法走向实用化的关键问题之一

增量式算法的重要性体如今2个方面:

1)在实际的数据库中,数据量每每是逐渐增 加的,所以,在面临新的数据时,学习方法应能对训练好的系统进行某些改动,以对新数据中蕴涵的知识进行学习。

2) 对一个训练好的系统进行修改的时间代价一般低于从新训练一个系统所需的代价。

        增量式算法:就是每当新增数据时,并不须要重建全部的知识库,而是在原有知识库的基础上,仅作因为新增数据所引发的更新,这更加符合人的思惟原理。

        对于传统的批量学习技术来讲,如何从日益增长的新数据中获得有用信息是一个难题。随着数据规模的不断增长,对时间和空间的需求也会迅速增长,最终会致使学习的速度赶不上数据更新的速度。机器学习是一个解决此问题的有效方法。然而传统的机器学习是批量学习方式,须要在进行学习以前,准备好全部的数据。为了能知足在线学习的需求,须要抛弃之前的学习结果,从新训练和学习,这对时间和空间的需求都很高,所以,迫切须要研究增量学习方法,能够渐进的进行知识更新,且能修正和增强之前的知识,使得更新后的知识能适应新增长的数据。

        与传统的数据分类技术相比,增量学习分类技术具备显著的优越性,这主要表如今两个方面:一方面因为其无需保存历史数据,从而减小存储空间的占用;另外一方面,因为其在新的训练中充分利用了历史的训练结果,从而显著地减小了后续训练的时间。增量学习技术(incremental learning technique)是一种获得普遍应用的智能化数据挖掘与知识发现技术。其思想是当样本逐步积累时,学习精度也要随之提升。

        增量学习(Incremental Learning)是指一个学习系统能不断地重新样本中学习新的知识,并能保存大部分之前已经学习到的知识。增量学习很是相似于人类自身的学习模式。由于人在成长过程当中,天天学习和接收新的事物,学习是逐步进行的,并且,对已经学习到的知识,人类通常是不会遗忘的。

        随着人工智能和机器学习的发展,人们幵发了不少机器学习算法。这些算法大部分都是批量学习(Batch Learning)模式,即假设在训练以前全部训练样本一次均可以获得,学习这些样本以后,学习过程就终止了,再也不学习新的知识。然而在实际应用中,训练样本一般不可能一次所有获得,而是随着时间逐步获得的,而且样本反映的信息也可能随着时间产生了变化。若是新样本到达后要从新学习所有数据,须要消耗大量时间和空间,所以批量学习的算法不能知足这种需求。只有增量学习算法能够渐进的进行知识更新,且能修正和增强之前的知识,使得更新后的知识能适应新到达的数据,而没必要从新对所有数据进行学习。增量学习下降了对时间和空间的需求,更能知足实际要求。

一个增量学习算法应同时具备如下特色:

    1)能够重新数据中学习新知识;  

    2)之前已经处理过的数据不须要重复处理;

    3)每次只有一个训练观测样本被看到和学习;

    4)学习新知识的同时能保存之前学习到的大部分知识;

    5)—旦学习完成后训练观测样本被丢弃;

    6)学习系统没有关于整个训练样本的先验知识;

3、迁移学习(Transfer Learning

        在传统的机器学习的框架下,学习的任务就是在给定充分训练数据的基础上来学习一个分类模型;而后利用这个学习到的模型来对测试文档进行分类与预测。然而,咱们看到机器学习算法在当前的Web挖掘研究中存在着一个关键的问题:一些新出现的领域中的大量训练数据很是可贵到。咱们看到Web应用领域的发展很是快速。大量新的领域不断涌现,从传统的新闻,到网页,到图片,再到博客、播客等等。传统的机器学习须要对每一个领域都标定大量训练数据,这将会耗费大量的人力与物力。而没有大量的标注数据,会使得不少与学习相关研究与应用没法开展。其次,传统的机器学习假设训练数据与测试数据服从相同的数据分布。然而,在许多状况下,这种同分布假设并不知足。一般可能发生的状况如训练数据过时。这每每须要咱们去从新标注大量的训练数据以知足咱们训练的须要,但标注新数据是很是昂贵的,须要大量的人力与物力。从另一个角度上看,若是咱们有了大量的、在不一样分布下的训练数据,彻底丢弃这些数据也是很是浪费的。如何合理的利用这些数据就是迁移学习主要解决的问题。迁移学习能够从现有的数据中迁移知识,用来帮助未来的学习。迁移学习(Transfer Learning)的目标就是将从一个环境中学到的知识用来帮助新环境中的学习任务。所以,迁移学习不会像传统机器学习那样做同分布假设。举一个通俗的例子,一个会下象棋的人能够更容易的学会下围棋;一个认识桌子的人能够更加容易的认识椅子;

        在迁移学习方面的工做目前能够分为如下三个部分:同构空间下基于实例的迁移学习,同构空间下基于特征的迁移学习与异构空间下的迁移学习。基于实例的迁移学习有更强的知识迁移能力,基于特征的迁移学习具备更普遍的知识迁移能力,而异构空间的迁移具备普遍的学习与扩展能力。

        迁移学习即一种学习对另外一种学习的影响,它普遍地存在于知识、技能、态度和行为规范的学习中。任何一种学习都要受到学习者已有知识经验、技能、态度等的影响,只要有学习,就有迁移。迁移是学习的继续和巩固,又是提升和深化学习的条件,学习与迁移不可分割。

        对于人工智能的发展路径,不少人可能对基于大数据的人工智能很熟悉,但其实还有基于小样本的尝试和迁移,这也是人工智能的一种路径。

        数据需求量太大正是目前人工智能的一个显著缺点。拥有大数据的人毕竟是少数,这样发展下去,拥有数据越多的人,就能作出越好的人工智能产品,反过来,由于能提供更加便捷的服务,这些人又能吸引更多的用户贡献数据。如此循环,就会造成一些“数据寡头”,进而成为“人工智能寡头”。这会带来复杂的社会问题,从技术上来说,小样本的迁移学习提供了一个缓解问题的方案,可让初创公司在数据较少的领域也能提供人工智能的创新服务。就像深度学习必须具有大数据,而通过学习训练后的知识又很难迁移到新的领域,这也致使了计算机学习效率不高。有网友曾开玩笑,要和alphago比拼麻将,这偏偏戳中了它的软肋。alphago要学会打麻将,必须输入新的数据从头学起!迁移学习,可让计算机把大数据领域习得的知识和方法迁移到数据不那么多的领域,这样,计算机也能够“触类旁通”“举一反三”,而没必要在每一个领域都依赖大数据从头学起。