神经网络算法应用场景,视觉算法具体是做什么

计算机视觉领域主流的算法和方向有哪些?

人工智能是当下很火热的话题,其与大数据的完美结合应用于多个场景,极大的方便了人类的生活。而人工智能又包含深度学习和机器学习两方面的内容。深度学习又以计算机视觉和自然语言处理两个方向发展的最好,最火热。

大家对于自然语言处理的接触可能不是很多,但是说起计算机视觉,一定能够马上明白,因为我们每天接触的刷脸支付等手段就会和计算机视觉挂钩。可以说计算机视觉的应用最为广泛。

计算机视觉的定义是:基于感知对象做出对客观对象和场景有用的决策。目前发展较为主流的几个方面分别是:图像分类、对象检测、目标跟踪、语义分割和实例分割。

具体到实际应用上有人脸识别、图像检索、监控监测、生物识别以及汽车的自动驾驶等。图像分类,就是对给定的测试对象类别进行预测,比如在一堆猫和狗的图片中区分出狗。

目前用于图像分类的算法较为流行的框架是卷积神经网络,该算法在GPU上有良好的表现,通常在一周内就能完成训练。对象检测,就是在给定图片中把要检测的内容框选并标注出。

若将卷积神经网络用在对象检测上,需要很大的计算量,因此,常用的算法是基于区域的卷积神经网络,将图片分为很多个区域,并在这些区域中使用卷积神经网络的算法。

目标跟踪,就是在某种场景下跟踪特定对象的过程,在无人驾驶领域中有很重要的应用。目前较为流行的目标跟踪算法是基于堆叠自动编码器的DLT。语义分割,则是将图像分为像素组,再进行标记和分类。

目前的主流算法都使用完全卷积网络的框架。实例分割,是指将不同类型的实例分类,比如用4种不同颜色来标记4只猫。目前用于实例分割的主流算法是MaskR-CNN。

谷歌人工智能写作项目:神经网络伪原创

机器视觉算法有哪些

机器视觉算法基本步骤;1、图像数据解码2、图像特征提取3、识别图像中目标写作猫。机器视觉是人工智能正在快速发展的一个分支。简单说来,机器视觉就是用机器代替人眼来做测量和判断。

机器视觉系统是通过机器视觉产品(即图像摄取装置,分CMOS和CCD两种)将被摄取目标转换成图像信号,传送给专用的图像处理系统,得到被摄目标的形态信息,根据像素分布和亮度、颜色等信息,转变成数字化信号;图像系统对这些信号进行各种运算来抽取目标的特征,进而根据判别的结果来控制现场的设备动作。

现在做视觉检测的公司比较多,国内国外都有,许多视觉算是很好的。能提供完整的机器视觉软件解决方案,也可以为客户提供算法级的定制,覆盖所有的工业应用领域,适用范围比较广。

机器视觉的应用会越来越多,因为计算的水平越来越高,可以处理更复杂的视觉算法;其实好多的东西,包括现在流行的GPS,最早都是外国的公司在做,程序都是中国人在做外包;光机电的应用我个人觉得已经很成熟了,不会再有新东西。

视觉算法和图像算法的区别

视觉算法:机器视觉,专注于机器模拟动物视觉的算法。着重指定图像识别,分类等视觉人物算法。图像算法:专注于图像类的算法,不强调模拟视觉的功能。

着重指图像增强,人像美化(美图),图像修补,就是photoshop上的算法。两者采用的基本理论大量交叉。视觉算法由图像算法和分类和拟合算法组成。

图像算法:边缘提取,图像分割,二值化,各类图像处理都称为图像算法。

神经网络算法的三大类分别是?

神经网络算法的三大类分别是:1、前馈神经网络:这是实际应用中最常见的神经网络类型。第一层是输入,最后一层是输出。如果有多个隐藏层,我们称之为“深度”神经网络。他们计算出一系列改变样本相似性的变换。

各层神经元的活动是前一层活动的非线性函数。2、循环网络:循环网络在他们的连接图中定向了循环,这意味着你可以按照箭头回到你开始的地方。他们可以有复杂的动态,使其很难训练。他们更具有生物真实性。

循环网络的目的是用来处理序列数据。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,每层之间的节点是无连接的。但是这种普通的神经网络对于很多问题却无能无力。

