无论无处不在的“大数据”概念引起怎样的联想,逐步增长的数据规模确是改变着我们和世界的交互方式。这在工业界、政界、媒体、学术界,几乎任何领域,都是事实。逐渐增强的对大数据进行收集、处理、抽象化,并从中得到启发的能力,拓宽了我们的知识面。 然而近年来,科学研究领域加速转变到以数据为核心,是有负面影响的。总结来说就是:称职的科学研究者需要的能力,和称职的工业界从业人员需要的能力,越来越无法区分。具有典型惰性的学术界刚刚开始适应这一转变,而其他领域早已开始大规模鼓励和奖励这种能力。不幸的是,这导致了很多有才的准研究者难以在学术界立足,只能投入财大气粗的工业界的怀抱。 数据的神奇效果20世纪60年代,物理学家Eugene Wigner发表了他的著作:数学在自然科学界的神奇效果。它论述了抽象的数学概念在上下文中的有效性,远远超过产生这些概念的上下文,其差距到了惊人的地步。毕竟,谁能想到Riiemannn在20世纪研究的非欧集合会是爱因斯坦重新思考万有引力的基础?谁又能想到,抽象固体的旋转群的编纂几乎最终导致了物理学家成功地预测希格斯玻色子的存在? 谷歌研究者Alon Halevy, Peter Norving和Fernando Pereira于2009年以“数据的神奇效果”为题发表的文章响应了这一观点。文章展现其惊人的洞察力:只要有足够的数据,数学模型的斟酌选择不再重要—尤其是对他们所研究的自动语言翻译来说,“比起很少的数据及其精确模型,简单模型和大量的数据更有胜算”。 如果我们大胆假设这个观点可以延伸(至少是部分延伸)至自然语言处理之外,那么仅仅是数据挖掘这一项技能都会逐步打败领域知识。我相信这一预言已被证实:众多学术领域,有效地处理数据的能力正在取代其他更经典的研究模式。 我并不是说对某一领域的精通已经完全过时。如果不理解粒子相互作用理论,大型强子对撞机(LHC)产生的10Gb每秒的速度将一无用处,就像只有理解物理过程驱动空间爆炸的理论,大型天文望远镜(LSST)产生的每晚15TB的原图像数据才能帮助我们理解宇宙学。然而,LHC和LSST反映了越来越普遍的现象:科学研究结果完全依赖对大量数据的精确分析。实际上,我们发现,即使数据量并不足够“大”,能够对它们处理、抽象、挖掘和从数据中学习的研究者也在逐步促进科学进步。 新型科学家从某种意义来说,数据驱动的研究是过去的研究趋势的简单延续。自16-17世纪科研分离出亚里士多德哲学,科学进步已基本依赖试验和观察。要知道,是第谷16世纪开创性的对天空的研究,促动了17世纪开普勒的行星运动规律的研究,继而为牛顿的万有引力定律铺平道路,最终形成爱因斯坦的广义相对论。科学家始终在努力处理数据,区别只在于这一努力如今正成为科学研究过程的核心。 不过,科学研究逐步以数据为中心已经产生了解决问题的新办法:进入LHC、LSST时代,善于运用高性能并行数据统计算法探索大量的群体性数据集的研究者,以及新的统计方法、机器学习算法、高速代码,以前所未有的规模重复进行典型分析的应用,推动了振奋人心的研究。简而言之,新型科学家一定是精通统计、计算、构建算法、软件设计、领域技能(可能作事后使用)的多栖专家。在粒子物理学、生物学、化学、神经科学、海洋科学、 大气物理学等几乎所有领域,研究越来越趋向于数据驱动,同时数据收集的速度丝毫没有放缓的迹象。 科学软件的基础作用科学软件的共同点,是这些工作都离不开编写代码。高质量的、组织良好的公共代码才能对科学过程极为重要的重现产生影响。诸多公共软件都是关于当前的非再生性科学危机、新的出版形式的需要、新的研究、代码和数据公开访问。此处不再详谈更多。 此处我想详细讨论的是,优化的专业软件对大型数据集分析和抽象的核心作用,以及它成为现代科学研究的核心的演绎过程。我的合作者Gael Varoquauz以及他的同事最近发表评论证实了这一观点(见Gael的简介),并就公共的,组织良好的健壮的科学代码对于现代科学研究的重现性和研究本身的进步都必不可少这一论点进行了实例研究。过去的研究结果,如果只是在论文中简单提及,而产生这结果的实际过程的代码未经组织,这样的结果就不能作为新的研究的基础。就像是Buckheit和Donoho曾说的: 学术期刊上的计算科学的文章并不是学术,他们只是学术的幌子。真正的学术是完整的软件开发环境,以及计算出数字的完整指令集。 公开代码看起来像是马后炮,但是一般来讲,仅仅发布代码是不够的。像Brandon Rhodes在Rupy 2013 Talk中说的那样,“一个程序运行正常,总好过它勉强能正常运行”。让代码对在科学研究之外的作者有用需要相当大的投入。这种项目具有难以估计的价值,就像NumPy项目,Scikit-learn项目,等等。它们为研究者提供一个框架,在此框架下,代码可以共享,在github上共同审阅和发布,以此造福研究社区。 |