我是不同意这个说法的。机器学习,尤其是深度学习,进步的基础是算力。巧妇难为无米之炊,有了算力才能谈别的。
就拿象棋的例子来说,深蓝的算力是11 gflops,而现在的一个cpu就有几百gflops,一个显卡有几千gflops。表面看深蓝每秒算6亿个位置,比现在每秒两万个多,但实际上评价每个位置花费的算力大大提升了。
谷歌训练alphago用了5000个比gpu更猛的tpu。就算你带着alphago的全套代码穿越回20年前,也打败不了人类。
每一次算法突破就像浮在海面上的冰山,海面下是几十年一点一滴的算力积累。大家在为英雄欢呼的时候,也不要忘了广大挖沙子,炼晶圆,刻芯片,水paper的人的贡献。毕竟,历史是由人民群众书写的。
对于周老师这个评价,只能呵呵了。
表面看,周老师的说法没问题,但是对于科学来说,则不同。
因为对于科学家来说,他面临的是无数问题无数解决方案。一个问题会否有答案,
一个方案会否有解决方案,知道这两个结果,比求结果更加艰难。
逻辑上,混乱猴子打字机可以完成世界所有的名著,你会采用这种办法写小说吗?
谷歌TPU硬件的意义就在于你10倍100倍地加快了iteration的速度。这在科学上意义远大于工程
或者技术上的意义。
现在人工智能的核心基本上在于硬件+数据+算法。
谷歌团队deepmind 的AlphaZero 的效果特别好,一个原因是把数据转换为拼硬件。
谷歌才有5000TPU,所以它产生数据的速度是一般中等公司的100倍,它的硬件是100倍。
这表明它可以在同样时间内比他人测试多1万倍的参数组合。
最近看围棋游戏leela 的全球众筹模式的仿alphaZero,全球几百个终端帮助它。(这类似一个中等公司的大小了)。但是,谷歌1小时的进步大约等于leela 20天。
也就是说,在谷歌已经指明了道路的情形下,重现A0,至少需要1年多。
谷歌完成现在这个A0,我们可以肯定说,至少是百次的循环吧。也就是说一般公司要有100年才能实现的突破,三个月实现了,这就是硬件的功劳。(真实中,这家公司根本不会花100年去试)
正确的说法就是:
1,人工智能的飞跃是硬件的升级带来的结果。
2,但是,这个飞跃的体现是算法的飞跃。
3,这个原因,是因为有了硬件飞跃,我们才能大幅度地调参,才能有算法的飞跃。
当然,某一天,我们的DL变成了白盒子,我们不再是黑暗中摸索,而是像牛顿力学下公式求解,
我们会觉得之前的摸索是瞎摸索吗?
(所以,牛顿力学是更高精度望远镜带来的飞跃。)
ps:今天看到一个微博,太恰当地描述了科学的发展。
证明费马大定理的数学家怀尔斯,对做数学的感受有段精辟的论述。这段论述的意义也许远超数学之外,如果你精通某种技能、学问等等,也许能感受到一点共鸣。
进入一间黑暗的大宅。你走进第一间房,一片漆黑,伸手不见五指。你蹒跚地摸索着,时常会撞到家具。你也渐渐熟悉了每件家具的位置。终于,也许在六个月或更长时间后,你找到了房灯的开关,把它打开。刹那间,光芒四溢,一切清晰可见了,你精确地知道自己的位置。于是你进入下一间暗室...
所以,发明一种100倍速度摸索的办法,比打开一个房间的灯意义大多了。
今天深度学习这么火,然而它所基于的神经网络、反向传播、梯度下降法的理论基础都是在上世纪80年代就完备了的,至于CNN、RNN、以及它们构造的各种网络结构,只是在这个基础上的优化,其余的就是把这些网络应用于具体问题时的系统方法设计了。
从理论基础的提出到AlexNet第一次展现出DNN的潜力,直到今天深度学习这么火,中间有近30年的gap,仅仅是大家突然都开窍了吗?
毕竟深度神经网络的计算需求太大,在10年前这样的计算量都不敢想,直到近几年随着GPU的通用计算能力被发掘,突然发现训练深度神经网络变成可行的了,而在很多问题上效果又出奇的好——在AlexNet拿下2012 ImageNet图像分类的冠军后,深度学习方面的研究就发生了爆炸式的增长。
所以说,深度学习这几年的发展,是硬件计算能力的提升->具体问题性能效果的提升->网络结构的提升->更广泛的应用->算法的改进,等各方面相辅相成的,在基础理论完备的情况下,计算能力就成为了关键的门槛,一旦迈过了才有了今天的各种进步。
而硬件的问题,不能说是全部,但对于某些特定问题,那的确是硬门槛。
有很多工作,尤其是偏向理论以及具体细分场景的应用的,的确不需要很高的硬件,有一块1080Ti往往就足够了。
但在一些更大、更传统的问题上,在大家都在做的问题上,那十之八九就是硬件的比拼。
同一个算法,Google跑一遍要1天,我跑一遍要10年。需要100次迭代尝试才能找到结果,那么我需要1000年。
有人说,硬件是爆炸式增长的,等到5年后10年后也许谁都能1天完成。没错,如果用现在的硬件跑上10年才能出结果的问题,那么我还不如先等到10年后的硬件,用一天就能完成。
然而,别人10年前就做出来的结果,你到10年后去复现一遍,这又能说明什么呢?过了十年各种技术的发展也跟硬件一样快,那时候早就改用更新的方法了(计算力需求也更大)。
话说回来,也正因为深度学习的基础理论大都还是30年前的东西,使之成为了现阶段深度学习存在的瓶颈之一,也是Hinton老爷子最近反复强调的,让大家不要过度依赖反向传播。
基于梯度求导的反向传播适用于神经网络这样处处连续的模型,并且要求整个网络拥有良好的梯度性质,才能成功地优化——这也是为什么ReLU激活函数、模型参数的初始化、batch normalization、residual connection、dense connection等trick在今天的深度学习里扮演了那么重要的角色。
之前,我尝试用VAE的思想,做了个encoder网络和decoder网络,encoder网络对输入进行编码,decoder网络对编码后的数据进行解码还原。但不同于VAE做的降维,我的encoder尝试在维度不变的情况下,通过将数据编码成离散的整数数据并最小化熵实现压缩,然后用decoder还原。
于是问题就来了,将数据编码成离散的这个操作的映射,是阶梯跳跃式的,梯度为0,这会导致梯度的反向传播失效,而使encoder网络无法被训练。
在传统分类问题中使用的sigmoid、softmax等“软性”阈值操作在这里是行不通的。因为一旦你的编码数据使用soft阈值激活以使梯度能流通,就会导致学习得到的网络把大部分信息都编码进这些soft的部分,导致最终test时使用硬阈值得到的离散数据无法实现还原。
而且这个任务和Binarized NN这类利用离散weight、activation加速的情况也不大相同。因为BNN仅仅是把量化作为一个引入的误差噪声来看待,所以可以在训练时用连续的映射来近似,以使梯度流通。而在这个问题中,量化是对数据编码的硬性限制,当网络试图去最小化rate和distortion的时候,就会自然地学会把大量的信息存放在仅有的连续的部分中,从而得到一个和理想的目标截然不同的最小化loss的结果。
总之在尝试了诸多方法后我都没办法让连续的神经网络去“理解”离散量化的数据,而离散量化的数据在传统的计算机科学里却是再常见不过的东西了……
我不太清楚有没有人做过这方面的工作,如果有的话希望能学习一下。
今天的神经网络处理的数据,往往限制于特定的采样维度(例如图像分类经常使用的224x224),数据的维度在模型中的变换形式又过于单一(例如stride/pooling按整数倍降维、deconv按整数倍升维),但是这些数据的量化、映射又被限制为连续的。
就如同看到AlphaZero等等各种大公司的论文以后感叹贫穷限制了我的想象力,这些限制的客观存在同样极大地限制了我的想象力。
看到有人在质疑我的这篇回答,那我就继续补充一些吧。
首先,其实我并没有真正在回答这个提问的问题,只是看到了这个问题,结合最近所体会到的(包括各种DL方面的新闻以及自己做东西时遇到的问题),发表了一点自己的看法而已。
至于到底是计算能力重要还是算法重要这种问题,本来就是个陷阱,不论偏向哪一方面总是有无数的反例可以来反驳,试图在这个问题上争个高下只是一种愚蠢的行为,一定要回答那只能用中庸的说法——都很重要。所以我在我的回答中说到了计算能力的问题,也说到了理论、算法的问题,并没有说谁更重要,反而它们是相辅相成的。
从历史的进程来看,今天深度学习的进步的确不是一蹴而就的,是许许多多的小的改进一步步积累之后,最终量变形成质变达成突破。
30年前反向传播的优化办法被提出,使得训练深层神经网络成为了可能。而后LeNet利用CNN实现了手写字符的识别,RBM的提出,ReLU的引入以及参数初始化方面的研究,这些无疑都成为了构筑今天深度学习大厦的基础。
Hinton、Lecun、Bengio等人在那个神经网络不受待见的年代,坚持在这方面一步步累积起一砖一瓦,他们的毅力和坚持无疑令人敬佩。
而同一时间,计算机快速的发展,GPU从专为游戏图形设计到开始支持通用计算编程,也悄然埋下了种子。
算法设计上的积累,加上对GPU计算能力的应用,最终成为了敲门砖。AlexNet在ImageNet比赛上的大获成功,一下子让这30年来的积累都得到了回报,并开启了新时代的大门。
而这之后的故事大家也都知道了,这五年来机器学习的发展速度可以说远超以前任何时候,对人工智能方面的话题,社会、媒体与资本的关注也达到了空前的高度。
所以,与其说是因为理论的提出、算法的改进、硬件算力的提升,倒不如说,社会的关注度才是最重要的——先是研究者群体这个小社会开始大量涌入这个领域,接着是IT公司,硬件厂商们也开始集中注意力往这方面发展,等到搞出了大新闻,结果就是媒体、全社会、各大资本甚至政府都涌进来,并吹出了所谓的泡沫……
AlexNet的成功得益于算法技术的积累,得益于对GPU计算力的应用,但他最大的成功在于用一个足够大、足够好看的结果,吸引了足够多的眼球,让众人都看到了其中的潜力,让众人都开始参与其中的研究,从而大大加速了深度学习的发展——虽然这样的说法可能很多人看着都不舒服,包括我自己,但这却是现实——毕竟,在技术发展这个全人类级别的优化问题上,更多的人、更多的资本就等于更高的计算力。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有