迁移学习,多任务学习和深度学习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
迁移学习(Transfer Learning)
迁移学习出现的背景如下:在一些新兴领域很难得到我们需要的大量的训练数据,另外,传统的机器学习需要对每个领域都标定大量训练数据,这将会耗费大量的人力与物力。而迁移学习(Transfer Learning)的目标是将从一个环境中学到的知识用来帮助新环境中的学习任务。因此,相对于传统的机器学习假设训练数据与测试数据服从相同的数据分布,迁移学习不会像传统机器学习那样作同分布假设。
迁移学习是指一个学习算法可以利用不同学习任务之间的共性来共享统计的优点和在任务间迁移知识。传统的机器学习假设训练数据与测试数据服从相同的数据分布。如果我们有了大量的、在不同分布下的训练数据,完全丢弃这些数据也是非常浪费的。如何合理的利用这些数据就是迁移学习主要解决的问题。迁移学习可以从现有的数据中迁移知识,用来帮助将来的学习。
多任务学习(Multi-task Learning)
Multi-tasklearning(多任务学习)是和single-task learning (单任务学习)相对的一种机器学习方法。拿大家经常使用的school data做个简单的对比,school data是用来预测学生成绩的回归问题的数据集,总共有139个中学的15362个学生,其中每一个中学都可以看作是一个预测任务。单任务学习就是忽略任务之间可能存在的关系分别学习139个回归函数进行分数的预测,或者直接将139个学校的所有数据放到一起学习一个回归函数进行预测。而多任务学习则看重任务之间的联系,通过联合学习,同时对139个任务学习不同的回归函数,既考虑到了任务之间的差别,又考虑到任务之间的联系,这也是多任务学习最重要的思想之一。
多任务学习的优势在哪呢?单任务学习的过程中忽略了任务之间的联系,而现实生活中的学习任务往往是有千丝万缕的联系的,例如,当一名守门员在学习如何扑救时,并不是单纯地学习如何去扑球,而是会涉及许多相关的学习内容,比如如何进行预判,如何移动脚步,如何腾身起跳,如何平稳落地等。相似的,在计算机领域,多标签图像的分类,人脸的识别等等,这些任务都可以分为多个子任务去学习,多任务学习的优势就在于能发掘这些子任务之间的关系,同时又能区分这些任务之间的差别。
目前多任务学习方法大致可以总结为两类,一是不同任务之间共享相同的参数(common parameter),二是挖掘不同任务之间隐藏的共有数据特征(latent feature)。
深度学习(Deep Learning)
Deep Learning的一个别名Unsupervised Feature Learning,就可以顾名思义了,非监督,即不要人参与特征的选取过程。
就人体的感知来说,人的视觉系统的信息处理是分级的。从低级的V1区提取边缘特征,再到V2区的形状或者目标的部分等,再到更高层,整个目标、目标的行为等。也就是说高层的特征是低层特征的组合,从低层到高层的特征表示越来越抽象,越来越能表现语义或者意图。而抽象层面越高,存在的可能猜测就越少,就越利于分类。Deep Learning就是模仿这个过程提出的。
Depth 概念:一个输入与一个输出之间最长路径的长度
Deep Architecture 的三个特点:
1.深度不足会出现问题;
2.人脑具有一个深度结构(每深入一层进行一次abstraction,由lower-layer的features描述而成的feature构成);
3.认知过程逐层进行,逐步抽象
Deep Learning Algorithm 的核心思想:把learning hierarchy(学习层级)看做一个network,则:
1.无监督学习用于每一层网络的pre-train;
2.每次用无监督学习只训练一层,将其训练结果作为其higher一层的输入;
3.用监督学习去调整所有层