在神经网络能够顺利地玩游戏之前,科学家需要调整隐藏神经元之间的连接,以便为每个输入获得正确的输出集。如果外星人在飞船上方,我们希望算法按下按钮将其击落。如果一颗外星人的子弹即将打到宇宙飞船的船头,我们就需要让算法马上将飞船开到障碍物后面。训练就是这样进行的。开始时,谷歌工程师没有告诉他们的神经网络与这款它马上要玩的游戏有关的任何信息。他们用神经元之间的随机连接建立了网络,这意味着飞船的移动和射击也或多或少是随机的。
在随机设置的情况下,神经网络会输掉很多场游戏,但偶尔它会“不小心”射杀一个外星人并得分。训练过程涉及查看一长串的屏幕截图(输入)、手柄移动(动作)和分数(结果),并计算出这些动作是增加还是减少了神经网络的游戏分数。然后网络就会被更新,能够获取得分的神经元连接得到加强,在游戏中丢命的神经元连接则被减弱。在世界上速度最快的计算机上进行了几周的训练后,神经网络就可以将屏幕上特定的模式与得分最多的手柄动作关联起来。
同样的方法也可以用来学习其他不同的游戏,比如《机甲坦克大战》(Robotank)、《Q伯特》(Q\*bert)、《拳击》(Boxing)和《公路奔逃者》(RoadRunner)。这些游戏的屏幕模式非常不同:在《机甲坦克大战》中,你必须追逐敌人的坦克并试着向它们开火;在《Q伯特》中,你必须控制着一个试图给六边形涂色的橙色小怪物,避免它被紫色的蛇抓住;在《拳击》中,你需要击打对手的脸;在《公路奔逃者》中,你必须在路上奔跑,还要避免被狐狸撞倒或抓住。将每个游戏都玩了许多次后,神经网络会慢慢地掌握游戏的基本模式,并搞清楚哪些物体对于玩好游戏是至关重要的。谷歌的研究人员由此创造出一种人工智能,可以从零开始学习任何一款游戏。
第三部分 人工能的未类了吗?
205