当前位置:网站首页>AI自己写代码让智能体进化!OpenAI的大模型有“人类思想”那味了
AI自己写代码让智能体进化!OpenAI的大模型有“人类思想”那味了
2022-06-25 03:32:00 【QbitAl】
金磊 梦晨 发自 凹非寺
量子位 | 公众号 QbitAI
搞事情!
AI“看”了一眼GitHub上人类都是怎么提交更新(commit)的,然后就模仿人类程序员修改代码……
最终,这个AI还成功“调教”出了个智能体机器人:

没开玩笑,这种细思极恐的事情,在OpenAI最新发布的一项研究中,就真真的发生了……

原本呢,研究人员要解决的是一个遗传程序设计(GP)问题——让一个智能体机器人学会移动。
(GP是演化计算中的一个特殊领域,它主要针对自动构建程序去独立解决问题。)
但OpenAI剑走偏锋,把自家的大规模语言模型(LLM)放了进来,结果就是一个大大的“万万没想到”。
以前在智能体演进的过程中,人类研究员是需要参与进来做一些细节调整、确定演进方向等工作,让智能体往好的方向发展。
现在好了,这些活儿都让大模型给包揽了,自己学、自己写代码、自己去“调教”:

这事一经论文一作Joel Lehman在网络曝光,瞬间引发了网友们的大量关注:

一位程序员网友在看完后直呼“跟不上(技术)发展的步伐”了:

甚至OpenAI自己都在研究中说:
弥合了进化算法在人类思想水平运行的鸿沟。
那么这件“魔幻”的事情,AI到底是怎么办到的?
看一眼GitHub,AI自己动手敲代码
在虚拟环境中设计可移动的机器人,是遗传算法研究中很火的一个项目。
特别是Sodarace竞赛因为需要的计算量少,过程方便可视化很受欢迎。

规则很简单,由“关节”和“肌肉”组成的机器人在各种地形上赛跑。
OpenAI还特意把整个竞赛程序从专用的遗传编码改写成了Python版本,为了展示新方法对现代编程语言的通用性。
比如这样一段Python代码,就可以作为初始种子机器人。

定义好一个正方形的四个顶点关节、终点关节,相互之间都用“肌肉”连接好后,结果如下。

不过这样方方正正的结构一动都不能动,接下来就需要靠遗传算法对代码做修改。
研究团队认为,用传统遗传算法修改代码VS人类程序员自己动手,在效率上还有两点差距:
一个是软件越来越复杂,人类可以搞模块化的代码复用来应对,而目前最先进的遗传算法也无法在人类使用的编程语言上做到这一点。
另一个是几乎所有遗传算法靠的都是随机突变(mutation),而人类程序员每一次修改代码都带有目的,或者是增加功能、或者是改进效率、又或者是修复bug。
那么有没有办法让AI学习到人类是如何修改代码的呢?
还真有,所需的训练数据都存在GitHub上。
优秀的程序员每次提交代码都会写好commit描述,说清楚这一次提交修改了什么内容。

commit描述配合上提交前后代码对比的diff数据,就是AI绝佳的学习材料。

研究人员筛选出一些描述意图明确、修改的代码量不大的提交数据来训练一个GPT-3架构的AI模型。
相当于让AI向人类程序员学习了如何有目的的修改一段代码。
这篇论文所用的模型也不需要完全版GPT-3的1750亿参数那么大,最高7.5亿参数就足以。

由此得到了基础的AI模型,将在遗传算法中扮演变异算子的角色。
接下来让AI自己设计新机器人的流程总共分三步。

第一步,先用经典的MAP-Elites算法生成一组初始机器人。

这是一种QD(质量多样性)算法,可以保证机器人行为不同且质量都很高。

第二步,用第一步产生的初始数据做预训练,让AI先学会设计出训练数据分布内的机器人。
也就是开头处那张在网上惊艳了众人的动图,展示了AI如何一步步把无法移动的“方块”改造成双腿交替弹跳移动机器人。

第三步,再结合上强化学习算法做微调,让AI能根据不同地形条件生成能适应环境的机器人。


