0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Atari:AI发展史上的关键词

DPVg_AI_era 来源:未知 作者:李倩 2018-06-06 18:02 次阅读

Ted Dabney(左一)和Pong游戏机

雅达利(Atari)公司的联合创始人Ted 逝世。“雅达利”这个名字,是人工智能历史上一个不可忽视的关键词。

那个花了250美元创办Atari(雅达利)的人,Ted Dabney,上个月去世了。

Ted Dabney(全名SamuelF. "Ted"Dabney)可能没有与他一起创办雅达利的诺兰·布什内尔(Nolan Bushnell)出名,但当年风靡世界的经典游戏Pong,就是出自Ted Dabney等人之手。

Pong开创了街机视频游戏的历史,也让Atari成为一代游戏的巨人,甚至还吸引了乔布斯等人的加入。

更重要的是,Atari系列游戏不仅丰富了几代人的童年生活,在计算机史上也功不可没:DeepMind已经能够操作49款雅达利游戏,OpenAI强化学习游戏库中也包含了大量的雅达利游戏。

Atari:AI发展史上的关键词

“Atari”是AI发展史上一个不可绕过的关键词。AI达到乃至超越人类水平的领域,最开始便来自雅达利。

Ted Dabney帮助发明的Atari游戏Pong!,是被AI攻克的游戏的常客,你能在网上搜到很多构建玩Pong!的AI的教程

2013年12月,DeepMind宣布他们研发的AI玩Atari游戏Breakout(见下)超过了人类水平,这是DeepMind取得的首个突破之一。与Pong!类似,Breakout是一款单人的乒乓游戏,也即对着墙打乒乓。在Breakout当中,人类玩家或者AI,用横板(屏幕底部的红色粗线条)左右移动接住球(中间的红点),并用这个球撞击并消除屏幕上方像素构成的“墙”,消除完毕后过关。

Breakout,最先被AI攻克的Atari游戏之一

Breakout的动作简单,而且能即时得到反馈,非常适于神经网络,也因此,DeepMind的AI玩Breakout的成绩,是专业人类玩家能达到的最好成绩的十倍以上。

Atari游戏,蒙特祖玛的复仇(montezuma revenge)

而其他游戏就没有那么简单。在另一款Atari游戏“蒙特祖玛的复仇”(见上)中,目标是找到埋在充满危险机关的金字塔里的宝藏。要达到目标,玩家必须达成许多个次级的小目标,例如找到打开门的钥匙。

这个游戏的反馈也不像“Breakout”那么即时,比如在一个地方找到的钥匙,也有可能打开另一个地方的门。最终找到宝藏的奖励,是之前的数千次动作的结果。这意味着网络很难将原因和结果联系起来。与玩“Breakout”的突出表现相反,神经网络目前在“蒙特祖玛的复仇”游戏中进展艰难。

DeepMind的启示:智能应该完全从经验中学习

视频游戏对 AI 的作用并非只是作为现实世界的模拟。不同的游戏需要不同的技能,这一事实有助于研究人员理解智能问题。

不过,这又带来了一个难题——神经网络只能一次玩一个游戏。例如,为了玩“Breakout”,必须要忘掉玩“Pong!”时学会的所有知识。这种遗忘是人工神经网络本身的性质,也是人工神经网络与真正的人类大脑相区别的地方。人工神经网络通过在全系统调整组成它们的虚拟神经元之间连接的强度来学习。一旦改变了要学习的任务,旧的网络连接就会逐渐被重写。

但是,进展也在发生,DeepMind 在2017年3月份发表论文,称已经解决了DNN“灾难性遗忘”的问题,DeepMind研究员让网络就像真正的人类大脑一样,能一次掌握许多个游戏。这是迁移学习——在一个上下文中使用从另一个上下文学会的行为模式的能力——这是 AI 研究中的一个热门话题

DeepMind研究,学习两项任务过程的示意图:使用EWC算法的深层神经网络能够学习玩一个游戏,然后转移它学到的玩一个全新的游戏。

