2017年人工智能在游戏领域打败人类,未来我们将何去何从?
在20世纪的大部分时间里,国际象棋的博弈都是以人工智能为基准的。
约翰·麦卡锡(John McCarthy)在20世纪50年代早期创造了“人工智能”一词,曾经把国际象棋称为“ 人工智能的果蝇 ”。
在20世纪90年代后期,IBM的Deep Blue开始了对世界冠军Garry Kasparov的一系列国际象棋比赛。
1997年,深蓝最终击败卡斯帕罗夫,标志着一台机器首次在比赛中击败世界冠军。
到了二十一世纪初,技术已经提高到几乎所有的游戏环境中机器都在不停地击败国际象棋大师。
自然,AI开发人员转向其他更复杂的游戏来测试他们日益复杂的算法。
在过去的12个月里,AI越过了一系列新的门槛,最终在各种不同的游戏中击败人类玩家,从古老的围棋游戏到动态交互式纸牌游戏,都赢了个遍。
在九十年代后期,在一台机器终于击败一个国际象棋特级大师之后,普林斯顿的一位天体物理学家评论道:“计算机在围棋上击败人类可能需要一百年,甚至更长。
面对挑战,计算机科学家把注意力转移到这个古老的中国战略游戏上,这个游戏看起来简单易玩,但却非常复杂。
在过去的十年里,机器学习的发展才刚刚创造出真正有竞争力的AI Go玩家。2014年,Google开始了一个名为AlphaGo的深度学习神经网络。
2017年5月,AlphaGo“Master”与世界围棋排名最高的选手柯洁交锋。在三场比赛中,该机器全面占据了优势。
而比这个还惊人的,是今年10月份的新AI消息。
在“ 自然”期刊上发表的“ AlphaGo Zero ”是一个比之前的版本还要革命性的算法。
它可以完全从自我学习中学习。这个系统只是反复地对抗自己,并且学习如何掌握它所编程的任何游戏。经过21天的学习,AlphaGo Zero达到了“Master”的水平,到了第40天,它已经超过了之前版本的技能水平。
到2017年12月,DeepMind发现了一个更新的系统版本。这个叫做AlphaZero的新AI可以在几个小时内掌握各种游戏。
经过八个小时的自我训练,该系统不仅可以击败AlphaGo Zero之前的版本,还可以成为国际象棋特级大师和棋将冠军。
取得突破的,还有埃隆·马斯克主导的OpenAI项目。
该项目旨在探索人工智能系统的发展,特别关注强化学习 - 一个机器教自己如何改进特定任务的系统。
2017年8月,OpenAI团队在Dota 2中,战胜了全球最厉害的人类选手,我们的游戏领地,基本都已经沦陷。
如果人工智能在几乎每一场比赛中都击败我们,那么下一步是什么呢?
也许2017年最重要,最可怕的发展是强化学习系统的巨大进步。
这些程序可以有效地教导自己如何掌握新的技能。例如,最近的AlphaZero迭代可以在几天的自我学习之后在某些游戏中实现超人的技能。
科学家预测,未来10年内人工智能会变得比我们人类更优秀,到2049年,它将能够写出一本畅销小说,到2053年,它将成为外科手术中的主角。
2017年,无疑是人工智能在越来越复杂的游戏中击败人类的里程碑,虽然这可能看起来像一个微不足道的成就,但其影响是巨大的。
这些人工智能开发公司中的许多人正在迅速将目光转向现实世界的挑战。
Google DeepMind已经将AlphaGo Zero系统从游戏中移开,并进行全面的DNA研究,希望通过人工智能探索阿尔茨海默症和帕金森病等疾病的治疗方法。
“帮助人类解决难题”,也许,这才是人工智能的最光明未来吧。
- JSON就是这么简单
- 017 Java中的静态代理、JDK动态代理、cglib动态代理
- 我的学习、归纳方法(以学习 Maven 为例)
- JDBC面试题都在这里
- 018 final 关键字的用途
- 04-01.总结switch,for,while,do。while跳转语句
- JDBC【介绍JDBC、使用JDBC连接数据库、简单的工具类】
- 019 单例模式的5种写法
- 图书管理系统【部署开发环境、解决分类、图书、前台页面模块】
- 图书管理系统【用户、购买、订单模块、添加权限】
- 04-02.总结switch,for,while,do。while跳转语句
- 图书管理系统【总结】
- JDBC【PreparedStatment、批处理、处理二进制、自动主键、调用存储过程、函数】
- JDBC【事务、元数据、改造JDBC工具类】
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Transform和Task之间有关?| Gradle
- user.ini文件构成的PHP后门
- Android厂商推送Plugin化 | 掘金技术征文-双节特别篇
- 关于lnmp目录禁止执行的绕过与正确方法
- Quill编辑器自定义字体和字体大小
- emlog某重要插件前台SQL注入+Getshell
- ES6中的对象与类
- QQ某业务主站DOM XSS挖掘与分析(绕过WAF)
- 品优购电梯导航案例
- stm32mp157开发板LCD 显示测试&触摸屏测试
- stm32mp157开发板LINE 接口测试方法
- stm32mp157开发板MIC 接口测试方法
- stm32mp157开发板声卡接口测试
- stm32mp157开发板USB Host 接口&OTG 接口测试
- Centos7安装ovs