王川:深度学习有多深

王川: 深度学习有多深? 学了究竟有几分 (三)
我的图书馆
王川: 深度学习有多深? 学了究竟有几分 (三)
和的续篇.&&&&(1)1992 年笔者在纽约州的罗切斯特大学选修计算机课的时候, 学到这样一句话, 印象极为深刻.&&& When in doubt, use brute force.&&&&'如果遇到困惑(的问题), 就使用蛮力. '此话出自当年 UNIX 系统的发明人之一 Ken Thompson. 他的本意是, 程序设计中,简单粗暴的计算方法, 虽然可能计算量大, 但是便于实现和维护, 长期看, 还是优于一些精巧但是复杂的计算手段.这句话常令我遐想起 1943年七月, 苏联和德国在库尔斯克的坦克大决战. 苏军八千多辆傻大黑粗的T-34 坦克, 以损失三倍于对手的惨重代价, 最终挫败德军三千多辆质量精良的虎式坦克集群.有哲人对蛮力有另外一个诠释: 'Quantity is Quality'. 数量就是质量. 向数量要质量. 九十年代, 一个简单的神经网络数据培训的计算, 往往至少要花几天, 甚至几周的时间. 这对于算法的改进调整, 和应用开发, 都是一个巨大的瓶颈.神经网络的研究, 呼唤着蛮力, 呼唤着来自计算速度,网络速度, 内存容量,数据规模各个方面的, 更强大的, 指数增长的蛮力. &&&&(2)这个蛮力的基础,其实在1993年就埋下了种子.黄仁勋, 1963年出生于台湾. 1993年从斯坦福大学硕士毕业后不久,创立了 Nvidia. Nvidia 起家时,做的是图像处理的芯片,主要面对电脑游戏市场. 1999 年Nvidia推销自己的 Geforce 256 芯片时, 发明了 GPU (Graphics Processing Unit, 图像处理器)这个名词.GPU 的主要任务, 是要在最短时间内显示上百万,千万甚至更多的像素.这在电脑游戏中是最核心的需求. 这个计算工作的核心特点, 是要同时并行处理海量的数据.GPU 在芯片层面的设计时, 专门优化系统, 用于处理大规模并行计算.传统的 CPU (中央处理器) 芯片架构, 关注点不在并行处理, 一次只能同时做一两个加减法运算.& 而GPU 在最底层的算术逻辑单元 (ALU, Arithmetic Logic Unit), 是基于所谓的 Single Instruction Multiple Data ( 单指令多数据流)的架构,擅长对于大批量数据并行处理.打个最简单的比方, 如果有 1, 2, 3,&& .. 32 个数字, 你需要对它们进行计算处理. 传统的 CPU , 32 个数字要一个个按顺序依次计算. 但是 GPU 在最低层的ALU, 允许同时对 32个数字做批量处理. 一个 GPU, 往往包含几百个 ALU, 并行计算能力极高. 所以尽管 GPU 内核的时钟速度往往比 CPU的还要慢, 但对大规模并行处理的计算工作, 速度比 CPU 快许多.而神经网络的计算工作, 本质上就是大量的矩阵计算的操作, 因此特别适合于使用 GPU. &&& (3)这个速度有多快呢? Nvidia 480 GPU, 2010年的时候, 一秒钟可以显示十六亿个三角形, 一秒钟计算速度达 1.3 TFLOPS (万亿次浮点计算). 而2015年出品的 Nvidia Titan X GPU, 一秒钟可以达到 6.1 TFLOPS , 接近2010年的五倍. 其二手货的市价不到一千美元.作为参照,人类的超级计算机,真正第一次突破一个 TFLOPS 的计算速度, 实际上也就是1996年底, 但其价格是几百万美元量级的.2007年 Nvidia 推出名叫 CUDA 的并行计算软件开发接口, 使开发者可以更方便的使用其 GPU开发应用软件. 多家大学的研究者撰文表示, 对于特定工作, NVIDIA GPU带来的相对于 Intel 的CPU 的计算速度提高, 达到 100-300 倍.Intel 技术人员2010年专门发表文章驳斥,大意是 Nvidia 实际上只比 intel 快 14倍,而不是传说中的 100 倍.Nvidia 的 Andy Keane 评论: '老夫在芯片行业混了 26年了, 从没见过一个竞争对手, 在重要的行业会议上站起来宣布, 你的技术 *** 只是 *** 比他们快14 倍'.&一个蛮力, 一个来自 GPU 的计算蛮力, 要在深度学习的应用中爆发了.(未完待续)===================================点击下面链接可以看到本公众号的说明和历史文章的链接在投资和事业发展的路上如何集思广益,举重若轻?欢迎加入王川的投资俱乐部,这是一个凝聚来自世界四大洲各行各业精英的高端社区,年费三千四百美元。有意入会者请和王川(微信号: 9935070) 直接联系。我和其他会员,会和你深度交流更多投资和商业的经验教训。作者简介:王川,投资人,中科大少年班校友,
TA的最新馆藏她再也控制住自己情感,边哭边喊着妈妈。
小公举深夜开启17年虐狗第一弹,宣布昆凌怀二胎。
声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
  作者:硅谷王川
  2016 年一月底,人工智能的研究领域,发生了两件大事.
  先是一月二十四号,MIT 的教授,人工智能研究的先驱者,Marvin Minsky 去世,享年89岁.
  三天之后,谷歌在自然杂志上正式公开发表论文,宣布其以深度学习技术为基础的电脑程序 AlphaGo, 在2015年十月,连续五局击败欧洲冠军,职业二段樊辉.
  这是第一次机器击败职业围棋选手. 距离97年IBM电脑击败国际象棋世界冠军,一晃近二十年了.
  极具讽刺意义的是, Minsky 教授,一直不看好深度学习的概念. 他曾在1969年出版了 Perceptron (感知器) 一书,指出了神经网络技术 (就是深度学习的前身)的局限性. 这本书直接导致了神经网络研究的将近二十年的长期低潮.
  神经网络研究的历史,是怎样的?
  人工智能研究的方向之一, 是以所谓 “专家系统” 为代表的, 用大量 “如果-就” (If C Then) 规则定义的, 自上而下的思路.
  人工神经网络 ( Artifical Neural Network),标志着另外一种,自下而上的思路.
  神经网络没有一个严格的正式定义. 它的基本特点, 是试图模仿大脑的神经元之间传递,处理信息的模式.
  一个计算模型,要划分为神经网络,通常需要大量彼此连接的节点 (也称 ‘神经元’),并且具备两个特性:
  每个神经元, 通过某种特定的输出函数 (也叫激励函数 activation function),计算处理来自其它相邻神经元的加权输入值.
  神经元之间的信息传递的强度,用所谓加权值来定义,算法会不断自我学习,调整这个加权值.
  在此基础上,神经网络的计算模型, 依靠大量的数据来训练, 还需要:
  成本函数 (cost function)
  用来定量评估根据特定输入值, 计算出来的输出结果,离正确值有多远,结果有多靠谱.
  学习的算法 ( learning algorithm )
  这是根据成本函数的结果, 自学, 纠错, 最快地找到神经元之间最优化的加权值.
  用小明,小红和隔壁老王们都可以听懂的语言来解释, 神经网络算法的核心就是
  计算, 连接, 评估, 纠错, 疯狂培训
  随着神经网络研究的不断变迁,其计算特点 ,和传统的生物神经元的连接模型渐渐脱钩.
  但是它保留的精髓是: 非线性,分布式, 并行计算, 自适应, 自组织.
  神经网络作为一个计算模型的理论,1943年最初由科学家 Warren McCulloch 和Walter Pitts 提出.
  康内尔大学教授 Frank Rosenblatt 1957年提出的”感知器” (Perceptron),是第一个用算法来精确定义神经网络, 第一个具有自组织自学习能力的数学模型,是日后许多新的神经网络模型的始祖.
  Rosenblatt 乐观地预测,感知器最终可以 “学习,做决定,翻译语言”. 感知器的技术,六十年代一度走红,美国海军曾出资支持这个技术的研究, 期望它 “以后可以自己走, 说话, 看, 读, 自我复制, 甚至拥有自我意识”.
  Rosenblatt 和 Minsky 实际上是间隔一级的高中校友.但是六十年代, 两个人在感知器的问题上,展开了长时间的激辩. Rosenblatt 认为感应器将无所不能, Minsky 则认为它应用有限.
  1969 年, Marvin Minsky 和 Seymour Papert 出版了新书: “感知器: 计算几何简介”. 书中论证了感知器模型的两个关键问题:
  第一, 单层的神经网络无法解决不可线性分割的问题, 典型例子如异或门, XOR Circuit ( 通俗地说, 异或门就是: 两个输入如果是异性恋,输出为一. 两个输入如果是同性恋,输出为零 )
  第二, 更致命的问题是,当时的电脑完全没有能力完成神经网络模型所需要的超大的计算量.
  此后的十几年,以神经网络为基础的人工智能研究进入低潮,相关项目长期无法得到政府经费支持,这段时间被称为业界的核冬天.
  Rosenblatt 自己则没有见证日后神经网络研究的复兴. 1971年他43岁生日时,不幸在海上开船时因为事故而丧生。
  via:微信公众号 investguru
  转载请注明来自36大数据():36大数据& 王川: 深度学习有多深? 学了究竟有几分? (一)
