现在的位置: 首页 > 大数据 > 数据挖掘 > 正文

深度学习在数据挖掘的应用

2016年05月21日 数据挖掘 ⁄ 共 5572字 ⁄ 字号 暂无评论

深度学习是我们明略重要的研究方向,是目前工业界学术界实现了很多令人惊叹功能的工具,也是通向人工智能的必经之路。

我们先来看看深度学习能做什么,Google研究的无人驾驶,其组件由两个部分组成,一个是眼睛,一个是大脑,眼睛是激光测距仪和视频摄像头,汽车收集到这些视频信号之后,并不能很好的识别,为了让汽车能理解我们需要一个大脑,这个大脑就是深度学习,通过深度学习我们可以告诉我们的车载的计算机,现在前面有什么样的物体,并且结构化的抽取出来。

比如说这个是通过挡风玻璃看到的画面,让机器理解,必须要判断视野内的物体是移动还是静止,如果是静止的话,可以当作是安全的物体,只需避让即可,如果是移动的物体,那么还需要我们判断他的速度和行驶方向进行相应的路线规划。

我们再看看人脸识别,我们有很多技术做人脸识别,人脸识别可以做什么其他的东西呢?深度学习不止告诉我们人脸在图片中哪个位置,甚至告诉我这个人脸是谁的脸,是男性、女性,多大岁数都可以学习出来,包括人脸部的重要结点位置可以猜出来这个人是什么样的表情,甚至通过分析他嘴唇的动作,可以说这个人在说什么话,包括头发的颜色,戴什么样的墨镜,嘴唇涂什么样的唇膏都可以识别出来。

再举一个大家熟知的格林深瞳的例子,比如说我们在重要机构里面可以有安防监控,深度学习训练的卷积神经网络CNN,可以识别被监控的人员是否有异常的举动,还有就是对车辆的追捕,这辆车是否有逃逸的可能性,超速行驶,逆行变道的风险。

我们再看看AlphaGo

2016年3月,Google DeepMind研发的AlphaGo 4:1 战胜了世界冠军李世石。标志了一个时代的终结和一个时代的开始,人类在完全信息博弈的竞技中败北,人工智能发展的元年开始。

围棋很难被攻破的原因就是复杂度太高了,每一步棋都有300多种可能,一盘棋平均有200多步,总的状态数量超过了整个宇宙中所有原子的数量,不可能被搜索完整的状态,我们只能通过估算和直觉进行围棋的计算和思考。象棋很早就被攻破了,围棋可以坚持这么久。深度学习可以让机器有人类的直觉,预测人下一步要走什么,同时分析及其应该走哪一步。所以说DeepMind研发的AlphaGo,基本上做到了知己知彼。

我们看看这两个DeepMind深度学习的网络,上边是策略网络,我走到一步的时候,分析棋盘上每个位置有多大价值,给每个位置打一个分数。下边这个估值网络是估算黑白双方的胜率的神经网络。通过这两个网络的结合,再加上一些之前通用搜索的方法,比如蒙特卡洛搜索树,可以让计算机拥有一个非常强的对战能力。事实上是通过复盘的结果,AlphaGo和李世石对战的时候,AlphaGo从一开始就认为自己的胜率有60%以上,到最后基本达到了90%,他对整个棋盘的控制超过了人类的理解了,情况并不是很多评论员所认为的可能双方还是均势,李世石还有机会等等。大局完全都在AlphaGo的掌握当中。

Deep Q Net,深度强化学习可以教会机器人如何灵活使用机械臂完成任务。如果之前让一个机器人编程,让他去夹一个物体,不能有太多的干扰,否则就无法实现准确的抓取。现在我随便放一盒子东西,深度强化网络可以自动训练这个机器人拿什么样的物体,同时训练它怎么去夹,第一次没有夹到那就再学习,再尝试,直到学会。可以说深度学习让机器人拥有几岁小孩拾起物体的能力。

Google DeepDream可以实现梦幻般的图片生产,仿若梦魇一般。

大家看这个图,下边这个图是不是有点抽象,这个画是用深度学习网络自动生成出来的,基本原理就是人观察一张图片的时候,记不住所有的细节,在我们脑子里重构的时候会用之前的经验和概念在脑中塑造一个新的图片,而深度学习也是这个意思,在大数据量的需要上,积累了很多过往的经验和数据,我们给他一幅图片重构的时候,就制造出一个仿佛做梦或者脑海中胡思乱想的时候对这个图片产生的理解。所以我们可以说,它已经具备了人类对事物抽象和重构的能力。

使用深度学习实现的EasyStyle,可以将任意图片内容与另一种图片风格融合

