百科问答小站 logo
百科问答小站 font logo



为什么有些学数学的看不惯甚至鄙视 Deep Learning? 第1页

     

user avatar    网友的相关建议: 
      

@2prime 您吐槽dl的文章灌水的多,那么其他ml领域灌水的文章就不多么?公式推不动了就加assumption,也不管这个assumption符不符合实际。实际问题解决不了就去搞一套自己的setting,也不管这个setting实际生活中会不会出现。这不是灌水?当然,dl的文章也不乏靠堆模型灌水的。无论是dl还是ml,好文章都只是少数。


说到灌水,我想多说两句。

一个一年级的博士可能需要练练手,第一篇文章很可能在专家眼里确实是“灌水”,难道就因此不让他发?

一个五年级的博士生可能因为导师给的研究方向比较难,快毕业的时候还没有好的成果,难不成还不能灌个水混个毕业?

并不是说我就支持灌水,只是想表达科研人员也要生存,尤其是国内的科研人员,总要有些文章拿来申请科研经费吧?不然自费做科研?


还有您吐槽的dl的文章难复现,您确定您真的关心dl的工作么?多少dl工作的作者把代码放到github上并耐心的解答issue里的各种问题?这其中就包括您影射的fast rcnn。


您说现在做dl的人只会调参,有多少超参数让你去调?lr,momentum,weight decay,初始化方式等等很多都是用默认参数的,而且只要用sgd优化的模型都设计到这些参数,为什么单黑dl?


“dl有本事去做医疗问题啊” ,最近kaggle上Data Science Bowl不少人在用dl吧?也许可解释性还是软肋,但是不能说不work吧?


“大二学生发一篇cvpr都可以”,确实可以,但大二能发cvpr的也是大神了。


user avatar   eric314 网友的相关建议: 
      

搞数学的一般鄙视没有理论基础的东西。

现在深度学习非常火,因为效果非常好,但是理论解释几乎不存在。

现有数学对于凸问题有一套很漂亮的理论。以前机器学习的主流是线性回归、SVM,都是凸问题。那时候每个算法都有定性定量的分析,大家都很开心,就是实际能解决的问题很有限。

然而深度学习的精髓是怎么非凸怎么来,非凸函数套非凸函数,一套几十层,所以没人知道怎么理论分析。根本原因还是因为现有数学工具太弱了,研究不了这种非凸问题。想搞深度学习理论研究,先要有基础数学上的突破。

现在的数学研究是什么状态?像欧拉、高斯那样著作等身,每页都是大定理的时代已经远去。一个人牛人研究一个问题四、五年,搞出一个上百页的证明,然后要十几个牛人花几个月的时间仔细推敲,才能判断它对不对。而且这个趋势在不断恶化。

这种研究已经逼近人类极限了。

培养一个本科生要二十几年,而在数学这种极度烧脑细胞的领域,四十岁已经是大龄了。一个数学家的黄金时间也就十几年。

同时数学水平是无法复制的,一个天才不可能在短时间内把“内功”传给另一个天才。很多东西只可意会,不可言传,需要长时间练习、积累。

这么算下来一个天才一辈子能突破一两个定理就不错了。在不远的未来,证明一个定理的周期可能超过十年,二十年。到时候只有天降伟人才能推动数学前进一小步。

也许人类太傲慢了,像深度神经网络这种鬼东西,以人类的智力水平本来就不能精确理解。

如此说来人工智能就没有希望了么?我觉得不是的。

自然选择创造了人类,它只有两条规则,随机变异,适者生存,连“智能”这个目标都没有。这证明理论基础并不是创造智能的必要条件。

调参工程师的水平怎么也比自然选择高,实验一次的周期也比自然短。几十年前人工智能连苍蝇都不如,现在已经差不多有青蛙的水平了(青蛙有16,000,000个神经元)。

也许靠硬件发展和黑盒调参,就能实现超越人类的人工智能呢?

也许对人类来说,创造智能比从理论上理解智能要容易呢?

比起研究深度学习理论,也许记录细节、开源代码更关键。

只要迭代和传承的效率够高,也许我们有生之年就可以搞出人工智能,到时候再问它怎么解释自己就好了。


