晓查发自凹非寺量子位|公众号QbitAI今天,DeepMind的“Alpha”家族再添一名新成员:会刷编程竞赛题的AlphaCode来了!其实,AlphaCode早在几个月前就“悄悄进村”了,一直没人察觉。
它默默参加了著名网站Codeforces最近举行的10场编程比赛,成绩超过了一半人类。
直到今天DeepMind才公布最终成绩:AlphaCode在这10场比赛中排名前54.3%,Elo评分1238。
更重要的是,在编程比赛这样考察算法创造力的问题中,AI终于不落下风,而这恰恰是AI过去所欠缺的。
如果把这个分数放到过去六个月总体来看,AlphaCode的成绩更为优秀,因为它只刷了10周的题目,就已经达到了前28%用户的水平。
Codeforces是一个由俄罗斯程序员MikhailMirzayanov创办的编程竞赛网站,大约每周举行一次名为“CodeforcesRounds”的编程比赛。
通过Codeforces的Elo评分可以衡量一位程序员的编程水平。
△Codeforces创始人MikhailMirzayanov当看到AlphaCode的成绩后,连创始人Mirzayanov都惊讶不已。
他原本对AI持怀疑态度,因为编程比赛考验的是发明算法的能力,这是最困难的,没想到AlphaCode的结果完全超出了他的预期。
DeepMind发布这条消息仅半天,在Twitter上已经有2000多次转发、5000多点赞。
AlphaCode如何编程说了这么多,下面我们来看看AlphaCode是如何成为“编程做题家”的。
以下是Codeforces上的1553D问题:(链接:)有两个字符串s和t,都是由小写字母组成。
对于字符串s,我们从前向后扫描整个字符串。
如果按下Backspace键,就删除该光标前到上一个未删除字符之间的所有字符。
例如字符串s是”abcbd”,你分别在第一个位置和第四个位置按下Backspace,那么将得到字符串”bd”。
因为在第一个光标位置前没有字符,所以第一次没有动作。
第四个光标位置前的字符是c,上一个未删除字符是a,所以按下Backspace将删除前三个字符”bd”。
好了,现在问题来了:我们能否从前向后扫描一次s字符串,让s变为t。
如果可以输出YES,否则输出NO。
AlphaCode给出的代码是这样的:t=int(input())foriinrange(t):s=input()t=input()a=[]b=[]forjins:a.append(j)forjint:b.append(j)a.reverse()b.reverse()c=[]whilelen(b)!=0andlen(a)!=0:ifa[0]==b[0]:c.append(b.pop(0))a.pop(0)elifa[0]!=b[0]andlen(a)!=1:a.pop(0)a.pop(0)elifa[0]!=b[0]andlen(a)==1:a.pop(0)iflen(b)==0:print(YES)else:print(NO)向以上程序输入4组字符串:4abababaabababbaaaaaaaaababaababa得到的输出是:YESNONOYES在这里,AlphaCode不再是黑箱。
它不仅成功解决了问题,还能将代码和注意力高亮的对应位置显示出来。
一位网友表示:既然AI能看得这么细,那么如果能在代码后面加入注释就更好了。
至于更多的案例,可以去AlphaCode网站观摩。
原理DeepMind说,在Codeforces比赛中所需解决问题的能力,已经超出了现有AI系统的能力。
整个AlphaCode模型的流程如下:用标准的语言建模目标在GitHub代码上预训练一个基于Transformer的语言模型。
这个模型可以合理地代表人类编写代码的空间,大大减少了问题的搜索空间。
在竞争性编程数据集上微调模型,使用GOLD与tempering作为训练目标,进一步减少了搜索空间,并利用预训练弥补了少量的竞争性编程数据。
为每个问题从模型中生成非常多的样本。
对样本进行过滤,以获得一小部分候选提交的样本(最多10个),在隐藏的测试案例上进行评估,方法是利用实例测试和聚类,根据程序行为挑选样本。
总而言之,通过将大规模Transformer模型与大规模采样和过滤相结合,DeepMind在可以解决的问题数量方面取得了重大进展,比之前的工作高出一个数量级。
刷题人士抵触正如Codeforces创始人所说,在编程问题中对算法的发明创造是最难的。
在全球编程比赛网站上常年排名前几的谷歌工程师PetrMitrichev说:解决编程比赛问题是一件非常困难的事情。
它既需要良好的代码技能,也需要人类解决问题的创造力。
AlphaCode不是第一个编程工具,Codex以及GitHubCopilot都给人留下了深刻的印象。
但DeepMind认为,AlphaCode和前辈们大有不同:最近的大规模语言模型展示了生成代码的惊人能力,现在能够完成简单的编程任务。
然而,当对更复杂、看不见的问题进行评估时,这些模型的表现仍然很差,这些问题需要解决问题的技能,而不仅仅是将指令翻译成代码。
与Twitter上截然不同的是,Codeforces高手们却多有抵触情绪。
一位程序员认为:“这个AI真是个菜鸟。
”因为AlphaCode只有1238分,只相当于一个学生水平,一个参加信息学奥赛的中学生也能刷到这个水平。
虽然DeepMind声称AlphaCode是为了辅助人类,但也有程序员开始担心了:现在连刷题的世界都被AI占领,本来这里是程序员们切磋的地方,AI应该适可而止,给程序员们留一片净土吧!参考链接:[1][2][3][4]
晓查发自凹非寺量子位|公众号QbitAI今天,DeepMind的“Alpha”家族再添一名新成员:会刷编程竞赛题的AlphaCode来了!其实,AlphaCode早在几个月前就“悄悄进村”了,一直没人察觉。
它默默参加了著名网站Codeforces最近举行的10场编程比赛,成绩超过了一半人类。
直到今天DeepMind才公布最终成绩:AlphaCode在这10场比赛中排名前54.3%,Elo评分1238。
更重要的是,在编程比赛这样考察算法创造力的问题中,AI终于不落下风,而这恰恰是AI过去所欠缺的。
如果把这个分数放到过去六个月总体来看,AlphaCode的成绩更为优秀,因为它只刷了10周的题目,就已经达到了前28%用户的水平。
Codeforces是一个由俄罗斯程序员MikhailMirzayanov创办的编程竞赛网站,大约每周举行一次名为“CodeforcesRounds”的编程比赛。
通过Codeforces的Elo评分可以衡量一位程序员的编程水平。
△Codeforces创始人MikhailMirzayanov当看到AlphaCode的成绩后,连创始人Mirzayanov都惊讶不已。
他原本对AI持怀疑态度,因为编程比赛考验的是发明算法的能力,这是最困难的,没想到AlphaCode的结果完全超出了他的预期。
DeepMind发布这条消息仅半天,在Twitter上已经有2000多次转发、5000多点赞。
AlphaCode如何编程说了这么多,下面我们来看看AlphaCode是如何成为“编程做题家”的。
以下是Codeforces上的1553D问题:(链接:)有两个字符串s和t,都是由小写字母组成。
对于字符串s,我们从前向后扫描整个字符串。
如果按下Backspace键,就删除该光标前到上一个未删除字符之间的所有字符。
例如字符串s是”abcbd”,你分别在第一个位置和第四个位置按下Backspace,那么将得到字符串”bd”。
因为在第一个光标位置前没有字符,所以第一次没有动作。
第四个光标位置前的字符是c,上一个未删除字符是a,所以按下Backspace将删除前三个字符”bd”。
好了,现在问题来了:我们能否从前向后扫描一次s字符串,让s变为t。
如果可以输出YES,否则输出NO。
AlphaCode给出的代码是这样的:t=int(input())foriinrange(t):s=input()t=input()a=[]b=[]forjins:a.append(j)forjint:b.append(j)a.reverse()b.reverse()c=[]whilelen(b)!=0andlen(a)!=0:ifa[0]==b[0]:c.append(b.pop(0))a.pop(0)elifa[0]!=b[0]andlen(a)!=1:a.pop(0)a.pop(0)elifa[0]!=b[0]andlen(a)==1:a.pop(0)iflen(b)==0:print(YES)else:print(NO)向以上程序输入4组字符串:4abababaabababbaaaaaaaaababaababa得到的输出是:YESNONOYES在这里,AlphaCode不再是黑箱。
它不仅成功解决了问题,还能将代码和注意力高亮的对应位置显示出来。
一位网友表示:既然AI能看得这么细,那么如果能在代码后面加入注释就更好了。
至于更多的案例,可以去AlphaCode网站观摩。
原理DeepMind说,在Codeforces比赛中所需解决问题的能力,已经超出了现有AI系统的能力。
整个AlphaCode模型的流程如下:用标准的语言建模目标在GitHub代码上预训练一个基于Transformer的语言模型。
这个模型可以合理地代表人类编写代码的空间,大大减少了问题的搜索空间。
在竞争性编程数据集上微调模型,使用GOLD与tempering作为训练目标,进一步减少了搜索空间,并利用预训练弥补了少量的竞争性编程数据。
为每个问题从模型中生成非常多的样本。
对样本进行过滤,以获得一小部分候选提交的样本(最多10个),在隐藏的测试案例上进行评估,方法是利用实例测试和聚类,根据程序行为挑选样本。
总而言之,通过将大规模Transformer模型与大规模采样和过滤相结合,DeepMind在可以解决的问题数量方面取得了重大进展,比之前的工作高出一个数量级。
刷题人士抵触正如Codeforces创始人所说,在编程问题中对算法的发明创造是最难的。
在全球编程比赛网站上常年排名前几的谷歌工程师PetrMitrichev说:解决编程比赛问题是一件非常困难的事情。
它既需要良好的代码技能,也需要人类解决问题的创造力。
AlphaCode不是第一个编程工具,Codex以及GitHubCopilot都给人留下了深刻的印象。
但DeepMind认为,AlphaCode和前辈们大有不同:最近的大规模语言模型展示了生成代码的惊人能力,现在能够完成简单的编程任务。
然而,当对更复杂、看不见的问题进行评估时,这些模型的表现仍然很差,这些问题需要解决问题的技能,而不仅仅是将指令翻译成代码。
与Twitter上截然不同的是,Codeforces高手们却多有抵触情绪。
一位程序员认为:“这个AI真是个菜鸟。
”因为AlphaCode只有1238分,只相当于一个学生水平,一个参加信息学奥赛的中学生也能刷到这个水平。
虽然DeepMind声称AlphaCode是为了辅助人类,但也有程序员开始担心了:现在连刷题的世界都被AI占领,本来这里是程序员们切磋的地方,AI应该适可而止,给程序员们留一片净土吧!参考链接:[1][2][3][4]
目录
- 1 九九香蕉
- 2 香草视频高清免费观看www
- 3 按在钢琴上C
- ▪ 国产Av影片麻豆精品传媒
- ▪ ysn-264
- 4 《色即是空》
- ▪ 久久精品成人免费看
- ▪ 野花日本免费完整版高清版
- 5 妻子的秘密韩国电视剧
- 6 成小说
- ▪ 法国禁忌片性迷宫2
- ▪ 神马我不卡
- ▪ 迟开的向日葵
- 7 快穿之蜜汁系统欲娃养成
- ▪ 我的邻居睡不着
- ▪ wuma
- ▪ 激情理论电影
- ▪ 野花服务器
- ▪ www.51dy.com
- 8 超碰最新
- ▪ 三级三级
- ▪ 新僵尸先生2
- ▪ 午夜tv
- ▪ 两个人免费视频观看高清频道
- ▪ 徐梵溪
- ▪ 无颜之月樱花动漫版
- ▪ 吻胸解胸罩床戏摸下面嗯啊
- ▪ 爱爱的视频
- 9 狙击手在线观看免费完整版
- ▪ 电梯另类性体验
- ▪ 97精品国产高清久久久久蜜芽
- ▪ 电影三进山城
- 10 简夏冷廷遇对着镜子做视频
- ▪ 污漫免费
- ▪ 德云社相声大全免费
- ▪ 出租屋的交换
- ▪ 羞答答的玫瑰影院社区
- ▪ 我和我的父辈电影免费观看完整版
- 11 无颜之月完整版在线播放
- ▪ 2828在线
- ▪ 输了被罚让别人玩一个月清清
- ▪ 心动的瞬间电视剧免费观看
- ▪ 蜜桃成熟时电影观看
- ▪ 日本成人免费
- 12 好姐妹日本完整观看
- 13 4399高清影视大全免费
- 14 人间中毒未删减
背影《背影》由来
编辑背影《背影》起源