Nature评选改变科学的10个计算机代码,arXiv、AlexNet等上榜

来源: AI科技评论

发布日期: 2021-02-15

《自然》杂志评选出改变科学的10个计算机代码,包括开源代码和数据库资源,这些工具在科学研究中起到了关键作用,推动了从天文学到生物学的多个领域的进步。

2019年,事件视界望远镜让世界第一次看到了黑洞的实际样子。但是,公布的图像并不是传统意义上的照片,而是通过数学“处理”之后的。处理的数据是射电望远镜在美国、墨西哥、智利、西班牙和南极等地区获得相关信息。数据处理团队也开源了相关的编程代码,并发表了相关文章。因此,科学界也可以在此基础上进一步深度探索。开源逐渐成为一种趋势,并且越来越普遍。

从天文学到动物学,现代每一项重大科学发现的背后,似乎都有计算机的身影。例如,加州斯坦福大学的计算生物学家Michael Levitt凭借其计算化学结构建模策略获得了2013年诺贝尔化学奖,他指出,今天的笔记本电脑内存和时钟速度是1967年的10000多倍。1967年的时候,正是Michael Levitt创建实验室并开始“诺奖工作”的年份。

“我们今天确实拥有相当可观的计算能力,但是问题在于,这仍然需要人类的思考。”显然,如果没有能够解决研究问题的软件以及熟知如何编写和使用软件的研究人员,光有一台强大的计算机是毫无用处的。最近,《自然》杂志将目光投向了科学发现的幕后,着眼于过去几十年改变世界的关键代码。第一代计算机对用户并不友好。编程靠手工完成的,通过用电线连接一排排电路。

后来的机器语言和汇编语言允许用户用代码为计算机编程,但这两种语言都需要对计算机的架构有深入的了解,因此,许多科学家望洋兴叹。20世纪50年代,随着符号语言的发展。约翰·巴克斯和他在加州圣何塞的IBM团队开发的“公式翻译”语言Fortran面世了,情况也逐渐发生了改变。使用Fortran,用户可以用人类可读的指令来编程,例如x = 3 + 5。然后编译器将其转换成快速、高效的机器代码。

当射电天文学家“观察”天空时,他们需要“看到”那些随着时间变化的信号背后的杂音。为了理解这些杂音的本质,天文学家还要了解这些信号作为频率的函数是什么样的。虽然有一种叫做傅里叶变换的数学过程允许研究人员这样做。但问题是它的效率很低,例如对于一个大小为N的数据集需要N^2次计算。

1965年,美国数学家詹姆斯·库利(James Cooley)和约翰·杜基(John Tukey)想出了一种加速方法:使用递归,这是一种分而治之的编程方法,其中算法可以实现重复地再运用。这种快速傅立叶变换(FFT)简化了计算傅立叶变换的问题,只需N log2(N)步。数据库在科学研究中非常重要,以至于人们很容易忽视它是由软件驱动的这一事实。

在过去的几十年里,数据库资源的规模急剧膨胀,影响了许多领域,尤其生物学领域更加剧烈。今天庞大的基因组和蛋白质数据库源于玛格丽特·戴霍夫(Margaret Dayhoff)的工作,她是马里兰州银泉市国家生物医学研究基金会(National Biomedical Research Foundation)的生物信息学先驱。

20世纪60年代初,当生物学家们致力于梳理蛋白质的氨基酸序列时,戴霍夫开始寻找不同物种之间进化关系的线索。这项工作首次于1965年与三位共同作者发表,描述了当时已知的65种蛋白质的序列、结构和相似性。在第二次世界大战结束时,计算机先驱约翰·冯·诺伊曼开始将几年前用于计算弹道轨迹和武器设计的计算机转向天气预测问题。

在那之前Manabe解释说,“天气预报只是基于经验的”,用经验和直觉来预测接下来会发生什么。相比之下,冯·诺伊曼的团队“试图基于物理定律进行数值天气预测”。新泽西州普林斯顿的国家海洋和大气管理局地球物理流体动力学实验室的建模系统部门的负责人Venkatramani Balaji说,这些方程式已经被人们熟知了几十年。但早期的气象学家无法实际解决这些问题。