user avatar   mli65 网友的相关建议: 
      

学数学看不起深度学习太正常了,因为中间还差好几层。

完整点的鄙视链是:学数学的 —> 学统计的 —> 学机器学习的 —> 学深度学习的 —> 学cv/nlp/dm/...

而且就算是数学里面,也有一条很长的鄙视链。十多年前混了一阵子组合数学,发现地位比较低。后来学了学李代数,发现还是底层居民。后来安心在cs里,因为不怎么烧脑细胞。遇到上层居民都是敬仰的绕路走。


user avatar   zhudouxiaole 网友的相关建议: 
      

我觉得这些喜欢用纯数学来吹逼的可以来信道点对点通信编码这个学科里来被折磨一通:

点对点通信信道编码这个学科,绝大多数已有的编码方案,越是有严谨的代数,图论等数学模型为基础的编码方案,性能越糟糕(图论的会好些)。。偶尔会有几个亮点可以把整个学科的人打一针鸡血(如特斯法斯曼构造的代数几何码在超过49进制的符号中传输性能终于超过了GV bound理论下确界),但是基本都因复杂度过高而无法实用(光是构造这样的码就要超过15次幂的多项式复杂度)。。而且认知到整个学科走在死胡同最终清醒过来,大约要晚到20世纪90年代初,因为90年代头几年依然还在给“几何代数码的译码算法” “非线性码的Z4群构造” 这些不断往让人望而生畏的数学领域深挖的论文发年度最佳论文奖。

终于90年代有turbo码(3G,4G的方案)的发现和ldpc码(5G的主要方案)的重新发现,大家开始重新认知到了:根据香农的通信领域创世论文,随机构造的通信方案中蕴藏着非常好的通信编码方案(在不考虑编译码复杂度的情况下(那个年代基本不敢对复杂度特别挑,n^2logn复杂度的方案也甘之如饴,宇宙深空通信你收到宇宙飞船的信号立方复杂度你就嫌复杂啦?赶紧用命去解码),随机构造出来的码的性能的期望大致和理论最佳方案的性能上界相差无几,你可以理解在通信的学科的某些问题里,随机乱走棋的alpha go在棋盘非常大时棋力和围棋之神相差无几。),所以大家开始使用一些有随机结构的方法来构造码,虽然这类方法没有什么特别让数学爱好者们心动的新算法或码结构出现(例如Guruswami-Sudan list decoding algorithm这种可以反哺其他诸如计算复杂度之类的学科的算法结果),但是工程界的结果一直在稳步朝香农当年所预言的性能指标迈进(05年ldpc已经有距离香农界0.01db以内的结果了)。。无数编码学家发现自己该失业了:过去为这个学科准备的数学知识都排不上用场了,工程师们都在玩随机交织之类的方案像玩玩具似的交织+打孔构造各种强力turbo码(非常类似于现在各种小学生用tensorflow各种调参训练各种模型一样),也构造用于存储的高码率ldpc或者低密度生成码,业界需要的只是调参工程师(当然也有像linshu这样的华人之光引入了代数ldpc码,打开了另外一扇窗口),,直到

极化码(polar码,5G控制信道中短码的一种可选方案)的出现,重新给了编码学者们一个新的数学玩具。他几乎不再需要调参,仅仅从理论上即可证明自己可以达到香农的性能,只是时延稍大(其实和他的竞争对手相比,蛮致命的),编译码复杂度都是nlogn(有一些变化方案复杂度会高些)。数学性非常强,无需引入随机方法,但是性能分析和证明方面需要一些随机过程分析,鞅这类过去没有引入过这个学科的一些数学工具,已经基本看不到高等代数的身影。非常多的较为年轻的代数编码学者都转向了极化码:印度人(包括他们收的中国徒弟),俄罗斯人,也包括我师门内认识的国人,好多我过去看到的代数编码常客都蜂拥而至,给极化码带来一些新的视点和角度。华为2012我估计也是因为这一波大潮被极化码绑架的:毕竟极化码太容易出paper了(2013年信息论大会直接就让极化码作者的大学举办),那个时间点的研究员肯定会举手赞成all in 极化码。