但即便掌握了迁移学习,构建可以用的人工智能仍然是一些零散的活动。研究人员真正希望得到的,是如何系统地进行这些活动的一种基本的理论。这种理论的一个候选,被称为具身认知(embodied cognition)的理论认为,智能应该完全从经验中学习,而不是试图将智能从头开始设计到一个程序里。

现实世界是最大的游戏场

DeepMind 的创始人Demis Hassabis 认为,重要的事情是得确保虚拟机器人不会作弊。它只能使用虚拟的传感器可以收集到的信息进行导航。如果一个机器人要在“蒙特祖玛的复仇”或者“侠盗猎车手”游戏中学习度过重重危险,它必须得自己弄明白自己在游戏环境里的位置,处理当时“看到”的事情,而不能问运行游戏的计算机它在那个坐标。这是 DeepMind 教程序学习玩游戏采用的方式。

在虚拟世界里的AI可以做很多事情,虚拟机器人是没有重量的,也没有各种部件,因此不需要维护。要改变它的技术参数也不需要拆开它,敲几下键盘就可以了。它的环境也可以轻松改变。一台计算机,一次就可以运行数千个这样的模拟,让大量虚拟机器人一次又一次地尝试任务,每次尝试都是在学习。这是一种大规模的测试,而且允许学习过程被监视和理解,根本就不使用真实的机器。

AI攻克的Atari游戏(部分,列表还在增加中……)

AI攻克的Atari游戏,以及其他视频游戏,还在不断扩展。最后,也是最重要的,视频游戏等虚拟世界,其中所发生的一切,都是现实世界的预演。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    30279

    浏览量

    268509
  • 人工智能
    +关注

    关注

    1791

    文章

    46915

    浏览量

    237714

