热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nature盘点的这些代码,个个都改变了科学:Fortran、AlexNet还有arXiv等

杨净发自凹非寺量子位报道|公众号QbitAI今天,Nature的一篇报道有点不同。没有说最新的科学研究进展,也没有说这个时代的科学家们。而是将镜头聚焦在
杨净 发自 凹非寺
量子位 报道 | 公众号 QbitAI

今天,Nature的一篇报道有点不同。

没有说最新的科学研究进展,也没有说这个时代的科学家们。

而是将镜头聚焦在计算机上,更具体一点,是聚焦在计算机代码上。

在过去的一年中,Nature对数十名研究人员进行了调查,以选出这几十年以来,改变研究的关键代码。

现在,评选结果新鲜出炉。

简单看了下,有半世纪的“语言先驱”、“祖宗之法”Fortran,理工科的老朋友了,相信个中滋味很多人都能体会。

还有不知不觉已经“而立之年”的论文利器arXiv.org——全球最大的免费预印本平台,每月吸引超过15000份投稿和3000万次下载。

……

究竟还有哪些代码改变了现在的科学?Nature又为何Pick这些代码?

“语言先驱”Fortran(1957)

说到Fortran,相信很多大学生都受到它的摧残“洗礼”

在知乎上有一个2015年的古早问答:“和 C++ 相比,用 Fortran 编程是怎样的体验?”

其中一个高赞回答讲述了他被Fortran“洗礼”的经历,引发广泛共鸣,得到了1331个点赞。

即便如此,依然没办法磨灭它在语言界的地位。

最早的现代计算机对用户,尤其对科学家并不友好。其中的机器语言、编程语言需要科学家对计算机的体系结构有深入的了解。

直到在上个世纪50年代,IBM团队开发了“公式翻译语言”Fortran,情况发生了改变。

普林斯顿大学的气候学家Syukuro Manabe表示,Fortran使非计算机科学家的研究人员可以访问程序。

他和他的同事使用该语言开发了全球第一个气候模型,被美国国家海洋和大气管理局200年来发生的十大突破之一。

如今,Fortran已经发展到第八个十年了,它仍然被广泛地应用于气候建模、流体动力学、计算化学等一些涉及复杂计算的学科。

古早的Fortran代码库仍然活跃在实验室和全球的超级计算机上。

而立之年的arXiv.org(1991)

一定没有想过,几乎所有科研人员都使用过的论文福音——arXiv已进入第三十个年头。

目前,它已经收录约180万份预印本,全部免费提供大家交流。

每月的投稿和下载数量也一直只增不减。

据Nature统计,现在每月将吸引了15000多份投稿和约3000万次下载。

而它一开始,也不过只是一个聚焦于高能物理的电子邮件自动回复系统。

在没有arXiv之前,科学家们大多通过邮寄的方式将提交的手稿副本寄给同事,以征求评价。

但寄出的数量有限,看到论文的也不过几个人。

见到此状,一位墨西哥州工作的高能物理学家Ginsparg决定编写了一个电子邮件自动回复系统。

订阅者每天都会收到预印本的清单,每个清单都有一个文章标识符。

于是,通过一封电子邮件,世界各地的用户可以从实验室的计算机系统中提交或检索文章,获得新文章列表或按作者、标题搜索。

一开始,Ginsparg计划是将文章保留三个月,论文内容限制在高能物理学界。

但在同事的说服之下,1993年他将该系统迁移到互联网上。5年之后,他给它起了今天的名字:arXiv.org。

Hinton指导的AlexNet(2012年)

如果要说当前更接地气一点,就要提到这个快速学习AI——AlexNet

一开始,人工智能有两种。一种是使用编码规则,另一种使用计算机通过模拟大脑的神经结构来“学习”,几十年来,人工智能研究人员一直将后一种方法视为“废话”。直到2012年,Hinton改变了这一格局。

最初的ImageNet全球挑战赛,最好的算法错误率也有25%之高。

而Hinton的两位研究生提出的这个AlexNet,一种深度学习算法,直接将错误率降低到了16%

Hinton表示,我们基本上将错误率降低了一半,或者说几乎降低了一半。而这样的成绩,揭开了深度学习在各个领域上的应用。

200年“历史”的快速傅里叶变换(1965)