说了那么多,我来给你说说我们这学科的鄙视链:

polar码->ldpc码(5G)->turbo码(3G,4G)(记得拉香农祖师来壮胆和群嘲,否则实在无法解释自己的牛逼,因为牛逼的太没数学道理了)->代数几何码和goppa码->硬盘光盘raid二维码用的reed-solomon码->闪存ecc以及对讲机用的bch码 越到后面就是被鄙视的来基本没有什么学术界的人去研究了。数学要求最高的代数几何码其实有段时间是被鄙视的最狠的:毕竟这个学科当年差点被人认为died了,就是因为太多主流研究方向都在沿着代数几何这类高深纯数学化发展,导致越来越少人投入精力到这个学科了。


十分悲伤的就是,笔者当年是反着这条鄙视链研究慢慢深入上去的(老师对我的培养比较正统化,基本沿着学科发展的时间顺序带我入门的),还好没有在代数几何那些代数曲线上花特别多功夫,在reed-solomon码上研究出来点结果成功毕业。毕业时最终大彻大悟就是答案:还是去当码农养家比较实在啊(不过这些年还是一直对polar,goppa,reed-solomon放不下,听到阿里出了个polardb就颇有好感)。


user avatar   stargazer_forever 网友的相关建议: 
      

我就是学数学的,以前和一个做机器学习的大牛聊天,提到数学系的学生如何看待dl,被调侃道:

学数学的看不起dl--->因为dl缺乏理论基础--->因为缺乏合适的数学工具--->说白了还是你们搞数学的人太弱......

我竟无言以对......


user avatar   han-jie-qun 网友的相关建议: 
      

这个问题本身挺没意思的。在我看来,这种表现可能是源自一股天然的傲慢,压根没有去了解过深度学习,可能是出于嫉妒(酸葡萄)心理,眼红深度学习现在的火热,也可能是一些其他原因。但无论怎样,没啥好多解释深究的。我想回答这个问题的原因,是因为想说几句关于数学出身的研究者对于深度学习的态度 -- 按照利益相关,我先说明我是应用数学专业,现在感兴趣DL的一些的应用研究。

虽然在普通人眼里都是数学专业,但稍微接触过的人都知道,现代数学的理论和应用在前沿研究层面已经是相当不同的了。所以这个话题也得分两方面来看。对于做纯数的人来说,前面一个答案提到的 "没态度" 就是一个很好的概括。神经网络这东西,在表示和算法方面都不太符合现代纯数研究的品味 -- 本身没啥漂亮深刻的数学结构,也看不到和其他分支的联系。所以,大部分做纯数的人对此不关心不在意的态度是很正常的。

但对于做应用数学的人来说,我想很难无视深度学习现在如此令人惊讶的表现,更别说鄙视了 -- 其实我自己就是这么被导师带入坑的。其实说到底,最重要的一个关键词就是维数灾难 (Curse of dimensionality)。回顾历史的话,要知道这个词就是应用数学大家 Richard Bellman 在研究动态规划的时候最早提出的。六十多年过去了,别说完全克服了,连个登堂入室像模像样的解决办法都没有。悲催的是,这个困难又无处不在,各种方程各种近似里都有他,可谓是广义应用数学领域中一个很本质的困难。直到几年前,深度学习一声惊雷,涌现出这么多优秀的结果。图像,语言,这些高维的东西都能被神经网络很好地映射,这在传统应数思维下来看是蛮有颠覆性的。所以我才说做应数的人不应忽视深度学习。恰恰相反,这方面有许多激动人心的研究可做,直接一点的可以寻求更广更好的应用,深刻一点的可以探索理论突破。如果能在后者有重大贡献的话,想必也是非凡的学术成就了。


user avatar   zhuoxu 网友的相关建议: 
      

以相对熟悉的 CV 领域来谈谈自己的看法。

不可否认,DL 的许多模型在一些工业界任务上取得了非常非常棒的效果,我用过的比如 Google 的 FaceNet 做人脸特征 Embedding 进而做人脸识别,YOLO 做安全帽检测,还有 CMU 的 OpenPose 做人体骨架提取。这些案例都超越了大量的传统方法,并且很好集成到实际落地的工业项目中来进行二次开发。

