AI_深度学习为何兴起?
深度学习和神经网络,在此技术背后的理念,已经发展了好几十年了,为何现在流行起来了?
最直接因素:
将帮助你在自己的组织中,发现好机会,来应用这些东西
为什么深度学习这么厉害?

x轴表示完成任务的数据数量,y轴代表机器学习算法的性能,比如垃圾邮件过滤的准确率、广告点击预测的准确率、用于人工智能判断其他车辆的位置的神经网络准确率
传统机器学习算法,比如支持向量机,或logistic回归,作为数据量的一个函数,它的性能一开始,随增加数据时会上升,但是一段时间之后,它的性能进入平台期(天花板),假如水平轴拉的很长很长,因为这些模型无法处理海量数据。而在过去的20年,在我们社会中,遇到的的问题,只有相对较少的数据量,数据化社会的到来,现在收集到海量数据轻而易举
人类花了很多时间在数字王国中,在电脑上、在网站上、在手机软件上数字设备上的活动都能创造数据,同时也归功于便宜的相机,以及物联网中各种传感器,我们收集到越来越多数据,过去20年中,我们收集到了大量的数据,远超传统学习算法能发生作用的规模
神经网络模型中,我们发现,如果你训练一个小型的神经网络 ,一个中等的神经网络,训练一个大型的额神经网络,性能会这样,越来越好
注意两点,一点是,如果你想达到这么高的性能的水平,有两个条件,第一个是需要训练一个规模足够长度的神经网络,以发挥数据规模巨大的优点,另外,要到x轴的这个位置,因此我们经常说,规模一直推动着深度学习的进步,规模不仅仅是神经网络的规模,我们需要一个有许多隐藏单元的神经网络,有很多参数和很多连接,而且还有数据的“规模”。事实上,要在神经网络上获取更好的表现,在今天最可靠的手段,往往就是要么训练一个更大的神经网络,要么投入更多的数据,更多的数据只能在一定程度上起作用,因为最终你耗尽了数据或者最终你的规模太大,需要训练时间太久,但提升规模,已经让我们在深度学习的世界中获得大量进展。为了使这个图从技术上,更准确一点,我还要加点说明,x轴写明了数据量,技术点来说,这是“带标签的数据”量。带标签的数据,在训练样本时,我们有输入x和标签y,使用小写字母m,表示训练集规模或者说训练本的数量,这个小写的字母m,就是x水平轴,这个图形中,还隐藏着一条信息,关注训练集不大的这一段,各种算法的性能相对排名,并不是很确定,当训练集不大的时候,效果取决于你手工设计的组件会决定最终的表现,因此很有可能假如有些人训练出一个svm,可能因为手工设计组很厉害,有些人训练的规模会大一些,可能训练集不大的时候,svm表现更好,训练集不大的时候,各种算法之间的优劣,并没有很明确,最终的取决于手工设计组件的技能,以及算法处理方面的一些细节,只有在大数据领域,非常庞大的训练规模,也就是m值越大,我们才能看见神经网络,稳定的领先其他算法

在深度学习崛起的初期,是数据和计算能力规模的进展,训练一个特别大的神经网络的能力,无论是在cpu还是Gpu上,是这些发展让我们取得了巨大的进步。但是渐渐的。尤其是在最近这几年,我们也见证了,算法方面的极大创新,不可忽略算法方面的巨大贡献,有趣的是,许多算法方面的创新,都是为了让神经网络运行的更快

列举一个例子,神经网络方面取得巨大突破是,从sigmoid函数,转换到RrLu函数,使用sigmoid函数,机器学习问题是,在整个sigmoid函数x大于0的区域,sigmoid函数的斜率梯度会接近于0,所有学习变得非常缓慢,因为用梯度下降法时,徒弟接近0时,参数会变化的很慢,学习也变得很慢,而通过激活函数,神经网络使用Relu函数——修正新单元,它的梯度,对所有为正值的输入,输出都是1,因此梯度不会逐渐趋向0,而这里的梯度,这条线的斜率,在这左边为0, 我们发现,只需要将sigmoid函数转换成RrLu函数,便能是的“梯度下降法”运行的更快,有点简单的算法创新,但是最终算法创新所带来的影响,是增加计算速度,也就是下面这个图的循环越快

