《Science》公布年度十大突破,AIGC、AI for science赢麻了

刚刚,《Science》评选出 2022 年度十大科学突破。

今年为人工智能赢得一席之地的是 AI 生成内容(AIGC)和 AI 加速科学发现两个热门的研究方向。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

图片

艺术创作和科学发现曾被认为是人工智能难以涉足的两个领域,因为它们需要人类的智慧和创造力。但现在,AI 已经在这两个方向上做得很好。

2022 年 AIGC 领域研究最多的当属文本到图像生成模型。这类模型使用机器学习在线分析文本和图像的配对,找到根据新文本创建新图像的模式。

从 2021 年 OpenAI 展示 DALL·E 生成「牛油果形状的椅子」开始,文本到图像生成模型就进入了一个新的阶段。

图片

2022 年 4 月,OpenAI 又发布了升级版模型 DALL·E 2。DALL·E 2 建立在 CLIP 的基础上,又使用称为扩散(diffusion)的过程从「噪声」中生成图像。

DALL·E 2 可以高效地生成逼真的图片。今年还有多种扩散模型面世,并且 Meta、谷歌等公司还发布了可以生成视频的扩散模型。

下图是文本到图像生成模型 Midjourney 生成的《太空歌剧院》,39 岁游戏设计师 Jason Allen 凭借这幅 AI 生成的画作获得在美国科罗拉多州举办的艺术博览会数字艺术类冠军。

图片

2022 年 AIGC 模型的发展引发人们对于 AI 创作艺术的关注和伦理思考。

另一方面,在科学、数学和编程方面 AI 模型也延续了 2021 年的进展。2021 年 《Science》的十大年度突破包括预测蛋白质结构的 AI 模型 AlphaFold。在这项工作的基础上,研究人员现在已经使用人工智能来设计可用于疫苗、建筑材料或纳米机器的全新蛋白质。

在《Science》今年 9 月发表的一篇论文中,华盛顿大学医学院生物化学教授 David Baker 等研究者提出,AI 可以通过两种思路从头设计蛋白质。其中一种被称为「幻想」,这种技术从随机序列开始,然后将它们突变为其他人工智能工具确信会折叠成稳定蛋白质的序列。

他们设计了一种用以生成氨基酸序列的新算法「ProteinMPNN」,可以在 1 秒钟内开始运算,比此前最顶尖软件的速度还要快 200 多倍。

与此同时,DeepMind 发布了一个名为 ​​AlphaTensor​​ 的工具。它发现了人类数学家几十年来所忽视的捷径,可以为矩阵乘法 block 设计更高效的算法。矩阵乘法是计算机图形学、数字通信、神经网络训练和科学计算等很多计算任务的核心组成部分,AlphaTensor 发现的算法可以显著提升这些领域的计算效率。

图片

据 DeepMind 介绍,AlphaTensor 建立在 AlphaZero 的基础上。这项工作展示了 AlphaZero 从用于游戏到首次用于解决数学难题的一次转变。

虽然 AlphaTensor 诞生之初只专注于矩阵乘法这一特定问题,但 DeepMind 表示希望能够启发更多的人使用 AI 来指导其他基础计算任务的算法发现。并且,DeepMind 的研究还表明,AlphaZero 这种强大的算法远远超出了传统游戏的领域,可以帮助解决数学领域的开放问题。

DeepMind 还推出了 AlphaCode,这是一个可以编程解决数字问题的系统,比如计算多少个给定长度的二进制字符串没有连续的零。AlphaCode 使用一个根据以前的程序及其描述训练出来的模型来生成许多候选程序,然后挑选出最具前景的。

上周,AlphaCode 这项研究在《Science》上正式发表。

图片

与人类程序员相比,AlphaCode 的成绩处于中等水平。DeepMind 的研究者将 AlphaCode 放在编程竞赛平台 Codeforces 挑战中进行了测试,AlphaCode 针对 Codeforces 网站上 5000 名用户解决的 10 项挑战进行了测试,总体排名位于前 54.3%,击败了 46% 的参赛者 。

图片

虽然未能赢得比赛,但这个结果已代表了人工智能解决问题能力的实质性飞跃,证明了深度学习模型在需要批判性思维的任务中的潜力。

DeepMind 指出,AlphaCode 目前的技能组合目前仅适用于竞赛性质的编程领域,但它的能力为创建未来工具打开了新的大门,这些工具使编程变得更加容易,并且有朝一日完全自动化。

除了关于这些壮举是否算作真正的创造力的辩论之外,它们还引起了现实与道德上的困境。一些观察家担心,这些人工打造程序员的和艺术家会侵犯版权、延续刻板印象、传播错误信息或削减工作岗位。但毫无疑问的是,人类将利用这些工具来扩展自身的创造力,就像过去利用织布机、照相机和其他曾经令人不安的发明那般。