这个图可能大家很熟悉,最上边这位是美国总统竞选人Trump, 中间这幅画是著名画家的画作,通过深度神经网络结合我们可以合成下面的图,没有进行任何算法的调优,它获取上边这个图内容的信息,再获取中间这个图风格的信息,完美的结合就成了中间这张图。

Neural Doodle – 将涂鸦变成绘画

比如说随手涂鸦一幅画,可以得到一幅像模像样的一幅山水画。我们还可以先解析一幅图的主要组成部分,然后调整其中的形状,再把原来的图重构出来,我们可以得出现实生活中不存在的图,这个是类似于人脑对物体的解析和重构的能力。
Image Analogies – 使用深度学习变形图片。

Deep Q Net - 深度强化网络实现AI自动玩游戏

GoogleDeepMind除了做围棋软件还有实现自动玩游戏的AI,人类学习并不是一个监督和非监督的过程,是一个奖惩的机制,你做对的时候会有好的刺激,比如说我哭了,我妈妈过来把饭拿过来了,我吃了,很高兴,我下次可能饿了还要再哭。这套系统也是这样的,随即采取一些策略获得比较高分的时候,他会记住这个策略。下边这幅图是太空大战游戏,使用程序玩游戏已经超过了世界上玩这个游戏选手的最高水平了。

动态记忆网络实现的图片问答系统

我们可以看看这幅图,左边是使用一个基于LSTM长短期记忆网络的动态来对一段语言进行理解,并回答问题。而右边则是直接对图片进行提问并让计算机回答,使用的技术是动态记忆网络。

目前我们可以做到这种程度,问左上角大巴的颜色是什么,最后转换成语言回答,虽然回答只是简单的单词,但是事实上深度神经网络已经理解你的问题,同时在图片上理解相关要素,然后再解析,回答你的能力了。其他几个图也是类似的概念。

Visual Genome - 下一代的图像识别公开数据集
108,249 Images
4.2 Million Region Descriptions
1.7 Million Visual Question Answers
2.1 Million Object Instances
1.8 Million Attributes
1.8 Million Relationships
Everything Mapped to Wordnet Synsets

其实深度学习学习的发展是离不开研究人员对数据集的探索的,之前我们有一个知名的数据集叫做ImageNet,是有几百万张图片让深度学习网络训练和测试。现在它升级了,叫Visual Genome,不止对图片分类,还要看出有什么关联,比如说这里有一个女人,戴着帽子,和帽子是什么关系,是佩戴的关系。她拿着吉他是拿和演奏的关系,我们要找不同物体之间存在的关系。

这个图是一个简单的例子, 深度神经网络可以解析出这个图片上有两个成人和小孩,小孩扔飞盘,大人在看,我们要把关联的关系、动态的关系都挖掘出来。

图像识别与NLP,使用Deep Learning解析图像中的结构化信息,并生成描述性语言。

我们看看这幅图上能做什么,我们可以让深度神经网络先尝试理解这幅画得结构,然后再用语言把这幅画描述出来,比如生成这样一段话:这张图右边有一棵树,左边有一个塔,塔有一个塔尖和一个塔身组成,塔身上有三个窗户,有一个门。塔前有许多人在站着。

Word Embedding, 或者Distributed Representation, 中文叫词向量,是使用深度学习学习出来的单词的向量化表示,有如下特性:
King – Man ≃ Queen – Woman
同时意思相似的词,在空间位置上距离相近。

词向量把我们常用的词汇转化为空间中的某一个点,点有什么特性呢: 如果词汇意思相近的话,在空间中位置应该也是相近的,左上角可以找到许多点都是城市,虽然深度神经网络不知道北京、伦敦在什么地方,里面有什么建筑也都不知道,但是通过大量的学习出来城市的概念,并把他们放在空间中很相近的位置。我们并没有任何的语言和数据教它,是他通过大量的学习自己发现的。

构建A股市场上市公司的深度知识图谱,提供关系挖掘决策分析。知识图谱可以将企业的投融资、上下游,竞争等关系关联起来,从而展示出一家企业在行业中的全貌。

我们学习构建一个深度的知识图谱可以用在企业关系的挖掘,有一家上市公司,比如说是做锂电池的,可以找到他投融资的企业,并将上下游竞争关系全部联起来,这些企业之间会有信息的传递,如果网络构建足够大可以有一个模型,分析预测这个上市公司股价以后未来的走势。

还有一个应用就是语音识别,百度最近有一个语音识别,叫双向循环神经网络BDRNN,可以把每个音节都识别出来,发音中略微有一些口音和错误,也能够把大致的意思正确的识别出来。这个是语音识别的可视化的图像,我们把语音信号降维成一个平面的图,你会发现同一个元音音节和辅音音节在平面当中很相近的,都被抽象成有相邻关系的点,说明它真正理解了语音这个声频信号代表的含义。

