前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(图解)神经网络的复兴:重回风口的深度学习

(图解)神经网络的复兴:重回风口的深度学习

作者头像
GPUS Lady
发布2018-04-02 11:39:14
1.2K0
发布2018-04-02 11:39:14
举报
文章被收录于专栏:GPUS开发者

2012年,「GPU+深度学习」真正引爆革命火花

由于多层神经网络的计算量庞大、训练时间过长,常常跑一次模型就喷掉数周、甚至数月的时间,2006年该时也仅是让学界知道:「深度神经网络这项技术是有可能实现的」而已,并没有真正火红起来。

真正的转折点,还是要到2012年——那年10月,机器学习界发生了一件大事。

还记得我们在【(图解)人工智能的黄金年代:机器学习】一文中提过的ImageNet吗?美国普林斯顿大学李飞飞与李凯教授在2007年合作开启了一个名为「ImageNet」的项目,他们下载了数以百万计的照片,供机器从图像资料中进行学习。每年史丹佛大学都会举办ImageNet图像识别竞赛,让各家企业或机构测试系统的效能极限,堪称机器学习界一大盛事。

以往无论是浅层、还是深度学习的机器学习模型,都是采用CPU进行运算。2012年10月,Hinton的两个学生使用辉达(NVIDIA)出产的GPU、加上深度学习模型 (他们采用了专做图像识别的卷积式神经网络CNN),一举拿下ImageNet的冠军,正确率更超过第二名将近10%。有兴趣的读者可以参考由Hinton撰写的这篇论文《Imagenet classification with deep convolutional neural networks》,内文详细介绍了相关模型与比赛结果。

看到此情此景,大家都疯了,NVIDIA也疯了。没想到采用GPU运算的深度学习能有如此杀伤力强大的效果,运算速度是CPU的70倍以上,终于让深度学习真正火爆起来。2012年之后的ImageNet竞赛,大家都纷纷采用GPU做运算;2015年,Microsoft更是以3.5%的错误率赢得冠军,超越人类肉眼5%错误率的辨识能力。

为什么GPU运算会比CPU更强呢?GPU不是用来处理图形运算的吗?由于图形运算需要大量的矢量和矩阵运算,这正是平行架构的GPU最擅长的事情,而深度学习正是使用大量的矢量和矩阵进行运算;CPU执行矩阵运算的速度则远远不及GPU。

事实上,CPU是用来进行更通用的运算,需要协调硬软件资源;而GPU计算是用于增大计算的吞吐量。CPU需要很快的将资料一个个的依次处理完毕,降低延迟时间;而GPU到存储器的抓资料回来运算的速度比CPU慢很多,所以GPU计算都是希望一下子有很多数据可以计算,然后一口气将这些数据计算光。

深度学习矩阵运算+大数据平行运算=首选GPU

注:流言终结者(Mythbuster)的两位主持人Adam Savage和Jamie Hynema曾以特效装置示范CPU和GPU平行运算的效能差异(还被NVIDIA官方频道贴出来lol),推荐读者可以看一看,好笑又好懂。

风口上的NVIDIA公司:从游戏、VR到深度学习

NVIDIA一直想从设计图形处理器的传统硬件公司转型、成为大规模运算服务器和整合软件公司;因而在深度学习爆红之前,早已推出了GPGPU(通用图形处理器)。

我们之所以能用CPU做运算,是因为CPU有编译器(Compiler)这样的设计,能让工程师写完程序后、经过编译器的转译、成为CPU看得懂的机械码。然而一般GPU并没有类似的设计,因此工程师难以直接写程序让GPU来运算

CUDA——NVIDIA成为深度学习运算必用硬件的关键。

2006到2007年间,NVIDIA发表了一项全新的运算架构,称为CUDA;这也是NVIDIA正式给GPGPU的名称。使用者可以撰写C语言、再透过CUDA底层架构转译成GPU看得懂的语言。这也是自GPU可以拿来做大规模运算的概念推出之后,首次可以让人使用C语言来运用GPU蕴藏已久的强大运算能力,故NVIDIA从GeForce 8系列之后的显示卡全开始支援CUDA技术。

