人工智能时代前沿技术社区

首页 > 人工智能 > 热点

深度神经网络中的多任务学习

深度学习是人工智能神经网络基础上发展而来的一种表示学习方法,也是一种机器学习方法,而且从目前来看是人工智能领域最具有发展前景的一个分支。

作者:谭盼雨 | 2017-10-25 15:53:18 | 来源:飞马网

2017年10月24日,飞马网邀请北京大学博士陈晨为大家在线直播讲解有关深度神经网络中的多任务学习及其应用。

陈老师在直播中表示,深度学习是人工智能神经网络基础上发展而来的一种表示学习方法,也是一种机器学习方法,而且从目前来看是人工智能领域最具有发展前景的一个分支。而所谓表示学习,就是要让算法在少量人为先验的情况下,能够自动从数据中抽取出合适的特征,完成原本需要通过特征工程才能得到的结果。在表示学习范畴中,深度学习是通过多层的非线性变换的组合方式,得到更加抽象也更有效的特征表示。

深度学习的主要模型就是各种深度神经网络。其中卷积神经网络是深度神经网络的引领者,主要在图像处理领域;另一个深度神经网络是循环神经网络,在自然语言处理领域同样取得了很大进展。

卷积神经网络

卷积神经网络简称为CNN,要求至少有一层计算为卷积操作,与全链接的结构不同,它能够充分利用图片中相邻区域的信息,通过稀疏链接和共享全局的方法,来减少参数矩阵的规模,能够大大提高效率。卷积神经网络具有局部感知、权值共享、多核卷积的特点,通过卷积层提取的特征之后,会得到比像素更高的特征图,同时为了降维,会采取池化的操作:最大值池化和平均值池化。通过池化,可以缩小图的尺寸。

循环神经网络

语言文字于图像数据不同,语言文字数据是一维的字符序列,文本数据强调文字序列中前后元素之间的互相影响。要预测句子中的下一个词,一般要根据句子中前面的词来做推断。另外,文本序列属于变长的数据,文字信息不能通过任何裁剪,而循环神经网络给出的思路就是:每一个输出的元素的生成都是通过同一个网络,就可以实现一个变长的输出。

随着计算能力的提升和更大规模数据集的出现,沈剑网络模型不但结构越来越复杂,而且规模也在不断增大。因此,深度学习模型发展处更深的结构和更大的规模是必然趋势。

多任务学习

张老师表示,现在大多数机器学习任务都属于单任务学习,对于复杂的问题,也可以分成简单且相互独立的子问题来解决,然后再合并,最终得到复杂问题的结果。这样看起来貌似合理,但其实并不正确,因为在现实世界中,很多问题是无法分解成多个子问题的,即使是分解开了,子问题之间也是相互关联的,通过一些共享因素联系在一起。

而多任务学习就是可以解决这些问题的。它能够将这些子问题合并起来,共同解决。

与多任务学习相对应的就是单任务学习。

* 单任务学习是指一次只学习一个任务,大部分的机器学习任务都属于单任务学习。各个任务的学习是相互独立的。

* 多任务学习是把多个相关的任务放在一起学习,同时学习多个任务。多个任务之间的浅层表示共享。

多任务学习是一种推导迁移学习方法,主任务使用相关任务的训练信号所拥有的领域相关信息,作为一直推导偏差来提升主任务泛化效果的一种机器学习方法。多任务学习的多个任务同时并行学习,梯度同时反向传播。通过底层的共享表示来互相帮助下隵,提升泛化效果。

多任务学习的形式:联合学习、自主学习、带有辅助任务的学习。

多任务学习与其他学习算法的联系与区别:

多任务学习:是迁移学习算法的一种。迁移学习定义一个一个源领域和一个目标领域,在元领域学习并把学习到的知识迁移到目标领域中,提升目标领域的学习效果。

多标签学习:是多任务学习中的一种,建模多个label之间的相关性,同时对多个label进行建模,多个类别之间共享相同的数据和特征。

多类别学习:是多标签学习中的一种,对多个相互独立的类别进行建模。

1.png

多任务学习方法

在上面所提到的四个不同的任务有相同的输入,不同的输出,四个任务有相同的隐藏层,共享隐藏层也就意味着共享了隐藏层上面节点上的参数。参数的共享有两种方法:Hard模式和Soft模式。

Hard模式:共享Hard参数是神经网络MTL最常用的方法,在实际应用中,通常通过在所有人物之间共享隐藏层,同时保留几个特定任务的输出层来实现。

2.png

Soft模式:在共享soft参数时,每个任务都有自己的参数和模型。模型参数之间的距离是正则化的,以便鼓励参数相似性。

3.png

为什么多任务学习有效?

4.png

5.png

6.png

多任务学习应用

7.png

8.png

9.png

总结:

* 单一的深度学习模式可以从多个领域中共同学习一些大型任务。

* 设计一种多模式架构,其中共享尽可能多的参数,并将不同领域的计算模块一起使用。

* 我们相信,这将为未来研究更通用的深度学习架构开辟一条有趣的道路,特别是我们的模型显示出,基于大量数据训练而成的任务,可以迁移学习应用在数据有限的任务上。