从核磁共振(MRI)图像和视频中来诊断心脏疾病,更科学的代替肉眼建立病情诊断模型
一个更加有社会价值的就是深度学习可以作为医疗诊断的重要根据,这是去年特别有名的心脏疾病诊断的比赛,当时参加比赛的最后获得冠军的队伍,他们做到了准确度甚至超过了专家的水平。将几万张图片给深度学习的网络学习规律,其中正确答案是五位专家商讨得到的,但是计算机的水平超过了单个专家的诊断水平。

Deep Learning in Bioinformatics:深度学习在生物医学领域,比如医学图像处理、医学信号处理等有很好的应用基础

还有一个应用的领域,对DNA的解析,有很多遗传病是基因突变引起的,可能不是某一两个节点,可能是同时有几千个节点发生了问题,让人判断究竟怎么组合才会出问题是不可能了。这个时候深度学习可以来告诉我们,我们拿到一个人DNA之后,可以自动分析出来你在未来得某种疾病的几率有多少,可以提早的预防治疗。

我们看看深度学习到底为什么这么厉害?深度学习是一个对特征不断抽象的过程,我们给他一个图片,深度神经网络首先提取出点和边,然后组合成人局部的器官,比如说一个眼睛和鼻子,局部的器官之后可以把拼接成一个个人脸,人脸外貌上有差异,我们用模版再匹配出最相似的就可以看看有没有人脸,深度学习非常像人的学习过程,你必须一层一层的抽象才能理解更深的概念,之所以叫深度是有多层的学习网络,每一层是把特征抽象更高阶的概念,理解非常复杂的事物。

这是深度学习网络可视化的结果,我们给一个识别数字的神经网络一张数字‘8’的图,可以清楚的看到每一层神经网络对原图进行了哪些特征变换。

这是一个深度学习常见的卷积结构,细节不讲了,大家可以感受一下,其中主要了Convolution Layer, Max-Pooling Layer, 以及ReLu Activation。

Auto-Encoder(Layer-wise Training), RBM, DBN
•PReLu, RReLu
•Dropout
•RNN, LSTM
•Max-Out
•Highway (Residual Net)
•Batch normalization
•Weight normalization

随着研究的不断深入,深度学习还有着各种各样的变种和组件,上面这些一些最新的关于深度学习的研究成果。

我们讲讲深度学习在我们明略项目中的应用,我们有个很大的制造业客户,他们有个故障预测的项目,我们能做什么呢?深度学习除了建模的能力比普通的强一点,还可以学习时间序列的结构,设备传感器的数据是一个时间序列,每一秒钟或者多少毫秒产品信号,我们用传统的方法很难处理这么高纬度,这么大数据量的模型法国,深度学习可以理解在时间上的关系,大大提高我们对故障分类的预测。

另外一个就是在银行对不良客户检测的模型中,我们有数百维的储蓄、消费、信贷特征如果我们请专家来做非常困难,因为很多时候,当你的特征太多了,很难想到那么多规则的组合,用深度学习可以进行自动特征组合,比如说发现我的银行的储蓄额很高,但是可能在月底突然取出来了,可能就代表着我可能只是临时在里面,跟别人借的钱放在里面,并不是我有这么高的资金做抵押,这个时候发现的时候,就可以排除在外,这个可能就超过了很多行业专家的工作效率了。

某制造业故障分析及预测,对传感器信号的几百万次检测数值的时间序列分析,使用CNN以及RNN进行建模,对错误进行分类以及预测。

某银行不良客户检测,对客户数百个行内储蓄,消费,信贷特征,以及数十的行外标签特征,使用深度学习进行自动特征组合,提取出高层次的特征,将检测准确率大大提升

深度学习对我们的明略的数据挖掘平台DataInsight是前沿的重要的方向,我们会推出软硬一体的解决方案,也会使用TESLA GPU做深度学习加速器。

NVIDIA DGX-1™
世界第一台为深度学习特别定制的系统。它革命性的性能极大缩短了神经网络的训练时间,性能等效于250台CPU服务器的集群。

NVIDIA Tesla™ P100 accelerator.
第一块Pascal架构的显卡
拥有180亿晶体管
使用 NVIDIA NVLINK™
使用16nm FinFET 制造工艺
Tesla P100 不仅是目前性能最强的GPU加速器,
也是技术最先进的GPU芯片
DataInsight的分布式深度学习系统

基于TensorFlow分布式版的方案,可同时利用集群中每台服务器的CPU以及GPU
基于Spark的分布式方案:Elephas(依赖Keras), SparkNet, CaffeOnSpark(依赖Caffe)
基于CNTK, MXNET的分布式版本方案,只能使用集群中的CPU或GPU

DataInsight将全部支持以上三种方案,并将非算法网络结构的部分全部封装,只暴露给用户对其建模有帮助的参数,简化用户搭建分布式系统的工作。