• 机器学习第一次作业


    人工智能领域的前沿技术介绍、展望、应用(Lifelong Learning)

    背景介绍

    ​ 目前机器学习处理的问题大致可以概括为几个大类,比如计算机视觉(CV)、语音(Speech)、自然语言处理(NLP)、推荐系统等。针对各个大类的不同子类问题, 都会去设计不同的网络结构,设计不同的损失函数, 采用不同的数据集去处理。这使得机器学习看起来“偏科严重”,比如要让AlphaGo去下象棋,就肯定没辙了。换句话说,目前的人工智能,只能处理给定的任务,换一个任务就无能为力了。

    ​ 简单来说,之前我们对于每一个领域的具体问题都会训练一个网络模型,虽然有迁移学习,但是还是要为不同的任务训练很多的模型,我们能否只使用一个模型来不断的学习不同的任务,从而达到可以求解多种问题的能力?这就是终身学习(Lifelong Learning)所要研究的课题。

    ​ 终身机器学习出现的背景可以概括为以下两个方面:第一,随着信息技术的进步,各种数据呈爆炸式增长。第二,传统机器学习算法对大数据环境下的应用问题很多已不再适用,这是因为传统的机器学习算法大多只是关注于小样本范围内的分类等工作,对大数据环境缺乏适应能力。在这样的背景下,终身机器学习应运而生。

    研究现状

    ​ 关于终身机器学习的定义,学术界尚未形成统一的结论,但一般都遵循四个要点:

    • 维护可增长的知识库

    • 按照一定顺序学习

    • 多个任务

    • 知识的正向迁移

    ​ 从上面的四点还有之前的人类学习过程我们可以看出,这里面最重要的一点就是知识的迁移,也就是旧知识如何帮助新知识的学习,知识迁移或者说迁移学习(Transfer Learning)正是终身机器学习的基础。目前人工神经网络领域应用最广泛的迁移学习被叫做微调 (Fine Tune),微调简单的就来说是使用之前训练好的参数,在新数据上面重新训练,使得新参数可以适用于新任务。在这个过程中,由于新任务的参数是基于原先参数训练得到的,如果两个任务之间有很多相似的特征,那么使用新数据集进行训练时的难度就会降低,也就达到了知识迁移的效果。

    ​ 多任务学习(MTL)是迁移学习的一个分支,多任务学习也是是人工智能领域中一种很有前途的高效学习模式,其目标是利用多个相关任务中包含的有用信息,以帮助提高所有任务的泛化性能。理想情况下,无需为每个单独的任务存储大量的专有参数。多任务学习目前也存在多种形式。简单的多任务学习方案是不同的任务使用不同的网络,但是不同的学习任务之间存在共享的特征提取层,不同任务产生的梯度联合更新共享的层。共享的层可以根据人工的共有特征出现的位置进行调整。如果多个任务很相似,那么多任务学习也可能对单个任务的产生提升。

    ​ 下面是有关终身学习的一些算法模型介绍。

    基于解释的神经网络模型EBNN

    • 目标:解决了纯粹的归纳学习在训练数据不足时通常会失败的问题
    • 解决问题的角度:将归纳学习和分析学习相结合
    • 算法思想:将归纳学习和分析学习相结合并增加了给定训练导数与神经网络函数实际导数之间的一致性约束,且进一步提出采用已经学习过任务的信息给出对训练数据的解释,实现不同任务间知识的迁移
    • 贡献点:开创了利用根据先验知识进行演绎推导来进行终身学习的先河

    多任务人工神经网络MTLNN

    • 目标:解决当学习新问题时,学习过的任务知识的滞留和回想问题
    • 解决问题的角度:将学习过的任务进行重演
    • 算法思想:将新任务样本输入已学习过模型中,并将对应的输出结果作为虚拟样本加入新任务学习的ηMTL 网络中进行训练,使得旧任务在学习新任务的同时也得到了巩固
    • 贡献点:引入了任务重演对以前学习的任务进行巩固

    相关多任务学习csMTL

    • 目标:克服MTL网络的局限性
    • 解决问题的角度:增加任务上下文输入集
    • 算法思想:增加输入节点,每一个增加的输入节点分别标记一个任务,但只设立一个输出节点;直接共享任务的表示
    • 贡献点:避免了一次任务训练中必须对其他任务进行任务重演的操作,同时不需要计算任务相关性。

    高效终身机器学习ELLA

    • 目标:提高终身学习的效率
    • 解决问题的角度:设立潜在任务
    • 算法思想:将一组潜在任务作为共享知识保存起来,新任务到来的时候,通过这些潜在任务迁移已经学习到的知识帮助学习新任务,又通过学习到的新任务知识精炼潜在任务,可以使得先前学习的任务模型性能同样得到提升.
    • 贡献点:在与MTL几乎同样的性能下,节省大量时间(超过1000倍),极度高效

    应用展望

    ​ 终身学习和GAN一样都是对于强人工智能实现的尝试。终生学习的实现方式中,最有潜力的应该是多任务学习+进化神经网络这一条道路,在完成多任务的时候允许神经网络随着任务的变化而不断进化,这种方案虽然看起来不错,但实现难度可想而知。网络进化过程中,如何完成多任务的迁移,如何完成网络进化,如何判定亲本性能,这都是大问题。

    ​ 如果能够克服困难,得到的一些初步应用也是极为强大的:

    • 语言学习机:创造一个计算机系统,使其可以持续不断地学习阅读和理解网页。
    • 图像学习机:在最少人工参与的情况下,建立世界上最大的结构化视觉知识库。

    ​ 现有的终身机器学习方法还有很多不足之处,对未来的展望主要体现在以下三个方面:

    • 可迁移知识表示的研究,尤其是适用于任务类别数大且不一定完全相关的情况的知识表示
    • 如何处理数据多源异构问题,这里指的是针对来自不同的数据采集源,分布不同的
      异构数据
    • 结合其他先进技术,如深度学习、知识图谱等,旨在提高特征学习性能和隐含因素捕捉能力以及对知识的组织和利用能力
  • 相关阅读:
    java基础练习 4
    java基础练习 5
    java基础练习 3
    java基础练习 2
    二级联动菜单动态刷新下拉列表的一种实现方法
    疯狂Java讲义笔记(二)
    Windows10 Internet Explorer已停止工作的解决方法
    Git笔记
    Spring Boot笔记
    maven笔记
  • 原文地址:https://www.cnblogs.com/stolf/p/12534237.html
Copyright © 2020-2023  润新知