要做到这一点,需要输入当前的条件,计算它们在短时间内会如何变化,并不断重复。因此,此过程非常耗时,以至于在天气本身出现之前无法完成数学运算。科学计算通常涉及到使用向量和矩阵的相对简单的数学运算,但这样的向量和矩阵实在太多了。但在20世纪70年代,并没有一套普遍认可的计算工具来执行这些操作。因此,从事科学工作的程序员并未专注于科学问题,而是把大量的时间花在了设计代码进行基本的数学运算上。

编程世界需要的是一个标准。1979年,它有了一个:基本线性代数子程序,简称BLAS6。这个标准一直发展到1990年,定义了几十个向量和后来的矩阵数学的基本程序。上世纪80年代初,程序员韦恩·拉斯班德(Wayne Rasband)在马里兰州贝塞斯达的美国国立卫生研究院(National Institutes of Health)的一个脑成像实验室工作。

该团队有一台扫描仪来数字化x光片,但无法在电脑上显示或分析它们。所以Rasband写了一个程序来完成这项任务。该程序是专门为一台价值15万美元的PDP-11小型计算机设计的。随后,在1987年,苹果公司发布了麦金塔II,这是一个更友好、更实惠的选择。拉斯班德说:“在我看来,这显然是一种更好的实验室图像分析系统。”他将自己的软件移植到新平台上,并建立了一个图像分析生态系统。

可能没有比软件名称成为动词更好的文化相关性指示符了。提到搜索,会想到谷歌。提到遗传学,研究者的第一直觉会是BLAST。通过诸如替代、删除、缺失和重排等方式,生物将进化中的改变蚀刻在分子序列中。通过寻找序列之间的相似性——特别是蛋白质之间的相似性——研究人员可以发现进化关系,并深入了解基因功能。关键是要在迅速膨胀的分子信息数据库中快速而全面地做到这一点。

在20世纪80年代末,高能物理学家们例行公事地将他们提交的手稿的物理副本邮寄给同事们,征求他们的意见,这是出于礼貌——但只发给少数人。物理学家保罗·金斯帕格在2011年写道:“那些处于食物链较低位置的人依赖于一线研究者的成果,而非精英机构中有抱负的研究人员往往完全脱离特权圈。

”1991年,洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory)的Ginsparg写了一个电子邮件自动回复器,尝试建立公平的竞争环境。邮件订阅者每天都会收到一份预印本列表,每份论文都带有标识符。如此一来,世界各地的用户都可以通过一封电子邮件提交或检索来自上述实验室计算机系统的论文。

Fernando Pérez在2001还是一名研究生的时候,开始探索拖延症,当时他决定使用Python的一个核心组件进行研究。Python是一种解释语言,其程序是逐行执行的。程序员可以使用一种称为“读-评-输出循环”(REPL)的计算性调用和响应工具,在这个工具中输入代码,然后由一个称为解释器的程序来执行。REPL允许快速探索和迭代,但Pérez指出,Python的REPL不是为科学而构建的。

例如,它不允许用户容易地预加载代码模块,或保持数据可视化打开状态。所以Pérez“写”了他自己的版本。2001年12月,Pérez发布了交互式Python解释器IPython,它共有259行代码。10年后,Pérez和物理学家Brian Granger、数学家Evan Patterson合作,将该工具迁移到Web浏览器,创建了IPython Notebook,掀起了一场数据科学的革命。

人工智能有两种类型。一种是使用成文的规则,另一种是通过模拟大脑的神经结构来让计算机“学习”。加拿大多伦多大学的计算机科学家Hinton表示,几十年来,人工智能研究人员认为后者是“一派胡言”。2012年,Hinton的研究生Alex Krizhevsky和Ilya Sutskever证明了事实并非如此。

在2012年的ImageNet的年度竞赛上,研究人员在一个包含100万张日常物体图像的数据库上训练人工智能,然后在单独的图像集上测试生成的算法。Hinton说,当时最好的算法错误地分类了大约四分之一的图像。Krizhevsky和Sutskever的AlexNet,一种基于神经网络的“深度学习”算法,将错误率降低到了16%。Hinton说:“我们基本上把错误率减半了,或者几乎减半了。”

UUID: c8053f1e-36c0-44fa-b09e-e398c6f5f2bd

原始文件名: /home/andie/dev/tudou/annot/AI语料库-20240917-V2/AI语料库/学术头条公众号-pdf2txt/学术头条2021年/2021-02-15_Nature评选改变科学的10个计算机代码,arXiv、AlexNet等上榜.txt

是否为广告: 否

处理费用: 0.0096 元