GPGPU的兴起,大概就是CUDA带起来的;而CUDA的成功,更直接导致了深度学习的运算全部都使用NVIDIA家的GPU。这种惊人的影响力,不论是深度学习、机器学习、自动车、虚拟实境(VR)、电竞游戏,每一项都跟NVIDIA习习相关。Tesla创办人Elon Musk更是亲自写Email,向NVIDIA执行长黄仁勋表达希望成为第一个拿到最新AI GPU的人。

去年,NVIDIA在其每年举办的GTC大会上(GPU Technology Conference,俗称老黄的传教大会),执行长黄仁勋强调NVIDIA在人工智能领域上的深耕、能提供最完整的软硬件解决方案。整场大会以深度学习为重要主角,同时宣布推出全世界第一个专门用来运算深度学习的超级计算机——DGX-1服务器,售价129,000美金。

搭上人工智慧热潮,NVIDIA从12月开始连续9个交易日创历史收盘新高、今年迄今涨幅高达255.95%。MarketWatch报导,NVIDIA是今年迄今标准普尔500指数表现最好的成分股。

颠覆性的第四次工业革命:深度学习

如今深度学习技术对各大产业领域都将产生深远的影响,堪称第四次工业革命。从天气预测、医疗影像辨识、金融股市预测、电信商客户流失率预测、网络异常入侵侦测、智慧交通…无不采用深度学习技术。

基于深度学习方法,Facebook的DeepFace项目的人脸识别技术的识别率已经达到了97.25%,接近人类的97.5%的识别率,几乎可媲美人类。

Google现在则有超过1000个深度学习产品,包括地图、GMAIL、自动翻译、自动车、Android等。2013年7月,Google收购了DNNresearch公司,其背后创办人正是大名鼎鼎的深度学习之父Hinton教授;2014年1月,Google以逾6亿美元价码收购英国人工智慧公司DeepMind。

去年(2016)三月,由DeepMind团队所打造的AlphaGo围棋系统在击败的南韩围棋好手李世石之后声名大噪;随后Google也利用DeepMind的深度学习技术,把各资料中心的用电效率提高15%、成功让其庞大的资料中心冷却用电量减少了40%。

深度学习能推广应用的产业范畴非常的多,各家科技公司更是摩拳霍霍、无不想抢进最新发展。在人工智能领域中,目前领先的四大巨头分别为Google、Microsoft、Facebook与百度(Baidu);尤其在语音识别和图像辨识上,每个月都可以看到这四家公司公布新的技术发展。每分每秒,AI巨头们都在使用深度学习改变你我的生活。

当然你可能会想:说了这么多、什么机器学习、深度学习,还不是只有大公司玩得起。

2015年,约每22天就有一个深度学习的工具集(toolkit)被发布出来。深度学习正从高冷的数学模型、逐渐迈向黑盒子的过程。这是什么意思呢?

以网页开发来比喻——20年前架网站,工程师得用Perl、C++写CGI、了解TCP/IP标准、Solaris服务器、Oracle数据库;简单来说,写网页是一个具备高度Domain-knowhow的活儿。然而现在不需要了解底层架构,用Ruby on Rails、Bootstrap等框架,轻轻松松就能兜一个网页出来。市面上随意可见「1天教你学会架站」之类的书籍。

同样地,机器学习和深度学习模型在目前已经是一个封装地很好的黑盒子;使用者只要下载Package、透过Tensorflow、Caffe等开源平台Toolkit、调一下 API,把资料丢进去,就能神奇地完成某个任务。即使不了解背后的数学模型,仍然可以很轻松地使用深度学习做数据分析。

最近在日本就有个有趣的案例——小池诚原本在车厂当工程师,一年前辞去工作回到老家帮父母经营小黄瓜农场。农场并不大,然而小黄瓜分类的工作却让他吃了不少苦头。

小池诚不懂深度学习的数学模型,但透过TensorFlow平台、他成功利用深度学习来为自家的小黄瓜进行图像辨识和自动化分类。

你能想象在你家的农场使用深度学习技术吗?或许就像使用Excel做数据分析一般,在未来,人人都能轻易地使用深度学习模型来跑海量数据。

