封面
Facebook 马克扎克伯格个人助理Jarvis,又一个走出电影银幕的科幻作品。扎克伯格的Jarvis已经可以用来帮助和他的妻子Priscilla Chen使用自定义iPhone应用程序,或唤醒Facebook Messenger机器人开灯关灯,根据个人喜好播放音乐,为来访的朋友开门,烤面包,甚至唤醒他们的一岁女儿Max准备上中文课。
文 | 安东尼 -- UniversApp匠人AI专家
编辑 | Lightman
正如《纽约客》的卡通曾说过,
在互联网上,没人知道你是一只狗。
深度学习(Deep Learning),人工智能(AI), 人工神经网络(artificial neural network)等等这些词2016年已经被各个行业的媒体狂轰乱炸了一年,那AI时代什么时候会到来,那我们会预测5年会就会到来,AI会进入生活的各个领域。聪明的你,不能坐以待毙,即将到来的时代,机智的我们要提早作出准备。那就从学习开始吧
首先
机器学习究竟是如何运作的。
通过应用统计学学习技术,研究人员可以开发能够自动识别数据中所存模式的计算模型。为了实现这一点,这个模型需要在大数据集上进行训练,通过这种训练来发现数据中的边界和关系。数据越多,准确度就越高。
那我就给一个更直接的例子。就以撩妹为例。男女恋爱我们大致可以分为三个阶段:
1.初恋期。相当于深度学习的输入层。别人吸引你,肯定是有很多因素,比如:身高,身材,脸蛋,学历,性格等等,这些都是输入层的参数,对每个人来说权重可能都不一样。
2.热恋期。我们就让它对应于隐层吧。这个期间,双方各种磨合,柴米油盐酱醋茶。
3.稳定期。对应于输出层,是否合适,就看磨合得咋样了。
大家都知道谈个恋爱,磨合很重要,不能只有摩擦。那么怎么磨合呢?就是不断学习训练和修正的过程嘛!比如女朋友喜欢草莓蛋糕,你买了蓝莓的,她的反馈是negative,你下次就别买了蓝莓,改草莓了。比如女朋友喜欢吃Passion fruit的酸奶,那你买了passion fruit的酸奶,那她的反馈就是possitive。 当然了,如果你买一些名牌包包,除非真的卖的巨难看,她的反馈都是possitive。那对于计算机来说,他就可以根据如此的信号来学习(machine learning)
深度学习也是一个不断磨合的过程,刚开始定义一个标准参数(这些是经验值。就好比情人节和生日必须送花一样),然后不断地修正,得出图1每个节点间的权重。为什么要这样磨合?试想一下,我们假设深度学习是一个小孩,我们怎么教他看图识字?肯定得先把图片给他看,并且告诉他正确的答案,需要很多图片,不断地教他,训练他,这个训练的过程,其实就类似于求解神经网络权重的过程。以后测试的时候,你只要给他图片,他就知道图里面有什么了。
所以常说的训练集,就是给小孩看的,带有正确答案的图片。对于深度学习而言,训练集就是用来求解神经网络的权重的,最后形成模型。而测试集,用来检验模型准确度的。那基于上述的概念,我想下面的解释就更容易理解
那让我科学的解释下什么是深度学习
深度学习顾名思义,就是有纵深深度的一种学习方法他的分支是是机器学习中一种基于对数据进行表征学习的方法。他的主要目的是使用复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
说到这里是不是感到很复杂,完全不知所云,( 我头晕晕的,感觉不能呼吸)。或者我们简单来人眼视觉系统做一个类比,这样子大家就比较好懂了。其实人的视觉系统也是分层级处理信息。
从视网膜(Retina)出发,经过低级的V1区提取边缘特征,到V2区的基本形状或目标的局部,再到高层的整个目标(如判定为一张人脸),以及到更高层的PFC(前额叶皮层)进行分类判断等。也就是说高层的特征是低层特征的组合,从低层到高层的特征表达越来越抽象和概念化,也即越来越能表现语义或者意图。
而我们大脑的工作过程,或许是一个不断迭代、不断抽象概念化的过程,从原始信号摄入开始(瞳孔摄入像素),接着做初步处理(大脑皮层某些细胞发现边缘和方向),然后抽象(大脑判定眼前物体的形状,比如是椭圆形的),然后进一步抽象(大脑进一步判定该物体是张人脸)。
而深度学习,恰恰就是通过组合低层特征形成更加抽象的高层特征(或属性类别)。其动机在于建立可以模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如,图像、声音和文本。深度学习之所以被称为“深度”,是因为之前的机器学习方法都是浅层学习。 深度学习与传统的神经网络之间有相同的地方,采用了与神经网络相似的分层结构:系统是一个包括输入层、隐层(可单层、可多层)、输出层的多层网络,只有相邻层节点(单元)之间有连接,而同一层以及跨层节点之间相互无连接。这种分层结构,比较接近人类大脑的结构。
工欲善其事,必先利其器
深度学习主流工具
貌似似懂非懂了,至于特征(feature)这一块我们就留在下一次再聊。我们先看看现在主流的度学习主要有工具。
TensorFlow
https://www.tensorflow.org/
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数 组,Flow(流)意味着基于数据流的计算,TensorFlow为张量从图像的一端流动到另一端的计算过程。TensorFlow是将复杂的数据结构传 输至人工智能神经网络进行分析和处理的系统。
TensorFlow已被用于语音识别和图像识别等多项机器深度学习领域,TensorFlow支持CNN、RNN和LSTM算法,这都是目前在图像、语 言和自然语言处理上最流行的深度神经网络模型。TensorFlow使用灵活,不仅支持深度学习,还支持一般机器学习的搭建。
Caffe
http://caffe.berkeleyvision.org
Caffe诞生于加州伯克利分校,现已交由BVLC托管。与TensorFlow一样,Caffe也是由C++开发。Caffe的特点是高性能、CPU和 GPU模式无缝切换,可以运行于Linux、Windows、Mac平台。BVLC版本的Caffe是不支持集群的,但是其它开发者在Caffe的基础上 实现了集群功能,使得一个Caffe训练任务可以同时在多台电脑上运行。
Caffe的全称是Convolutional Architecture for Fast Feature Embedding,顾名思义,Caffe针对卷积架构的网络提供良好的支持,而对于循环神经网络、递归神经网络没有提供支持,在使用灵活性上不如 TensorFlow。
由于卷积神经网络的强大功能,Caffe可以被用于图像分类、目标识别、图像分割等领域,同样也可用于处理非图像数据的分类、回归问题。Caffe使用简 单,一般修改配置文件就可以构建网络,还提供了Python和Matlab接口,直接使用上层接口使得网络构架操作变得直接和简单。Caffe提供许多 Demo使得学习Caffe变得非常轻松。
Caffe于2013年12月开源,并得到NVIDA的长期支持。总体说来,Caffe为深度卷积网络提供了高性能、使用方便的解决方案,同时Caffe支持CPU模式和GPU模式的无缝切换,在学生群体中非常受欢迎。
Torch
http://torch.ch
Torch诞生于2000年,但真正开始受到关注还是开始于FaceBook在2015年1月开放了大量Torch的深度学习模块和拓展。
在Torch的发展史中经历了四个大版本,由最开始使用C/C++语言转变为现在使用Lua语言,目前开源的为Torch7,
得益于Lua的特性,Torch的优点在于快速,灵活,支持CPU模式和GPU模式,在多CPU模式下提速效果最为明显。同样是由于Lua语言书写,缺点 在于没有Python接口,无法整合Python上的资源。如同Caffe一样,Torch对新型网络连接和架构的支持不如Theano和 TensorFlow,深度神经网络中层的种类受到限制。
由于长时间的发展,Torch提供了很多拓展组件,功能丰富,同时Torch在语言、图像、视频等领域应用广泛,得益于Torch优异的性能,现在有许多商业公司将Torch作为人工智能研究的核心。
Theano
http://deeplearning.net/software/theano/
2008年诞生于蒙特利里理工学院,Theano派生了大量深度学习Python软件包,最著名的包括Blocks和Keras。
Theano使用灵活、功能强大,可以自己设计神经单元和神经连接,支持MLP、CNN、RNN-LSTM等多种深度神经网络。Theano是基于C++ 和Python的,其可以在全平台运行,支持CPU模式和GPU模式,同时支持动态生成C代码,其C++/CUDA代码具有很高的性能。
Theano的缺点在于C++代码的编译过程缓慢,Python中Theano包的导入也很缓慢。由于Theano的程序已经被打包,所以很难对Theano本身做出改进。
我们塑造了算法,然后它再来塑造我们
简单的AI 只能根据历史数据对未来进行预测,这就是为什么通过过去的美国总统图像训练的神经网络预测唐纳德·川普(Donald Trump)会赢得这次选举,因为过去的美国总统都是男的,数据没办法推断性别是不是模型的相关特征。所以,更多的因素需要考虑进去,综合分析。
然而,事实上,我们每个人在社会中的身份是动态的、复杂的,其中包含很多矛盾的因素。根据我们的社会背景,我们可能会有不同的行为,这就需要更智能的AI 助手在不同的场景下替我们做出不同的决策。
那来总结下深度学习入门方式
如果你对深度学习感兴趣了,来,来,来,膜拜下四位大神
编程经验(最好是Python )
基本的机器学习知识(尤其是监督学习)
基本的统计学知识(平均值、方差、标准差等)
线性代数(向量、矩阵等)
微积分学(微分、积分、偏导函数等)
当然如果看一些Academic Courses,更有利于夯实基础,可以参考我们之前的关于Machine Learning文章中的在线课程介绍,下面也摘录一些比较有用的课程
斯坦福的Deep Learning公开课
介绍:感觉很棒的公开课程(最重要是有安东尼崇拜的Andrew Ng哦)
《Deep Learning 教程翻译》
介绍:国内的机器学习爱好者很热心的把上面教程翻译成了中文。如果你英语不好,可以看看这个
《Deep Learning 和 Knowledge Graph 引爆大数据革命》介绍:还有2,3部分。http://blog.sina.com.cn/s/blog_46d0a3930101gs5h.htm
《Deep Learning 101》
介绍:因为近两年来,深度学习在媒体界被炒作很厉害(就像大数据)。其实很多人都还不知道什么是深度学习。这篇文章由浅入深。告诉你深度学究竟是什么!
《Deep learning from the bottom up》
介绍:机器学习模型,阅读这个内容需要有一定的基础。
本期小结
深度学习 ( Deep Learning ) 是机器学习 ( Machine Learning ) 中近年来备受重视的一支。深度学习的技术现在商业应用极广泛,目前最好的语音辨识和影像辨识系统都是以深度学习技术来完成,你可能在很多不同的场合听过各种用深度学习做出的惊人应用 ( 例如:最近红遍大街小巷的Google的 AlphaGo,IBM的Watson )。但是深度学习目前仍有大量工作需要研究。目前的关注点还是从机器学习的领域借鉴一些可以在深度学习使用的方法,特别是降维领域。
后面,我们的专家会继续推出关于AI,Deep Learning,Artificial Neural Network的文章,尽请关注。
推荐阅读
我们是谁
Universapp是一家来自澳洲布里斯班,面向全球提供解决方案与服务供应商,致力于通过创新的信息化技术来推动社会的发展与变革,为个人创造新的生活方式,为社会创造价值。Universapp拥有自主研发的系统,大数据和机器学习算法。 公司主营业务包括:行业解决方案、产品工程解决方案及相关软件产品、平台及服务等。包括IOS,Android,Web消费级平台级及企业级开发,对SEO也有相当长的经验。团队由行业顶级IT人才组成,只做情怀产品。
Universapp
微信:universapp
Bring stunning products to life
长按二维码关注
点击阅读原文,查看更多