你准备好了吗？
我们开始吧
让我们从安装智慧的所有系统依赖项开始｡
让我们单击这个播放按钮, 现在它将安装所有依赖项, 如您所见, 如pillow或psi､
pi, 以及成功运行此程序所需的其他一些依赖项｡
但所有其他像pytorch, 健身房模块已经安装｡
所以这真的很棒｡
这就是Google CoLab的美妙之处, 也正是因为如此,
你们在执行代码和可视化最终结果时不会有任何问题｡
好吧, 我会的
所以这实际上需要一两分钟｡
我将快进到这里, 很快我们将在代码的其余执行部分见面｡
好吧, 我会的
我们似乎在系统的安装结束｡
依赖项, 如您所见, 它是下载它们, 安装它们, 同时收集它们与所有正确的要求｡
在几秒钟内, 它应该做得很好｡
让我们看看｡
三, 二｡
我们走吧｡
已成功安装所有项目｡
不要担心这里的这些错误｡
它们不会影响代码的执行, 但一切都按照我们的要求成功安装｡
好了, 下一步.
非常重要的｡
看看这个重要的节点｡
它说在安装完所有依赖项之后, 基本上在执行这里的第一个单元格之后, 你必须重新启动你的运行时｡
否则, 您将在此处得到一些执行错误｡
那我们就速战速决吧｡
这很简单｡
你只需要点击这里的运行时, 然后重新启动运行时, 然后是的, 好的｡
这将还原您的运行时｡
现在你可以通过点击播放按钮来执行所有这些单元格｡
让我们开始吧, 从第一个文件图像预处理开始｡
好了, 让我们首先导入库,
然后用预处理图像类预处理图像, 现在我们已经转到体验回放实现, 也就是这个实现｡
好吧, 我们开始吧｡
我们首先导入库, 然后定义环境的一个步骤｡
然后, 我们使用Step Progress类在几个步骤上创建进度, 这些步骤与文件夹中的进度完全相同｡
然后我们通过构建这个回放内存类来实现体验回放｡
好了, 一切顺利｡
现在我们继续到第三个文件, 这个文件, 我们首先导入库｡
那就这样吧
好吧, 我会的
这里需要一点时间, 因为我们导入了所有的torch模块, 然后导入了openai和doom的包｡
健身房､ 智慧健身房和说唱歌手也是如此｡
所以一切都好｡
然后我们进入第一部分, 构建人工智能, 我们将在这里制造大脑, 然后是身体,
然后组装所有的东西｡
所以我们先用CNN的课程来让大脑正常｡
然后让我们用一个soft max body类来制作body, 然后让我们用一个类来制作AI｡
好吧, 我会的
所以一切都好｡
现在我们已经进入第二部分, 我们将用深度卷积学习来训练人工智能｡
好吧, 我会的
所以和我们这里的完全一样｡
我们首先用我们的新模块和坟墓获得末日环境｡
别担心这个｡
这不是错误｡
然后我们将通过创建不同的对象来构建人工智能, 大脑, CNN, max
body的身体, 以及包含大脑和身体的整个人工智能｡
好吧, 我会的
我执行了吗？
是的, 我知道
然后我们设置经验､ 回放带和步骤, 并将记忆作为目标回放记忆,
然后我们实现资格跟踪｡
好吧, 我会的
以提高性能｡
然后, 我们用MA类在100步上做移动平均线｡
最后, 我的朋友们, 你们准备好了吗？
好了, 现在是时候了, 你知道, 非常令人兴奋的部分,
我们将训练人工智能超过20个纪元｡
好的, 你们会看到这已经有点长了｡
你知道, 这可能需要一个或两个小时, 因为我增加了维度｡
如果发现尺寸太长, 可以将尺寸减小到80 × 80｡
但相信我, 你会有更好的视频与这些尺寸｡
你准备好了吗？
倒数三二一开始｡
好的, 这将执行培训的代码｡
再过几秒钟, 我们就能看到第一个纪元了, 当然, 它会有一个负的奖励｡
但是你会看到, 在各纪元中, 奖励会一点一点地增加, 直到达到正奖励,
然后直到达到数百奖励｡
好吧, 让我们瞄准那个, 实际上｡
让我们希望在20个纪元中, 我们会有一些最终的奖励, 比如100, 200或300,
因为这些奖励, 我实际上是用它们做实验的｡
是的, 我知道
第一纪元, 负奖励, -98｡
所以我是说, 奖励在100, 203百左右, 我们已经得到一些伟大的结果｡
你知道, 我们会看到人工智能设法要么杀死一些怪物, 要么避开它们, 或者, 你知道,
向背心移动｡
这是第一个纪元, 纪元1-98｡
然后, 你知道, 我们我们会看到第二个纪元, 也许已经有了更好的奖励｡
但是, 你知道, 在开始的时候, 当然, 人工智能是没有经过训练的｡
它正在探索环境｡
好吧, 我知道了
还记得强化学习､ 探索与利用之间的权衡吗？
一开始, 人工智能只是单纯的探索,
然后它会训练, 然后它会变得越来越聪明, 这就是它会达到一些高回报的时候｡
所以一开始就有负面的奖励是完全可以的｡
也许我们会在3/1时期得到这个数字, 但是你会看到,
在第四､ 五或六个时期之后, 我们可能会开始获得正面的奖励, 然后希望在10200或300左右获得奖励｡
所以就像我说的, 这需要一点时间｡
所以我们不打算在这里呆2个小时, 否则我会无话可说｡
所以我现在要做的就是放一段有趣或者很酷的音乐｡
好了, 第二个纪元, -62｡
所以已经有了一些改善｡
那就好｡
但是你会看到, 随着我们在时代中的进步, 会有一些更好的改善｡
我刚才说到哪了？
是的, 我现在要放一些很酷的音乐, 并以加速模式播放训练｡
当然, 我会在训练结束时看到你们的最终结果｡
好吧, 我会的
好了, 我们走吧｡
三二一开始｡
好吧, 我会的
现在我们已经到了培训的最后阶段｡
恭喜你啊
您将在一个非常具有挑战性的应用程序上训练深度卷积学习模型, 即玩末日游戏｡
那先说什么好呢？
正如我们所希望的那样, 我们的平均奖金超过了100英镑｡
当然, 重要的是, 随着时代的增加, 你会得到更高的回报｡
所以如果你准备好了, 比如说, 训练这个模型更多的纪元, 比如100个纪元, 甚至更多,
以达到更多的奖励, 大约30400和500, 甚至1000｡
好吧, 随便你｡
例如, 你可以让这个在你睡觉的时候运行一夜, 当你早上醒来的时候,
你会得到你更好的结果｡
请注意, 您也可以在运行时使用GPU, 对吗？
如果你改变了运行时类型, 我不应该这样做, 因为否则它会重新启动笔记本电脑｡
但在硬件加速器中, 您可以选择GPU甚至CPU, 但前提是您希望优化性能,
并进行一些超级艰苦的训练｡
但在这里我用的是经典的方法因为我只想向你们展示如何执行这一切｡
好了
现在, 我们将使用专门针对这本内核书的额外代码来执行工作簿的其余部分, 当然,
我们将在其中可视化人工智能的运行｡
好吧, 我们开始吧｡
让我们首先导入库｡
好吧, 我知道了
一切都好｡
然后, 我们将打印输入的形状和一些可能的操作｡
好吧, 我会的
在这里我们将得到在末日走廊环境中我们有七种可能的行动｡
所以这些是向前, 向后, 向左, 向右, 射击｡
然后也许保护你自己什么的｡
我不知道最后一个动作是什么, 但大概是这样｡
那么这些就是输入帧的尺寸｡
这对应于框架的高度｡
它有240像素的高度｡
这对应于框架的宽度, 对吗？
它是320大｡
这与我们处理彩色图像的事实相对应, 这里的三个对应于我们通道的三个元素｡
好了, 让我们执行下一个单元格, 显示一个环境的框架, 看看它是什么样子的｡
事实上, 请记住, 这对了解您的工作环境非常有用, 对吗？
这里我们看到我们在末日走廊, 但如果你想在这里尝试更多的环境, 实际上,
请记住, 它们也在这里的主页｡
就在这里｡
是的, 我知道
你有所有的环境清单, 你知道, 我建议尝试｡
所以如果你想再看一个｡
我可以给你看｡
我们先拿下这个然后我再回到这条死亡走廊｡
好吧, 我知道了
所以如果我用这个来代替那个｡
好的, 我会很好的执行这个｡
这次我们将得到三个动作｡
当然这是一个更简单的例子, 如果我们很好地执行这个单元, 我们会看到这个环境, 对吗？
所以这只是一种快速查看你正在使用的东西的方法, 基本上, 它可以预览人工智能在环境中会做什么｡
好吧, 我会的
那么, 让我们回到智慧长廊｡
现在让我们重新执行此操作, 以备下一个单元格需要它｡
好吧, 完美毁灭走廊｡
现在我们来看看最后一个细胞｡
这是一个用于可视化的辅助函数｡
让我们执行这个单元, 现在让我们在一个事件上运行人工智能｡
在这里, 你将能够理解代码,
因为, 你知道, 基本上它是在一个完整的情节上运行空气的过程, 在每一步它都处于一个特定的状态,
它将在该状态中播放一个动作, 然后它将获得奖励, 然后到达下一个状态, 对吗？
这就是经典的MDP流程, 对吧？
马尔可夫决策过程｡
所以我们开始了｡
一集就这样了｡
最后, 我们要得到我们的AI的游戏视频, 谁是训练20巴克斯, 能够达到100多奖励,
这将给我们一些相当不错的结果, 但也许没有达到背心.
但没关系｡
你可以自己去尝试｡
现在, 我希望您单击此处的“完全”按钮, 因为我将向您展示视频是如何填充的｡
这些文件夹包含了一些元素, 比如帧, 结果的帧, 或者一些JS和文件｡
但我们真正感兴趣的是最后的视频｡
要获取该文件, 只需单击此处的“播放”按钮, 您将看到它将填充到此处的主文件夹中｡
别错过了, 没事的｡
你知道, 看起来像细胞已经被执行, 这是事实｡
但几秒钟后你就会看到｡
我们将看到一个AVI文件, 这是一个视频文件被填充在这里｡
它会在10秒内出现｡
如果你想的话我甚至可以倒计时｡
所以我们开始吧｡
十, 九, 八, 七, 六, 五, 四, 三, 二, 一, 开始.
而现在它真的应该在几秒钟内出现｡
好了, 我们走｡
好吧, 我会的
所以, 特工游戏｡
弹那个阿维｡
这是你的视频
我们来下载它, 它会被下载到你的电脑上, 我可以在这里找到｡
好吧, 我知道了
这就是视频特工游戏｡
扮演FBI｡
请确保使用具有VLC等编解码器的视频播放器打开它｡
好吧, 我知道了
如果你在mac上, 它不会与quicktime播放器一起工作, 但它肯定会与VLC一起工作｡
让我们来看看这段视频｡
好吧, 我会的
让我按下暂停键｡
好吧, 我会的
这是视频｡
正如你所看到的, 这是256乘256的框架｡
所以你可以看到, 它不是很大｡
好吧, 我知道了
所以这就是为什么我真的想用这些尺寸来工作, 而不是80乘80｡
现在我们来看看视频｡
所以这是人工智能在一集里玩末日游戏, 它必须避开怪物, 而不是被杀死｡
它必须向前移动才能够到背心｡
让我们来看看它的表现｡
三比一｡
好吧, 我会的
所以它先被击中, 然后向前移动, 好吗？
然后它被怪物杀死了｡
但那还是相当不错的｡
你知道, 它明白它必须向前移动到背心, 因为最高的奖励是通过达到背心｡
当然,
你知道, 如果你真的想看到你的眼睛到达背心并赢得这场比赛的视频, 基本上你将不得不训练你的眼睛更多的时间,
也许做一些其他类型的改善, 像调整你的眼睛的大脑或做一些参数调整, 像调整学习率｡
好吧, 如果你们中的任何一个得到了一个惊人的视频, 或者, 你知道, 一个人工智能的视频已经达到了1000以上的奖励,
例如, 你有很多选择｡
好吧, 欢迎在问答环节分享｡
我相信其他学生会非常高兴得到它｡
好吧, 我会的
所以我希望你喜欢实施深度卷积学习模型｡
现在我们将进入下一部分, 这将是关于实施A三个关键模型,
甚至更好, 更强大的模型, 将实施玩游戏的突破｡
所以我们下一部分再见｡
在那之前, 好好享受吧｡
一､