但回到学术界,成吨的 DL 相关论文每天都在“提出新的结构”,“站上新的 SOTA”。不知道为什么,加深一下、连接一下、乘一乘权重,然后再用一堆写的花里胡哨但实际上很简单的公式试图来解释这样修改的合理性。文末花大量的篇幅讲实验,一看只是涨了微小的零点零几个点。我每次都在怀疑,这些论文真的有研究、有意义吗?

大量的论文不公布源代码和实现细节,不公布文中效果特别棒的预训练模型。对于代码开源的,很多时候,读了一遍代码会发现和论文里根本是两码事。另外,某些学者的代码,软件工程质量真的堪忧——格式稀烂的 README、拼写错误的英语、乱七八糟的工具函数、用途不明的配置项、从未回复的 Issue。你敢想象,在一个 GitHub 300+ star 的论文配套 repo 里,作者在里面写 LeetCode?

之前在腾讯实习的时候,一天吃晚饭时,听到别的组做算法的同事吐槽,“现在天天模型那么多,真拿上来部署的不还都是 ResNet?”是啊,那些论文上漂漂亮亮的模型,有几个能考虑到工业落地的需求呢?

现在,DL 向一些更专业的领域去侵入了。他们对着医学图像,甭管它是 DR、CT 还是 MRI,甭管拍的是什么部位,拿到一份数据,就开始 augmentation,去模拟,去注噪,然后开始拟合,就去噪了,就跑出 PSNR,跑出 SSIM,或者请几个“专家”来人工主观打分。最后,一篇 SCI 就横空出世了。

可是那数据集是那么的干净,那噪声注入是多么的天真。加个高斯噪声就叫做模拟?能生成个泊松噪声的就已经属于进步了!

他们不知道,换一台设备,或者调整一下电压电流(剂量),成像的效果就是截然不同的,是你的数据集里没有的。他们不去用 16bit 深的 raw 图像,而拿着一张一张的 JPEG 或者 PNG。他们不考虑准直器、康普顿散射、探测器的坏点、本底噪声、热噪声、射束硬化这些噪声来源的不同特性——有的会随某些参数变化,有的在任何条件下都保持相对稳定。没有物理,没有数学建模支持,一股脑的拿一个万金油瓶往上面套,这样有人敢用吗?在另一个数据集上,你的效果会比一个高斯低通滤波器好多少吗?

我不排斥一些大组、大公司做出的能应用到工业界的 DL 的成果,它们中有许多确实已经在改变我们的生活了。但是现实的很多问题不是这么简单去做一个 fitting,做一个 loss descent 就能够解决的。至少要保持对数学、对物理、对工程,还有对领域特定知识的敬畏。


user avatar   berkeley-you-yang 网友的相关建议: 
      

天下难事,必作于易。

首先,跨行比较是不客观的:深度学习在各方面都受约束的条件下,做出被客观检验的成果,难度不见得比数学界低。数学界很多情况是在一个各种assumption都自己设定的真空环境下开展的,即便理论有突破,圈外人也很难检验。

其实深度学习一点也不容易,觉得简单是因为深度学习社区开放度太高,分工太好:所有前人的技术都能作为自己的infrastructure。


所谓难的问题/技术,本质上是把一系列逻辑推理和知识反复叠加包装形成的关联信息块。

数学中证明一个问题或提出一种方法往往接近于从零开始去做一件事,你甚至不知道可能会用到什么样的知识。

如果让一个工程师(甚至一个公司)从零开始构建一个高效的深度学习的解决方案,难度是非常大的,至少需要做:

  1. 改进编译器,手写各种必要的算子 (比如Convolution中的卷积算法,Transformer中算self-attention算法)。得益于caffe,TensorFlow,pytorch是全面开源免费的,这些都不用做了。
  2. 假如最开始AlexNet和残差网络像封闭圈子一样都没有开源,恐怕复现出来都很困难。
  3. 自己收集数据集,准确归类并做标签,去构建ImageNet等数据集从而能有效验证自己的loss function和网络模型。
  4. 自己做大量实验去发现dropout,batch normalization,学习率动态调整,label smoothing等各种trick,其实还是非常困难的。
  5. 写neural architecture search算法去找到最佳的模型结构。
  6. 由于动辄就是千万级参数,需要构建高效的监控软件去从训练log文件中发现问题或pattern。