循环神经网路,即一个序列当前的输出与前面的输出也有关。

具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。

3、对称连接网络:对称连接网络有点像循环网络,但是单元之间的连接是对称的(它们在两个方向上权重相同)。比起循环网络,对称连接网络更容易分析。这个网络中有更多的限制,因为它们遵守能量函数定律。

没有隐藏单元的对称连接网络被称为“Hopfield网络”。有隐藏单元的对称连接的网络被称为玻尔兹曼机。

扩展资料:应用及发展:心理学家和认知科学家研究神经网络的目的在于探索人脑加工、储存和搜索信息的机制,弄清人脑功能的机理,建立人类认知过程的微结构理论。

生物学、医学、脑科学专家试图通过神经网络的研究推动脑科学向定量、精确和理论化体系发展,同时也寄希望于临床医学的新突破;信息处理和计算机科学家研究这一问题的目的在于寻求新的途径以解决不能解决或解决起来有极大困难的大量问题,构造更加逼近人脑功能的新一代计算机。

算法工程师应该学哪些

一、算法工程师简介(通常是月薪15k以上,年薪18万以上,只是一个概数,具体薪资可以到招聘网站如拉钩,猎聘网上看看)算法工程师目前是一个高端也是相对紧缺的职位;算法工程师包括音/视频算法工程师(通常统称为语音/视频/图形开发工程师)、图像处理算法工程师、计算机视觉算法工程师、通信基带算法工程师、信号算法工程师、射频/通信算法工程师、自然语言算法工程师、数据挖掘算法工程师、搜索算法工程师、控制算法工程师(云台算法工程师,飞控算法工程师,机器人控制算法)、导航算法工程师(@之介感谢补充)、其他【其他一切需要复杂算法的行业】专业要求:计算机、电子、通信、数学等相关专业;学历要求:本科及其以上的学历,大多数是硕士学历及其以上;语言要求:英语要求是熟练,基本上能阅读国外专业书刊,做这一行经常要读论文;必须掌握计算机相关知识,熟练使用仿真工具MATLAB等,必须会一门编程语言。

算法工程师的技能树(不同方向差异较大,此处仅供参考)1机器学习2大数据处理:熟悉至少一个分布式计算框架Hadoop/Spark/Storm/map-reduce/MPI3数据挖掘4扎实的数学功底5至少熟悉C/C++或者Java,熟悉至少一门编程语言例如java/python/R加分项:具有较为丰富的项目实践经验(不是水论文的哪种)二、算法工程师大致分类与技术要求(一)图像算法/计算机视觉工程师类包括图像算法工程师,图像处理工程师,音/视频处理算法工程师,计算机视觉工程师要求l专业:计算机、数学、统计学相关专业;l技术领域:机器学习,模式识别l技术要求:(1)精通DirectXHLSL和OpenGLGLSL等shader语言,熟悉常见图像处理算法GPU实现及优化;(2)语言:精通C/C++;(3)工具:Matlab数学软件,CUDA运算平台,VTK图像图形开源软件【医学领域:ITK,医学图像处理软件包】(4)熟悉OpenCV/OpenGL/Caffe等常用开源库;(5)有人脸识别,行人检测,视频分析,三维建模,动态跟踪,车识别,目标检测跟踪识别经历的人优先考虑;(6)熟悉基于GPU的算法设计与优化和并行优化经验者优先;(7)【音/视频领域】熟悉H.264等视频编解码标准和FFMPEG,熟悉rtmp等流媒体传输协议,熟悉视频和音频解码算法,研究各种多媒体文件格式,GPU加速;应用领域:(1)互联网:如美颜app(2)医学领域:如临床医学图像(3)汽车领域(4)人工智能相关术语:(1)OCR:OCR(OpticalCharacterRecognition,光学字符识别)是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程(2)Matlab:商业数学软件;(3)CUDA:(ComputeUnifiedDeviceArchitecture),是显卡厂商NVIDIA推出的运算平台(由ISA和GPU构成)。

CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题(4)OpenCL:OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器组成。

(5)OpenCV:开源计算机视觉库;OpenGL:开源图形库;Caffe:是一个清晰,可读性高,快速的深度学习框架。

(6)CNN:(深度学习)卷积神经网络(ConvolutionalNeuralNetwork)CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。