原文标题:Atari联合创始人去世,为什么游戏对AI很重要?

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Gartner发布2025年战略技术趋势,AI成核心关键词

    的必要性和风险,以及计算技术和人机协同的最新发展。   其中,代理型AI是备受关注的技术之一。这种AI能够自主规划和采取行动,以实现用户定义的目标。Gartner预测,到2028年,至少15%的日常工作决策将由代理型
    的头像 发表于 10-23 16:14 501次阅读

    浅析2024年半导体行业的两大关键词

    RISC-V(Reduced Instruction Set Computing – V)无疑正是当下芯片产业的热门关键词!使用最开放开源协议之一的BSD,只用十年就达到出货量100亿颗(ARM 指令集芯片达到相同出货量用了近 30 年)的RISC-V,大有与x86和Arm两大指令集三分天下的潜力。
    的头像 发表于 09-19 13:01 479次阅读

    探索AC自动机:多关键词搜索的原理与应用案例

    引言 目前,大多数自由文本搜索技术采用类似于Lucene的策略,通过解析搜索文本为各个组成部分来定位关键词。这种方法在处理少量关键词时表现良好。但当搜索的关键词数量达到10万个或更多时,这种
    的头像 发表于 08-26 15:55 820次阅读
    探索AC自动机:多<b class='flag-5'>关键词</b>搜索的原理与应用案例

    AI模拟器

    if (this.btnInputShow){ //底部输入框 Row(){ //输入框 TextInput({text:this.inputText,placeholder:\"请输入您的关键词~\"
    发表于 08-22 17:28

    简述半导体材料的发展史

    半导体材料的发展史是一段漫长而辉煌的历程,它深刻地影响了现代信息社会的发展轨迹。从最初的发现到如今的广泛应用,半导体材料经历了从第一代到第三代的演变,每一次进步都带来了技术上的巨大飞跃。
    的头像 发表于 08-15 16:03 1188次阅读

    中国信通院发布“2024云计算十大关键词

    7月23日,由中国通信标准化协会主办,中国信息通信研究院(简称“中国信通院”)承办的“2024可信云大会”在京召开。大会上,中国信通院正式发布“2024云计算十大关键词”,中国信通院云计算与大数
    的头像 发表于 08-02 08:28 567次阅读
    中国信通院发布“2024云计算十大<b class='flag-5'>关键词</b>”

    微软Edge浏览器将引入PDF阅读器,实现关键词自动生成功能

    当前,微软已邀请部分Canary频道Edge使用者参与试用,并在Edge浏览器中打开PDF后,右上角将出现新品图标(A之上加放大镜),用以自动分析及归纳文档内容的关键词
    的头像 发表于 03-28 10:05 455次阅读

    电阻柜的发展史

    电阻柜发展史
    的头像 发表于 03-08 15:22 407次阅读

    深开鸿用三个关键词,为你解读《2023 OpenHarmony 年度运营报告》

    的一笔共同奏响中国基础软件的光辉岁月作为OpenHarmony生态的领军企业深开鸿通过三个关键词带你读懂《2023OpenHarmony年度运营报告》01繁荣202
    的头像 发表于 02-02 17:00 539次阅读
    深开鸿用三个<b class='flag-5'>关键词</b>,为你解读《2023 OpenHarmony 年度运营报告》

    中科曙光算力服务年度盘点 四大关键词

    总结为以下四个关键词。 聚焦 —  曙光算力服务紧跟市场趋势,积极参与信通院新一代算力网技术创新联盟、首批可信算力云服务-智能平台和“算力星图”计划。通过深度参与行业标准和技术创新,曙光智算成功通过首批“可信算力服务-智
    的头像 发表于 01-04 10:34 574次阅读

    未来已来:十大关键词深度回顾2023智能家居行业

    插图由AI生成,智哪儿版权所有当我们站在2024年的门槛上,回顾过去几年智能家居领域的发展,一个令人兴奋且充满未来感的画面展现在我们眼前。这个行业已经走过了多个发展阶段,从最初的概念引发好奇,到如今
    的头像 发表于 01-02 17:12 989次阅读
    未来已来:十大<b class='flag-5'>关键词</b>深度回顾2023智能家居行业

    测测这10个AI关键词你清楚几个?第4个今年最火

    原文标题:测测这10个AI关键词你清楚几个?第4个今年最火 文章出处:【微信公众号:微软科技】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 12-21 08:15 526次阅读
    测测这10个<b class='flag-5'>AI</b><b class='flag-5'>关键词</b>你清楚几个?第4个今年最火

    #2023,你的 FPGA 年度关键词是什么? # PWM模块更新

    之前的因为一些问题发的code有点问题,这次把更新之后code发了出来,虽然也不是很完善但是初步还是可以用的; 对应的code如下: `timescale 1ns / 1ps modulecreat_PWM ( inputwireclk,//系统时钟为100MHz inputwirerst,//系统复位 inputwirekey_flag1,//占空比上调 inputwirekey_flag2,//占空比下调 inputwirekey_flag3,//频率上调 inputwirekey_flag4,//频率下调 output regPWM ); //PWM波形频率选择 reg [1:0] Frequency_seting; always @(posedge clk or negedge rst) if( rst == 1\'b0 ) Frequency_seting <= 2\'b00; else if( (Frequency_seting == 2\'b11) && (key_flag3==1\'b1) ) Frequency_seting <= 2\'b00; else if( (Frequency_seting == 2\'b00) && (key_flag4==1\'b1) ) Frequency_seting <= 2\'b11; else if( key_flag3==1\'b1 ) Frequency_seting <= Frequency_seting + 1\'b1; else if( key_flag4==1\'b1 ) Frequency_seting <= Frequency_seting - 1\'b1; else Frequency_seting <= Frequency_seting; //PWM波形的频率设定 reg [23:0] Frequency_CNT_MAX; always @(posedge clk or negedge rst) if( rst == 1\'b0 ) Frequency_CNT_MAX <= 24\'d9_999; else case( Frequency_seting ) 2\'b00 : Frequency_CNT_MAX <= 24\'d9_999; 2\'b01 : Frequency_CNT_MAX <= 24\'d99_999; 2\'b10 : Frequency_CNT_MAX <= 24\'d999_999; 2\'b11 : Frequency_CNT_MAX <= 24\'d9_999_999; default : Frequency_CNT_MAX <= 24\'d9_999; endcase //PWM频率生成计数器模块 reg [23:0] counter; always @(posedge clk or negedge rst) if( rst == 1\'b0 ) counter <= 0; else if( counter == Frequency_CNT_MAX) counter <= 0; else counter <= counter + 1\'b1; //占空比调节模块,步进为10% reg [23:0] duty_counter; always @(posedge clk or negedge rst) if( rst == 1\'b0 ) duty_counter <= Frequency_CNT_MAX/2; else if( key_flag1 == 1\'b1 ) duty_counter <= duty_counter + (Frequency_CNT_MAX/10); else if( key_flag2 == 1\'b1 ) duty_counter <= duty_counter - (Frequency_CNT_MAX/10); else duty_counter <= duty_counter; //生成PWM always @(posedge clk or negedge rst) if( rst == 1\'b0 ) PWM <= 1\'b0; else if( duty_counter <= counter ) PWM <= 1\'b1; else PWM <= 1\'b0; endmodule 对应的测试用的testbench如下: `timescale 1ns/1ns module tb_creat_PWM(); //****************** Parameter and Internal Signal *******************// //wire define wirePWM; //reg define reg clk; reg rst; reg key_flag1; reg key_flag2; reg key_flag3; reg key_flag4; //***************************** Main Code ****************************// initial begin clk = 1\'b1; rst <= 1\'b0; key_flag1 <= 1\'b0; key_flag2 <= 1\'b0; key_flag3 <= 1\'b0; key_flag4 <= 1\'b0; #201; rst <= 1\'b1; #200; key_flag1 <= 1\'b1; #100; key_flag1 <= 1\'b0; #20000000; key_flag1 <= 1\'b1; #100; key_flag1 <= 1\'b0; #20000000; #20000000; $stop; end // creator clk always #10 clk <= ~clk; //*************************** Instantiation **************************// creat_PWMcreat_PWM_inst ( .clk ( clk), .rst ( rst), .key_flag1 ( key_flag1 ), .key_flag2 ( key_flag2 ), .key_flag3 ( key_flag3 ), .key_flag4 ( key_flag4 ), .PWM ( PWM) ); endmodule 对应的原始code中的参数如果修改一下是可以大幅缩短仿真时间,但是一时没有想起对应的修改模块内部变量的方法,后面找到后再进行补充。 写的还是感觉比较差劲,只能说说慢慢进步吧,自己也是自学不久。
    发表于 12-12 10:47

    #2023,你的 FPGA 年度关键词是什么? # PWM模块基础设计

    由于今天连续多次无法发布该文章,心态真的是崩了,由于基础的PWM比较简单,此次先给大家展示个半成品,完整状态对应的PWM频率、占空比均可调节,对应的模块结构图如下: 对应的基本code如下: modulecreat_PWM ( inputwireclk, //系统时钟为50MHz inputwirerst, inputwirekey_flag1, inputwirekey_flag2, output regPWM ); parameter Frequency_CNT_MAX = 16\'d49_999; //输出PWM为1KHz,1ms=5000*20ns //PWM频率生成计数器模块 reg [15:0] couter; always @(posedge clk or negedge rst) if( rst == 1\'b0 ) couter <= 0; else if( couter == Frequency_CNT_MAX ) couter <= 0; else couter <= couter + 1\'b1; //占空比调节模块 reg [15:0] duty_counter; always @(posedge clk or negedge rst) if( rst == 1\'b0 ) duty_counter <= 16\'d24_999; else if( key_flag1 == 1\'b1 ) duty_counter <= duty_counter + 16\'d49; else if( key_flag2 == 1\'b1 ) duty_counter <= duty_counter - 16\'d49; else duty_counter <= duty_counter; //生成PWM always @(posedge clk or negedge rst) if( rst == 1\'b0 ) PWM <= 1\'b0; else if( duty_counter <= Frequency_CNT_MAX ) PWM <= 1\'b1; else PWM <= 1\'b0; endmodule 由于是第一次在电子发烧友上发文章,体验感觉真的不太友好,希望能够把文章的自动保存功能给加上,否则没有备份真的让人不开心
    发表于 12-06 21:56

    #2023,你的 FPGA 年度关键词是什么? #

    FPGA 年度关键词,我的想法是“标准化”;今年的工作中遇到了不少同事的issues,本身都是小问题或者很细节的东西但是却反复出现问题,目前想到的最好的办法是做好设计规则的标准化才能避免,不知道大家有没有更好的建议?
    发表于 12-06 20:31