所以,这次AI技术的大发展其实是得益于深度学习社区的开放性:深度学习所有相关的技术都是开源的和免费的。这种开放性让无数小白用户都可以快速收敛到最优质的资源,快速入门深度学习。深度学习从业者不需要书籍,也不需要购买任何知网服务或IEEE数据库,所有好论文或好资源都可以从arxiv或其它免费地方找到。数学专业有时候却需要费很大功夫去找一篇1980年代论文,并且网上也没有任何对这篇论文的解释。

我们不应该鄙视深度学习的简单,这种简单其实无数人努力的结果。我们应该感谢Alex Krizhevsky,Yann LeCun,李飞飞,Andrew Ng,贾扬清等技术领袖为引导深度学习社区开放性所做的贡献。


user avatar   he-yi-lin-80-36 网友的相关建议: 
      

别说学数学的看不惯,我一个天天跟 Deep model 打交道的都看不惯。说个暴论,DL 研究者中,能理解「自己的」工作的,顶多10%。这个数字是根据顶会论文质量估计出来的--即便是命中率20%的顶会文章,依然有很多让人“读不懂”。不是因为理论艰涩读不懂,而是文章糟糕的写作:就算你从头读到实验部分,看到他们花式秀 performances,也依然不知道设计模型的初衷是啥,对于试验结果有什么解释,而作者们压根就没打算对这两方面做解释。

DL 领域有太多人,真的是太多,对科学缺乏基本的敬畏之心。各个领域的研究都要基于前人的结论,所以在开发模块的时候至少应该讨论一下使用的前提吧?或者至少分析一下为啥效果会好吧?而且都不求在数学原理上分析,就讲讲 motivation 总行吧?然而很大一部分工作,连这点基本的要求都不能满足,这问题就不在于水平,而是态度。我们学习的数学定理,都会去定义使用的条件,而一个 solid work,会有相当大比例的工作量是在“定义使用前提”上的。但这些都是必要的工作,因为这样子后面的研究者才有信心基于以前的结论来开发呀。DL 倒好,开发者不说,使用者不问,省去了很大的必要工作量,那么对于工作质量也不会有任何保证。

对科学缺乏敬畏之心还体现在完全没有“追根溯源”的兴趣。做完一个话题立马 move on to next one. 以一年发两位数文章为荣的 community,对于话题深度有多么不尊重,可见一斑。作为一个司机,“会开车”意味着至少了解自己每个操作,对汽车行驶状态的作用是什么。不少 DL 工作给人的感觉就是一群人不但不会开车,而且还追求开快车,用王老师的话来说

一句话,人无知尚可改善,反智则无可救药。DL 不乏好的工作,但对于将 community 风气带坏的反智工作和部分水王,我是极其看不惯的。


user avatar   tian-yuan-dong 网友的相关建议: 
      

DL的难度取决于看问题的角度。数学系的话应该往理论方向看。

DL用线性和非线性函数堆砌来构造函数,用随机梯度下降就可以训练,而且还有非常好的泛化能力,在我看来这样的东西居然没有原理这是完全不可想像的。但是DL很难,难到大家都不知道如何入手,用什么数学工具都不知道,所以说什么样的理论文章都有,凝聚态物理的(spin-glass),量子物理的(重整化群),ODE的(动力系统),各种优化理论(这个例子太多),各种复杂度理论,但还没看到真正提炼出本质的。数学这边那么多理论,但现在还没有哪个能搬到DL上而且能严丝合缝的,至于能进行有效预测的就更没有了。这就足够说明问题的复杂性,DL是没那么简单的。

