大数据分析挖掘原创作品,欢迎大家疯狂转发

 机构、自媒体平台转载务必至后台留言,申请版权


后台回复【0508】

获得课程精彩图片

同时还可以获得独家推荐

《Deep Learning》全本

你一定不想错过!

 文坚

明略数据 数据挖掘工程师 

本硕就读于香港科技大学,研究生发表论文于顶级mobicom并获美国专利,参加阿里大数据竞赛,于70000支队中获前10名,毕业后于阿里工作,负责探索个性化排序,相关研究工作投稿被KDD接收。Spark,Scikit-Learn,TensorFlow项目contributor。目前为明略数据资深数据挖掘工程师,主要负责数据挖掘工作。

课程回顾

Review

大家好,我是黄文坚,本科硕士毕业于香港科技大学,前阿里员工,现明略数据数据挖掘负责人。曾发表论文与顶级会议SIGMOBILE MobiCom, 也有一篇 KDD论文被接收。参加阿里巴巴大数据挖掘竞赛,于7000只队伍中获前10Spark, Scikit-Learn, Google TensorFlow contributor, 在深度学习工具TensorFlowcontributor中排名前20

 

今天给大家讲讲深度学习。我给大家讲的比较轻松一点,今天我不讲技术原理,主要讲讲技术应用。

 

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

 

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

 

 

 

 

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

 

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

 

 

 

 

 

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

 

 

 

我们再看看AlphaGo

 

 

 

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

 

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

 

 

 

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

 

 

 

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

 

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

 

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

 

 

 

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

 

 

 

 

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

 

Neural Doodle 将涂鸦变成绘画

(GIF图片更精彩,但尺寸过大,大家直接回复0508即可查看)

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

Image Analogies 使用深度学习变形图片。

 

 

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



(GIF图片更精彩,但尺寸过大,大家直接回复0508即可查看)

 

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,可以把每个音节都识别出来,发音中略微有一些口音和错误,也能够把大致的意思正确的识别出来。这个是语音识别的可视化的图像,我们把语音信号降维成一个平面的图,你会发现同一个元音音节和辅音音节在平面当中很相近的,都被抽象成有相邻关系的点,说明它真正理解了语音这个声频信号代表的含义。


 

(GIF图片更精彩,但尺寸过大,大家直接回复0508即可查看)

 