(7)开源库:指的是计算机行业中对所有人开发的代码库,所有人均可以使用并改进代码算法。

(二)机器学习工程师包括机器学习工程师要求l专业:计算机、数学、统计学相关专业;l技术领域:人工智能,机器学习l技术要求:(1)熟悉Hadoop/Hive以及Map-Reduce计算模式,熟悉Spark、Shark等尤佳;(2)大数据挖掘;(3)高性能、高并发的机器学习、数据挖掘方法及架构的研发;应用领域:(1)人工智能,比如各类仿真、拟人应用,如机器人(2)医疗用于各类拟合预测(3)金融高频交易(4)互联网数据挖掘、关联推荐(5)无人汽车,无人机相关术语:(1)Map-Reduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。

概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。

(三)自然语言处理工程师包括自然语言处理工程师要求l专业:计算机相关专业;l技术领域:文本数据库l技术要求:(1)熟悉中文分词标注、文本分类、语言模型、实体识别、知识图谱抽取和推理、问答系统设计、深度问答等NLP相关算法;(2)应用NLP、机器学习等技术解决海量UGC的文本相关性;(3)分词、词性分析、实体识别、新词发现、语义关联等NLP基础性研究与开发;(4)人工智能,分布式处理Hadoop;(5)数据结构和算法;应用领域:口语输入、书面语输入、语言分析和理解、语言生成、口语输出技术、话语分析与对话、文献自动处理、多语问题的计算机处理、多模态的计算机处理、信息传输与信息存储、自然语言处理中的数学方法、语言资源、自然语言处理系统的评测。

相关术语:(2)NLP:人工智能的自然语言处理,NLP(NaturalLanguageProcessing)是人工智能(AI)的一个子领域。

NLP涉及领域很多,最令我感兴趣的是“中文自动分词”(Chinesewordsegmentation):结婚的和尚未结婚的【计算机中却有可能理解为结婚的“和尚“】(四)射频/通信/信号算法工程师类包括3G/4G无线通信算法工程师,通信基带算法工程师,DSP开发工程师(数字信号处理),射频通信工程师,信号算法工程师要求l专业:计算机、通信相关专业;l技术领域:2G、3G、4G,BlueTooth(蓝牙),WLAN,无线移动通信,网络通信基带信号处理l技术要求:(1)了解2G,3G,4G,BlueTooth,WLAN等无线通信相关知识,熟悉现有的通信系统和标准协议,熟悉常用的无线测试设备;(2)信号处理技术,通信算法;(3)熟悉同步、均衡、信道译码等算法的基本原理;(4)【射频部分】熟悉射频前端芯片,扎实的射频微波理论和测试经验,熟练使用射频电路仿真工具(如ADS或MW或Ansoft);熟练使用cadence、altiumdesignerPCB电路设计软件;(5)有扎实的数学基础,如复变函数、随机过程、数值计算、矩阵论、离散数学应用领域:通信VR【用于快速传输视频图像,例如乐客灵境VR公司招募的通信工程师(数据编码、流数据)】物联网,车联网导航,军事,卫星,雷达相关术语:(1)基带信号:指的是没有经过调制(进行频谱搬移和变换)的原始电信号。

(2)基带通信(又称基带传输):指传输基带信号。进行基带传输的系统称为基带传输系统。

传输介质的整个信道被一个基带信号占用.基带传输不需要调制解调器,设备化费小,具有速率高和误码率低等优点,.适合短距离的数据传输,传输距离在100米内,在音频市话、计算机网络通信中被广泛采用。

如从计算机到监视器、打印机等外设的信号就是基带传输的。大多数的局域网使用基带传输,如以太网、令牌环网。

(3)射频:射频(RF)是RadioFrequency的缩写,表示可以辐射到空间的电磁频率(电磁波),频率范围从300KHz~300GHz之间(因为其较高的频率使其具有远距离传输能力)。

射频简称RF射频就是射频电流,它是一种高频交流变化电磁波的简称。每秒变化小于1000次的交流电称为低频电流,大于10000次的称为高频电流,而射频就是这样一种高频电流。

高频(大于10K);射频(300K-300G)是高频的较高频段;微波频段(300M-300G)又是射频的较高频段。