要深入DL,各种基础知识是不可少的。但是基础知识并不是拿来炫耀的本钱,因为学了一大堆,可能一个都没用。比如说VC Dimension或者Rademacher Complexity对DL有没有用?它们本身都很漂亮,但可能假设太强得到的结论和现实差很远,或者假设太宽泛得到的结论太弱,都不在DL的工作区间。所以做理论的人,不得不一个个学过来,想过了,试过了,然后放掉,下一个。解决问题是最终的目标,而不是学得比人多些,然后坐在原地不动夸耀自己厉害。耍弄十八般武艺,比不过高手一招制敌。至于这一招怎么找到,或者从理论分析这边入手,或者从实验入手,都是一样有价值,都是平等的,不存在谁鄙视谁的问题。鄙视就意味着有不合理的预设立场,忽视另一种思路的作用,对解决问题是不利的。

学数学的时候,我的感觉像是走进了琳琅满目的艺术博物馆,在整洁的环境中欣赏各种精巧的美。DL相比之下就像是锅炉房里堆叠着一坨污七八糟的机器,工程师们东敲西打让它工作,虽然脏乱,确实有效。大部分人可以沿着前人铺好的锦绣路上再添砖加瓦,但是真正厉害的,是不顾脏乱跑到锅炉房里把机器拆开,化腐朽为神奇,找到最重要原理的那些人。开创比修补难,与其抱怨DL没有高深数学做框架,不如自己试试看,能不能做些有趣的东西出来。现在那么大的金矿放在那里,大家应该好好合作使劲挖矿才是啊。 小波是很美,但问题是它的基函数是固定形式的,不能适应具体问题,而且还需要数学家搞一辈子才能搞出来。与之相比,深度模型训练几天就能跑出来,而且针对具体问题(比如说图像分类)效果还更好,你会选哪个?所以说现在思路要转变,一个一个地研究模型太没效率了,做一个对数据自动建模的模型,是不是在战略上会更有趣一点呢?

我和我一个同学聊过,他现在是统计系的终身教授,列举了几个非常牛的数学家,问我AI再牛牛得过他们么?我没有正面回答,我在想人类看蚂蚁的时候会思考普通蚂蚁和聪明一点的蚂蚁之间的区别么?我这里并没有贬低数学家的意思,因为人类都是一样的,我也是微不足道的普通蚂蚁而已——相比耗能堪比一座小城市并且每几个月就更新换代的集群,人脑仅仅几十瓦的功率,神经元间慢达毫秒级的传输速度,败下阵来只是时间问题。而现在的人脑处理大部分任务甚至还远胜集群,可见人工智能潜力之大。我有时候觉得我们看到几颗星辰就以为是大突破了,其实我们还在漫漫长夜里瞎摸,太阳还没有露头呢。

另外说一下门槛低的问题。几百年前,微积分出来之后,一大类问题都可以用统一的方法解决,让技术进步的门槛降低了,本来高高在上的各种技巧平民化了,马上就带动了相关领域的巨大进展。这个历史进程和我们现在看到深度学习的进程一模一样,开源了,大家都用了,对整个人类而言进步就快了。到了这个时候,单枪匹马干不了什么事,人民群众才是技术进步的原动力。

面对时代的洪流,相比嘲弄别人随波逐流,思考应该如何顺势而为,或许是更有建设性的吧。




     

相关话题

  设A是一个3阶行列式,aij=1或-1,1≤i,j≤3,如何证明det(A)≤4? 
  格林公式为什么不对称啊? 
  经过足够长的时间, AlphaGo 的棋谱能收敛到一张上吗? 
  1/3和0.33循环的本质差别在哪里? 
  看看题目?那个才是对的,为什么? 
  如何正确理解小概率事件,以及概率和哲学的关系? 
  Resnet到底在解决一个什么问题呢? 
  怎样从机器学习模型中获取知识? 
  如何求出图中数列的通项公式? 
  如何评价《最强大脑》第四季第一期中人机对战? 

前一个讨论
如何看待杨振宁获得中华人民共和国国籍后遭争议?
下一个讨论
如何看待MXNet在CVPR2017上公布的gluon接口?





© 2024-12-18 - tinynew.org. All Rights Reserved.
© 2024-12-18 - tinynew.org. 保留所有权利