楼主最近还看过
一、人工智能发展现状
人工智能(Artificial Intelligence,缩写为AI)是对人的意识、思维过程进行模拟的一门新学科。
目前,人工智能在金融、医疗、制造等行业得到了广泛应用,
二、人工智能、机器学习、深度学习之间的关系
如图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算法。
四、深度学习:机器学习的更高智能进阶
利用机器学习,人工智能系统获得了归纳推理和决策能力;但深度学习更将这一能力推向了更高的层次。深度学习是机器学习研究领域的分支,隶属于神经网络体系。深度学习通过建立、处理神经结构来实现对外部输入的数据进行从低级到高级的特征提取,从而能够使机器理解学习数据,获得信息,因具有多个隐藏层的神经网络又被称为深度神经网络。深度学习将数据输入系统后,通过建模及模拟人脑的神经网从而进行学习的技术,像生物神经元一样,的响应函数都会分配一个相应的“权值”,表示彼此之间的连接强度。通过每层神经元相互“连接”,计算机就可以由达到最佳方案时所有神经元的加权和,从而可以实现这一决策方案。
五、机器学习在工业生产中的应用场景
机器学习作为人工智能的最有效的实现方法,已经在工业制造等众多场景中得到了广泛应用,以下是机器学习在工业生产中的五个应用场景。
(一)代替肉眼检查作业,实现制造检查智能化和无人化
例如工程岩体的分类,目前主要是通过有经验的工程师通过仔细鉴别来判断,效率比较低,并且因人而异会产生不同的判断偏差。通过采用人工智能,把工程师的经验转化为深度学习算法,判断的准确率和人工判断相当,得到对应的权值后开发出APP,这样工程人员在使用平板拍照后,就可以通过APP自动得到工程岩体分类的结果,高效而且准确率高。
(二)大幅改善工业机器人的作业性能,提升制造流程的自动化和无人化
工业上有许多需要分捡的作业,如果采用人工的作业,速度缓慢且成本高,而且还需要提供适宜的工作温度环境。如果采用工业机器人的话,可以大幅减低成本,提高速度。例如图4所示的Bin Picking机器人。
图4 零件
但是,一般需要分捡的零件并没有被整齐摆放,机器人虽然有摄像机看到零件,但却不知道如何把零件成功的捡起来。在这种情况下,利用机器学习,先让工业机器人随机的进行一次动作,然后告诉它这次动作是成功分捡到零件还是抓空了,经过多次训练之后,机器人就会知道按照怎样的顺序来分捡才有更高的成功率,如图5所示。
图5 利用机器学习来进行散堆拾取
如图6所示,经过机器学习后,机器人知道了时夹圆柱的哪个位置会有更高的捡起成功率。
图6 实验影像
如图7表明通过机器学习后,机器人知道按照怎样的顺序分捡,成功率会更高,图中数字是分捡的先后次序。
图7 确定分拣顺序
如图8所示,经过8个小时的学习后,机器人的分捡成功率可以达到90%,和熟练工人的水平相当。
图8 分捡成功率大幅提升
(三)工业机器人异常的提前检知,从而有效避免机器故障带来的损失和影响
在制造流水线上,有大量的工业机器人。。
图9 工业机器人故障预测
如图9所示,经过机器学习后,模型通过观测到的波形,可以检知到人很难感知到的细微变化,并在机器人彻底故障之前的数星期,就提出有效的预警。图10是利用机器学习来提前预警主轴的故障,一般情况下都是主轴出现问题后才被发现。
图10 主轴故障预测
(四)PCB电路板的辅助设计
任何一块印制板,都存在与其他结构件配合装配的问题,所以印制板的外形和尺寸必须以产品整机结构为依据,另外还需要考虑到生产工艺,层数方面也需要根据电路性能要求、板型尺寸和线路的密集程度而定。如果不是经验丰富的技术人员,很难设计出合适的多层板。利用机器学习,系统可以将技术人员的经验转化为模型,从而提升PCB设计的效率与成功率,如图11所示。
图11 PCB板辅助设计
(五)快速高效地找出符合3D模型的现实零件
例如工业上的3D模型设计完成后,需要根据3D模型中参数,寻找可对应的现实中的零件,用于制造实际的产品。利用机器学习来完成这个任务的话,可以快速,高匹配率地找出符合3D模型参数的那些现实零件。
图12是根据3D模型设计的参数,机器学习模型计算各个现实零件与这些参数的类似度,从而筛选出匹配的现实零件。没有使用机器学习时,筛选的匹配率大概是68%,也就是说,找出的现实零件中有1/3不能满足3D模型设计的参数,而使用机器学习后,匹配率高达96%。
图12 检索匹配的零件
六、机器学习的未来:
机器学习是人工智能应用的又一重要研究领域。当今,尽管在机器学习领域已经取得重大技术进展,但就目前机器学习发展现状而言,自主学习能力还十分有限,还不具备类似人那样的学习能力,同时机器学习的发展也面临着巨大的挑战,诸如泛化能力、速度、可理解性以及数据利用能力等技术性难关必须克服。但令人可喜的是,在某些复杂的类人神经分析算法的开发领域,计算机专家已经取得了很大进展,人们已经可以开发出许多自主性的算法和模型让机器展现出高效的学习能力。对机器学习的进一步深入研究,势必推动人工智能技术的深化应用与发展。