还有很多这样的例子,我们通过改变算法,使得代码运行的更快,这也使得我们,能够训练规模更大的神经网络或者在合理的时间内完成计算即使在数据量很大网络也很大的场合。快速计算很重要的另外一个原因是训练神经网络的的过程,很多时是凭直觉,有了新想法,关于神经网络架构的想法,然后写代码实现你的想法,然后跑一下实验,可以告诉你,你的神经网络效果有多好,知道结果之后再回去改,去改你的神经网络中的一些细节,然后你不断重复这个循环。当你的神经网络需要很长时间去训练,需要很长时间才能走完一圈循环的话,在实现神经网络时,迭代速度对你的效率影响巨大,如果你有一个想法,直接去试试,10分钟后就能看到结果或者最多花上一天,如果你的神经网络,用了一个月的时间,有时候确实需要这么久,如果你能很快的得到结果,比如10分钟或者一天内,你可以尝试更多的想法,那你很可能发现,适合你的应用的神经网络,所以计算速度的提升,真的有帮助提高迭代速度,让你更快的得到实验结果,这也同时帮助了神经网络从业人员和有关研究人员在深度学习的工作中,迭代的更快,也能更快的改进你的想法,所有极大的额推动了整个深度学习社区的研究,快到令人难以置信。人们一直在发明新的算法,持续不断的进步,这些力量支持了深度学习的崛起,这些力量不断发挥作用,让深度学习更进一步。
我们看数据,我们的社会还会产生更多的数字化数据,我们看计算GPU这类专用硬件还在持续发展,网络速度更快,各种硬件更快,我们很有信心,可以实现超大规模神经网络的能力,或者从计算能力这个角度看,也在持续发展,深度学习,依赖于算法创新,也会持续进步很多年。
AI_深度学习为何兴起?的更多相关文章
- AI_深度学习概论
什么是是神经网络? 假如有6间房屋的数据集,已知房子的面积,单位是平方米或平方英尺,已知房子的价格.如果通过这6间房子的价格和房子的面积,预测房子的价格,首先要建立起一个数据模型 ,x轴为价格,y轴为 ...
- 02基于python玩转人工智能最火框架之TensorFlow人工智能&深度学习介绍
人工智能之父麦卡锡给出的定义 构建智能机器,特别是智能计算机程序的科学和工程. 人工智能是一种让计算机程序能够"智能地"思考的方式 思考的模式类似于人类. 什么是智能? 智能的英语 ...
- 深度学习系列 Part (1)
传统机器学习的回顾 近年来,深度学习的概念十分火热,人工智能也由于这一技术的兴起,在近几年吸引了越来越多的关注.我们这里,将结合一些基本的用例,简要的介绍一下这一新的技术. 我们首先需要明确人工智能. ...
- 【深度学习笔记】(一)TensorFlow安装及环境搭建
在学习了一段时间台大李宏毅关于deep learning的课程,以及一些其他机器学习的书之后,终于打算开始动手进行一些实践了. 感觉保完研之后散养状态下,学习效率太低了,于是便想白天学习,晚上对白天学 ...
- 深度学习的异构加速技术(一):AI 需要一个多大的“心脏”?
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:kevinxiaoyu,高级研究员,隶属腾讯TEG-架构平台部,主要研究方向为深度学习异构计算与硬件加速.FPGA云.高速视觉感知等方向 ...
- Video Target Tracking Based on Online Learning—深度学习在目标跟踪中的应用
摘要 近年来,深度学习方法在物体跟踪领域有不少成功应用,并逐渐在性能上超越传统方法.本文先对现有基于深度学习的目标跟踪算法进行了分类梳理,后续会分篇对各个算法进行详细描述. 看上方给出的3张图片,它们 ...
- Android进阶 | 摆脱斗图 | 行业交流 | 深度学习 | 付费
Android进阶 | 摆脱斗图 | 行业交流 | 深度学习 | 付费 其实在很早的时候我就有想过,是不是退出一些群,因为群太多了,里面的水友也多,基友也多,就难免会水起来,这样既耽误学习又耽误工作, ...
- NLP&深度学习:近期趋势概述
NLP&深度学习:近期趋势概述 摘要:当NLP遇上深度学习,到底发生了什么样的变化呢? 在最近发表的论文中,Young及其同事汇总了基于深度学习的自然语言处理(NLP)系统和应用程序的一些最新 ...
- Deep Learning.ai学习笔记_第一门课_神经网络和深度学习
目录 前言 第一周(深度学习引言) 第二周(神经网络的编程基础) 第三周(浅层神经网络) 第四周(深层神经网络) 前言 目标: 掌握神经网络的基本概念, 学习如何建立神经网络(包含一个深度神经网络), ...
随机推荐
- ERP中自定义报表制作流程
查询制作流程 新增单表查询--查询语句设置--表格设置(列信息)--参数设置--关联设置--着色设置 报表设计需求(以差旅报销单为例) 1.制作按部门统计每个月的 报销金额并且可以关联到明细进行比对 ...
- shader程序员需要注意的优化Tips
在写shader的时候,其实一些写法对于其执行影响非常大,而且由于gpu和cpu在架构上的不同,代码的优化思想也不一样,最近一直在写几个shader,为了性能问题,查阅了很多资料,把一些tips总结下 ...
- 牛客网linux试题-错误整理-20170914
Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性. 1.交互进程--由一个shell启动的进程.交互进程既可以在前台运行,也可以在后台运行. 2.批处理进程--这种进程和终端没有 ...
- 微信小程序--合法域名校验出错
第一次做小demo的时候遇到一个问题,合法域名校验出错: 第一步:登陆微信公众号平台--个人中心--设置--开发设置--服务器域名(一个月只有5次修改机会一定要珍惜) 第二步 打开微信开发者工具,有个 ...
- java字符串比较
我最近刚学java,今天编程的时候就遇到一个棘手的问题,就是关于判断两个字符串是否相等的问题.在编程中,通常比较两个字符串是否相同的表达式是"==",但在java中不能这么写.在j ...
- asp.net core 多端口监听&日志服务
1 配置多个端口监听 HostingAbstractionsWebHostBuilderExtensions. public static IWebHostBuilder UseUrls(this I ...
- TCP/IP(六)应用层(DNS和HTTP协议)
前言 到这一篇我已经把TCP/IP五层模型详细的说明了一遍,大体的从物理层到最上层的应用层做了一个大概的了解,其实总体学下来东西非常的多,我们需要经常的去系统性的去学习它.不然过一段时间就忘记了! 回 ...
- [bzoj1692] [Usaco2007 Dec]队列变换 (hash||暴力)
本题同bzoj1640...双倍经验双倍幸福 虽然数据范围n=3w然而O(n²)毫无压力= = http://blog.csdn.net/xueyifan1993/article/details/77 ...
- HDU1061-Rightmost Digit-规律题,快速幂
Rightmost Digit Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- poj_2503(map映射)
题目链接poj2503 Babelfish Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 38820 Accepted: ...