大家好
欢迎回来
我们今天的这一节还是继续基于神经网络的人工智能系统
那么我们继续让看看人工智能如何学会学会玩
游戏
那么让人工智能学会玩游戏是一项很吸引人
眼球的事情
想想
因为玩游戏是很能够体现人的智慧的
一种活动
那么尤其是在棋牌类的游戏
或者说在第一人称射击的游戏里边
这些类的游戏里头
那么我们其实需要一个高性能的人工智能来
增强游戏的挑战性
那么在与机器对照的过程当中
你就会觉得他这个机器还蛮聪明的
而不是特别的笨
那么这样能够使人的智能受到挑战
能够有更好的游戏的体验
而在另一些游戏当中是一些策略的
比如说像模拟人生
像minecraft
就是我的世界
这样的游戏里边
它需要有一个能够优化游戏体验的一个
人工智能也就是他能够跟你除了跟你进行对抗
或者之外
他还可以跟你共同的来探索一些秘密或者说
共同的合作
然后取得游戏的更深入的一些体验
所以这是让人工智能学会玩游戏
那么在棋牌类的游戏当中作为对抗者
那么从国际象棋到围棋
人工智能已经在棋类游戏上基本上可以说是
完全的战胜了人类
那么也是在体力上它已经完胜人类了
那么但是其他的一些非完全信息
我们说前面的棋类游戏如果去进行归类的话
基本上属于说这种完全信息的零和游戏
那么如果不是完全信息或者不是零和游戏
除了有竞争还有合作之外
那么这些游戏就会更加的复杂
这样人工智能在现在目前还没有克服
还没有超越人类
但是人工智能的领先的公司
比如像研发AlphaGo的
DeepMind公司
它也开始向这一类不完全信息
或者说非零和游戏这样的游戏当中去研发相应的
人工智能比如说它研发的是星际争霸二这样的
一个游戏的人工智能
而另外一个组织OpenAI他也正在研发DOTA2的人工智能的这个对手
那么他们这两个公司都在这两个游戏当中
它人工智能也取得了不错的成绩
但是到目前为止
其实也还都没有说能够以像围棋或者国际象棋一样
起着压倒性的这种优势去战胜人类
那么目前人工智能学会玩游戏
它其实可以很好地掌握一些经典的一些小游戏
比如说类似于画面上的能够有点像超级马里奥
那样跳
然后去获取
然后不要去跌入到深谷里面去
然后避开一些敌人
然后最后能够拿到更高的分数
尽量长的存活时间
那么像这一类的这种有明确目标的这种小游戏
其实人工智能通过短时间的学习
其实就能够靠快速的上手
而且还有很优异的表现了已经
那么甚至人工智能在不断的尝试的过程当中
他还会发现一些游戏当中的一些小bug
也就是一些小缺陷
不需要过关
就能够让这个分数不停的快速的增长下去
因为玩这个游戏是以增长分数作为目标的
那么所以它甚至可以发现一些小窍门
能够轻松的让分数不停地涨上去
那么这个其实也是人工智能在探索游戏过程
当中有一些副产物
那么这样的一个学习有跟环境进行交互
有反馈
然后从反馈当中进行不断的学习的过程
称之为强化学习
它主要是我们可以抽象为说
人工智能可以控制一个在某个环境当中的一个
主体
然后跟环境进行交互
比如说在单机版的小游戏当中
就是跳让主角去跳
像超级马里奥一样跳一下
在适当的时候去跳
而且还有一些组合的键的运用
那么这样一旦做了这些动作
那么跟游戏的背景的环境
尤其环境当中的一些设施
比如说有一些怪物
或者说有一些金钱就可以进行互动
然后如果这些措施这些控制的这些动作能够
改善主体的行为
那么学习就得以成功
那么他就能够继续的把这个游戏玩下去
或者说在游戏当中获得高分
所以我们在这儿既然是强化学习
其实跟上一周的监督学习和非监督学习都有所
不同
我们说如果把机器学习把它分成这三类
那么首先我们前面说过的监督学习
那么它主要是在大量的标记数据当中进行训练
进行反复的训练
训练出一个计算模型之后
我们就可以进行预测
也就是说我有新的数据进来以后
它进行或者说叫做归类
或者说进行一个回归的差值
如果是连续值的话
那么它可以知道这个数据应该对应什么
这是一个监督学习
它的特征是有标记的数据
那么另外一种就是非监督的学习
那么这种非监督学习也就是说并不存在着标记
数据
所有的数据都是原始的
并没有人像标记数据一样由人为去人工去整理
那么既然没有标记数据
那么就没有办法进行训练
但是在没有训练的情况下
非监督学习它可以发现数据当中内藏的一些
结构
这些结构比如说这些数据在某种形态下它会
变成一类一类
各个类别它会聚集在一起
某一些数据聚集在一起
另一些数据聚集在一起
那么这些聚集的这种结构就可以把它们进行
分类
这是非监督学习
比如说在照片当中的一些人脸
你可以把一张照片的很多张照片里头把人脸
进行分类
然后属于同一个人的人脸
它就会聚到同一类
这样你就可以知道在这张脸的名下有多少张
照片
这是非监督学习
那么最后就是我们这一周所需要学习的强化
学习
那么强化学习它主要就是一个决策的一个过程
也就是我们有一个智能的主体去代替去在某个
环境当中决策做一个动作
那么做或者做一系列的动作
那么这些动作在跟环境的交互过程当中
它会得到一些反馈
这些反馈如果是正的反馈
那么就是一个奖励
如果是负的反馈就会获得一些惩罚
那么表现为在游戏当中可能就是分数的增加
或者说分数的减少
甚至游戏就终止了
不能够进行下去
那么然后强化学习就根据这样的反馈
那么经过多次的这种交互的训练
最终能够得到一个行动的指导
所以这个是强化学习人工智能算法的他的概貌
而且它的最终目标
所以它比较适合于像我们人玩游戏这样子的
一个活动的过程
所以我们说强化学习其实它很符合人学习玩
游戏的过程当中的一些情景
通常我们玩游戏都是由玩家来控制一些角色
然后让这个角色去做各种各样的动作
然后根据游戏画面的反馈来不断的调整动作
比如说我们当中有一个打方块的游戏
我们人的玩家所要做的事情就是观察画面
画面上有一个弹球
你要当弹球落到底线的时候
我必须要控制这个球板去接入弹球
球弹回去之后要把上面的方块全部打完
每打一个方块这个分数就会增加一
但如果说接不住的话
那么这个分数就不会增加
而且游戏会停止受到惩罚
所以按照这样的一个游戏画面的反馈
不断的调整动作之后就会往人越来越熟练
那么其实这个人的学习过程就是一个很显着的
一个强化学习的一个过程
那么最终能够达到一个既定的目标
要么是高分
要么是胜利
而避免那种长时间的不得分或者甚至失败的情况
那么我们接下来的这个例子
我们会举一个强化学习的例子
就是大家在画面上看到的小游戏
这个是一款在13年5月份发布的游戏
到了2014年1月
这个游戏就成为iTunes上最受欢迎的免费的
应用软件了
这个游戏其实非常的简单
玩家只要操控小鸟飞行
只要避开绿色的管道就可以了
如果说小鸟在飞行过程当中碰到的障碍
那么游戏就结束了
只要他每当飞过一组管道
那么玩家就会加一分
这个游戏相当的简单
但是难度也挺大
因为玩家要掌握好点击屏幕的节奏和时机
既简单又难
所以它会风靡全球
那么我们来下面来看看
我们的人工智能已经能够做到什么程度了
这样的一个画面其实就展现了我们的实力的
程序
人工智能强化学习的算法
教这个算法来玩FlappyBird游戏的过程
那么其实整个的过程其实也类似于人的手眼
配合的有学习
当小鸟飞到一个什么样的一个地方
我是点击屏幕还是不点击
就是这么一个决策
那么整个的算法他并不是说我去告诉你说管子不能碰
这个算法
强化学习算法
它仅仅是通过分析游戏时候的截屏的图像
然后那么这个人工智能就通过强化学习的算法
最终学会了玩FlappyBird的游戏了
而且它能够得到很高的高分
至少是绝大多数的人都达不到的高分
那么具体我们强化学习会怎么做
他是一个什么样的一个原理
我们后面还会再继续为你介绍