人工智能有可能取代人类吗?

在本篇系列的最后,让我们来讨论一下这个恒久不变的问题。

问题1. 人工智能有可能毁灭人类?

在许多科幻小说中,屡见不鲜人工智能程序透过自我学习,最终逐渐统治世界的故事。既然机器学习能自行从历史资料中学会技能,目前人工智能的技术发展有可能导致这种情况发生吗?会导致强人工智慧(Strong A.I.)的出现吗?

机器学习算是弱人工智能

目前人工智能的自我学习还是限定在人们指定的方式、只能学习解决特定的问题,比如说AlphaGo不能直接去下象棋,仍然不是通用的智慧、或能理解「下棋」的意义,对于AlphaGo来说只是跑完一个运算模型。

资料清整仍是机器学习的关键环节

还记得我们提过,机器要能从海量资料中挖掘出规律,必须经过资料清整 (Data Cleaning)的过程吗?资料科学家得为系统输入规整化的训练资料,格式要求相当严格。这也意味着即使把人工智能程序连到网上,它也不能直接对于网络上格式不一的「肮脏」资料进行学习。

问题2. 机器学习和深度学习是不是没有达不到的事?

这个问法或许可以改成:什么是机器学习能解的问题、什么是机器学习不能解的问题?

机器学习重预测、较缺乏解释现象的能力

机器学习是一门结合了机率学与统计学的学科,早期做机器学习的学者几乎都是统计学家,直到后来有计算机科学背景的研究人员进来、结合统计和资工两方的Domain-Knowledge,成为一个叫机器学习的新门派。因此无论是线性回归、Sigmoid函数逻辑回归、SVM、RBM…等模型,事实上都是统计学模型。

既然如此,统计和机器学习有什么差别呢?他们想要解决的问题是不一样的——传统统计更在乎解释能力(explanation power),机器学习则在乎预测能力(prediction power)。目标不一样,发展出的建模方法就不一样。

机器学习就像一个黑盒子,可能跑出了非常精准的预测结果、却不明白机器是透过什么样的过程、用什么方法预测出这个答案的。

对于统计学家而言,关心的问题则是:我的模型到底能不能解释整个母体的现象;如果预测错误率更低、但没办法解释原因,就会放弃该模型。若目标在于解释的话,不用做出一个「预测准到不行」的模型,但估计式要稳健(robust)。

你可能会想:预测准确不是比较重要吗?为什么要在乎解释能力呢?在发展科学理论的时候,若不解释、就算预测的再准,我们还是不能理解一个现象为什么会发生。比如说,我们可以透过机器学习模型很准确地预测点击率,但我们仍不知道是什么因素影响CTR,如此一来就很难去改良产品设计,就算将点击率预测地很准也没用。

因此在许多深度学习研究论文中,可以发现其理论都不太「漂亮」——理论不甚完备、但实务上的预测结果跑的不错。

机器学习需要大量的历史资料

既然说机器学习需要过去的资料来学会技能、并透过新进资料逐步优化,因而对于深度学习模型来说,十万笔资料都是小数字。但若是没有历史资料呢….?

比如我们可以从一个消费者过去的购买资料中,精准预测到他会买产品A,然而在公司想贩售一款新产品B时,由于无法解释他为什么会买产品A,也没有产品B的历史资料、因此无法预测该消费者会不会买这款新产品。

况且对一般人而言,很难轻易达到数十万笔以上的资料量,如此使用Excel进行一般统计运算即可。进一步说,多数中国台湾企业的数据库老旧、许久没有维护更新,说要能拿出够「干净」的海量数据来进行分析,也是颇为困难的事情。

针对上述问题,有时候用统计、另一种时候用机器学习模型。实务上,资料科学家会依据问题的类型和自身经验、考量后选择适当的工具。

大家对于人工智能、机器学习和深度学习有了更进一步的认识了吗?从人工智能、机器学习到深度学习,人工智能领域的发展日新月异;深度学习的浪潮方引爆,未来世界的运作方式将会如何受变化呢?就让我们拭目以待吧。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-02-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档