e-works数字化企业网  »  文章频道  »  先进制造技术  »  先进制造技术综合

解读人工智能技术核心:机器学习

2017/10/9        作者:e-works吴丽萍      
关键字:人工智能  机器学习  
人工智能大师西蒙曾说过:“学习就是系统在不断重复的工作中对本身能力的增强或者改进,使得系统在下一次执行同样任务或类似任务时,会比现在做得更好或效率更高。”
    一、人工智能发展现状
   
    人工智能(Artificial Intelligence,缩写为AI)是对人的意识、思维过程进行模拟的一门新学科。如今,人工智能从虚无缥缈的科学幻想变成了现实。计算机科学家们在机器学习(Machine Learning)和深度学习(Deep Learning)领域已经取得重大的突破,机器被赋予强大的认知和预测能力。2016年AplphaGO成功击败人类世界冠军向世界证明,机器也可以像人类一样思考,甚至比人类做得更好。
    
    目前,人工智能在金融、医疗、制造等行业得到了广泛应用,全球投资从2012年的5.89亿美元猛增至2016年50多亿美元。麦肯锡预计,到2025年人工智能应用市场的总值将达到1270亿美元。与此同时,麦肯锡通过对2016年人工智能市场的投资进行深入分析,发现有将近60%的资金并购围绕机器学习来布局。其中,基于软件的机器学习初创公司比成本更高的基于机器的机器人公司更受投资这欢迎。从2013 年到2016 年,这一领域投资复合年均增长率达到约80%。由此可见,机器学习已经成为目前人工智能技术发展的主要方向。
 
    二、人工智能、机器学习、深度学习之间的关系
 
    在介绍机器学习之前,先需要对人工智能、机器学习和深度学习三者之间的关系进行梳理。目前业界最常见的划分是,机器学习是人工智能的一个重要分支,可以在大数据的支撑下通过各种算法让机器对数据进行深层次的统计分析以进行“自学”;深度学习则是机器学习算法的一种,隶属于人工神经网络体系,现在很多应用领域中性能最佳的机器学习都是基于模仿人类大脑结构的神经网络设计而来的,相比较其他方法,在解决更复杂的问题上表现更优异,深度学习是可以帮助机器实现“独立思考”的一种方式。总体来说,人工智能涵盖了机器学习和深度学习的所有范畴,人工智能研究的主要目标是使机器能够胜任一些通常需要人类才能完成的复杂工作,人工智能、机器学习、深度学习三者之间是逐层包含的关系,如图1所示。
 
  机器学习 
 图1 人工智能、机器学习和深度学习之间的关系
 
    三、机器学习:人工智能的核心技术
 
    从广义上来说,机器学习是一种能够赋予机器学习的能力,以此让它完成直接编程无法完成的功能。但从实践的意义上来说,机器学习是一种通过利用数据训练出模型,然后使用模型预测的一种方法。国外有些学者对机器学习进行了定义,有学者认为,机器学习是对能通过经验自动改进的计算机算法进行的研究;也有学者认为,机器学习是利用数据或以往的经验,以此优化计算机程序的性能标准。不管是以上哪一种,我们都可以认为机器学习是利用经验或数据来改进算法的研究,通过算法让机器从大量历史数据中学习和寻找规律,得到某种模型并利用此模型预测未来,机器在学习的过程中,处理的数据越多,预测就会越精准。
 机器学习 
    图2 机器学习与人类思考的类比
 
    (一)机器学习发展的两大阶段
 
    机器学习的发展可以分为两个阶段:浅层学习(Shallow Learning) 和深度学习(Deep Learning)。
 
    1.浅层学习
 
    20世纪80年代末期,用于人工神经网络的反向传播算法(也称为Back Propagation算法或BP算法)的出现,拉开了浅层学习的帷幕。利用BP算法可以让人工神经网络模型从大量样本中学习出规律,并进行预测。但是,浅层学习模型依靠人工经验来抽取样本的特征,往往要求开发人员挖掘出好的特征。
 
    2.深度学习
 
    2006年,加拿大多伦多大学教授、机器学习领域的泰斗Geoffrey Hinton和学生Salakhutdinov在Science上发表文章《Reducing the Dimensionality of Data with Neural Networks》,翻开了深度学习的新篇章。与浅层学习模型不同,深层学习模型不需要依赖人工经验,通过构建机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。
 
    (二)机器学习的应用范围
 
    从范围上来说,机器学习跟模式识别,统计学习,数据挖掘是类似的,同时,机器学习与其他领域的处理技术的结合,形成了计算机视觉、语音识别、自然语言处理等交叉学科。
 
    (1)模式识别
 
    模式识别=机器学习。两者的主要区别在于前者是从工业界发展起来的概念,后者则主要源自计算机学科。在著名的《Pattern Recognition And Machine Learning》这本书中,Christopher M. Bishop在开头是这样说的:“模式识别源自工业界,而机器学习来自于计算机学科。不过,它们中的活动可以被视为同一个领域的两个方面,同时在过去的十年间,它们都有了长足的发展”。
 
    (2)数据挖掘
 
    数据挖掘=机器学习+数据库。数据挖掘仅仅是一种方式,但不是所有的数据都具有价值,所以数据挖掘思维方式才是关键,加上对数据深刻的认识,这样才可能从数据中导出模式指引业务的改善。大部分数据挖掘中的算法是机器学习的算法在数据库中的优化。
 
    (3)统计学习
 
    统计学习近似等于机器学习。统计学习是个与机器学习高度重叠的学科。因为机器学中的大多数方法来自统计学,甚至可以认为,统计学的发展促进机器学习的繁荣昌盛。例如著名的支持向量机算法,就是源自统计学科。两者的区别在于:统计学习者重点关注的是统计模型的发展与优化,偏数学;而机器学习者更关注的是能够解决问题,偏实践,因此机器学习研究者会重点研究学习算法在计算机上执行的效率与准确性的提升。 
 
    (4)计算机视觉
 
    计算机视觉=图像处理+机器学习。图像处理技术用于将图像处理为适合进入机器学模型中的输入,机器学习则负责从图像中识别出相关的模式。计算机视觉相关的应用非常的多,例如百度识图、手写字符识别、车牌识别等等应用。这个领域将是未来研究的热门方向。随着机器学习的新领域深度学习的发展,大大促进了计算机图像识别的效果,因此未来计算机视觉界的发展前景不可估量。 
 
    (5)语音识别
 
    语音识别=语音处理+机器学习。语音识别就是音频处理技术与机器学习的结合。语音识别技术一般不会单独使用,一般会结合自然语言处理的相关技术。目前的相关应用有苹果的语音助手Siri等。 
 
    (6)自然语言处理
 
    自然语言处理=文本处理+机器学习。自然语言处理技术主要是让机器理解人类的语言的一门领域。在自然语言处理技术中,大量使用了编译原理相关的技术,例如词法分析,语法分析等等,除此之外,在理解这个层面,则使用了语义理解,机器学习等技术。作为唯一由人类自身创造的符号,自然语言处理一直是机器学习界不断研究的方向。 
 
 机器学习 
