嵌牛IT观察

深度学习和机器学习有什么区别?

2018-11-07  本文已影响0人  倚楼睇风雨

姓名:王靖尧  学号:16020188025

转载自https://www.zhihu.com/question/41268372/answer/499938700


人工智能(Artificial Intelligence)

人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。我们来分解一下这个概念。“人工智能”是“一门技术科学”,它研究与开发的对象是“理论、技术及应用系统”,研究的目的是为了“模拟、延伸和扩展人的智能”。既然如此,那么买菜用的“计算器”算是人工智能吗?严格地说是算的,因为它至少做了“模拟”人在计算方面的智能,并扩展了这个能力(比人算得更快)。我们每天编码驱动计算机去帮我们干活,这个算是人工智能吗?也算的。所以,首先不用妄自菲薄,其实大家早已是“人工智能”的从业者了。我们现在看到的貌似很高端的技术,如图像识别、NLP,其实依然没有脱离这个范围,说白了,就是“模拟人在看图方面的智能”和“模拟人在听话方面的智能”,本质上和“模拟人在计算方面的智能”没啥两样,虽然难度有高低,但目的是一样的——模拟、延伸和扩展人的智能。另外,人工智能也不是啥新概念,事实上这是50年代提出的东西了(比你们老多了),现在这么火热,顶多只能算是“诈尸”,谈不上“新生”。

随着人对计算机科学的期望越来越高,要求它解决的问题越来越复杂,摧枯拉朽地打个小怪已经远远不能满足人们的诉求了。1+1好算,1+2也不难,这些已经能解决的问题暂且按下不表。要解决的问题域越来越复杂,即使是同一个问题,其面对的场景也越来越多。咱总不能每新出来一种场景,就让码农去查找switch,然后在default前去再加一个case吧;世间的场景千千万,那得多少个case啊,杀个码农祭天也保不齐会出问题啊。那怎么办呢?于是有人提出了一个新的思路——能否不为难码农,让机器自己去学习呢(提出这个概念的人一定做过码农)?

机器学习

所以,机器学习的定义就出来了。机器学习就是用算法解析数据,不断学习,对世界中发生的事做出判断和预测的一项技术。研究人员不会亲手编写软件、确定特殊指令集、然后让程序完成特殊任务;相反,研究人员会用大量数据和算法“训练”机器,让机器学会如何执行任务。这里有三个重要的信息:1、“机器学习”是“模拟、延伸和扩展人的智能”的一条路径,所以是人工智能的一个子集;2、“机器学习”是要基于大量数据的,也就是说它的“智能”是用大量数据喂出来的,如果缺少海量数据,它也就啥也不是了;3、正是因为要处理海量数据,所以大数据技术尤为重要;“机器学习”只是大数据技术上的一个应用。常用的10大机器学习算法有:决策树、随机森林、逻辑回归、SVM、朴素贝叶斯、K最近邻算法、K均值算法、Adaboost算法、神经网络、马尔科夫。Apache有个开源项叫mahout,提供了这些经典算法的实现;但是后来spark出来了,由于在内存迭代计算方面的优势,一下子抢过了这个风头,目前spark自带的MLlib被使用得更为广泛。虽然mahout也在向spark转,但是在技术的世界里就是这样的,只有新人笑,哪闻旧人哭。

深度学习

相较而言,深度学习是一个比较新的概念,算是00后吧,严格地说是2006年提出来的。是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术。它的基本特点,是试图模仿大脑的神经元之间传递,处理信息的模式。最显著的应用是计算机视觉和自然语言处理(NLP)领域。显然,“深度学习”是与机器学习中的“神经网络”是强相关,“神经网络”也是其主要的算法和手段;或者我们可以将“深度学习”称之为“改良版的神经网络”算法。深度学习又分为卷积神经网络(Convolutional neural networks,简称CNN)和深度置信网(Deep Belief Nets,简称DBN)。其主要的思想就是模拟人的神经元,每个神经元接受到信息,处理完后传递给与之相邻的所有神经元即可。所以看起来的处理方式有点像下图(想深入了解的同学可以自行google)。

神经网络的计算量非常大,事实上在很长时间里由于基础设施技术的限制进展并不大。而GPU的出现让人看到了曙光,也造就了深度学习的蓬勃发展,“深度学习”才一下子火热起来。击败李世石的Alpha go即是深度学习的一个很好的示例。Google的TensorFlow是开源深度学习系统一个比较好的实现,支持CNN、RNN和LSTM算法,是目前在图像识别、自然语言处理方面最流行的深度神经网络模型。事实上,提出“深度学习”概念的Hinton教授加入了google,而Alpha go也是google家的。在一个新兴的行业,领军人才是多么的重要啊!

总结

人工智能是一个很老的概念,机器学习是人工智能的一个子集,深度学习又是机器学习的一个子集。机器学习与深度学习都是需要大量数据来“喂”的,是大数据技术上的一个应用,同时深度学习还需要更高的运算能力支撑,如GPU。以一张图来结尾。

上一篇下一篇

猜你喜欢

热点阅读