从核磁共振(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™ 

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

 

 

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的分布式版本方案,只能使用集群中的CPUGPU

 

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

 

好的,谢谢大家,今天的图文讲解部分就到这里了,下面大家可以向我提问。(没能够参与微课的朋友们可以在本文下方留言处留言提问哦~)



问答时间

Question

Q:老师你的CNN在大数据环境下用什么来实现的?

A:我们的CNN在大数据环境下使用分布式的Tensorflow实现的。

Q:可不可以分享一些你们实现CNN方法的资料或者博客?

A: 百度的BDRNN目前没有相关文章,可以参考wrap-CTC,github的开源项目。

Q:你们的这个Datainsight头次听说 性能跟caffe torch比起来咋样呀?

A: 我们不是底层的深度学习框架,是上层的应用,我们底层封装的是分布式的tensorflow,整理成了一个图形化可拖拽的易用可靠的分布式深度学习平台。

Q:有什么深度学习的好书吗,适合初学的?

A:有一般MIT出版的《 Deep Learning》。这本书没实体,只有电子版。(黄老师独家推荐,回复0508即可获得,限时下载,不要错过哦)

Q:可不可以分享一些你们实现CNN方法的资料或者博客?

A:我们的底层CNN使用通过tensorflow实现的,可以参考tensorflow的tutorial。

Q:深度学习在健身上有什么应用,因为我是健身爱好者 。

A:可以用来做健身类运动的推荐系统。

Q:银行不良客户识别用的是什么模型?    

A:深度学习模型,一个多层的神经网络,没有CNN,RNN,但使用了dropout

Q:tensorflow与caffe、theano等那个更适合初学者学习?   

A:最适合初学者的是keras,基于theano和tensorflow的上层封装。

Q:深度学习做推荐系统可以么?  

A:当然可以,做一个分类的模型即可,输出概率

Q:在医学信号处理领域,有应用深度学习的参考文献吗?

A:非常多,可以在acmdl搜索deep learning以及medical image

Q:机器学习可以做决策、分类,也可以做时间序列预测么?

A:可以,类似于CNN和RNN,都是专门为时间序列分析而生的,效果很好。

Q:一般做实验发论文用的硬件配置是怎么样的?需要GPU集群吗? 

A:性价比最高的方案是配一台单机加几块Titan X GPU。

Q:基于spark那几个去哪里找?spark不自带吧? 

A:从github找,那几个名字的都能找到。

Q:在什么样的制造企业使用过?有做过质量分析的吗 ?

A:国内顶尖的制造业,中国中车,做的故障分析。

Q:深度学习可以做视频的目标跟踪吗?

A:可以,可以做object detection。

Q:故障预测那部分实例能详细解释下么?

A:把传感器信号记录的结果当做时间序列,然后用CNN和RNN去处理时间序列,做一个分类模型。


Q:深度神经和bp就是在每次训练都去修正权值吗 ?

A:对的,所有机器学习模型都是在训练中修正参数。

Q:在电商领域,怎么应用深度学习做推荐系统呢?

A:用客户的点击,购买行为,还有画像数据,使用深度学习做一个ctr预估模型。

Q:Learning to Rank 的深度学习模型有哪些, supervised 还是 unsupervised?

A:learning to rank不知道有没有深度学习,只听说过ranksvm, rankgbdt等。

Q:是不是先要给电脑换个好一些的gpu才能搞深度学习?有没有推荐的?价格4000左右。

A:4000左右很难,起码得有一块好的gpu。


Q:工业界基于VGG这样训练好的模型进行再训练的例子多么?这个方法有什么好坏?

A:可以,很好,还可以用google inception v3。 坏处就是对你的问题场景不一定很切合。

Q:深度学习怎么入门?

A:先上手代码,从keras的tutorial开始入门。

Q:差点的gpu,是不是就慢点,也可以做深度学习的,对吗?  

A:对,就是慢点,cpu也可以,使用cpu的话最快的是tensorflow。


Q:深度学习每一层都是一个特征,比如bp网络,中间的隐藏层输出后,可视化就是个抽象的特征吗?

A:是的,每一层是对特征的一种抽象行驶。


Q:有什么深度学习的好书吗,适合初学的。深度学习应该从哪里入门呢?用不用先把ML过一遍再开始学  ?

A:书的话推荐MIT的 《Deep Learning》(黄老师独家推荐,回复0508即可获得,限时下载,不要错过哦),代码从keras的tutorial开始。


Q:CNN模型是否都是supervised?  

A:目前我了结到的是这样的。


Q:深度学习与物联网有何联系?

A:没有特别直接的联系。


Q:深度学习需要高质量数据集,数据集除了UCI,还有哪些公开渠道获得数据集?

A:imagenet, visual genome


Q:深度学习可以用于股票分析吗?  

A:可以,我本人会使用深度学习做股票涨跌预测,量化交易。


Q:是不是可以理解为高品质数据是深度学习成败的最关键因素?  

A:是的,高品质大量的数据是关键。


Q:深度学习是在以往神经网络的基础上每次迭代都增加了权值修正吗 ?

A:不主要是这样,深度学习主要是神经的层数比较多,比较深,对特征的抽象比较好。


Q:在电商领域,怎么应用深度学习做推荐系统呢?   

A:用客户的点击,购买行为,还有画像数据,使用深度学习做一个ctr预估模型。


Q:如何把imagenet 的图片和自己的图片放一起训练 ?       

A:可以先用训练好的google inception v3,再训练自己的图片。


Q:做股票,有具体的实现模型吗?给大家参考   

A:这个不能公开,但是可以讨论思想。


Q:请问在医疗的数字骨科方面有没有应用呢?   

A:很多,针对医疗图像做疾病诊断。


Q:对于因素提取方面,深度学习是不是可以自动进行,对于非监督学习,深度学习效果真的很好吗?  

A:非监督的目前主要是autoencoder, 深度学习三巨头之一说非监督是为了深度学习最重要的方向。


Q:CNN卷积核如何优化还是可以训练调整?    

A:CNN卷积核的参数可以在训练中自动调整,自动优化。


Q:能否介绍下哪个CNN模型的卷积核有自动调整优化的?    

A:所有的有CNN实现的框架,theano,tensorflow,mxnet,caffe,torch都是可以自动优化CNN的参数。


Q:深度学习岗位,编程能力要很强吗?  

A:需要比较强的工程实现能力。


Q:这种处理的结果是预测是否在某一时间节点发生故障吧?那么引发故障的影响因子能做预测么?    

A:引发故障的因子是黑盒分析的,深度学习的模型并不能准确知道。


Q:请问对于时间序列的预测问题除了RNN CNN 以外,是否还有LSTM, 除了深度学习 其他有哪些最常用的机器学习方法呢?

A:LSTM也属于RNN, 其他的一些机器学习方法做时间序列不方便,可以使用ARIMA。


Q:学深度学习,除了看tutorial,还需要怎样来提高?因为tutorial可能都是比较现成的东西。。去参加kaggle?感觉是不是节奏太快?

A:参加kaggle比赛是个好方法,上面要赢得比赛,会经常需要deep learning,还有xgboost。


Q:人工智能这一块,可以推荐些高校和专业吗?老弟今年高考,希望给点建议! 

A:北大智能系。


Q:请问,在电商做用户分类和推荐,主要用什么方法比较好?

A:传统一点的,gbdt+lr, 新的 用深度学习

……


大家关注我们后,可以在文末留言区继续留言提问!



往期微课回顾

(点击图片即可阅读)




微课进行时,周周有精彩


关于转载大数据挖掘分析内容

请给后台留言:“机构名称+文章标题+转载”

长按二维码,马上关注




欢迎投稿 职场/创业方向. 邮箱wangfzcom(AT)163.com:王夫子社区 » 【大数据微课回顾】黄文坚:深度学习在数据挖掘的应用

点评 0

评论前必须登录!

登陆 注册