图3 机器学习的应用范围
 
    (三)机器学习的方法分类
 
    虽然机器学习方法通常可以分为三种类型:
 
    1.监督学习(Supervised Learning):给学习算法提供的训练数据是有标记的,对于每一个输入,学习者都被提供了一个回应的目标。监督学习主要被应用于快速高效地教会人工智能掌握现有的知识。常见的算法有决策树、Adaboost算法、人工神经网络算法、SVM(即支持向量机)算法、朴素贝叶斯、K-近邻、逻辑回归、随机森林算法。
 
    2.无监督学习(Unsupervised Learning):给学习算法提供的训练数据是未标记的,并且要求算法识别输入数据中的模式,它先建立一个模型,再用其试着对输入的数据进行解释,并用于下次输入。在现实世界中,大部分数据是不带标签的, 所以无监督学习要比监督学习应用更广泛。常见的算法分为两大类:聚类算法和降维算法。最有代表性的算法有K-MEANS算法和主成分分析算法(PCA算法)。
 
    3.强化学习(Reinforcement Learning):是一种在线的、无导师机器学习方法,该方法与动态环境相互作用,把环境的反馈作为输入,通过学习选择能达到其目标的最优动作。强化学习这一方法背后的数学原理与监督/非监督学习略有差异。监督/非监督学习更多地应用了统计学,而强化学习更多地结合了离散数学、随机过程这些数学方法。常见的算法有:TD(λ)算法、Q_learning算法、Sarsa算法。
 
    四、深度学习:机器学习的更高智能进阶
 
    利用机器学习,人工智能系统获得了归纳推理和决策能力;但深度学习更将这一能力推向了更高的层次。深度学习是机器学习研究领域的分支,隶属于神经网络体系。深度学习通过建立、模拟人脑的信息处理神经结构来实现对外部输入的数据进行从低级到高级的特征提取,从而能够使机器理解学习数据,获得信息,因具有多个隐藏层的神经网络又被称为深度神经网络。深度学习将数据输入系统后,通过建模及模拟人脑的神经网从而进行学习的技术,像生物神经元一样,神经网络系统中有系列分层排列的模拟神经元(信息传递的连接点),且经过每个神经元的响应函数都会分配一个相应的“权值”,表示彼此之间的连接强度。通过每层神经元相互“连接”,计算机就可以由达到最佳方案时所有神经元的加权和,从而可以实现这一决策方案。
 
    目前,在深度学习中,卷积神经网络(Convolutional Neural Network,简称CNN)作为最有效的深层神经网络已经被越来越多地应用到许多智能领域之中,并且它们越来越像人类了,例如Google、Siri和FaceBook等都应用了卷积神经网络。在中国目前非常关注的智能制造领域中,制造机器人是深度学习的经典案例,深度学习的机器人能够自动适应外部环境的变化,面对新型任务时可以自动重新调整算法和技术。
 
    五、机器学习在工业生产中的应用场景 
 
 
    机器学习作为人工智能的最有效的实现方法,已经在工业制造等众多场景中得到了广泛应用,以下是机器学习在工业生产中的五个应用场景。
 
    (一)代替肉眼检查作业,实现制造检查智能化和无人化
 
    例如工程岩体的分类,目前主要是通过有经验的工程师通过仔细鉴别来判断,效率比较低,并且因人而异会产生不同的判断偏差。通过采用人工智能,把工程师的经验转化为深度学习算法,判断的准确率和人工判断相当,得到对应的权值后开发出APP,这样工程人员在使用平板拍照后,就可以通过APP自动得到工程岩体分类的结果,高效而且准确率高。
 
    (二)大幅改善工业机器人的作业性能,提升制造流程的自动化和无人化
 
    工业上有许多需要分捡的作业,如果采用人工的作业,速度缓慢且成本高,而且还需要提供适宜的工作温度环境。如果采用工业机器人的话,可以大幅减低成本,提高速度。例如图4所示的Bin Picking机器人。
 
 机器学习 
    图4 零件分检
 
    但是,一般需要分捡的零件并没有被整齐摆放,机器人虽然有摄像机看到零件,但却不知道如何把零件成功的捡起来。在这种情况下,利用机器学习,先让工业机器人随机的进行一次分捡动作,然后告诉它这次动作是成功分捡到零件还是抓空了,经过多次训练之后,机器人就会知道按照怎样的顺序来分捡才有更高的成功率,如图5所示。
 
 机器学习 
    图5 利用机器学习来进行散堆拾取
 
    如图6所示,经过机器学习后,机器人知道了分捡时夹圆柱的哪个位置会有更高的捡起成功率。
 
 机器学习 
    图6 实验影像
 
    如图7表明通过机器学习后,机器人知道按照怎样的顺序分捡,成功率会更高,图中数字是分捡的先后次序。
 
 机器学习 
 
    图7 确定分拣顺序
 
    如图8所示,经过8个小时的学习后,机器人的分捡成功率可以达到90%,和熟练工人的水平相当。
 
 机器学习 
    图8 分捡成功率大幅提升
 
    (三)工业机器人异常的提前检知,从而有效避免机器故障带来的损失和影响
 
    在制造流水线上,有大量的工业机器人。如果其中一个机器人出现了故障,当人感知到这个故障时,可能已经造成大量的不合格品,从而带来不小的损失。如果能在故障发生以前就检知的话,就可以有效得做出预防,减少损失。如图9中的工业机器人减速机,如果给它们配上传感器,并提前提取它们正常/不正常工作时的波形,电流等信息,用于训练机器学习系统,那么训练出来的模型就可以用来提前预警,实际数据表明,机器人会比人更早地预知到故障,从而降低损失。
 
 机器学习 
    图9 工业机器人故障预测
 
    如图9所示,经过机器学习后,模型通过观测到的波形,可以检知到人很难感知到的细微变化,并在机器人彻底故障之前的数星期,就提出有效的预警。图10是利用机器学习来提前预警主轴的故障,一般情况下都是主轴出现问题后才被发现。
 
 机器学习 
    图10 主轴故障预测
 
    (四)PCB电路板的辅助设计
 
    任何一块印制板,都存在与其他结构件配合装配的问题,所以印制板的外形和尺寸必须以产品整机结构为依据,另外还需要考虑到生产工艺,层数方面也需要根据电路性能要求、板型尺寸和线路的密集程度而定。如果不是经验丰富的技术人员,很难设计出合适的多层板。利用机器学习,系统可以将技术人员的经验转化为模型,从而提升PCB设计的效率与成功率,如图11所示。
 
 机器学习 
    图11 PCB板辅助设计
 
    (五)快速高效地找出符合3D模型的现实零件
 
    例如工业上的3D模型设计完成后,需要根据3D模型中参数,寻找可对应的现实中的零件,用于制造实际的产品。利用机器学习来完成这个任务的话,可以快速,高匹配率地找出符合3D模型参数的那些现实零件。
 
    图12是根据3D模型设计的参数,机器学习模型计算各个现实零件与这些参数的类似度,从而筛选出匹配的现实零件。没有使用机器学习时,筛选的匹配率大概是68%,也就是说,找出的现实零件中有1/3不能满足3D模型设计的参数,而使用机器学习后,匹配率高达96%。
 
 机器学习 
    图12 检索匹配的零件
 
    六、机器学习的未来:挑战与机遇并存
 
    机器学习是人工智能应用的又一重要研究领域。当今,尽管在机器学习领域已经取得重大技术进展,但就目前机器学习发展现状而言,自主学习能力还十分有限,还不具备类似人那样的学习能力,同时机器学习的发展也面临着巨大的挑战,诸如泛化能力、速度、可理解性以及数据利用能力等技术性难关必须克服。但令人可喜的是,在某些复杂的类人神经分析算法的开发领域,计算机专家已经取得了很大进展,人们已经可以开发出许多自主性的算法和模型让机器展现出高效的学习能力。对机器学习的进一步深入研究,势必推动人工智能技术的深化应用与发展。
责任编辑:吴丽萍
本文为e-works原创投稿文章,未经e-works书面许可,任何人不得复制、转载、摘编等任何方式进行使用。如已是e-works授权合作伙伴,应在授权范围内使用。e-works内容合作伙伴申请热线:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