A. 深度学习用cpu训练和用gpu训练有什么区别
1、深度学习用cpu训练和用gpu训练的区别
(1)CPU主要用于串行运算;而GPU则是大规模并行运算。由于深度学习中样本量巨大,参数量也很大,所以GPU的作用就是加速网络运算。
(2)CPU算神经网络也是可以的,算出来的神经网络放到实际应用中效果也很好,只不过速度会很慢罢了。而目前GPU运算主要集中在矩阵乘法和卷积上,其他的逻辑运算速度并没有CPU快。
B. 深度:如何将深度学习和自动驾驶结合在一起
以下是演讲内容的整理:
我是来自于底线线机器人汽车业务的负责人李星宇,地平线机器人成立有一年的时间,创始人余凯是网络深度学习研究院的院长,也算是国内第一个深度学习的研究院是他建立的。他成立了地平线这家公司,专注于深度学习技术的开发,所以在今天我想跟大家分享的主题就是:《如何将深度学习和自动驾驶结合在一起?》。
| 背景:复杂的驾驶环境正是深度学习的机会
应该说在今年的 AlphaGo 和李世石的对决当中,大家对于机器人的关注已经到了一个非常高的水准,其实自动学习已经有不少的时间。今年丰田有做过一个 Demo 的系统,他做了是 8 辆车并没有被教任何的驾驶规则,就是随意往前开,这 8 辆车会置于一个训练系统之下,经过八个小时的训练之后,八个小时下来没有碰撞,这真是了不起的事情。
通过资本界我们来看,这些 10 亿美元的投入都能真金白银地证明整个业界对于深度学习和增强学习技术的看好。
为什么我们需要把这样一个技术运用在自动驾驶领域?千言万语可以归结为一句话就是复杂性。我们看到很多人在很多时候会质疑自动驾驶这件事情,其实他的质疑觉得就是复杂,你可以看到在十字路口,非常复杂的路况。包括中国进入汽车社会不久,驾驶技术有待提高的特殊的国情,变道非常频繁,拐弯很多时候也很暴力。这样一个场景其实对于传统的 ADAS 有很大的挑战性,而这种复杂性恰恰是深度学习的一个优势。
当然很多人也会问,在自动驾驶领域是不是人就没有作用了?我们很长一段时间在自动驾驶领域,人和车的关系其实并不是一个简单的服务与被服务的关系,而是人和马之间的关系。意味着是什么?其实马并不知道在一个大的方向该怎么走,是快一点还是慢一点,这个是需要人来控制和调节。而马能做的就是,无论你告诉还是不告诉,前面是悬崖就会停下来,意味着自动驾驶可以在微观的一个层面,能够把风险降到极低的水平。而在高层次的体验层面,更多的是以跟人配合的关系,它会去理解你。所以在自动驾驶领域很重要的一个话题就是对于驾驶习惯的学习。自动驾驶习惯的学习不仅仅是一个标准的驾驶,还有包括特殊驾驶风格的学习。
这是一个非常标准的美国高速公路管理局的对于自动驾驶的分析。应该说,从我们跟车厂的沟通里面可以看到,现在研发的重点还是基于 Leve13,就是高度的无人驾驶。它的主要不同跟 Leve4 的不同在于,一个就是保证在任何情况下都可以做紧急碰撞的防止,第二个就是在条件良好的道路上部分实现自动驾驶。
从现在实践的情况来看,高速公路上应该不是有太大的问题。现在主要解决的是高速公路上的一些特殊的案例和条件比较好的城区主干上的案例,比如上海的中环、内环、外环的情况下,尤其红绿灯情况下需要一些特殊案例的深度学习。
| 深度学习为什么受到重视?
我们介绍了一个背景之后,稍微回来谈一下深度学习为什么会受到重视。大家现在都觉得 " 深度学习 " 这个词特别火热。
第一个为什么它会受到重视?
应该说深度学习出现的历史其实非常久,最久的历史可以追溯到 50 年代末,在漫长的发展时期里面是几经起伏,有它的高潮的时候也有低谷的时代。从现在的情况来看深度学习最具吸引力的一点就是端到端的学习。
举例,以自动学习的系统去识别一个图片,比如这个图片上是一个人,它会把图片作为输入一个名字,你可以看到人脸的信息量通常是几兆,几百万个字节,最终输出的就是几个字节,就是端到端,可以把非常复杂的非结构化的数字转化为精简数字化的表达,包括语音、语言、图像、视频都是非结构化的,包括金融的交易产生的数据都是非结构化的。
从目前的情况来看,第一个它非常适合大数据时代。在过去的年代,其实大家也是在研究深度学习的算法,那个时候还不叫深度学习,叫深度神经网络。但是发现很难把它调校得好,因为那个时候学的都是一个小量的,几千个样本,想把它调到一个非常好的水准,其实是不可能的。后来大数据出来以后,这个性能就飙升,最终的一个例子就是 2012 年的时候爱莱克斯和他的老师参加了图片分类识别的比赛,一下子从过去的 74% 提高到了 85%,非常大的一个进步。也就是说现在机器对于图片的识别其实是优于人眼,所以实践效果很好。比较通俗的说法,对于这种行为的一种模拟,这种说法可能不是特别的准确,事实上跟它相关联的网络,按它的类似性来说是非常复杂的,而且现在没有搞得特别复杂。
机器学习技术前沿,注意力模型。图片上是对于人脸识别过程的一个描述,如果你抛开技术不看,你直接看,你会看到图象识别的时候,每过一个识别阶段,由很多个识别阶段组成。它的图像的信息会减少一些,最开始会把图像的彩色性去掉,只留下一个归录信息。
第二步会把规录中间的去掉,只留下边缘线条的信息,然后线条会变成点,这是从低位空间向高位空间不断的扭曲的过程,到最后它的图片信息就会精简到一个字母,所以这就叫多层的卷积神经网络。大家都知道这样一个复杂的关系势必会带来数据极大的产生,因为肯定需要非常大的参数。
自动学习技术也在不断地往前推进,我们现在看到各个领域都全面推进。
比如注意力模型,什么叫注意力模型呢?举例,在鸡尾酒酒会上看到很多的人,但是你只跟其中一个或者几个人谈,这个时候你的听觉系统只会注意到你想关注到的那个人的话,而把其他人的给屏蔽掉。解决了在复杂的语义环境下,会对特别的语音进行聚焦。当我们对这个妇女说,我要求你把飞盘作为聚焦目标的时候,机器系统可以把飞盘反射出来,也就证明它准确能够聚焦到你想要它聚焦的部分,这个是非常关键的,因为这个系统是非常复杂的,而你只需要自动驾驶的系统关注车辆、车道线、人这些关键的信息,这样一个技术可以使得它很有效的处理。
除了注意力模型以外还有其他的进展,包括长时短时的记忆力模型,这个是做什么用?它会使深度学习,不仅仅是在空间,二维平面上有足够的学习,它能记住过去发生的事情。刚才丰田的小车的 Demo 里面可以看到,它对瞬间场景的处理做得很好,但是有没有想过如果场景的处理手法依赖于过去的历史怎么办?比如我们把魔兽和星际争霸,下一步的动作取决于你的历史状态,这个时候要求你的深度神经网络需要足够的记忆力,能够记住过去的状态,这个记忆力模型就是解决这个问题包括序列化等等。
增强学习
什么是增强学习?
打一个比较形象的比方,如果过去的系统我们当做是计划经济的话,那么增强学习就是市场经济,可以理解它是一种结果导向的技术。准确描述这是一个智能主体跟环境不断博弈而来优化的一个过程。比如刚才的丰田的小车是一个增强学习的典型的案例,如果它碰撞了给它惩罚,如果没有碰撞给它奖励,多轮的循环会加强这些行为,达到一个期待值。深度学习可以用来做环境的感知,而增强学习可以用来做控制的东西,这样就可以构成一个完整的自动驾驶系统。
这是一个非常典型的汽车的自动驾驶系统的框架图,在图像的左侧有各种各样的传感输入,这个数据来源于三个,汽车外围的环境数据,汽车本身的状态数据,比如车速、转向,还有车内人的数据,是不是疲劳驾驶,是不是要转弯。一个是感知的融合,一个是决策。
|深度学习让自动驾驶从感知到控制
深度学习在中间的感知和决策都是有非常大的优势,可以进一步把这个事情分解一下。
我们跟过内的主机厂接触,由于现在国内有一些主机厂已经开始比较深的自动驾驶的研发,去讨论大量的细节。我们可以简单把它划分成这样的一个板块,就是态势感知和决策控制。
态势感知和决策控制
态势感知一部分就是对外的态势,就是你要对整个的环境要有感知,对内就是对驾驶员的意要图要有感制,包括意图的判断。包括对外部物理的辨识,哪些是固定障碍物,哪些是栏杆,哪些是可行驶区域。对于驾驶,包括状态的识别其实非常重要。这也是整个自动驾驶业界流派之争的一个焦点。
以谷歌为代表的,他们想做的是全自动驾驶,但是我们还是要一步一步来,这面临有一个半自动驾驶的过程,谷歌觉得很难做到很好的人工和自动驾驶的切换,没有办法把这件事情做得特别的可靠。
其实这个我认为要这样来看,首先主机厂其实是一定会按照循序渐进的过程来走,因为他们是造车的。第二个在这件事情上深度学习可以很好地帮助缓解这个问题。我们不能说一定能全部解决,至少能够极大地缓解这件事情。因为深度学习对于驾驶员状态的综合理解比其他的手段要来得更好,因为它是基于大量对于驾驶员技术分析的基础上建立对它的一个综合理解,包括他的驾驶习惯、意图等。
决策控制包括几个部分。就是对于车辆来讲有一个局部的运动路径的规划,另外规划里面还有一个驾驶风格的情况,比如需要运动感强一点的,都不一样。最后一个是执行器控制,状态之间形成一个闭环去调校。
应该说在现在有很多初创的公司,包括像英伟达这样的公司做大量的尝试,如何把整个的系统用深度学习的方法进行优化。英伟达做得比较暴力,直接忽略了中间的决策这一部分,是直接把传感器的输入和车的状态的输入直接关联,做这样一个预测。也就是说 Y 就是执行器刹车、油门、转向,输入就是车的信息、环境的信息,非常暴力,不做任何中间人工智能的分析。
自动驾驶还有一个非常重要的点,就是如何进行测试。
整个自动驾驶来讲主要的投入还是在测试这块,并不是做一套软件系统就可以了。特斯拉做得很讨巧,直接在量产上进行测试,所以短时间内积累了超过 1.76 亿英里的速度。但是还是需要一个模拟系统去做这件事情,有一个模拟系统,如何在模拟系统各个主体能够真实的模拟,这其实也是一个增强学习可以帮助你的。
当你创造了一个虚拟环境的时候,你希望用多台的计算设备去模拟一个目标,模拟几十个人,模拟路牌等等,每一个都是动态的过程,它们不地变。比如红绿灯会不断地变,车辆动态的变化,这样一个复杂的结构,其实很适合于深度学习和增强学习来做,包括结合模拟。
在这个方面德国的车厂宝马和奥迪走得比较靠前,当然包括丰田其实也是一样,做大量的工作,这个是奥迪的汽车大脑的构架图,AUDI 的 zFAS。zFAS 系统模块配备了 Mobileye 的 EyeQ3 移动处理器以及英伟达 TegraK1 芯片。奥迪的观念非常清晰,自动驾驶的关键还在学习。
地平线在这块领域也是进行了大量的工作,我们有一个品牌叫做雨果,这是汽车的一个开放平台。
(播放视频)这个是雨果做的整个道路的语义理解,它可以把道路各个不同种类的物体运用不同色彩标识出来,比如栅栏是红色,道路是绿色,树木是深绿,汽车是紫色,这样一个对于道路综合语义理解对于智能驾驶系统是很关键的,很多道路也不是结构化的道路,比如乡村的道路其实没有车道线,栅栏也没有,你没有办法通过车道线去自动驾驶,这个时候你要自己去决定该走哪一块。
这是地平线做的识别,左上角是英伟达的,很遗憾不能秀一下动态的视频。地平线是在北京做的测试,在这个路口的人其实非常的密集,地平线很好做了识别,并且对于出租车里面的人,仅仅露一个脑袋的人也可以识别。
对于车辆检测,地平线从去年 8 月开始,长期保持在 KITTI 排名第一的识别率。Densebox 就是测试的名字。
地平线是一家专注于算法和芯片开发的公司,我们在最下端的解决方案,我们更多愿意跟业界合作伙伴,各类的公司和主机厂一起合作,一起做最后的产品出来。地平线的算法团队其实蛮国际化的,助力的算法团队来自于像 facebook、网络、中科院。我认为在深度学习领域,我们中国第一次有机会基本上跟国际的主流的开发的机构处于差不多的一个水平线上,不能说是绝对的齐平,但是不会有太大的差别。
| 我们为什么要自己做深度学习的芯片?
刚才赵总也分享了,为什么我们需要深度学习的芯片,提到很多国内公司在宣称自己在做这个,这是一件好事,因为大家都知道现在的计算结构不合理。
比如说举一个例子,深度学习的输入是高度密集化的,这种密集化输入不太适合 DSP 这种,是流水线的,GPU 的一个问题在哪里?
在多输入之后的下一步处理,在数据缓冲方面做得不好。很不幸的是深度学习网络它的输入是前后关联的,在中间隐藏层的时候,这个卷积盒是要跟前置进行卷积计算的,这就意味着首先要取参数、计算,这就会导致在正常的一般结构下会大量的有外出效应。
第二个因为带宽永远是有限的。
第三个是功耗问题,这些都是非常实际的问题。
还有一点就是,深度神经网络的参数非常多.
整个业界都意识到,如果要在深度学习领域能够做的话,像地平线得自己做芯片有点类似于手机业界,在大约十年前的时候,手机业界还没有一个想法说一定要做自己的芯片,但是今天大家已经看得非常清楚,如果要想做起来必须做自己的芯片,苹果、三星、华为都是自己的,如果你不这么做只是使用高通的平台,你还是可以做,但是很不幸你是第二梯队。所以在深度学习也是一样,你还可以用英伟达、高通的芯片,可是这不是第二名和第一名的差距,这是第二梯队和第一梯队的差距。因为算法在演进,你如果用别人的话肯定是慢一拍的,这是一个问题。
国内有不少公司在做,包括有一家公司叫做(深建科技),最近他们发表了成绩,就是 DPU,深度学习的处理器,他们在单位功耗下的性能表现是英特尔之前 CPU 的 24000 倍,是英伟达 GPU 的 3000 倍。而他们所做的优化的工作,恰恰是刚才我提到的问题,对于压缩,对于访问的优化,降低了功耗。
地平线也是一样,我们非常清晰认识到这个问题,所以我们的做法也是这样,我们地平线也是在做自己的芯片。我们希望在短时间内能够把整个的能耗比提升千倍。
地平线现在专注的深度学习的技术的应用点有哪些?四个大块,语音、语言、视觉、控制。应该说,这四个纬度可以构成大量的创新的应用,不仅仅是自动驾驶,还包括家庭的服务器的监控等等。我们的目标是希望在未来,我们可以用我们自己的算法芯片,跟广大下游的伙伴进行合作,比如空调公司,比如扫地机器人公司等等,能够覆盖超过 1000 个品类的智能产品,我们的目标是为现代的智能硬件真正的赋予智能,所以我们的目标是定义物联网时代的大脑。
我的分享就到这里,我们也是非常欢迎大家如果有意跟地平线合作,我们提供平台解决方案,而不是某个具体品类和最终的产品,谢谢大家。
C. 人工智能,机器学习,深度学习,到底有何区别
有人说,人工智能(AI)是未来,人工智能是科幻,人工智能也是我们日常生活中的一部分。这些评价可以说都是正确的,就看你指的是哪一种人工智能。
今年早些时候,Google DeepMind的AlphaGo打败了韩国的围棋大师李世乭九段。在媒体描述DeepMind胜利的时候,将人工智能(AI)、机器学习(machine learning)和深度学习(deep learning)都用上了。这三者在AlphaGo击败李世乭的过程中都起了作用,但它们说的并不是一回事。
今天我们就用最简单的方法——同心圆,可视化地展现出它们三者的关系和应用。
人工神经网络(Artificial Neural Networks)是早期机器学习中的一个重要的算法,历经数十年风风雨雨。神经网络的原理是受我们大脑的生理结构——互相交叉相连的神经元启发。但与大脑中一个神经元可以连接一定距离内的任意神经元不同,人工神经网络具有离散的层、连接和数据传播的方向。
例如,我们可以把一幅图像切分成图像块,输入到神经网络的第一层。在第一层的每一个神经元都把数据传递到第二层。第二层的神经元也是完成类似的工作,把数据传递到第三层,以此类推,直到最后一层,然后生成结果。
每一个神经元都为它的输入分配权重,这个权重的正确与否与其执行的任务直接相关。最终的输出由这些权重加总来决定。
我们仍以停止(Stop)标志牌为例。将一个停止标志牌图像的所有元素都打碎,然后用神经元进行“检查”:八边形的外形、救火车般的红颜色、鲜明突出的字母、交通标志的典型尺寸和静止不动运动特性等等。神经网络的任务就是给出结论,它到底是不是一个停止标志牌。神经网络会根据所有权重,给出一个经过深思熟虑的猜测——“概率向量”。
这个例子里,系统可能会给出这样的结果:86%可能是一个停止标志牌;7%的可能是一个限速标志牌;5%的可能是一个风筝挂在树上等等。然后网络结构告知神经网络,它的结论是否正确。
即使是这个例子,也算是比较超前了。直到前不久,神经网络也还是为人工智能圈所淡忘。其实在人工智能出现的早期,神经网络就已经存在了,但神经网络对于“智能”的贡献微乎其微。主要问题是,即使是最基本的神经网络,也需要大量的运算。神经网络算法的运算需求难以得到满足。
不过,还是有一些虔诚的研究团队,以多伦多大学的Geoffrey Hinton为代表,坚持研究,实现了以超算为目标的并行算法的运行与概念证明。但也直到GPU得到广泛应用,这些努力才见到成效。
我们回过头来看这个停止标志识别的例子。神经网络是调制、训练出来的,时不时还是很容易出错的。它最需要的,就是训练。需要成百上千甚至几百万张图像来训练,直到神经元的输入的权值都被调制得十分精确,无论是否有雾,晴天还是雨天,每次都能得到正确的结果。
只有这个时候,我们才可以说神经网络成功地自学习到一个停止标志的样子;或者在Facebook的应用里,神经网络自学习了你妈妈的脸;又或者是2012年吴恩达(Andrew Ng)教授在Google实现了神经网络学习到猫的样子等等。
吴教授的突破在于,把这些神经网络从基础上显着地增大了。层数非常多,神经元也非常多,然后给系统输入海量的数据,来训练网络。在吴教授这里,数据是一千万YouTube视频中的图像。吴教授为深度学习(deep learning)加入了“深度”(deep)。这里的“深度”就是说神经网络中众多的层。
现在,经过深度学习训练的图像识别,在一些场景中甚至可以比人做得更好:从识别猫,到辨别血液中癌症的早期成分,到识别核磁共振成像中的肿瘤。Google的AlphaGo先是学会了如何下围棋,然后与它自己下棋训练。它训练自己神经网络的方法,就是不断地与自己下棋,反复地下,永不停歇。
|深度学习,给人工智能以璀璨的未来
深度学习使得机器学习能够实现众多的应用,并拓展了人工智能的领域范围。深度学习摧枯拉朽般地实现了各种任务,使得似乎所有的机器辅助功能都变为可能。无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐,都近在眼前,或者即将实现。
人工智能就在现在,就在明天。有了深度学习,人工智能甚至可以达到我们畅想的科幻小说一般。你的C-3PO我拿走了,你有你的终结者就好了。
D. 该不该坚持学习Machine Learning
Machine Learning的前景怎么样?
Machine Learning作为统计学的一个分支,最近好像特别吃香,请大神们解疑,Machine Learning具体是干什么的,前景什么样?
正好刚回答过类似的问题,直接引用下吧
Machine Learning现在是一个很火的研究方向。机器学习是研究计算机怎么模拟人类的学习行为,并且能组织已有的知识构架使之不断完善的性能的学科。 是人工智能的核心,是使计算机具有智能的根本途径。与其说是统计学的分支,不如说是统计学,计算机科学,信息科学的交叉分科。其涉及的知识面很广,涵盖了工智能、哲学、信息论、生物学、认知科学、计算复杂性等众多领域的专业知识。现在存在的一些计算器系统是没有学习的能力的(或者是有的已有了特别局限的学习能力?),因而是不能满足生产的需求的。随意随着科技的发展,machine Learning肯定会得到长足的发展的。只是,machine Learning也有许多发展方向,不是每个方向都发展的起来。
附上这篇文章的链接吧:
数据挖掘和深度学习(deep learning)哪个更有发展前景?
我再补充下Machine Learning的研究目标吧:
认知模型——即是3M认知模型,是人类对真实世界进行认知的过程模型。认知是个系统的过程,其中包含感知,记忆,判断与学习。因而完成这个认知过程,是个一及其艰难和浩大的工程。
通用学习算法——像是大家熟知deep Learning就是Machine Learning中的一种比较深的算法。 其实很多ML算法都是非逻辑性的,输入的信息数据通过数学模型而得出一个新的工具,其实可以说是建立一个人工识别号的数据库。
构造学习系统的方法(面向任务的)——其实就是研究如何通过环境向系统的学习环节提供某些信息。
先说这么多吧,有空的话做个图解释下ML的方法论,觉得还是解释比较抽象,多多包涵吧。
Machine Learning是一门多领域的交叉学科,除了像最常见的统计学、逼近论、算法复杂度分析理论等,也包括一些与生物领域的科学相关的问题,比如说最常见的人工神经网络中的各类神经元与链接方式都是仿照人脑进行操作的、以及遗传算法中模拟基因突变的过程等。
机器学习主要就是研究计算机如何模型或实现像人一样的思维方式去学习知识,通过对新问题的反馈机制,修改或优化自己已经学习到的知识。其是人工智能的核心,也就是说,人工智能非常依赖机器学习的好坏与优良程度。
机器学习的方法以及其效果的好坏对于人类未来的发展至关重要,如果效果很高的话,至少可以替代人工做的一些重复的体力劳动,并可以根据特殊情况进行一定的反映。因此,就前景而言还是很好的,尤其是在现在这个大数据时代,越来越多的人类行为相关数据被记录在案,为机器学习提供了基础内容。此外,机器学习所产生的一些成果,已经应用于许多领域,包括数据挖掘、自然语言处理等等。
虽然机器学习已经取得了一定的突破,但是还是没有达到人工智能的程度,因此有许多问题是需要研究和发展的,因此,未来的发展也是充满机遇与挑战的。Machine Learning是个不错的领域,如果想要进入的话,建议多学习一些基础思想和编程。
机器学习已经越来越平民化了(democratizing),数学和算法并非一定要很深厚功力,大多通用算法都是现成的,比如微软Azure Machine Learning平台已经有很多打包的示例,如用来分析customer churn的示例等。至于operationalization(不知道怎么翻译),现在也没这么难了。
我觉得如果只是应用机器学习来处理现实问题,最难的还是怎么把通用算法和自己公司的现实问题联系起来,比如怎么定feature,用哪种model,另外怎么评价最终效果等等。难的是深入理解企业的实际业务,而非技术和算法。
个人认为趋势是随着machine learning平台的成熟以及通用场景的算法普及,data scientist这个称号会逐渐平民化甚至消失,最后你搭个回归模型之类的就像使用Excel处理一些数据这样简单。一个PM或者销售经理可以自己做这事而不需要养一个专门的职位。
机器学习的应用在工业界需求很高,有过工作经验的人可以很轻松的找到工作,供给远远小于需求,而且需求越来越大。
但是招 New Grad (PhD 可以考虑) 相对较少。原因很多,简单来说,就是 New Grad 往往工程经验不够,学术能力也不够。工业界的现状不复杂:大公司搞机器学习的组大、人多、要求高,PhD 是进入的门槛;小公司人少,每个人都要独当一面,因此必须要有过搭建实际机器学习系统的经验。因此如果两边都没有优势的话,自然找工作比较吃力。
因此,对于有志于做这个方向的同学来说,建议找工作时调整心态,第一份工作尽量找到工作职责与机器学习相关的组,而不必追求一步到位。人生的职业生涯很长,做好3到5年的职业生涯规划,积累实际工作经验,不断学习与强化自己。人与人的差距并不会在第一份工作中体现,而是在前几年逐渐显现出来。
机器学习早期发展是遵循实用主义糙快猛的路线。基本步骤就是靠直觉构造一个优化目标,然后解这个优化问题。数学工具基本上线性代数和凸优化也就够用了。再深一点涉及博弈论,随机过程,微分方程,测度论,实分析,泛函分析,李群等。
这个学科发展很快,长期处于理论跟不上实践。当前的发展势头,已经到了一个工科那点数学不太够用了的阶段。很需要一批数学大牛来披荆斩棘一下。很多这个领域的人认为过多的数学没必要,其实是因为这些人数学菜。我就看到过用代数几何的方法(resolution of singularity, blow-up)漂亮的解singular model的问题。可惜很少人follow。 总之很多问题是到了需要引入高级数学工具才能漂亮解决的地步了。比如各种不变性和等价性需要黎曼几何,各种ill pose singular问题需要代数几何。
结局就是:还是好好去学数学吧。。。。。。
提几个可能的有关机器学习当中的深度学习发展方向,同时也就是尚待解决的问题:
1.让深度学习自动调超参。
最近看到有人在一个AI群里推广自己的一篇论文《Deep Q-Networks for Accelerating the Training of Deep Neural Networks》,大致是用强化学习的方法训练一个控制器来自动控制学习率以及在一个batch中各个类的样本占比。虽然它那篇论文问题很大,训练出来的控制器极其不通用,只能用在它原本的任务上,但是感觉很容易解决掉,这个另说。想象一下,如果能够训练出一个通用的控制器,对于各类任务都能够自动调整超参(或者只在某个子领域比如图像分类做到通用也好),那我们就再也不用自称调参狗了,同时也可以解放出更多的时间用于设计模型、验证架构,想必深度学习的发展步伐会得到极大加速。
2.自动学习网络架构。
其实说起来这个问题也可以归入自动调超参,但是感觉应该还是有很大的不同。说起来无非就是两个方面,一是加法二是减法。加法方面可以参考《Net2Net: Accelerating Learning via Knowledge Transfer》,这篇是让CNN自动根据需要自动拓展架构,包括横向的增加filter和纵向的增加layer。减法方面可以参考各类Network Compression(网络压缩)的论文中的所谓Network Pruning(网络剪枝),比如《Deep Compression - Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding》,虽然这些论文出发点不在于自动学习网络架构而在于压缩网络规模,而且它们往往是在训练收敛之后才对网络进行裁剪而非边训练边裁剪,但是感觉只需要再跨一步就可以了。我个人觉得,自动学习网络架构需要解决的最根本问题就是“应该在什么时机进行架构变动”以及“应该怎么变”,第二个问题感觉上述论文算是回答得可以了,但是第一个问题似乎还有很多可以探索的地方。对于第一个问题,似乎强化学习就很适合解决,因为显然可以把它看成一个控制问题。
3.迁移学习。
众所周知,深度学习的直接训练依赖大量数据,而transfer和finetune能够有效利用数据量大的外部任务训练出来特征来迁移到数据量小的目标任务上,使得目标任务对于数据量的要求大大减小。现在的问题在于,迁移学习的思想现在大家其实都在用,很多论文中都可以看到finetune的做法,但是对于两个任务之间需要“多像”才能够迁移这么一个问题还没有一个很好的回答。即使我们不奢求能够给出一个严格的数学理论,至少,如果有人能够做一个非常系统的对比实验,总结出一些规律,使得我们有信心说在如何如何这样一个边界内的任务都是基本上可以transfer的,那将会是一个很大的进步。这个问题也可以这么看,如今我们应该有信心说两个图像分类任务可以transfer,但是这个边界太过狭窄,我个人期待的就是能够有一套理论或者方法论使得这个边界大大拓展,然后在这个边界内我们可以像对两个图像分类任务一样自信满满地用迁移学习。
4.无监督/半监督学习。
像LeCun等大佬其实一直在鼓吹这方面,但似乎还没有搞出像当年CNN(AlexNet)、最近强化学习(阿法狗)这样级别的大新闻来。我理解在这个问题上的努力方向应该是确定“何种representation最有用”。具体来说,就是找到一个指标,然后用深度网络优化这个指标,使得满足这个指标的data representation能够具有非常好的特性。再具体一些,下面举三个实际例子:
autoencoder以重构损失作为指标来学习一个representation。
之前听一个讲座,演讲人介绍他的论文《Why Deep Learning Works: A Manifold Disentanglement Perspective》IEEE Xplore Abstract,其中定义了三个指标来描述深度网络每一层中data representation的“蜷曲程度”,并发现,越高层的数据蜷曲度越低,换言之,越平展。那么无监督学习是否能够直接以这个蜷曲度作为损失函数来学习一个representation呢?
这篇论文《Context Encoders: Feature Learning by Inpainting》提出通过预测周边上下文像素来无监督学习视觉特征,感觉很像word2vec从一维变成二维。
除了上述的重构损失、蜷曲度、预测上下文精度,还有没有别的指标学习出来的representation更好呢?个人认为这些问题就是推动无监督/半监督学习进展的关键所在。
5.基于外部存储(external memory)的模型。
如果说RNN、LSTM这样的模型属于internal memory / long-term memory的话,那么以神经图灵机(Neural Turing Machine)、记忆网络(Memory Network)为代表的模型就应该称为external memory / really long-term memory了。不过这两个模型刚出来的时候还太过naive,只能做一些很无聊的task,比如序列复制和排序以及非常简单的QA,但是现在已经开始看到它们被用到更加实际的问题上面,例如One-shot Learning:《One-shot Learning with Memory-Augmented Neural Networks》。往大了说,如果未来要实现强AI,这种外部存储的机制肯定是必不可少的。现在的问题在于,神经图灵机和记忆网络用的外部存储虽然比LSTM那样简单的一个hidden state向量更进一步,但也其实就是很简单的一片矩阵,没有任何结构和层次可言,换言之,就是还不够复杂。所以我猜想接下来可能external memory会和知识图谱(Knowledge Graph)结合起来或至少是向知识图谱类似的做法靠拢,因为知识图谱更加结构化。
咳咳,路过,进来小小的装一下。本人现在大三,所以说在这个话题上可能并没有什么话语权,不过因为最近再跟老师搞项目,正好是这方面的,戳进来分享一下感受吧。
第一是:机器学习前景很好。这是真的,最近看了很多论文,有关数据挖掘数据分析类别的,里面用到的百分之八九十都是机器学习,这可能也是人工智能发展的最大需求吧,人工智能无非是模仿人类,而人类最开始也是对世界充满了无知,通过学习才慢慢认知这个世界的,个人感觉这就是为什么机器学习会被提出来吧,像真的实现人工智能就要从根源开始模仿人类,也就是从学习这个技能上入手。
说完了这个想说的是为什么前景好呢,上面说过的用途和提出愿景好是一方面,另一方面是因为这方面人才还比较少,其实这也是一种发展前景吧。就像前几年计算机刚刚火起来的时候那些最早接触计算机的人突然就变得很出名,然后社会上一大部分人都涌入到这个领域中,这是一个道理。机器学习现在还处在起步阶段,下一阶段怎么发展决定于人们对他的研究深度和重视程度。就目前人工智能不断得到重视来看,应该还是很有发展前景的,说不好会成为继计算机时代后的又一个新的时代。
以上观点仅仅是个人观点,我觉得至少在短时间内这个研究方向只会更火不会被冷,就像大数据一样,同样也有人在不断质疑大数据的发展,不过目前发展的还是很好的不是吗?
---------------------------------
2016 机器学习之路:一年从无到有掌握机器学习
译者:闻菲
今天是2016年9月12日AI WORLD 2016世界人工智能大会倒计时 36天启航期5折抢票倒计时 7 天
【导读】程序员 Per Harald Borgen 在 Medium 刊文,介绍了他在一年的时间里,从入门到掌握机器学习的历程。Borgen 表示,即使没有博士学位和高深的数学造诣也能掌握机器学习。这一点相信对不少人都挺有吸引力和启发。不过,博士学位或许真的并非必须,但要掌握机器学习,学再多的数学也不会嫌多。下面就来看 Borgen 不脱产,从菜鸟变熟手提升业绩的故事。
第一步:Hacker News 和 Udactiy
Borgen 对机器学习的兴趣始于 2014 年。跟很多人一样,他最初是看到 Hacker News 的帖子,单纯觉得教计算机学东西很酷。那时候他还只是个业余的编码爱好者,连程序员都谈不上。
于是,Borgen 开始了他的机器学习之路。首先,到 Uadcity 看监督学习的视频,然后阅读所有能找到的、跟机器学习有关的读物。
Borgen 总结说,“这给了我一点概念上的理解,不过没有实践技巧。”
同时,他也十分坦承,Udacity 的 MOOC 他并没有上完——只要是 MOOC,他几乎都没有坚持上完过。这一点,无论怎么说,至少让篇文章的置信度倍增。
第二步:挂掉 Coursera 机器学习课
2015 年初,Borgen 为了成为正式的开发人员,参加了 Founders and Coders(FAC)在伦敦的训练营。在 FAC,他和同学一起,每周二晚上会看 Coursera 上机器学习课程的视频。
不用说,大名鼎鼎的吴恩达的机器学习课。Borgen 表示课很赞,学了很多,然而他个人觉得这门课不适合新手。至少他自己,就需要反复看视频才能掌握里面讲的概念——当然,这是 Borgen 的个人感受。不过,Borgen 在 FAC 学的同学也一个个掉队,最终他自己也挂掉了。
Borgen 总结说,他当时应该学一门用机器学习库编代码的课,而不是从零开始建算法,至少应该用他已经知道的编程语言写算法。
一句话,“对新手来说,一边学语言一遍写机器学习算法代码难度是很高的”。这句话有一定的参考价值。
Borgen 的建议是,可以选择 Udacity 的《机器学习入门》(Intro to Machine Learning),更容易入门,上来就能实践,在提升经验值的过程中,学习的趣味性也会增多。
【经验】从简单的实践学起,之后再学困难的、偏理论的东西。
第三步:一周学会机器学习
Borgen 在 FAC 做的最后一件事情,就是“一周学会机器学习”。他的目标是,一周以后能够实用机器学习解决实际问题,而他也成功做到了这一点。
具体的经验 Borgen 写在了另一篇文章里。有兴趣进一步了解,可以访问:
简单说,在一周的时间里,Borgen 做了以下几件事情:
学会了 Scikit Learn
在真实世界数据库跑了一次机器学习
从零(用 python )写了一个线性回归算法
做了一点儿 NLP
【经验】腾出一周时间来全身心地沉浸到机器学习里面去,效果惊人。
第四步:挂掉神经网络
成功在一周的时间里拿下机器学习给了 Borgen 自信。因此,在他结束 FAC 回到挪威时,他计划进行第二次挑战——一周内学会神经网络。
然而,事实是残酷的。离开 FAC 那种 沉浸式学习环境后,要一天写 10 小时的代码可不容易。
【教训】找一个合适的环境做这种事情。
不过,Borgen 到底还是学上了神经网络。去年 7 月份的时候,他写完了一个网络的代码。虽然很粗糙,但完成比完美重要,对吧?
下半年,Borgen 换了一份新工作,这在某种程度上影响了他的机器学习学习进展。这一阶段他主要做的是实现神经网络,他把大学时学的线性代数重新看了一遍。年底时,Borgen 写了篇总结:
《学习如何编写神经网络代码》
也是在这篇文章里,Borgen 记录了他从零开始写代码的过程。这篇文章在 Medium 上点赞的数量接近 600。
第四步:在 Kaggle 竞赛中实践
2015 年圣诞节,Borgen 参加了 Kaggle 竞赛。当然,实践的效果是显着的,他得到了通过算法和数据实际迭代实验的经验,也学会了在做机器学习项目时要相信自己的逻辑,“如果调参或特征工程从逻辑上看有用,那么一般都会有用”。
第五步:在工作中建立学习的习惯
2016 年初,Borgen 想将他在去年年底获得的动力持续到工作中,便询问经理是否能在上班时学新的东西——经理答应了。虽然 Borgen 在文中没有多写,实际上,从这个经历中也能学到东西:
勇于提出需求,它们才有机会得到满足——当然,你的需求需要合理。
于是,Borgen 就在上班时也能学机器学习啦(拿钱做想做的事情!)。在 2016 年积累了相关经验以后,Borgen 的第一站是 Uadcity 的深度学习课程。然而,事实证明,对于现在的他来说,Udacity 的这门课已经太浅。不过,课后的 Ipython Notebook 作业却太难。Debug 浇灭了他的大部分兴趣。又一次地,一门 MOOC 被他放弃。
但随后,Borgen 发现了斯坦福的 CS224D,这门课让他获益匪浅。Borgen 总结斯坦福 CS224D 的好处是:
尽管难,但做题从来没有 debug;
课程提供答案,便于加深理解。
尽管 Borgen 仍然没有把这门课上完,但他推荐有兴趣的人去学。
另外,Borgen 在学这门课的过程中,为了完成题目,请了一位家教,时薪 40 美元,这位家教帮他发现了很多问题。因此,他得到了这么一条经验。
【经验】花 50 美元/时的金额聘请机器学习家教,绝对值得。(如果你有机器学习经验,你可以获得时薪 50 美元的打工机会。)
学以致用,提高销售额
Borgen 在工作中实践机器学习,他搭建了一个系统,节省了公司销售部门同事的很多时间。相关代码:
以上就是 Borgen 在实际工作中一年掌握机器学习的历程。不管带不带感,至少十分真实。Borgen 在文章末尾写道:“如果我做得到,你也做得到。”
尤其是工作中的程序员,你不想试试吗?
E. 大数据包括哪些
简单来说,从大数据的生命周期来看,无外乎四个方面:大数据采集、大数据预处理、大数据存储、大数据分析,共同组成了大数据生命周期里最核心的技术,下面分开来说:
一、大数据采集
大数据采集,即对各种来源的结构化和非结构化海量数据,所进行的采集。
数据库采集:流行的有Sqoop和ETL,传统的关系型数据库MySQL和Oracle 也依然充当着许多企业的数据存储方式。当然了,目前对于开源的Kettle和Talend本身,也集成了大数据集成内容,可实现hdfs,hbase和主流Nosq数据库之间的数据同步和集成。
网络数据采集:一种借助网络爬虫或网站公开API,从网页获取非结构化或半结构化数据,并将其统一结构化为本地数据的数据采集方式。
文件采集:包括实时文件采集和处理技术flume、基于ELK的日志采集和增量采集等等。
二、大数据预处理
大数据预处理,指的是在进行数据分析之前,先对采集到的原始数据所进行的诸如“清洗、填补、平滑、合并、规格化、一致性检验”等一系列操作,旨在提高数据质量,为后期分析工作奠定基础。数据预处理主要包括四个部分:数据清理、数据集成、数据转换、数据规约。
数据清理:指利用ETL等清洗工具,对有遗漏数据(缺少感兴趣的属性)、噪音数据(数据中存在着错误、或偏离期望值的数据)、不一致数据进行处理。
数据集成:是指将不同数据源中的数据,合并存放到统一数据库的,存储方法,着重解决三个问题:模式匹配、数据冗余、数据值冲突检测与处理。
数据转换:是指对所抽取出来的数据中存在的不一致,进行处理的过程。它同时包含了数据清洗的工作,即根据业务规则对异常数据进行清洗,以保证后续分析结果准确性。
数据规约:是指在最大限度保持数据原貌的基础上,最大限度精简数据量,以得到较小数据集的操作,包括:数据方聚集、维规约、数据压缩、数值规约、概念分层等。
三、大数据存储
大数据存储,指用存储器,以数据库的形式,存储采集到的数据的过程,包含三种典型路线:
1、基于MPP架构的新型数据库集群
采用Shared Nothing架构,结合MPP架构的高效分布式计算模式,通过列存储、粗粒度索引等多项大数据处理技术,重点面向行业大数据所展开的数据存储方式。具有低成本、高性能、高扩展性等特点,在企业分析类应用领域有着广泛的应用。
较之传统数据库,其基于MPP产品的PB级数据分析能力,有着显着的优越性。自然,MPP数据库,也成为了企业新一代数据仓库的最佳选择。
2、基于Hadoop的技术扩展和封装
基于Hadoop的技术扩展和封装,是针对传统关系型数据库难以处理的数据和场景(针对非结构化数据的存储和计算等),利用Hadoop开源优势及相关特性(善于处理非结构、半结构化数据、复杂的ETL流程、复杂的数据挖掘和计算模型等),衍生出相关大数据技术的过程。
伴随着技术进步,其应用场景也将逐步扩大,目前最为典型的应用场景:通过扩展和封装 Hadoop来实现对互联网大数据存储、分析的支撑,其中涉及了几十种NoSQL技术。
3、大数据一体机
这是一种专为大数据的分析处理而设计的软、硬件结合的产品。它由一组集成的服务器、存储设备、操作系统、数据库管理系统,以及为数据查询、处理、分析而预安装和优化的软件组成,具有良好的稳定性和纵向扩展性。
四、大数据分析挖掘
从可视化分析、数据挖掘算法、预测性分析、语义引擎、数据质量管理等方面,对杂乱无章的数据,进行萃取、提炼和分析的过程。
1、可视化分析
可视化分析,指借助图形化手段,清晰并有效传达与沟通信息的分析手段。主要应用于海量数据关联分析,即借助可视化数据分析平台,对分散异构数据进行关联分析,并做出完整分析图表的过程。
具有简单明了、清晰直观、易于接受的特点。
2、数据挖掘算法
数据挖掘算法,即通过创建数据挖掘模型,而对数据进行试探和计算的,数据分析手段。它是大数据分析的理论核心。
数据挖掘算法多种多样,且不同算法因基于不同的数据类型和格式,会呈现出不同的数据特点。但一般来讲,创建模型的过程却是相似的,即首先分析用户提供的数据,然后针对特定类型的模式和趋势进行查找,并用分析结果定义创建挖掘模型的最佳参数,并将这些参数应用于整个数据集,以提取可行模式和详细统计信息。
3、预测性分析
预测性分析,是大数据分析最重要的应用领域之一,通过结合多种高级分析功能(特别统计分析、预测建模、数据挖掘、文本分析、实体分析、优化、实时评分、机器学习等),达到预测不确定事件的目的。
帮助分用户析结构化和非结构化数据中的趋势、模式和关系,并运用这些指标来预测将来事件,为采取措施提供依据。
4、语义引擎
语义引擎,指通过为已有数据添加语义的操作,提高用户互联网搜索体验。
5、数据质量管理
指对数据全生命周期的每个阶段(计划、获取、存储、共享、维护、应用、消亡等)中可能引发的各类数据质量问题,进行识别、度量、监控、预警等操作,以提高数据质量的一系列管理活动。
以上是从大的方面来讲,具体来说大数据的框架技术有很多,这里列举其中一些:
文件存储:Hadoop HDFS、Tachyon、KFS
离线计算:Hadoop MapRece、Spark
流式、实时计算:Storm、Spark Streaming、S4、Heron
K-V、NOSQL数据库:HBase、Redis、MongoDB
资源管理:YARN、Mesos
日志收集:Flume、Scribe、Logstash、Kibana
消息系统:Kafka、StormMQ、ZeroMQ、RabbitMQ
查询分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid
分布式协调服务:Zookeeper
集群管理与监控:Ambari、Ganglia、Nagios、Cloudera Manager
数据挖掘、机器学习:Mahout、Spark MLLib
数据同步:Sqoop
任务调度:Oozie
······
想要学习更多关于大数据的知识可以加群和志同道合的人一起交流一下啊[https://sourl.cn/d9wRmb ]
F. 司马大大(北京)智能系统有限公司怎么样
简介:司马大大是一家专注于以人工智能为基础的视觉机器人的高新技术企业,致力于视频大数据的智能管理,采用压缩感知技术、深度学习技术,为海量视频资源的采集、存储、分析和数据结构化提供了一套完整的软硬件相结合的解决方案。itjuzi是一家数据服务公司
法定代表人:马兆远
成立时间:2012-12-07
注册资本:375.4693万人民币
工商注册号:110108015443017
企业类型:其他有限责任公司
公司地址:北京市海淀区北三环中路44号4号楼1层111
G. 人工智能涉及哪些核心技术和理论
人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。
人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。[1]
H. 人工智能领域都有哪些
什么是人工智能?
人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学,是认知、决策、反馈的过程。
人工智能技术的细分领域有哪些?
人工智能技术应用的细分领域:深度学习、计算机视觉、智能机器人、虚拟个人助理、自然语言处理—语音识别、自然语言处理—通用、实时语音翻译、情境感知计算、手势控制、视觉内容自动识别、推荐引擎等。
下面,我们就每个细分领域,从概述和技术原理角度稍微做一下展开,供大家拓展一下知识。
1、深度学习
深度学习作为人工智能领域的一个重要应用领域。说到深度学习,大家第一个想到的肯定是AlphaGo,通过一次又一次的学习、更新算法,最终在人机大战中打败围棋大师。
对于一个智能系统来讲,深度学习的能力大小,决定着它在多大程度上能达到用户对它的期待。。
深度学习的技术原理:
1.构建一个网络并且随机初始化所有连接的权重;2.将大量的数据情况输出到这个网络中;3.网络处理这些动作并且进行学习;4.如果这个动作符合指定的动作,将会增强权重,如果不符合,将会降低权重;5.系统通过如上过程调整权重;6.在成千上万次的学习之后,超过人类的表现;
2、计算机视觉
计算机视觉是指计算机从图像中识别出物体、场景和活动的能力。计算机视觉有着广泛的细分应用,其中包括,医疗领域成像分析、人脸识别、公关安全、安防监控等等。
NLP
自然语言处理技术原理:
1、汉字编码词法分析;2、句法分析;3、语义分析;4、文本生成;5、语音识别;
6、智能机器人
智能机器人在生活中随处可见,扫地机器人、陪伴机器人……这些机器人不管是跟人语音聊天,还是自主定位导航行走、安防监控等,都离不开人工智能技术的支持。
智能机器人技术原理:
人工智能技术把机器视觉、自动规划等认知技术、各种传感器整合到机器人身上,使得机器人拥有判断、决策的能力,能在各种不同的环境中处理不同的任务。智能穿戴设备、智能家电、智能出行或者无人机设备其实都是类似的原理。
7、引擎推荐
淘宝、京东等商城,以及36氪等资讯网站,会根据你之前浏览过的商品、页面、搜索过的关键字推送给你一些相关的产品、或网站内容。这其实就是引擎推荐技术的一种表现。
Google为什么会做免费搜索引擎,目的就是为了搜集大量的自然搜索数据,丰富他的大数据数据库,为后面的人工智能数据库做准备。
引擎推荐技术原理:
推荐引擎是基于用户的行为、属性(用户浏览行为产生的数据),通过算法分析和处理,主动发现用户当前或潜在需求,并主动推送信息给用户的浏览页面。
I. 前馈神经网络、BP神经网络、卷积神经网络的区别与联系
一、计算方法不同
1、前馈神经网络:一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层.各层间没有反馈。
2、BP神经网络:是一种按照误差逆向传播算法训练的多层前馈神经网络。
3、卷积神经网络:包含卷积计算且具有深度结构的前馈神经网络。
二、用途不同
1、前馈神经网络:主要应用包括感知器网络、BP网络和RBF网络。
2、BP神经网络:
(1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数;
(2)模式识别:用一个待定的输出向量将它与输入向量联系起来;
(3)分类:把输入向量所定义的合适方式进行分类;
(4)数据压缩:减少输出向量维数以便于传输或存储。
3、卷积神经网络:可应用于图像识别、物体识别等计算机视觉、自然语言处理、物理学和遥感科学等领域。
联系:
BP神经网络和卷积神经网络都属于前馈神经网络,三者都属于人工神经网络。因此,三者原理和结构相同。
三、作用不同
1、前馈神经网络:结构简单,应用广泛,能够以任意精度逼近任意连续函数及平方可积函数.而且可以精确实现任意有限训练样本集。
2、BP神经网络:具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。
3、卷积神经网络:具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类。
(9)压缩感知深度学习扩展阅读:
1、BP神经网络优劣势
BP神经网络无论在网络理论还是在性能方面已比较成熟。其突出优点就是具有很强的非线性映射能力和柔性的网络结构。网络的中间层数、各层的神经元个数可根据具体情况任意设定,并且随着结构的差异其性能也有所不同。但是BP神经网络也存在以下的一些主要缺陷。
①学习速度慢,即使是一个简单的问题,一般也需要几百次甚至上千次的学习才能收敛。
②容易陷入局部极小值。
③网络层数、神经元个数的选择没有相应的理论指导。
④网络推广能力有限。
2、人工神经网络的特点和优越性,主要表现在以下三个方面
①具有自学习功能。例如实现图像识别时,只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络,网络就会通过自学习功能,慢慢学会识别类似的图像。自学习功能对于预测有特别重要的意义。预期未来的人工神经网络计算机将为人类提供经济预测、效益预测,其应用前途是很远大的。
②具有联想存储功能。用人工神经网络的反馈网络就可以实现这种联想。
③具有高速寻找优化解的能力。寻找一个复杂问题的优化解,往往需要很大的计算量,利用一个针对某问题而设计的反馈型人工神经网络,发挥计算机的高速运算能力,可能很快找到优化解。