【有线电视就是用射频传输方式】(4)DSP:数字信号处理,也指数字信号处理芯片(五)数据挖掘算法工程师类包括推荐算法工程师,数据挖掘算法工程师要求l专业:计算机、通信、应用数学、金融数学、模式识别、人工智能;l技术领域:机器学习,数据挖掘l技术要求:(1)熟悉常用机器学习和数据挖掘算法,包括但不限于决策树、Kmeans、SVM、线性回归、逻辑回归以及神经网络等算法;(2)熟练使用SQL、Matlab、Python等工具优先;(3)对Hadoop、Spark、Storm等大规模数据存储与运算平台有实践经验【均为分布式计算框架】(4)数学基础要好,如高数,统计学,数据结构l加分项:数据挖掘建模大赛;应用领域(1)个性化推荐(2)广告投放(3)大数据分析相关术语Map-Reduce:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。

概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。

(六)搜索算法工程师要求l技术领域:自然语言l技术要求:(1)数据结构,海量数据处理、高性能计算、大规模分布式系统开发(2)hadoop、lucene(3)精通Lucene/Solr/ElasticSearch等技术,并有二次开发经验(4)精通Lucene/Solr/ElasticSearch等技术,并有二次开发经验;(5)精通倒排索引、全文检索、分词、排序等相关技术;(6)熟悉Java,熟悉Spring、MyBatis、Netty等主流框架;(7)优秀的数据库设计和优化能力,精通MySQL数据库应用;(8)了解推荐引擎和数据挖掘和机器学习的理论知识,有大型搜索应用的开发经验者优先。

(七)控制算法工程师类包括了云台控制算法,飞控控制算法,机器人控制算法要求l专业:计算机,电子信息工程,航天航空,自动化l技术要求:(1)精通自动控制原理(如PID)、现代控制理论,精通组合导航原理,姿态融合算法,电机驱动,电机驱动(2)卡尔曼滤波,熟悉状态空间分析法对控制系统进行数学模型建模、分析调试;l加分项:有电子设计大赛,机器人比赛,robocon等比赛经验,有硬件设计的基础;应用领域(1)医疗/工业机械设备(2)工业机器人(3)机器人(4)无人机飞控、云台控制等(八)导航算法工程师要求l专业:计算机,电子信息工程,航天航空,自动化l技术要求(以公司职位JD为例)公司一(1)精通惯性导航、激光导航、雷达导航等工作原理;(2)精通组合导航算法设计、精通卡尔曼滤波算法、精通路径规划算法;(3)具备导航方案设计和实现的工程经验;(4)熟悉C/C++语言、熟悉至少一种嵌入式系统开发、熟悉Matlab工具;公司二(1)熟悉基于视觉信息的SLAM、定位、导航算法,有1年以上相关的科研或项目经历;(2)熟悉惯性导航算法,熟悉IMU与视觉信息的融合;应用领域无人机、机器人等。

人工智能,计算机视觉和机器学习的区别

从概念的提出到走向繁荣1956年,几个计算机科学家相聚在达特茅斯会议(DartmouthConferences),提出了“人工智能”的概念。

其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。之后的几十年,人工智能一直在两极反转,或被称作人类文明耀眼未来的预言;或者被当成技术疯子的狂想扔到垃圾堆里。

坦白说,直到2012年之前,这两种声音还在同时存在。过去几年,尤其是2015年以来,人工智能开始大爆发。很大一部分是由于GPU的广泛应用,使得并行计算变得更快、更便宜、更有效。

当然,无限拓展的存储能力和骤然爆发的数据洪流(大数据)的组合拳,也使得图像数据、文本数据、交易数据、映射数据全面海量爆发。

让我们慢慢梳理一下计算机科学家们是如何将人工智能从最早的一点点苗头,发展到能够支撑那些每天被数亿用户使用的应用的。

人工智能(ArtificialIntelligence)——为机器赋予人的智能成王(Kingme):能下国际跳棋的程序是早期人工智能的一个典型应用,在二十世纪五十年代曾掀起一阵风潮。

(译者注:国际跳棋棋子到达底线位置后,可以成王,成王棋子可以向后移动)。早在1956年夏天那次会议,人工智能的先驱们就梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。