以上就是《Science》公布年度十大突破,AIGC、AI for science赢麻了的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/560938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月10日 00:58:32
下一篇 2025年11月10日 00:59:55

相关推荐

  • 内存映射现有缓冲区到文件描述符的挑战与实践

    本文探讨了将现有内存缓冲区直接映射到文件描述符以避免数据复制的挑战。通过分析 `mmap` 和 `map_fixed` 的工作原理,阐明了为何这种直接映射通常不可行。文章指出,在需要文件描述符访问现有内存时,通常无法避免数据复制。为此,提供了一种基于共享内存 (`shm_open`) 和写入操作的实…

    2025年12月16日
    000
  • 内存缓冲区映射到文件描述符:原理、限制与实践

    本文深入探讨了将现有内存缓冲区映射到文件描述符的挑战与解决方案。重点分析了使用`mmap`结合`MAP_FIXED`的常见误区及其限制,阐明了为何在不进行数据拷贝的情况下,直接将任意内存区域转换为文件描述符通常不可行。文章提供了一种基于共享内存(`shm_open`)的实用方法,即使涉及数据拷贝,也…

    2025年12月16日
    000
  • 如何在Golang中实现分布式日志收集

    使用zap生成结构化日志,写入本地文件后由Filebeat采集并发送至Kafka缓冲,再经消费者写入Elasticsearch,最终通过Kibana实现集中查询与分析。 在Golang中实现分布式日志收集,核心思路是将分散在多个服务节点上的日志统一采集、传输并集中存储和分析。这通常涉及日志生成、结构…

    2025年12月16日
    000
  • Go语言中如何将嵌套JSON对象解组为原始字符串或字节切片

    本文探讨了在go语言中,当需要将json数据中的嵌套对象作为原始字节切片或字符串处理,而非进行完整解析时的解决方案。通过引入`encoding/json`包中的`json.rawmessage`类型,可以有效地避免“无法将对象解组到go值类型[]uint8”的错误,实现对特定json字段的延迟解码或…

    2025年12月16日
    000
  • Go语言中实现io.Reader包装器与ROT13解密器:操作顺序的关键

    本文深入探讨了go语言中实现`io.reader`包装器时一个常见的逻辑错误,以rot13解密器为例。通过分析原始代码中`read`方法内操作顺序颠倒的问题,即先加密缓冲区内容再从底层读取器覆盖,导致解密失败。教程将详细解释正确的数据流和操作顺序,并提供一个功能完善的rot13解密器实现,强调在构建…

    2025年12月16日
    000
  • Go语言函数在条件语句中返回值的常见陷阱与解决方案

    本文深入探讨go语言函数在条件语句中返回值的常见问题。go编译器要求所有声明了返回值的函数,必须确保在所有可能的执行路径下都有明确的`return`语句。即使某个条件分支看似必然触发,也需为其他潜在(即使是理论上不可达)的路径提供一个默认返回值,以避免编译错误。教程通过示例代码详细解释了这一机制及其…

    2025年12月16日
    000
  • Go语言JSON解析深度指南:结构体字段导出与错误处理实践

    本教程详细探讨Go语言中解析JSON时常见的“字段为空”问题,指出其根源在于结构体字段未导出。通过阐释Go反射机制与`encoding/json`包的导出字段要求,文章提供了正确的结构体定义方法。同时,教程还涵盖了Go语言中规范的错误处理模式,旨在帮助开发者高效、准确地处理JSON数据并构建健壮的应…

    2025年12月16日
    000
  • Go语言中将嵌套JSON对象解组为原始字节数组或字符串

    在Go语言中处理JSON时,有时需要将嵌套的JSON对象作为原始字节数组(`[]byte`)或字符串来处理,而非进行完整的结构体解析。本文将详细介绍如何利用`encoding/json`包中的`json.RawMessage`类型来优雅地实现这一需求,避免“无法将对象解组到[]uint8类型”的错误…

    2025年12月16日
    000
  • 使用 Go 语言获取跨平台磁盘空间信息教程

    本教程详细介绍了如何使用 go 语言在不同操作系统(linux/macos 和 windows)上获取磁盘的空闲空间和总容量信息。通过利用 go 的 `x/sys` 扩展包,我们能直接调用底层的系统 api,从而实现对磁盘使用情况的精确查询。文章提供了针对 posix 和 windows 系统的具体…

    2025年12月16日
    000
  • Go JSON Unmarshal 嵌套对象为原始字节或字符串

    本文深入探讨了在Go语言中使用`encoding/json`包处理JSON数据时,如何将嵌套的JSON对象直接解组(Unmarshal)为原始字节切片(`[]byte`)或字符串,而非将其解析为具体的Go结构体。通过介绍`json.RawMessage`类型,文章详细阐述了其原理、用法,并提供了实用…

    2025年12月16日
    000
  • Go语言中高效生成唯一随机数与切片去重实践

    本文将深入探讨在go语言中如何高效地生成不重复的随机数以及对切片进行去重。我们将重点介绍利用go语言的`map`数据结构其键的唯一性特性,实现简洁、高效的去重逻辑,并提供详细的代码示例和最佳实践,避免传统循环检查的性能瓶颈和代码冗余。 理解重复元素的问题 在Go语言编程中,我们经常会遇到需要生成一系…

    2025年12月16日
    000
  • Go语言:跨平台获取磁盘空间详解与实践

    本文详细介绍了如何使用go语言在windows、linux和macos等不同操作系统上获取磁盘的空闲空间和总大小。教程涵盖了posix系统(如linux/macos)下`golang.org/x/sys/unix.statfs`的使用,以及windows系统下`golang.org/x/sys/wi…

    2025年12月16日
    000
  • Go语言实现跨平台获取磁盘空间信息

    本文详细介绍了如何使用go语言在不同操作系统(linux/macos和windows)下获取磁盘的可用空间和总空间信息。通过`golang.org/x/sys/unix`和`golang.org/x/sys/windows`包,提供了针对posix和windows系统的具体实现代码,并探讨了如何利用…

    2025年12月16日
    000
  • 深入理解Go语言中命名类型的同一性与TypeSpec

    本文深入探讨go语言中命名类型同一性的核心规则,即两个命名类型仅在其类型名称源于同一个typespec时才被视为同一。通过具体代码示例,文章阐释了即使类型声明结构相同,但若其typespec不同,则它们仍代表不同的类型,这对于理解go的类型系统及其在跨包操作中的行为至关重要。 理解Go语言中命名类型…

    2025年12月16日
    000
  • 如何在Golang中使用encoding/csv处理CSV文件_Golang encoding/csv CSV文件操作方法汇总

    Go语言中encoding/csv包用于读写CSV文件,无需额外依赖。使用csv.NewReader可从文件等io.Reader源读取数据,ReadAll()适合小文件,大文件应逐行Read()避免内存溢出。csv.NewWriter写入数据时需调用Flush()确保写入磁盘。可通过设置Comma字…

    2025年12月16日
    000
  • Go语言JSON解析深度指南:解决字段为空问题与高效错误处理

    本文深入探讨了go语言中json解析的常见问题,特别是由于结构体字段未导出导致数据无法正确填充的现象。文章详细解释了go语言`encoding/json`包对导出字段的要求,并提供了正确的结构体定义示例。此外,本文还涵盖了go语言中健壮的错误处理机制,包括如何优雅地捕获和处理http请求及json解…

    2025年12月16日
    000
  • Go语言interface{}深度解析:与C语言void的本质区别与高级应用

    本文深入探讨go语言中`interface{}`类型与c语言中`void*`指针的异同。尽管两者都能存储任意类型的值,`interface{}`的本质在于它不仅存储值,还包含其底层类型信息。这一关键特性赋予go运行时类型安全检查能力,并支持强大的反射机制,使其远超c语言`void*`的泛型指针功能,…

    2025年12月16日
    000
  • 深入理解 Go 语言中命名类型的同一性规则

    本文深入探讨 go 语言中命名类型同一性的核心规则,重点解析“typespec”在类型识别中的关键作用。通过具体代码示例,阐明了在同一 typespec 中声明的类型与在不同 typespec 中声明的同名类型之间的差异,并解释了这种差异对类型赋值操作的影响,帮助开发者避免潜在的类型不匹配问题。 在…

    2025年12月16日
    000
  • Go语言中实现透明的Gzip/Gunzip流式处理

    本文详细探讨了在Go语言中如何实现透明的Gzip压缩与解压缩流,即直接连接gzip.Writer和gzip.Reader以实现实时数据处理。核心解决方案在于利用io.Pipe构建同步管道,并结合Go协程(goroutine)来并发执行读写操作,有效解决了直接使用bytes.Buffer导致的死锁问题…

    2025年12月16日
    000
  • Go语言JSON解析:解决结构体字段为空的常见问题

    在Go语言中,使用`encoding/json`包解析JSON数据到结构体时,如果结构体字段值为空,通常是由于字段未被导出(即字段名以小写字母开头)所致。Go的反射机制和JSON编码/解码包只作用于已导出的(大写字母开头的)结构体字段。本文将详细解释这一机制,并提供正确的解决方案及Go语言中常用的错…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信