欢迎举报抄袭、转载、暴力色情及含有欺诈和虚假信息的不良文章。
请先登录再操作
请先登录再操作
微信扫一扫分享至朋友圈
搜狐公众平台官方账号
生活时尚&搭配博主 /生活时尚自媒体 /时尚类书籍作者
搜狐网教育频道官方账号
全球最大华文占星网站-专业研究星座命理及测算服务机构
36大数据是一个专注大数据、大数据应用案例、数据分析、数据...
主演:黄晓明/陈乔恩/乔任梁/谢君豪/吕佳容/戚迹
主演:陈晓/陈妍希/张馨予/杨明娜/毛晓彤/孙耀琦
主演:陈键锋/李依晓/张迪/郑亦桐/张明明/何彦霓
主演:尚格?云顿/乔?弗拉尼甘/Bianca Bree
主演:艾斯?库珀/ 查宁?塔图姆/ 乔纳?希尔
baby14岁写真曝光
李冰冰向成龙撒娇争宠
李湘遭闺蜜曝光旧爱
美女模特教老板走秀
曝搬砖男神奇葩择偶观
柳岩被迫成赚钱工具
大屁小P虐心恋
匆匆那年大结局
乔杉遭粉丝骚扰
男闺蜜的尴尬初夜
客服热线:86-10-
客服邮箱:王川: 深度学习有多深? 学了究竟有几分(二)
文 / 王川|硅谷
已阅 27622&
编者按:下个月,谷歌旗下的DeepMind公司研发的人工智能&阿尔法围棋&,将与李世石进行百万美金的人机大战。人工智能也被中国科技界视为实现弯道超车的一次难得的历史机遇, 看好人工智能这一未来最重要的产业方向。问题是,计算机深度学习有多深,学了究竟有几分?
1992 年笔者在纽约州的罗切斯特大学选修计算机课的时候, 学到这样一句话, 印象极为深刻.
When in doubt, use brute force.
&如果遇到困惑(的问题), 就使用蛮力. &
此话出自当年 UNIX 系统的发明人之一 Ken Thompson. 他的本意是, 程序设计中,简单粗暴的计算方法, 虽然可能计算量大, 但是便于实现和维护, 长期看, 还是优于一些精巧但是复杂的计算手段.
这句话常令我遐想起 1943年七月, 苏联和德国在库尔斯克的坦克大决战. 苏军八千多辆傻大黑粗的T-34 坦克, 以损失三倍于对手的惨重代价, 最终挫败德军三千多辆质量精良的虎式坦克集群.
数量就是质量. 向数量要质量.
九十年代, 一个简单的神经网络数据培训的计算, 往往至少要花几天, 甚至几周的时间.
这对于算法的改进调整, 和应用开发, 都是一个巨大的瓶颈.
神经网络的研究, 呼唤着蛮力, 呼唤着来自计算速度,网络速度, 内存容量,数据规模各个方面的, 更强大的, 指数增长的蛮力.
这个蛮力的基础,其实在1993年就埋下了种子.
黄仁勋, 1963年出生于台湾. 1993年从斯坦福大学硕士毕业后不久,创立了 Nvidia.
Nvidia 起家时,做的是图像处理的芯片,主要面对电脑游戏市场. 1999 年Nvidia推销自己的 Geforce 256 芯片时, 发明了 GPU (Graphics Processing Unit, 图像处理器)这个名词.
GPU 的主要任务, 是要在最短时间内显示上百万,千万甚至更多的像素.这在电脑游戏中是最核心的需求. 这个计算工作的核心特点, 是要同时并行处理海量的数据.
GPU 在芯片层面的设计时, 专门优化系统, 用于处理大规模并行计算.
传统的 CPU (中央处理器) 芯片架构, 关注点不在并行处理, 一次只能同时做一两个加减法运算. 而GPU 在最底层的算术逻辑单元 (ALU, Arithmetic Logic Unit), 是基于所谓的 Single Instruction Multiple Data ( 单指令多数据流)的架构,擅长对于大批量数据并行处理.
打个最简单的比方, 如果有 1, 2, 3, .. 32 个数字, 你需要对它们进行计算处理. 传统的 CPU , 32 个数字要一个个按顺序依次计算.
但是 GPU 在最低层的ALU, 允许同时对 32个数字做批量处理.
一个 GPU, 往往包含几百个 ALU, 并行计算能力极高. 所以尽管 GPU 内核的时钟速度往往比 CPU的还要慢, 但对大规模并行处理的计算工作, 速度比 CPU 快许多.
而神经网络的计算工作, 本质上就是大量的矩阵计算的操作, 因此特别适合于使用 GPU.
这个速度有多快呢? Nvidia 480 GPU, 2010年的时候, 一秒钟可以显示十六亿个三角形, 一秒钟计算速度达 1.3 TFLOPS (万亿次浮点计算).
而2015年出品的 Nvidia Titan X GPU, 一秒钟可以达到 6.1 TFLOPS , 接近2010年的五倍. 其二手货的市价不到一千美元.
作为参照,人类的超级计算机,真正第一次突破一个 TFLOPS 的计算速度, 实际上也就是1996年底, 但其价格是几百万美元量级的.
2007年 Nvidia 推出名叫 CUDA 的并行计算软件开发接口, 使开发者可以更方便的使用其 GPU开发应用软件. 多家大学的研究者撰文表示, 对于特定工作, NVIDIA GPU带来的相对于 Intel 的CPU 的计算速度提高, 达到 100-300 倍.
Intel 技术人员2010年专门发表文章驳斥,大意是 Nvidia 实际上只比 intel 快 14倍,而不是传说中的 100 倍.
*** 只是 ***
Nvidia 的 Andy Keane 评论: &老夫在芯片行业混了 26年了, 从没见过一个竞争对手, 在重要的行业会议上站起来宣布, 你的技术 比他们快14 倍&.
一个蛮力, 一个来自 GPU 的计算蛮力, 要在深度学习的应用中爆发了.
九十年代末, 神经网络研究遇到的困境,除了慢,还是慢.
抛开计算速度的因素,传统神经网络的反向传播算法,捉虫时极为困难,一个根本的问题叫做所谓 vanishing gradient problem (梯度消失问题).
这个问题在1991年, 被德国学者 Sepp Hochreiter第一次清晰提出和阐明原因.
简单的说, 就是成本函数 (cost function)从输出层反向传播时, 每经过一层,梯度衰减速度极快, 学习速度变得极慢, 神经网络很容易停滞于局部最优解而无法自拔.
这就像原始部落的小混混,山中无老虎时,在本地称王称霸很舒服. 但任何关于&外面的世界很精彩&的信息, 在落后的层层传播机制中被噪音混淆淹没了.
小混混一辈子很开心, 没有意识到外面的世界有多大, 也从未想出去多看看.
支持向量机 (SVM) 技术在图像和语音识别方面的成功, 使得神经网络的研究重新陷入低潮.
SVM 理论上更加严谨完备, 结果重复性好, 上手简单, 得到主流学术界的追捧.
学术界的共识是: 多层神经网络的计算模型, 实践效果不好,完全没有前途. 这是个死胡同.
这个情况到本世纪初,变得如此糟糕, 以至于任何论文送到学术期刊时,研究者都不敢用 &神经网络&几个字,免得被粗暴拒绝.
2003年, Geoffrey Hinton, 还在多伦多大学, 在神经网络的领域苦苦坚守.
一个五十六岁的穷教授, 搞了三十多年没有前途的研究,要四处绞尽脑汁, 化缘申请研究经费. 他不是卢瑟 (loser) , 谁还是卢瑟?
2003年在温哥华大都会酒店, 以Hinton 为首的十五名来自各地的不同专业的科学家, 和加拿大先进研究院 (Canadan Institue oF Advanced Research, 简称 CIFAR) 的基金管理负责人, Melvin Silverman 交谈.
Silverman 问大家,为什么 CIFAR 要支持他们的研究项目.
计算神经科学研究者, Sebastian Sung (现为普林斯顿大学教授), 回答道, &喔, 因为我们有点古怪. 如果CIFAR 要跳出自己的舒适区,寻找一个高风险,极具探索性的团体,就应当资助我们了!&
最终 CIFAR 同意从2004年开始资助这个团体十年,总额一千万加元. CIFAR 成为当时, 世界上唯一支持神经网络研究的机构.
不夸张地说, 如果没有 2004年 CIFAR 的资金支持, 人类在人工智能的研究上可能还会在黑暗中多摸索几年.
Hinton 拿到资金支持不久,做的第一件事,就是先换个牌坊.
两千多年前的刘三, 改了名换了姓, 叫什么 &汉高祖&. 鉴于&神经网络&口碑不好,也被 Hinton 改了名, 换了姓, 叫 &深度学习& (Deep Learning) 了.
Hinton 的同事, 此后时不时会听到他突然在办公室大叫, &我知道人脑是如何工作的了!&.
2006年, Hinton 和合作者发表论文, &A fast algorithm for deep belief nets& (深信度网络的一种快速算法).
在这篇论文里, Hinton 在算法上的核心,是借用了统计力学里的&玻尔兹曼分布&的概念 (一个微粒在某个状态的几率,和那个状态的能量的指数成反比, 和它的温度的倒数之指数成反比), 使用所谓的&限制玻尔兹曼机& (RBM)来学习.
RBM 引入了统计力学常用的概率工具. 而在七十年代, 概率和不确定性恰恰是主流的人工智能的研究者极为痛恨的.
RBM 相当于一个两层网络,同一层神经元之间不可连接 (所以叫 &限制&), 可以对神经网络实现&没有监督的训练& (unsupervised training). 深信度网络就是几层 RBM 叠加在一起.
略掉技术细节, RBM 可以从输入数据中进行预先训练, 自己寻找发现重要的特征, 对神经网络连接的权重进行有效的初始化. 这属于一种叫做特征提取器 (feature extractor)的神经网络, 也称自动编码器 (autoencoder).
经过 RBM 预先训练初始化后的神经网络,再用反向传播算法微调,效果就好多了.
Hinton 后来指出, 深度学习的突破,除了计算蛮力的大幅度提高以外,聪明有效地对网络链接权重的初始化也是一个重要原因.
Hinton 的论文里,经过六万个MNIST 数据库的图像培训后, 对于一万个测试图像的识别错误率最低降到了只有 1.25%.
虽然这还不足以让主流学术界改变观点,但深度学习的发展已经见到一丝曙光.
主流学术界的研究者,大多注重于在算法上的渐进式提高, 而轻视计算速度和用于训练的数据规模的重要性.
孔丘老师早在两千多年前, 就高瞻远瞩的为深度学习指明了方向: &学而不思则罔, 思而不学则殆&.
用深度学习的语言来说,就是, &光有大数据,算得不快,则还是迷惘 ; 光算得快, 而没有大量的数据来训练,则还是疲倦无所得&.
2007年之前, 用GPU编程,缺乏一个简单的软件接口. 编程繁琐,捉虫困难.这在 07年 Nvidia 推出 CUDA 的GPU 软件接口后才真正改善.
2009年六月, 斯坦福大学的 Rajat Raina 和吴恩达合作发表论文, &用GPU大规模无监督深度学习& (&Large-scale Deep Unsupervised Learning using Graphic Processors).
论文模型里的参数总数 (就是各层不同神经元之间链接的总数),达到一亿,与之相比, Hinton 2006年的论文里用到的参数数目,只有一百七十万.
论文结果显示,使用GPU运行速度和用传统双核CPU相比, 最快时要快近七十倍. 在一个四层, 一亿个参数的深信度网络上,使用GPU把程序运行时间从几周降到一天.
2010年瑞士学者 Dan Ciresan 和合作者发表论文, &又深又大又简单的神经网络在手写数字识别上表现出色&. ( &Deep Big Simple Neural Nets Excel on Handwritten Digit Recognition& )
这篇论文里, 使用的还是是八十年代的反向传播计算方法,但是计算搬移到Nivida GTX280 GPU 上实现. 在反向传播计算时, 速度比传统 CPU 快了 40 倍.
另一个关键点是:
把训练神经网络的图像,刻意通过旋转, 放大缩小和弹性形变等方式进行改变.这样用于训练的图像数目大大增加. 使用 GPU后,改变六万张训练图像的计算速度从93秒降到了9秒钟, 快了十倍. 不断用计算变形实现的图像, 等价于一个数量无限的训练数据库.
论文结果显示,一个六层, 拥有一千两百万个参数的神经网络模型,经过两个小时的训练后,在测试图像上的错误率就降到1%. 经过114个小时训练后,模型的测试错误率更是降到了 0.35%.
2012 年还在斯坦福大学做研究生的黎越国同学 (Quoc Viet Le) 领衔, 和他的导师吴恩达,以及众多谷歌的科学家联合发表论文, &用大规模无监督学习建造高层次特征& (Building High-level Features Using Large Scale Unsupervised Learning).
黎越国的文章中, 使用了九层神经网络,网络的参数数量高达十亿, 是 Ciresan 2010年论文中的模型的一百倍, 是 2009年Raina 论文模型的十倍.
作为参照,按照丹麦学者 Bente Pakkenberg 2003年的估算, 人的脑皮层 (Neocortex) 内就有接近一百五十万亿个神经元突触 (Synapse, 是连接神经元传递信号的结构), 是黎同学的模型参数数量的十万倍.
用于训练这个神经网络的图像, 都是从谷歌的录像网站 youtube 上截屏获得. 一千万个原始录像, 每个录像只截取一张图片, 每张图片有四万个像素, 与之相比,先前大部分论文使用的训练图像,原始图像的数目大多在十万以下, 图片的像素大多不到一千.
黎越国的计算模型分布式地在一千台机器 (每台机器有 16个CPU内核)上运行,花了三天三夜才完成培训.
经过培训的神经网络,在一个名叫 ImageNet 的共享图像数据库里,面对两万两千个不同类别,一千四百万个图像中, 分类识别的正确率达到了 15.8%. 而在此之前最好的公开发表的模型,正确率只有 9.3%.
深度学习的研究进步在加速,但要说服更多的主流的人工智能研究者加入,需要的是更多的, 可直接对比的, 大幅领先的, 无可辩驳的计算结果.
未完待续&&
作者简介:王川,投资人,中科大少年班校友,现居加州硅谷。个人微信号9935070,公众号 investguru ,新浪微博是&硅谷王川&,知乎专栏 &兵无常势&, 财新网博客 wangchuan., 文章表达个人观点仅供参考,不构成对所述资产投资建议,投资有风险,入市须谨慎。
相关阅读:
财联社声明:文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。
板块排行榜
沪深排行榜
成交量排行
成交额排行
微信公众号

我要回帖

 

随机推荐