您正在使用IE低版浏览器,为了您的雷峰网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
此为临时链接,仅用于文章预览,将在时失效
AI+ 正文
发私信给AI研习社
发送

0

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

本文作者: AI研习社 2019-06-26 18:31
导语:我们通过建模深度神经网络中变量之间的关系来解决以上问题并提升深度神经网络的性能

雷锋网AI研习社按:作为当下最受欢迎的机器学习方法之一,深度神经网络在很多领域取得了非凡的成绩。但是目前的深度神经网络模型依旧存在很多局限性,例如无法自动地设计网络结构、无法有效地降低网络中的参数冗余度、很难处理嵌入在非欧几里得空间的数据和无标签的数据等等。

 

分享嘉宾:常建龙,中科院自动化所在读博士。在2015年获得电子科技大学数学与应用数学专业理学学位,之后师从潘春洪和向世明研究员,在中科院自动化所模式识别国家重点实验室攻读博士学位,主要研究方向为基于关系的深度学习,包括自动机器学习、网络压缩、深度图网络、深度无监督学习等等。目前已在IEEE T-PAMI(2篇), NeurIPS和ICCV (Oral) 等机器学习与计算机视觉顶级期刊和会议发表学术论文。


公开课链接:http://www.mooc.ai/open/course/671?=leifeng


分享主题:基于关系的深度学习(Relation-based Deep Learning)

 

分享提纲:

我们通过建模深度神经网络中变量之间的关系来解决以上问题并提升深度神经网络的性能。

  • 通过考虑样本于样本之间的关系来聚类无标签数据

  • 通过考虑特征与特征之间的关系来处理非欧式空间中的数据

  • 通过考虑神经网络中层与层之间的关系来自动学习网络结构

 

雷锋网AI研习社将其分享内容整理如下:

大家晚上好,首先来做一个自我介绍,我是中国科学院自动化所在读博士生常建龙,很感谢雷锋网提供的平台,可以在这里跟大家交流我的研究和一些具体的成果。我们今天的主题是基于关系的深度学习,这个词我们自己提出来的,还比较新。现在的深度学习,包括它能处理的一些问题,怎样设计结构等都有一定的局限性,对于这些局限性,我们希望通过建立深度网络或者处理的每一个深度模型中,了解到两两变量之间的关系,从而让深度网络变得更优秀一些。

 

首先来看看什么叫做关系。关系的范围其实是非常广的,人和人之间的某种关系,比如父子、母子、兄弟姐妹等等;数学中函数集合里的对应关系、包含关系等等。

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

这些关系不仅生活中很常见,在机器学习中也很常见,比如要在Google里搜关键字,就会在关键字和网页之间建立关系,使得搜索了关键字之后网页可以反馈相应的结果。比如迁移学习等等也是建立数据库与数据库之间的关系。

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

在机器学习深度网络里面也有很多关系,可以说分为很多层面,一种是假如有一个小网络,可以用一些比较常见的算法(Dropout:随机屏蔽一些神经元对性能有益,或者把有些边砍掉能取得比较好的结果)。另外是某些层之间建立了关系之后,能使得训练学习的时候梯度可以更好,对学习也是有益的。另外一个比较火的算法是Batch normalization,它考虑的其实是样本和样本之间的关系。

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

我们看到这些关系的种类有很多,要怎么很好地在深度网络里面利用这些关系,并使得深度网络能处理更广泛的问题、能有更好的性能等等,这类问题要怎么解决呢?接下来我给大家介绍三种,一种是通过考虑样本和样本之间的关系,使得深度网络模型能很好地处理无标签的数据;另外一类就是暂时的CN或DN这种很难处理的数据,可以建立点跟点之间的关系,让深度网络能够处理这种数据;最后一类就是当下比较火的一个方向,深度网络里面两两层之间到底是以什么样的方式来相连,使它有个比较好的效果。

 

接下来从三个方面来介绍基于关系的深度学习。第一个就是假如有一堆没标签的样本,希望建立两两样本之间的关系,然后进行聚类,使得神经网络能够直接做无监督学习。

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结  

可以先看一下什么叫聚类,它的定义是把一些相似的数据聚集到一起,不相似的不聚集到一起,也就是判断是否属于同一类。

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结  

从上面这些简单的定义我们可以对聚类问题做数学上的表达,如下图有g这样一个函数:

  

但是这个表达有两个问题,第一是通过两两样本之间的关系,只能知道样本是第一类还是第二类,没有办法知道这两个样本到底属于哪一类,另一个问题是在做聚类的时候,不知道两个样本是不是属于同一类。

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

接下来看一下怎么处理这两个问题,我们引入了标签特征的概念,也就是把g函数分解成两个f函数的特征,如图所示:

  中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

前面只考虑两两样本的相似性从而判断样本属于哪一类,这里考虑的是怎样得到是否属于同一类的样本。这种做法受启发于课程学习方式,即先学习较简单的样本,再学习复杂样本。对于网络模型而言,怎样叫简单样本呢?如计算出来是1,真实结果是0.9,即为简单样本。

  中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