相信很多数学、工程领域的同学都对它很熟悉,    快速傅里叶变换 (fast Fourier transform) 即利用计算机快速计算离散傅里叶变换(DFT)的统称,简称FFT。

值得一提的是,这里的基本思想早在1805年就已推导出来,但直到在1965年才得到普及。

来自美国的两位数学家James Cooley和John Tukey提出利用算法让计算所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著,计算速度也会提高。

比如,对于1000抽样点数,速度提升约100倍;对于100万点,速度提升5万倍。

由此,快速傅里叶变换开启了数字信号处理、图像分析、结构生物学等方面的应用。它曾被IEEE科学与工程计算期刊列入20世纪十大算法

软件驱动的生物数据库(1865)

数据库已经成为当今科学研究的一个重要组成部分,以至于很少有人注意到它其实是由软件驱动的。

在过去十几年中,数据库以肉眼可见的速度影响了很多领域,但也许没有什么地方可以比生物学更为显著。

不管是从蛋白质序列发现癌症致病因子,还是合成生物学等领域都少不了庞大基因组和蛋白质数据库的工作。

上个世纪60年代初,当生物学家还在努力拆解蛋白质的氨基酸序列时,Margaret Dayhoff(生物信息学先驱)则开始默默整理这些蛋白质信息,创建蛋白质和核酸数据库以及查询数据库的工具。

她的《蛋白质序列和结构图谱》在1965年首次出版,描述了当时已知的65种蛋白质的序列、结构和相似性。而且她还将其数据编码在打孔卡中,这使得扩大数据库并进行搜索成为可能。

之后,更多计算机化的生物数据库也随之而来,蛋白质数据库于1971年上线,今天它详细记录了17万多个大分子结构。

天气预报员:一般流通模型(1969年)

“蚂蚁搬家蛇过道,明天必有大雨到。”

以前的天气预报都是依靠人们的经验和直觉,直到这个模型——一般流通模型的出现,根据物理定律进行气候建模的工作,由此开启了计算机预测天气的时代。

在20世纪40年代末,现代计算机之父约翰·冯·诺依曼便成立了他的天气预测小组。

1955年,第二个团队—地球物理流体动力学实验室也开始了所谓的 “无限预报”—即气候建模的工作。

直到1969年,这其中才有人真正做出了天气预测模型,使其首次能够在硅片中测试二氧化碳水平上升的影响。,创造了2006年Nature形容的科学计算的“里程碑”

今天的模型可以将地球表面划分为25×25公里的方块,将大气层划分为几十个层次。

相比之下,Manabe和Bryan的海洋-大气组合模型,使用的是500公里的方块和9个层次,只覆盖了全球的六分之一。

除此之外,还有数字处理者BLAS,显微镜必不可少的NIH Image,序列搜索器BLAST,数据浏览器IPython Notebook

好了,你Pick哪一款?如果其他心仪的代码,欢迎与我们分享。

更多细节可戳下方链接了解哦~

参考链接:
https://www.nature.com/articles/d41586-021-00075-2
https://www.zhihu.com/question/28683874

—  —

本文系网易新闻•网易号特色内容激励计划签约账号【量子位】原创内容,未经账号授权,禁止随意转载。

加入AI社群,拓展你的AI行业人脉

量子位「AI社群」招募中!欢迎AI从业者、关注AI行业的小伙伴们扫码加入,与50000+名好友共同关注人工智能行业发展&技术进展:

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~



推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 深入解析Spring Cloud Ribbon负载均衡机制
    本文详细介绍了Spring Cloud中的Ribbon组件如何实现服务调用的负载均衡。通过分析其工作原理、源码结构及配置方式,帮助读者理解Ribbon在分布式系统中的重要作用。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 深入解析:手把手教你构建决策树算法
    本文详细介绍了机器学习中广泛应用的决策树算法,通过天气数据集的实例演示了ID3和CART算法的手动推导过程。文章长度约2000字,建议阅读时间5分钟。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 尽管深度学习带来了广泛的应用前景,其训练通常需要强大的计算资源。然而,并非所有开发者都能负担得起高性能服务器或专用硬件。本文探讨了如何在有限的硬件条件下(如ARM CPU)高效运行深度神经网络,特别是通过选择合适的工具和框架来加速模型推理。 ... [详细]
author-avatar
大航
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有