关于人工智能与深度学习的一些分析
扫描二维码
随时随地手机看文章
发展至今,人工智能可以划分为两类:弱人工智能和强人工智能。前者让机器具备观察和感知的能力,能做到一定程度的理解和推理;而强人工智能是让机器获得自适应能力,解决一些从没遇到过的问题。这里的“智能”从何而来?人工智能又如何取得突破?要从一种实现人工智能的方法——机器学习说起。
与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。
这里有三个重要信息:1. “机器学习”是“模拟、延伸和扩展人的智能”的一条路径,是人工智能的一个子集;2. “机器学习”要基于大量数据,也就是说它的“智能”是用大量数据喂出来的;(敲黑板!!!这个后面会用到)3. 正是因为要处理海量数据,所以大数据技术尤为重要,而“机器学习”只是大数据技术上的一个应用。
虽然传统的机器学习算法在指纹识别、人脸检测等领域的应用基本达到了商业化要求,但“再进一步”却很艰难,直到深度学习算法的出现。
深度学习(Deep Learning)属于机器学习的子类,是目前最热的机器学习方法,但它并不意味着是机器学习的终点。它的灵感来源于人类大脑的工作方式,是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并非是一个全新概念,可理解为包含多个隐含层的神经网络结构。机器学习和深度学习有哪些维度的不同?机器学习是一种实现人工智能的方法,深度学习是一种实现机器学习的技术。一个同心圆就可以展现出它们的关系。
具体不同大致有以下几点:
1. 数据依赖。随着数据量的增加,二者的表现有很大区别。深度学习适合处理大数据,而数据量比较小的时候,用传统机器学习方法也许更合适。
2. 硬件依赖。深度学习十分地依赖于高端的硬件设施,因为计算量实在太大。它会涉及很多矩阵运算,因此很多深度学习都要求有GPU(专门为矩阵运算而设计的)参与运算。
3. 特征工程。简单讲就是在训练一个模型的时候,需要首先确定哪些特征。在机器学习方法中,几乎所有特征都需要人为确认后,再进行手工特征编码。而深度学习试图自己从数据中学习特征。
4. 解决问题的方式。(重点!)解决问题时,机器学习通常先把问题分成几块,一个个地解决好之后,再重新组合。但是深度学习是一次性、端到端地解决。
5. 运行时间。深度学习需要花大量时间来训练,因为有太多参数要去学习。机器学习一般几秒钟最多几小时就可以训练好。但深度学习训练出的模型优势就在于,在预测任务上运行非常快。也是刚刚提到的实时物体检测。
深度学习前加个“分布式”,又是怎么回事?面对越来越复杂的任务,数据和深度学习模型的规模都变得日益庞大。当训练数据词表增大到成百上千万时,如果不做任何剪枝处理,深度学习模型可能会拥有上百亿、甚至是几千亿个参数。为了提高深度学习模型的训练效率,分布式训练出现了——即同时利用多个工作节点,分布式地、高效地训练出性能优良的神经网络模型。
目前主要有两种并行化/分布式训练方法:数据并行化和模型并行化。数据并行化里,不同的机器有同一个模型的多个副本,每个机器分配到数据的一部分,然后将所有机器的计算结果按照某种方式合并;模型并行化里,分布式系统中的不同机器负责单个网络模型的不同部分。比如,神经网络模型的不同网络层被分配到不同机器。