将所谓的关系建模在深度网络里面有什么优势呢?假如给一个约束条件,用传统的机器学习算法去做会很难算,要对输出做一个约束是很困难的事情,但是我们可以建一个比较简单的层,第一个功能就是将所有的值变为正值,第二就是二范数唯一,k为向量,是人为定义的。

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结  

公式先放一边,来看一下流程图大家会更容易了解一点。有一堆没标签的样本,但是知道这些样本总共属于多少类,在无标签的数据库中随机选两个样本出来,有一个共享的网络,共享的网络之后有一个输出,一方面计算他们的相似度,另一方面是利用他们的点乘。前面这些都是在学习,后面才开始训练,不必考虑关系,直接给样本进行聚类,最后输出的特征和有监督学习是一样的。

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

接下来看一下结果,MNIST最终的准确率能达到98%,效果非常好,很难的样本都能聚出来。

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

有人问到l的维度怎么确定,提前给定是一种方案,也可以学习一个l出来。那么怎么去学习呢?具体做法也就是对之前的一个扩展,以前的时候只考虑样本和样本之间的关系,但其实可以把样本考虑得更全面一些,相当于把所有样本之间的关系都考虑起来。

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

在操作的时候,我们也设置了一些k值的参数,能试试选哪个值损失会最小,细节部分大家可以自己搜索一下。

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

刚才我们讲的是深度无监督学习,考虑样本和样本之间的关系,没标签也可以用深度网络做处理。下面是属于图网络,以前的图像主要处理的是很标准的结构化数据,数据在很标准的格子空间里面,但是在一些其他场景,比如交通流量、分子、DNA或者三维数据之类的,这些数据嵌入在图的结构上面,每一个点有一个值,这类数据怎么处理呢?怎么把他们的关系建模在深度网络里面?

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

可以看一下,现在所谓的深度学习主要受益于CN,特别是在图像这些方面,一个很好的特点就是他考虑局部的关系,把局部数据处理好之后,参数可以在任何一个局部用,这对分类是很有效的。

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

很直观的一个难点在于,确定好的局部数据是有数据关系的。

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

怎样结局这个问题呢?其实是对传统转接做了一个泛化,如图所示:

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

另外要把局部结构的信息建模到转接盒里面,如下图:

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

下面来看一下比较简单的转接方式,有两个通道的输入和一个通道的输出,需要两个转接盒,如下图:

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

现在一个很重要的问题就是,怎样去学习无穷个转接盒?有人可能会猜到,用傅里叶变换,可以把一个序列函数用奇函数表达出来。我们还对转接方式进行了泛化,写成矩阵乘法的形式,更好地理解这种转接到底是怎么做的,如下图:

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

一个很直观的实验是在北京市的交通图上做的,很好地预测北京市的交通流量,另外我们在传统的图像序列也做了实验,如图:

  中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

下面我们给出了集合函数的一般形式,所有的集合函数都能用这个式子来表达,如图所示:

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

最后一个我们要考虑的是层和层之间的关系,那到底网络连接怎么样才最好呢?按照自动机器学习的意思就是说,可以使得网络结构跟着学习的过程慢慢改变,变得最优,到最后能处理更好的问题。

 

现在普遍上都是在做这样一件事情,学一个比较小的结构,这个比较小的结构在网络中任何地方去用,乘多少遍,用小的结构,搭成大的结构出来。可以看到网络结构其实是一个比较离散的东西,但是用强化学习去做过程很慢,需要花费很长的时间训练模型,那最好的办法就是用BP算法。

 

还有就是从连续变到离散之后,怎么传递梯度呢?这是值得考虑的事情。

中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结


一方面希望空间大另一方面还希望传递梯度,怎么做呢?如图:

  中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

另外我们还做了一些分割上面的实验:

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结 

在自动机器学习这方面一个比较好的前景就是,怎样去搜更复杂的任务直接做检测分割等等,这是比较有趣的研究方向。

 中科院常建龙——基于关系的深度学习| AI 研习社 154期大讲堂总结

今天的交流就到这里,谢谢大家。

 

以上就是本期嘉宾的全部分享内容。更多公开课视频请到雷锋网(公众号:雷锋网) AI 研习社社区(https://ai.yanxishe.com/?=leifeng观看。关注微信公众号:AI 研习社(okweiwu),可获取最新公开课直播时间预告。


雷峰网原创文章,未经授权禁止转载。详情见转载须知

分享:
相关文章

编辑

聚焦数据科学,连接 AI 开发者。更多精彩内容,请访问:yanxishe.com
当月热门文章
最新文章
请填写申请人资料
姓名
电话
邮箱
微信号
作品链接
个人简介
为了您的账户安全,请验证邮箱
您的邮箱还未验证,完成可获20积分哟!
请验证您的邮箱
立即验证
完善账号信息
您的账号已经绑定,现在您可以设置密码以方便用邮箱登录
立即设置 以后再说