这就是我们现在所说的“强人工智能”(GeneralAI)。这个无所不能的机器,它有着我们所有的感知(甚至比人更多),我们所有的理性,可以像我们一样思考。

人们在电影里也总是看到这样的机器:友好的,像星球大战中的C-3PO;邪恶的,如终结者。强人工智能现在还只存在于电影和科幻小说中,原因不难理解,我们还没法实现它们,至少目前还不行。

我们目前能实现的,一般被称为“弱人工智能”(NarrowAI)。弱人工智能是能够与人一样,甚至比人更好地执行特定任务的技术。例如,Pinterest上的图像分类;或者Facebook的人脸识别。

这些是弱人工智能在实践中的例子。这些技术实现的是人类智能的一些具体的局部。但它们是如何实现的?这种智能是从何而来?这就带我们来到同心圆的里面一层,机器学习。

机器学习——一种实现人工智能的方法健康食谱(Spamfreediet):机器学习能够帮你过滤电子信箱里的(大部分)垃圾邮件。

(译者注:英文中垃圾邮件的单词spam来源于二战中美国曾大量援助英国的午餐肉品牌SPAM。直到六十年代,英国的农业一直没有从二战的损失中恢复,因而从美国大量进口了这种廉价的罐头肉制品。

据传闻不甚好吃且充斥市场。)机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。

与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。机器学习直接来源于早期的人工智能领域。

传统算法包括决策树学习、推导逻辑规划、聚类、强化学习和贝叶斯网络等等。众所周知,我们还没有实现强人工智能。早期机器学习方法甚至都无法实现弱人工智能。

机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。

人们需要手工编写分类器、边缘检测滤波器,以便让程序能识别物体从哪里开始,到哪里结束;写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“ST-O-P”。

使用以上这些手工编写的分类器,人们总算可以开发算法来感知图像,判断图像是不是一个停止标志牌。这个结果还算不错,但并不是那种能让人为之一振的成功。

特别是遇到云雾天,标志牌变得不是那么清晰可见,又或者被树遮挡一部分,算法就难以成功了。这就是为什么前一段时间,计算机视觉的性能一直无法接近到人的能力。它太僵化,太容易受环境条件的干扰。

随着时间的推进,学习算法的发展改变了一切。深度学习——一种实现机器学习的技术放猫(HerdingCats):从YouTube视频里面寻找猫的图片是深度学习杰出性能的首次展现。

