大家好, 欢迎回来｡
在这个视频中,
我们将讨论ChatGPT以及如何使用它来实现我们将在课程中使用的Doom算法,
卷积深度Q学习｡
在接下来的几分钟里,
我们将通过我实际指出的方式, 并要求ChatGPT让我们获得我们的模型｡
所以让我来帮助你理解我是如何做到的,
以及为什么我以这种方式做了某些提示｡
所以最初的提示是相当精心制作的从我的结束｡
我说：“你是一名高级机器学习专家”,
有多年的项目经验, “将机器学习应用于模拟和机器人技术｡
这是第一部分,
设置舞台, 给他们一个角色｡
所以基本上, 整个ChatGPT的向量空间会提示更多关于机器学习的话题｡
现在我想把我的背景, 厄运｡
实际上, 如何达到这一点, 我说, “好吧,
我雇你来帮助我”为Doom环境实现卷积深度Q学习算法｡
我们的目标是拥有一个“全功能的强化学习算法”,
可以玩Doom, 一个游戏环境｡
我已经实现了experience_replay和内存以及图像处理的类｡
“我会提供给你”, 这样你就可以把它合并到最终的代码中｡
这是非常重要的, 大多数人都错过了｡
你需要有某种方式告诉他, 或者告诉ChatGPT,
你已经有了一些东西, 你想在最终的实现中使用这些代码｡
因此, 如果我没有提供这个作为上下文, 它将生成一些代码,
一些卷积深度Q学习的实现, 这些代码不会考虑使用experience_replay和我们的图像处理函数, 但我们想要这样做｡
所以我继续说“你的目标是使用Python实现完整的解决方案,
”Torch for model, “并优化在Google Colab中执行的代码, ”以便学生通过代码“可以执行那些不太强大的计算机｡
这基本上是告诉ChatGPT您想要的最终解决方案的格式｡
最后, “如果需要的话, 提出澄清性的问题”将为它提供更多的背景｡
如果你不知道, 如果你没有足够的背景,
请问我｡ 最后, 他问：“明白了吗？” 我想确认一下｡
这是一个聪明的方法, 允许它反映这一点,
而不是严格地去生成下一个提示, 下一个答案｡
如果你不这么做,
如果你不问“明白了吗？ ”或“清楚了吗？ 或者“你明白了吗？ “或类似的东西,
它会完全忽略一些部分,
并开始生成｡
由于您在问题和答案中有令牌数量的限制,
因此您希望打破它, 以便可以刷新您可以生成的令牌数量｡
所以第一个答案是：“我理解这个任务｡
“我会做我想做的事情｡
“但在我继续之前, 我有几个问题｡ 这就是“如果你有任何问题, 问我”,
它问了我很好的问题｡
首先, 你有一个自定义的环境, 或者你使用的东西已经存在？
OpenAI､ VizDoom等等｡
然后, 我们转向更像,
有没有任何具体的性能指标, 你想让我遵循？
对模型本身有要求吗？
什么是Python和PyTorch？
最后, 是否对截止日期有任何具体限制？
这是从大多数商业计划,
它是培训, 但对于它,
像, 它并不真的, 像这是不相关的, 但好吧｡
我提供：“是的, 我将使用OpenAI Gym, 这里是如何加载它｡
这是课程上的
我说, 好吧, 遵循平均奖励,
没有具体要求, 只要能工作就有创意, 使用最新的模型或版本的库, 以及截止日期是什么｡
我只写了“尽快”｡
另外, 这里是我提到的这些类｡
所以我只是粘贴了我们在课程中的课程｡
所以体验回放,
所有的一切, 最后, 回放记忆,
图像处理, 就是这样｡
有了这个, 我建立了上下文,
现在它开始生成｡
所以它生成了代码｡
它基本上是从预处理图像开始的,
然后创建了深度Q网络, 这与我们所拥有的非常相似｡
然后, 它开始初始化,
然后训练代码｡
到目前为止一切正常, 然后它在这里破裂｡
如果你想继续生成更长的东西,
我只写了“继续”｡
他说：“继续｡ 当然可以 它继续生成, 然后, 我们有了完整的代码｡
太神奇了
它说明了如何使用它,
频率, 改变什么, 诸如此类的东西｡
这也帮助了我｡
让我带你到我的谷歌可乐｡
所以我从粘贴代码开始,
粘贴我们的预处理函数｡
我将马上跳到这个预处理函数的更改｡
然后, 我把这段经历重播, 一些安装从我的结束｡
我们马上解释｡
我玩了他的深度Q网络和训练代码｡
所以肯定有办法改善这一点｡
特别是如果你有当地的环境, 它会工作｡
如果你在Google Colab中使用它, 它可能会崩溃｡
让我带你去看看｡
我做了, 我得到了一个错误｡
我说, “嘿, 我最初的代码, 它提供了不工作｡
我只是粘贴代码,
这个错误消息, 说, “我不能调整图像的大小｡ 如果你看一下我们课程中的代码, 它需要用这个来调整图像的大小｡
但新版本的SciPy实际上删除了这一点｡
所以它说, “哦, 是的”, 看起来这个可能已经被移除了｡
“这是新版本的枕头｡
实际上, 这并不需要｡
它基本上用Pillow而不是SciPy重写了整个预处理图像类｡
所以我就用了, 而且真的很管用｡
然后我说, “好吧, ”我有一个问题,
环境使用谷歌可乐｡
“怎么解决？ 这就是错误｡ 上面写着, “哦, 是的, 道歉｡
“看来这种特殊的环境不起作用｡
“这就是你要做的｡
“你基本上是安装和做这个｡ 我得到了一个错误, 另一个错误｡
而这个错误实际上表明在这个特定版本中找不到渲染｡
然后它说, “好吧, 安装这个版本｡ 是的 又一个错误｡
它说, “哦, 是的, 是的, ”谷歌Colab不支持渲染, OpenGL库,
“这意味着, 对我们来说,
我们需要做的, 而不是谷歌Colab,
其他的可视化目的｡
它基本上给了我一步一步的指导, 告诉我该做什么,
如何改变这一点,
以及诸如此类的事情｡
如果你在当地这样做, 你会解决这个问题｡
但这基本上是现在教你如何正确使用ChatGPT｡
就像, 在这里, 你看到我得到了一些错误, 我提示了这些错误,
等等｡
现在, 你有了,
就像, 如果你回滚, 你有一个功能齐全的代码,
有一个深度Q网络, 有一个训练代码,
你可以去要求它生成一个测试代码,
它会的｡
很棒吧
就这样了
这是如何使用ChatGPT来解决Doom的深度Q或卷积深度Q网络｡
谢谢 享受课程！