本节介绍深度学习的重要性。由于深度学习主要是由神经网络演变而来的,而神经网络是机器学习中的一个重要算法,因此本节将首先从机器学习的概念、理论基础和分类等对机器学习算法进行概述;其次介绍神经网络的相关知识;最后阐述深度学习如何促成人工智能和商业的结合。
简单地说,机器学习是一类算法的总称,而这类算法主要是用于从大量数据中提取有用的信息,从而对数据做出分析和预测的一类算法。在人工智能迅速发展的现在,机器学习是必不可少的。
机器学习是多学科知识的结合,包含统计学、计算机科学、脑科学和工程技术等多个学科领域,是一门交叉学科,涉及许多算法理论知识。而机器学习的主要作用是什么呢?面对如今互联网、物联网产生的大量数据,机器学习就是为了研究计算机如何学习人类的能力,从海量数据中寻找出规律,并进行分析和预测。通俗地说机器学习就像是在寻找一个函数,将样本数据作为输入,期望的结果就是输出,最后用学习到的函数去对新样本进行学习。
机器学习的理论基础主要包含过拟合和欠拟合问题、模型成本问题、模型指标评价问题及模型的性能优化问题。
(1)过拟合和欠拟合用于评价模型对新样本的适应能力,过拟合可以说是模型完全符合训练集每个样本,同时也可能学到除数据本身以外的特征,如噪声,因此对于测试集来说就会存在拟合效果较差的情况。可以采取添加正则化项、重新进行数据预处理工作、增加训练集数据这几种方法解决过拟合问题。而欠拟合就是指无法捕捉数据特征,不能很好地拟合训练样本。通常将采用以下方式解决:其一是增加其他特征项,包括组合、泛化、相关性等特征项;其二是减少正则化项;其三是可以添加多项式特征,变成高阶形式以增强泛化能力。
(2)模型成本问题主要是针对成本和模型参数之间关系的一种衡量。成本是模型训练样本中真实值和预测值之间的差距,称为误差平均值。训练模型的目标在于找到一个合适的模型参数,从而使得模型更好地拟合训练集,达到成本函数最小。
(3)模型指标评价问题。在训练模型的过程中,可以采取不同模型,那怎样知道哪个模型更合适数据呢?这就涉及模型准确率的概念。模型准确率主要是用来评价一个模型的好坏,通常针对的是测试集数据。因为模型不仅要拟合训练集,而且要有对新样本的泛化能力,因此需要测试集来评判模型的准确率。通过将测试集的输入带入训练集的模型,再与测试集的真实值进行比较,如果差异较小,表明模型准确率较高。
(4)模型的性能优化问题主要针对训练模型中存在欠拟合和过拟合等情况,通常需要通过一定的方法对模型进行优化,使模型可以更好地拟合数据集。对于新样本数据集,模型的性能优化尤为重要。
从不同的角度看,机器学习的分类也不同,下面主要从学习模式、任务类型和方法这3个方面对机器学习分类。机器学习按照学习模式可以分为监督学习、非监督学习、半监督学习和强化学习4种;按照任务类型可以分为分类、回归模型;按照方法可以分为线性和非线性。
简单地说,监督学习是一种研究标记数据的学习方法,研究者希望通过从标签数据中学习到一个模型,这个模型可以学习到标签数据之间相互的关系,从而得到一个学习结果。在机器学习中,常见的分类和回归基本是监督学习。然而由于现实生活中,多数数据依然是未标记状态,如果采用专家进行数据标记的方式,将消耗大量的劳动力,因此非监督的学习成为一种趋势。非监督学习就是利用未标记的数据进行学习,希望可以自动提取数据的属性和结构,从而给出最后的学习结果,相当于一些聚类算法。但是一些研究者又认为单单学习标记数据或未标记数据并不能有效利用数据信息,因此提出半监督学习。半监督学习是监督学习和非监督学习的结合,同时学习标记数据和未标记数据。强化学习则与监督学习、非监督学习、半监督学习不同,它是一种评价学习,会不断地从环境中学习,一次又一次更改自身状态以判断下一次行动,并给出返回值,以达到结果最优。一般的监督学习包含一些常见的分类和回归算法,无监督学习则包括聚类算法,半监督学习的代表方法为标签传播,强化学习的代表方法是隐马尔可夫模型。
分类算法通常指输出结果为标签的一种算法,一般用于预测离散标签,常用准确度进行分类模型的评估。而回归算法的特点是输出结果为预测数值,一般用于预测连续数量,常用均方差误差进行回归评估。常见的分类算法有K-NN(K-邻近)、随机森林、决策树、朴素贝叶斯、逻辑回归和支持向量机等。回归算法包括线性回归、回归树等。
线性和非线性的区别在于线性可以用一条直线将整个域分为两部分,而非线性指一阶导数不为常数,因此无法用一条直线将整个域划分。常见的机器学习线性模型有广义线性模型、对数线性模型。非线性模型主要是神经网络。
神经网络算法是机器学习算法中的一种,下面简单地介绍神经网络的基本概念、特点及其重要性和常用算法。
神经网络主要是模拟人类直观的一种思维方式,可以将神经网络的节点看成人的神经元,而神经网络就是将不同的神经元进行相互连接,并构成一个网络。在生物学上,神经元之间通过传递的化学物质使得神经元发生“兴奋”,从而会向下一个神经元传递,因此可以将训练数据的输入信息看成在神经元之间传递的化学物质。它实质上是一种网络变换并且拥有并行处理能力的模型,属于一门多交叉学科。另外神经网络的结构主要由输入层、隐藏层、输出层及激励函数构成。输入层接收输入信号,输出层则是得到神经网络的运算结果,隐藏层是反应输入层和输出层之间的关联程度。每一层的输出都是下一层的输入,两层之间的连接方式也可以各不相同。不同的连接方式,将形成不同的神经网络结构,导致不同的输出结果。输入变量与输出变量之间主要靠权重变量来连接,因此输出变量主要由输入变量和权重变量来决定。将每一层都进行加权求和,再根据非线性方程转换为输出。通常在神经网络算法训练时,将确定神经网络的层数和每层神经元的个数,再将数据进行预处理,并且为了加快神经网络的训练速度,尽量先将所有输入数据进行标准化和归一化。
神经网络是由大量的处理单元——神经元连接而成的,它是一种非线性、高度自适应的动力学系统,也是一种通过模拟人的大脑,使自身具有学习能力、记忆能力的信息处理方法。它包含非线性全局作用、并行处理信息能力、良好的容错性和分布式存储信息等特征。下面将从以下几个特征介绍神经网络。
(1)并行处理信息、分布式存储信息。
神经网络主要是由大量神经元连接而成的复杂非线性网络系统,每个神经元都具有数据处理能力,因此神经网络具有并行处理能力。虽然每个神经元对数据的处理能力有限,但是多个神经元一起工作就显示出一种高效的协作能力。
神经网络是一种并行结构采用分布式存储信息的方式,每个神经元都会存储数据的一部分信息,最后通过联想记忆将每一个神经元包含的数据信息连接在一起,因此神经网络具有记忆和联想的功能。神经网络信息处理的并行性和存储信息的分布性说明神经网络在时间和空间上都是并行的。
(2)高度的非线性、良好的容错性和计算的非精确性。
在生物学中,神经元可能因为传递的化学物质而产生“兴奋”,也可能没有反应,而在神经网络中,神经元依然会保存着两种状态,即激活和抑制,这两种行为其实在数学上是一种非线性性质。另外神经网络的每个神经元之间相互并行工作及错乱交替的网状结构,也使得神经网络表现出一种非线性。由于神经网络的每个神经元只保存信息中的一部分,这将有利于神经网络的容错性。尤其是当一个神经元损坏时,可以通过对其他神经元的信息进行联想记忆搜索,对损坏的神经元的信息进行补充,从而减小对整个神经系统的影响。因为神经网络的容错能力强,所以它也能对一些模糊信号进行处理并得到一种最优结果。因此神经网络给出的最后结果不是精确不变的。
(3)自学习、自组织与自适应性。
神经网络另一个特征就是具有自学习、自组织和自适应的能力。其中自适应指神经网络可以适应训练数据集的变化,即适应环境变化的能力。这表明人工神经网络能够处理各种有变化的信息,通过自身的学习、自动组织神经网络的网络结构和调节网络参数来使结果最优。在训练过程当中,神经网络将会根据外界的刺激进行神经元连接参数的调整,从而重新构建出神经网络。因此神经网络减少了传统学习方法的约束条件,提高了模型的灵活性。
由于神经网络相比传统算法具有如上所述的诸多优势,因此它在预测分类方面效果更好,从而被广泛应用于经济、军事、企业管理、市场分析、模式识别和决策优化等许多方面。
神经网络的模型很多,下面简单介绍两种神经网络结构,分别是径向基函数(Radial Basis Function, RBF)网络和自组织映射(Self-organizing Maps, SOM)网络。
(1)RBF网络是一个由输入层、隐藏层和输出层构成的网络,只含一个隐含层的前馈神经网络,其中输入层空间与隐藏层空间呈现一种非线性的结构,而隐藏层空间和输出层空间之间则是一种线性结构。RBF网络结构如图4-5所示。
图4-5 RBF网络结构
从图4-5中,RBF网络可视为将一个具有p维特征{x 1 ,x 2 ,……,x p }的样本输入一个输入层为p个神经元的神经网络中,再将p个低维的特征通过含有h个神经元的隐藏层映射得到一个高维的特征表示{c 1 ,c 2 ,……,c h },从而使得数据在高维的空间里实现线性可分。其中该映射关系主要是将径向基函数作为连接输入层和隐藏层之间的一个激励函数,使输入层空间和隐藏层空间不需要连接权重,只需要确定RBF的中心点。最后隐藏层与输出层之间通过权重参数W={w 1 ,w 2 ,……,w h }学习一种线性关系,并通过线性方程求出网络的权重最优解,避免了局部极小问题。
(2)SOM网络是一种无监督的神经网络,且它的输出神经元之间存在一种相互竞争的关系,即在同一个时刻,只能有一个输出神经元被激活。这种竞争可以通过在神经元之间具有横向抑制的连接(负反馈路径)来实现,其结果是神经元被迫对自身进行重新组合。因此,可以将高维数据映射到低维,保证高维数据的相似样本可以在低维空间处于相邻的位置。
SOM网络的主要目标是将任意维度的输入信号模式转换为一维或二维离散映射,并以拓扑有序的方式自适应地执行这种变换。它的本质是一种只有输入层-输出层的神经网络。输出层中的一个神经元代表一个需要聚成的类。训练时采用“竞争学习”的方式,每个输入的样例在输出层中找到一个和它最匹配的神经元,称为它的激活神经元及最佳匹配单元,紧接着用随机梯度下降法更新激活神经元的参数。同时,和激活神经元临近的点也根据它们距离激活神经元的远近而适当地更新参数,不断地迭代,直到整个过程收敛。所以,SOM的一个特点是,输出层的神经元是有拓扑关系的。这个拓扑关系是由自己确定的,如果想要一维的模型,需要将输出层神经元依次连成一条线;如果想要二维的拓扑关系,输出层神经元需要形成一个平面,如图4-6所示。
图4-6 SOM网络二维拓扑图
最近学者和广大研究人员对人工智能的兴奋,很大程度上来自深度学习领域的进步。深度学习是一套基于人工神经网络实现机器学习的技术。早期的人工智能系统松散地模拟了神经元在大脑中的相互作用方式,神经网络只有3~5层和10个神经元,而如今深度学习网络可以有10层或更多层,模拟神经元数以百万计。企业的各种商业场景也逐渐开始越来越多地采用人工智能技术,且往往都产生了意想不到的结果。
基于深度学习,人工智能能够在音频和图像中分析大量高维数据,从而有效地检测工厂装配线或飞机引擎中的异常情况。在物流方面,人工智能可以优化投递交通线路选择,提高燃油效率并缩短交货时间。在客户服务管理方面,由于语音识别的改善,人工智能已成为呼叫中心的重要管理工具。在汽车领域,深度神经网络依靠一系列简单可训练的神经元相互协作,学习完成像驾驶这样的复杂任务。在医疗领域,深度学习驱动的计算机视觉技术对医疗影像进行自动分析,帮助医生锁定病灶,提供诊断建议和依据。
本节接下来将从电力系统、自动驾驶、医疗3个场景,详细描述深度学习促进人工智能与实际商业结合的成功案例。
供电网络的安全一直是电力工业发展的关键点。由于运行压力的增加可能导致电力系统处于高应力状态,因此需要对电力系统进行脆弱性评估,以确定其在发生任何无法预见的灾难性情况时能否继续提供服务的能力。因此人们希望使用人工智能技术实现对电力系统的评估,从而保障供电网络的安全。电力系统安全评估是估计系统的安全级别,它包含漏洞导致电压不安全、静态不安全和动态不安全。但是,在漏洞评估中,它不仅要考虑安全信息,还要考虑发电损失在整个系统的信息,以及由于发电中断、线路中断造成的电力损失。电力系统包含许多关于电力系统的输入信息状态,包括负载流量信息(如电压、电流)和实际功率等其他信息。结合人工智能在电力系统安全中的应用,电力系统性能得到了提高。其中人工神经网络、模糊逻辑这两大人工智能技术已经在供电网络安全评估中取得重大的突破。
随着人工智能技术的发展,人工智能已经渗透到人们的生活中,从语音处理到自动驾驶,虽然有很多的企业正在积极地探索自动驾驶的构建,但是自动驾驶在一个复杂的环境下是难以预测的。深度学习可以帮助实现感知、定位和规划的功能。深度学习在自动驾驶中的应用,可以通过收集驾驶员的驾驶数据,来学习和逼近人类驾驶轨迹。还可以通过自身判别以更新和保存正确的驾驶方式。在现实中,目前实现自动驾驶的方式更多是通过模拟器自身的判别。
无人驾驶汽车的“大脑”是计算机,图4-7所示是某无人驾驶车软件系统架构,其中无人车一般选用工业环境下的计算机——工控机。工控机上运行着操作系统,操作系统中运行着无人驾驶软件。操作系统之上是支撑模块(这里的模块指的是计算机程序),对上层软件模块提供基础服务。
支撑模块包括:虚拟交换模块,用于模块间通信;日志管理模块,用于日志记录、检索及回放;进程监控模块,负责监视整个系统的运行状态,如果某个模块运行不正常,则提示操作人员并自动采取相应措施;交互调试模块,负责开发人员与无人驾驶系统的交互。
深度学习可以提高汽车识别道路、行人和障碍物等的效率和正确率。通过大量数据的训练之后,汽车可以将收集到的图形、电磁波等信息转换为可用的数据,利用深度学习算法实现无人驾驶。
无人驾驶汽车通过雷达等收集到数据时,对原始的训练数据首先要进行数据的预处理,计算均值并对数据的均值做均值标准化、对原始数据做主成分分析、使用PCA白化或ZCA白化。例如,将激光传感器收集到的时间数据转换为车与物体之间的距离;将车载摄像头拍摄到的照片信息转换为对路障的判断、对红绿灯的判断和对行人的判断等;将雷达探测到的数据转换为各个物体之间的距离。
将深度学习应用于无人驾驶汽车中,主要包含以下步骤。
第1步:准备数据,对数据进行预处理后,再选用合适的数据结构存储训练数据和测试元组。
第2步:输入大量数据对第一层进行无监督学习。
第3步:通过第一层对数据进行聚类,将相近的数据划分为同一类,随机进行判断。
第4步:运用监督学习调整第二层中各个节点的阈值,提高第二层数据输入的正确性。
第5步:用大量的数据对每一层网络进行无监督学习,并且每次用无监督学习只训练一层,将其训练结果作为其更高一层的输入。
第6步:输入之后用监督学习去调整所有层。
图4-7 某无人驾驶车软件系统架构
目前,百度的Level4级巴士“阿波龙”已经量产下线,阿波龙能载客14人,最高时速可达70km/h,这批车将会投放到北京、深圳和武汉等城市的机场、公园等固定场所开始商业化运行。驭势科技与凯德集团选定杭州来福士广场,探索无人驾驶车在大型综合商业地产项目的应用落地。这是中国范围内,无人驾驶技术和商业地产的首次跨界合作,是无人驾驶技术商业化应用的又一次突破。
让一个机器人透视人类的身体,洞察人体内的蛛丝马迹,比经验丰富的老教授更快更准地找出沉疴暗疾,这会让人感到惊悚还是幸运?
读者即使从未进过医院影像科,也应该对CT、核磁共振(MRI)、B超等检查项目有所耳闻。仅2016年,全球诊断成像设备市场价值就高达227亿美元,且增长趋势明显。海量的医疗影像数据在帮助诊断之余,衍生出来的一个问题就是需要大量的医生来“看片”,这也让影像科医生的负担日益加重。
人工智能心电图诊断系统在中国已应用于临床诊断。在复旦大学附属中山医院徐汇医院,人工智能可辅助潜在急重症的转急诊,转诊时间从40分钟降至2分钟。此外,人工智能智能影像识别、人工智能智能语音识别、人工智能全科医生等已在该院应用,人工智能技术覆盖疾病风险预警、医疗影像、辅助诊疗、药物挖掘、健康管理等多个方面。人工智能全科医生可为患者提供预问诊服务,在快速收集病症和病史后,自动分诊安排最合适的专家医生,通过辅助医生进行鉴别诊断,为患者提供更精准、个性化的诊疗意见。这不仅能帮助医生节省大量时间,提高准确率,还可以提高患者的就医效率和就医体验。另外,地处偏远地区、患疑难杂症和需要定期随访的患者,也可通过远程医疗、线上专家会诊和人工智能智能机器人随访等方式,足不出户获得优质医疗服务。