最终,研究人员选取了从最初的三个种子进化而来的机器人做效果展示。
可以看出它们的结构和移动方式都完全不同。

网友惊呼“思路清奇”
这项研究一经公布,可谓是一石激起千层浪。
许多网友都惊叹于这种“大模型+演进算法”结合的新奇方式:

做过与之相关工作的研究人员也表示,从未想过能用大模型以diffs的形式来学习突变:

而除了对研究形式和本身的讨论之外,也有网友配上了这样图:

Emmm……是有点那种味了。
团队介绍
这项研究的团队成员均来自OpenAI。
论文一作是Joel Lehman,是一位机器学习科学家。其聚焦的领域包括人工智能安全、强化学习和开放式搜索算法。

与此同时,Joel Lehman此前基于对人工智能发展的思考合写过一本科学读物《为什么伟大不能被计划出来:客观的秘密》:

而对于这项研究的下一步,Joel Lehman本人表示:
还有一个重要问题,就是模型能够多大程度上应用到其它环境中。
GP中的突变功效现在可以通过ELM大幅提高,这将激发出一系列广泛的新应用和研究方向。
那么这项研究是否也对你产生了新的启发呢?
欢迎在评论区留言讨论~
参考链接:
[1]https://arxiv.org/abs/2206.08896
[2]https://twitter.com/joelbot3000/status/1538770905119150080?s=21&t=l8AASYjgC6RAEEimcQaFog
— 完 —
「量子位·视点」直播报名
随着生物识别技术的发展,数字时代的增强身份认证如何打造?既有安全又有隐私的电子证照如何实现?而人工智能的本质和真正价值将会如何在产业数字化中体现?
6月23日周四,参与直播,为你解答~

点这里关注我,记得标星哦~
边栏推荐
- [proteus simulation] Arduino uno+ relay controls lighting equipment
- 使用XXL-JOB自定义任务并调度
- Advanced mathematics | proficient in mean value theorem problem solving routines summary
- MATLAB主窗口与编辑器窗口分开为两个界面的解决办法
- 自动化测试
- Copilot免费时代结束!学生党和热门开源项目维护者可白嫖
- Insurance app aging service evaluation analysis 2022 issue 06
- 14 BS object Node name Name attrs string get node name attribute content
- Is it safe to open an account by fraud
- AOSP ~ WIFI架构总览
猜你喜欢

Insurance can also be bought together? Four risks that individuals can pool enough people to buy Medical Insurance in groups

Before the age of 36, Amazon transgender hackers were sentenced to 20 years' imprisonment for stealing data from more than 100million people!

20年ICPC澳门站L - Random Permutation

Copilot免费时代结束!学生党和热门开源项目维护者可白嫖

签到功能完成03《ivx低代码签到系统制作》

AI writes its own code to let agents evolve! The big model of openai has the flavor of "human thought"

Rebeco: using machine learning to predict stock crash risk

XML建模

使用ShaderGraph制作边缘融合粒子Shader的启示

MySQL installation tutorial
随机推荐
力扣每日一题-第26天-506.相对名次
做自媒体不知道怎样变现?7大变现方法分享
Li Kou daily question - day 26 -506 Relative rank
36岁前亚马逊变性黑客,窃取超1亿人数据被判20年监禁!
跨境电商新手如何防止店铺关联?用什么工具好?
Tutoriel d'installation MySQL
在华泰证券上面开股票账户好不好,安不安全?
TCC mode explanation and code implementation of Seata's four modes
DateTimeFormat放到@RequestBody下是无效的
Insurance app aging service evaluation analysis 2022 issue 06
C # realizes crystal report binding data and printing
Software testing weekly (issue 77): giving up once will breed the habit of giving up, and the problems that could have been solved will become insoluble.
Leetcode 210: curriculum II (topological sorting)
用指南针开户如何选择证券公司?哪一个是更安全的
Two way combination of business and technology to build a bank data security management system
14 BS object Node name Name attrs string get node name attribute content
mysql学习笔记--单张表上的增删改查
运行时修改Universal Render Data
Expressing the transformation of two coordinate systems with vectors
DSPACE设置斑马线和道路箭头