(译者注:herdingcats是英语习语,照顾一群喜欢自由,不喜欢驯服的猫,用来形容局面混乱,任务难以完成。

)人工神经网络(ArtificialNeuralNetworks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。

但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。

在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。

每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关。最终的输出由这些权重加总来决定。我们仍以停止(Stop)标志牌为例。

将一个停止标志牌图像的所有元素都打碎,然后用神经元进行“检查”:八边形的外形、救火车般的红颜色、鲜明突出的字母、交通标志的典型尺寸和静止不动运动特性等等。

神经网络的任务就是给出结论,它到底是不是一个停止标志牌。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。

这个例子里,系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等。然后网络结构告知神经网络,它的结论是否正确。

即使是这个例子,也算是比较超前了。直到前不久,神经网络也还是为人工智能圈所淡忘。其实在人工智能出现的早期,神经网络就已经存在了,但神经网络对于“智能”的贡献微乎其微。

主要问题是,即使是最基本的神经网络,也需要大量的运算。神经网络算法的运算需求难以得到满足。

不过,还是有一些虔诚的研究团队,以多伦多大学的GeoffreyHinton为代表,坚持研究,实现了以超算为目标的并行算法的运行与概念证明。但也直到GPU得到广泛应用,这些努力才见到成效。

我们回过头来看这个停止标志识别的例子。神经网络是调制、训练出来的,时不时还是很容易出错的。它最需要的,就是训练。

需要成百上千甚至几百万张图像来训练,直到神经元的输入的权值都被调制得十分精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。

只有这个时候,我们才可以说神经网络成功地自学习到一个停止标志的样子;或者在Facebook的应用里,神经网络自学习了你妈妈的脸;又或者是2012年吴恩达(AndrewNg)教授在Google实现了神经网络学习到猫的样子等等。

吴教授的突破在于,把这些神经网络从基础上显著地增大了。层数非常多,神经元也非常多,然后给系统输入海量的数据,来训练网络。在吴教授这里,数据是一千万YouTube视频中的图像。

吴教授为深度学习(deeplearning)加入了“深度”(deep)。这里的“深度”就是说神经网络中众多的层。

现在,经过深度学习训练的图像识别,在一些场景中甚至可以比人做得更好:从识别猫,到辨别血液中癌症的早期成分,到识别核磁共振成像中的肿瘤。

Google的AlphaGo先是学会了如何下围棋,然后与它自己下棋训练。它训练自己神经网络的方法,就是不断地与自己下棋,反复地下,永不停歇。

深度学习,给人工智能以璀璨的未来深度学习使得机器学习能够实现众多的应用,并拓展了人工智能的领域范围。深度学习摧枯拉朽般地实现了各种任务,使得似乎所有的机器辅助功能都变为可能。

无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐,都近在眼前,或者即将实现。人工智能就在现在,就在明天。有了深度学习,人工智能甚至可以达到我们畅想的科幻小说一般。

你的C-3PO我拿走了,你有你的终结者就好了。

神经网络算法是用来干什么的

神经网络算法是由多个神经元组成的算法网络。

逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理;这一过程可以写成串行的指令,让计算机执行。

然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生的想法或解决问题的办法。这种思维方式的根本之点在于以下两点:1、信息是通过神经元上的兴奋模式分布储在网络上。

2、信息处理是通过神经元之间同时相互作用的动态过程来完成的。思维学普遍认为,人类大脑的思维分为抽象(逻辑)思维、形象(直观)思维和灵感(顿悟)思维三种基本方式。

述人工智能,计算机视觉和机器学习的区别和联系

从概念的提出到走向繁荣1956年,几个计算机科学家相聚在达特茅斯会议(DartmouthConferences),提出了“人工智能”的概念。

其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。之后的几十年,人工智能一直在两极反转,或被称作人类文明耀眼未来的预言;或者被当成技术疯子的狂想扔到垃圾堆里。

坦白说,直到2012年之前,这两种声音还在同时存在。过去几年,尤其是2015年以来,人工智能开始大爆发。很大一部分是由于GPU的广泛应用,使得并行计算变得更快、更便宜、更有效。

当然,无限拓展的存储能力和骤然爆发的数据洪流(大数据)的组合拳,也使得图像数据、文本数据、交易数据、映射数据全面海量爆发。

让我们慢慢梳理一下计算机科学家们是如何将人工智能从最早的一点点苗头,发展到能够支撑那些每天被数亿用户使用的应用的。

人工智能(ArtificialIntelligence)——为机器赋予人的智能成王(Kingme):能下国际跳棋的程序是早期人工智能的一个典型应用,在二十世纪五十年代曾掀起一阵风潮。

(译者注:国际跳棋棋子到达底线位置后,可以成王,成王棋子可以向后移动)。早在1956年夏天那次会议,人工智能的先驱们就梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。

这就是我们现在所说的“强人工智能”(GeneralAI)。这个无所不能的机器,它有着我们所有的感知(甚至比人更多),我们所有的理性,可以像我们一样思考。

人们在电影里也总是看到这样的机器:友好的,像星球大战中的C-3PO;邪恶的,如终结者。强人工智能现在还只存在于电影和科幻小说中,原因不难理解,我们还没法实现它们,至少目前还不行。

我们目前能实现的,一般被称为“弱人工智能”(NarrowAI)。弱人工智能是能够与人一样,甚至比人更好地执行特定任务的技术。例如,Pinterest上的图像分类;或者Facebook的人脸识别。

这些是弱人工智能在实践中的例子。这些技术实现的是人类智能的一些具体的局部。但它们是如何实现的?这种智能是从何而来?这就带我们来到同心圆的里面一层,机器学习。

机器学习——一种实现人工智能的方法健康食谱(Spamfreediet):机器学习能够帮你过滤电子信箱里的(大部分)垃圾邮件。

(译者注:英文中垃圾邮件的单词spam来源于二战中美国曾大量援助英国的午餐肉品牌SPAM。直到六十年代,英国的农业一直没有从二战的损失中恢复,因而从美国大量进口了这种廉价的罐头肉制品。

据传闻不甚好吃且充斥市场。)机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。

与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。机器学习直接来源于早期的人工智能领域。

传统算法包括决策树学习、推导逻辑规划、聚类、强化学习和贝叶斯网络等等。众所周知,我们还没有实现强人工智能。早期机器学习方法甚至都无法实现弱人工智能。

机器学习最成功的应用领域是计算机视觉,虽然也还是需要大量的手工编码来完成工作。

人们需要手工编写分类器、边缘检测滤波器,以便让程序能识别物体从哪里开始,到哪里结束;写形状检测程序来判断检测对象是不是有八条边;写分类器来识别字母“ST-O-P”。

使用以上这些手工编写的分类器,人们总算可以开发算法来感知图像,判断图像是不是一个停止标志牌。这个结果还算不错,但并不是那种能让人为之一振的成功。

特别是遇到云雾天,标志牌变得不是那么清晰可见,又或者被树遮挡一部分,算法就难以成功了。这就是为什么前一段时间,计算机视觉的性能一直无法接近到人的能力。它太僵化,太容易受环境条件的干扰。

随着时间的推进,学习算法的发展改变了一切。深度学习——一种实现机器学习的技术放猫(HerdingCats):从YouTube视频里面寻找猫的图片是深度学习杰出性能的首次展现。

(译者注:herdingcats是英语习语,照顾一群喜欢自由,不喜欢驯服的猫,用来形容局面混乱,任务难以完成。

)人工神经网络(ArtificialNeuralNetworks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。

但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。

在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。

每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关。最终的输出由这些权重加总来决定。我们仍以停止(Stop)标志牌为例。

将一个停止标志牌图像的所有元素都打碎,然后用神经元进行“检查”:八边形的外形、救火车般的红颜色、鲜明突出的字母、交通标志的典型尺寸和静止不动运动特性等等。

神经网络的任务就是给出结论,它到底是不是一个停止标志牌。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。

这个例子里,系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等。然后网络结构告知神经网络,它的结论是否正确。

即使是这个例子,也算是比较超前了。直到前不久,神经网络也还是为人工智能圈所淡忘。其实在人工智能出现的早期,神经网络就已经存在了,但神经网络对于“智能”的贡献微乎其微。

主要问题是,即使是最基本的神经网络,也需要大量的运算。神经网络算法的运算需求难以得到满足。

不过,还是有一些虔诚的研究团队,以多伦多大学的GeoffreyHinton为代表,坚持研究,实现了以超算为目标的并行算法的运行与概念证明。但也直到GPU得到广泛应用,这些努力才见到成效。

我们回过头来看这个停止标志识别的例子。神经网络是调制、训练出来的,时不时还是很容易出错的。它最需要的,就是训练。

需要成百上千甚至几百万张图像来训练,直到神经元的输入的权值都被调制得十分精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。

只有这个时候,我们才可以说神经网络成功地自学习到一个停止标志的样子;或者在Facebook的应用里,神经网络自学习了你妈妈的脸;又或者是2012年吴恩达(AndrewNg)教授在Google实现了神经网络学习到猫的样子等等。

吴教授的突破在于,把这些神经网络从基础上显著地增大了。层数非常多,神经元也非常多,然后给系统输入海量的数据,来训练网络。在吴教授这里,数据是一千万YouTube视频中的图像。

吴教授为深度学习(deeplearning)加入了“深度”(deep)。这里的“深度”就是说神经网络中众多的层。

现在,经过深度学习训练的图像识别,在一些场景中甚至可以比人做得更好:从识别猫,到辨别血液中癌症的早期成分,到识别核磁共振成像中的肿瘤。

Google的AlphaGo先是学会了如何下围棋,然后与它自己下棋训练。它训练自己神经网络的方法,就是不断地与自己下棋,反复地下,永不停歇。

深度学习,给人工智能以璀璨的未来深度学习使得机器学习能够实现众多的应用,并拓展了人工智能的领域范围。深度学习摧枯拉朽般地实现了各种任务,使得似乎所有的机器辅助功能都变为可能。

无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐,都近在眼前,或者即将实现。人工智能就在现在,就在明天。有了深度学习,人工智能甚至可以达到我们畅想的科幻小说一般。

你的C-3PO我拿走了,你有你的终结者就好了。

 

你可能感兴趣的:(神经网络,算法,人工智能)