‘壹’ 为什么说一个国家学术界的水平决定了工业界的水平
最近网上很多人在诟病大学里的博士,教授解决实际问题的能力不足,一到现场遇到实际问题,往往是眼高手低,在现场的工人师傅眼里并不能服众。在万文筹划看来,这已经引发人们对高校科研“实用性”质疑,国家每年投入那么多科研经费,除了发表的SCI论文越来越多,到底能解决多少实际问题?到底能为国家的科技发展起到多大的推动作用?到底有多大意义?
老实说,这一系列问题实在太复杂了,不是三言两语就能说清楚,而且也不是我能回答了的。但这并不妨碍我从某一个角度,以自己的一些切身体会,谈谈自己的理解。
首先,面对这样的一个情况,高校以搞基础研究为主的,善于发表高水平SCI的教授学者,通常瞧不起那些搞应用研究,不太容易发高影响因子的学者,这里当然也包括工业界很多搞应用的科技人员,理由是他们搞的那些东西太没技术含量,水平相比太低。另一方面,那些搞应用研究为主的学者则认为,发再多SCI有什么用?纸上谈兵而已。这里的问题其实是大家对基础研究和应用研究的关系问题的争论。到底哪个更重要?这里我不想谈了,因为单纯把这个关系拿出来,稍微受过学术训练的理解起来都不是问题。我想说的是,我们换一个角度想,对调一下,让那些擅长发高影响因子的教授学者去做应用研究,让那些擅长搞应用,解决企业实际问题的工程师类型的科技人员去搞基础研究,去发SCI,会怎么样?
这样一个假设,一个换位,会有一个怎样的结果呢?很多人可能会看笑话,这两拨人马可能,都会不适应,都会抓瞎,甚至出洋相。当然,这只是一个假设,并不是要强制执行。然而,我们再进一步设想一下,一旦这个假设强制执行,也就是必须从自己擅长的领域出来从事自己不熟悉的研究,否者就没饭吃。目的是让大家发挥最大的潜能做这个实验。我猜想的结果是,无论是搞基础研究的,还是搞应用研究的,只要是本身素质足够好,是搞科研的那块料,同样会在自己不熟悉的领域做的出色。相反,一个领域做得平平淡淡,换个领域就一下子做到最顶级,这样的概率不能说没有,应该很低。因为任何领域,入门可能会相对容易,但要想达到一个很高的水准,靠得还是自己的能力,自身的科研素养。
‘贰’ 计算机科学学术界,和相关领域工业界的工作内容有什么不同
任何学科学术界和工业界(包括技术实现与工程设计与实施)的区别都是银郑袭一样的:
学术界主要负责从理论上(通常是数学推导)论证一种认识的正确性,比如建一锋兄座楼房,它的地基需要能够承受哪些方向的力,推导出计算各自的最小值的近似公式等,而工业工程界则根丛困据理论公式去计算,然后建造出满足设计要求楼房来。
具体到计算机学术界,他们则是研究跟计算机软硬件以及利用计算机信息处理、人工智能等相关的理论;而工业界则是依据理论来设计或实现计算机软硬件系统或者各类的信息处理系统
‘叁’ 学术实验室和工业实验室区别
学术界的科研更多的是Novelty驱动,工业界的研发更多会以是否Work、高效而驱动。
学术界的科研更多的是Novelty驱动。一般看到的论文分两种。一是对于已有问题,是否有一个好的想法能够启发他人,是否通过这个好的想法能在公认的数据集上获得领先的结果。因此,在刚有deep learning方法的时候,各种简单朴实的方法,看上去都是新的好的想法,能够启发他人,也能在各种数据集上获得不错的结果。比如第一次看到Fully Convolutional Network,感觉全卷积网络做分割问题就非常inspiring呀,感觉自己道理上应该也能想到呀,就是没总结的这么到位过。在NIPS Faster RCNN发表前,同师弟在办公室也在讨论类似的方案,想着开完CVPR回来试,结果过了几天,arxiv上就刷出了做的更完备,考虑更周全,实验也非常solid的方案,真是自叹不如。但是随着时间的推移,越solid的结果就会意味着更多的实验算support,比如我们自己做过的很多比赛方案都是大量实验中大浪淘沙的部分,由此,这也变成了很多人啃过的硬骨头,攻克的难度在逐步提升。新方法因为已有了非常多的排列组合,也会慢慢变得复杂或套路化,能激起researcher普遍欣赏的感觉就越难。另一种是创造新问题,是否能够发现新的,有意义的问题点,帮助后来的同学找到更多值得做的课题。这个方向上,比如之前的Fine Grained Classification,Instance Segmentation等,到近期大家推的cognitively inspired AI,self-supervised的方法,都是类似思路。每次开会大组或者大公司试图构建个dataset,办workshop、tutorial,也都是类似的想法。但是这里有个trick,历史以来大组大牛创造新问题影响力大,越不知名的实验室即使推同样的东西也难有人follow。原因自然会有不同团队本身视野的差异,更多的也在于科研本身也是要拼影响力的。影响力本身就是一团队长期沉淀的能力背书,能进入这样的团队本身也代表了较好的reputation。当然,学术界科研另一个重要点是要会讲story。如何用简单容易听懂的语言让读者更明白你的思路,且通过详实的实验认证它的可靠程度。这个技能点其实很重要,即使是在工业界工作中也如此。在工作中非常明显的能够发现读过PhD的同学相对更会present工作,这样能够让你partnerleader、和甚至你的团队同学更容易了解和知道你的思路,更容易得到工作上的认可:)工业界的研发更多会以是否Work、高效而驱动。抛开要把model训得很有novelty,我们就可以尝试更多更朴素的思路,即使调loss weight调lr调augmentation,只要能涨点都是好的经验。因此做起实验来会更少束缚,长期的积累中也是会发现各种不novel的knowhow中一些闪光点。如果有好的leader辅助,也是可以总结成不错的research工作(因此大家就会发现商汤各个团队每年都发非常多的paper)。工业界研发另外不一样的部分是,需要遇到很多多人协作,知识传承的部分,与实验室做research单打独斗不同,一个好的代码风格,一个好的开发流程,以及能够完整的记录你的思路和实验过程的文档,都是显着提升团队生产力的关键点。最近会经常发现,不少成绩好做研究的同学都缺乏基础的代码以及开发相关的培训,这一方面同学校的基础教育的内容不太跟得上变化较快的开发模式,另一方面这也与做research时,大部分同学只需要自己看懂自己和师兄的代码有关。在校期间如果能多尝试参与一些开源社区的开发,给好codebase(比如吹一波mmdetection)多贡献几次代码,相信会对此有更深的理解。工业界将问题实际做work,也会遇到更多从系统搭建开始的深坑,这些看似dirty的工作实际上是整个系统能够work的核心。这些是在学术界做research不大会遇到的(毕竟大家都是从前人做好的database起步)。举一些简单的例子,选什么摄像头接入、解决摄像头驱动问题、调摄像头ISP得到一个更好的成像质量、怎么给图片打tag获得准确的时间戳、不同设备之间怎么共用同一套时间体系、怎么设立数据标注原则(电线杆后的人标不标)、怎么高效的自动做数据的筛选...... 所以很多同学来公司实习,也会接触到不少这类型的工作,这其实是业界最valuable的部分,是从头做好一件事的前提。所以总结一下,学术界的科研和工业界的研发各有各的特点,看你自己长期的兴趣更在突破技术的边界,还是更在希望利用已有知识实现实际领域的应用。长期看,去做自己最感兴趣的工作,才是最重要的
‘肆’ 学术界与工业界收入差很多吗
其实在我看来学术界和工业界的收入差别肯定是有的,有教授说过,学生毕业的薪资就比自己的高,这是事实,学术界由于制度繁琐、收入较低、技术落地性差等原因已呈现出一定弱势;而作为工业界,它们灵活的用人机制、财务机制、创新机制,使得工业界成为了更富吸引力的土壤。
所以说,这些就是我所看到的差距,而这就引起了一系列的反映,导致学术界现在越来越薄弱。