WEBVTT

00:02.310 --> 00:04.620
大家好, 欢迎回来｡ 

00:04.620 --> 00:05.453
在这个视频中,

00:05.453 --> 00:13.350
我们将讨论ChatGPT以及如何使用它来实现我们将在课程中使用的Doom算法,

00:13.350 --> 00:16.290
卷积深度Q学习｡

00:16.290 --> 00:17.790
在接下来的几分钟里,

00:17.790 --> 00:26.190
我们将通过我实际指出的方式, 并要求ChatGPT让我们获得我们的模型｡

00:26.190 --> 00:29.580
所以让我来帮助你理解我是如何做到的,

00:29.580 --> 00:33.720
以及为什么我以这种方式做了某些提示｡

00:33.720 --> 00:38.460
所以最初的提示是相当精心制作的从我的结束｡ 

00:38.460 --> 00:41.527
我说：“你是一名高级机器学习专家”,

00:41.527 --> 00:47.550
有多年的项目经验, “将机器学习应用于模拟和机器人技术｡

00:47.550 --> 00:47.550
这是第一部分,

00:47.550 --> 00:48.750
设置舞台, 给他们一个角色｡

00:48.750 --> 00:55.410
所以基本上, 整个ChatGPT的向量空间会提示更多关于机器学习的话题｡

00:55.410 --> 00:59.310
现在我想把我的背景, 厄运｡ 

00:59.310 --> 01:04.310
实际上, 如何达到这一点, 我说, “好吧,

01:04.500 --> 01:12.457
我雇你来帮助我”为Doom环境实现卷积深度Q学习算法｡

01:12.457 --> 01:15.337
我们的目标是拥有一个“全功能的强化学习算法”,

01:15.337 --> 01:18.457
可以玩Doom, 一个游戏环境｡

01:18.457 --> 01:24.187
我已经实现了experience_replay和内存以及图像处理的类｡

01:24.187 --> 01:30.337
“我会提供给你”, 这样你就可以把它合并到最终的代码中｡

01:30.337 --> 01:34.800
这是非常重要的, 大多数人都错过了｡ 

01:34.800 --> 01:37.893
你需要有某种方式告诉他, 或者告诉ChatGPT,

01:38.790 --> 01:45.720
你已经有了一些东西, 你想在最终的实现中使用这些代码｡

01:45.720 --> 01:50.720
因此, 如果我没有提供这个作为上下文, 它将生成一些代码,

01:50.910 --> 02:06.330
一些卷积深度Q学习的实现, 这些代码不会考虑使用experience_replay和我们的图像处理函数, 但我们想要这样做｡

02:06.330 --> 02:10.537
所以我继续说“你的目标是使用Python实现完整的解决方案,

02:10.537 --> 02:23.167
”Torch for model, “并优化在Google Colab中执行的代码, ”以便学生通过代码“可以执行那些不太强大的计算机｡

02:23.167 --> 02:23.167
这基本上是告诉ChatGPT您想要的最终解决方案的格式｡

02:33.060 --> 02:37.200
最后, “如果需要的话, 提出澄清性的问题”将为它提供更多的背景｡

02:37.200 --> 02:40.050
如果你不知道, 如果你没有足够的背景,

02:40.050 --> 02:42.060
请问我｡ 最后, 他问：“明白了吗？” 我想确认一下｡ 

02:42.060 --> 02:44.197
这是一个聪明的方法, 允许它反映这一点,

02:44.197 --> 02:47.580
而不是严格地去生成下一个提示, 下一个答案｡

02:47.580 --> 02:49.737
如果你不这么做,

02:50.640 --> 02:53.730
如果你不问“明白了吗？ ”或“清楚了吗？ 或者“你明白了吗？ “或类似的东西,

02:53.730 --> 02:58.730
它会完全忽略一些部分,

03:00.210 --> 03:05.210
并开始生成｡

03:05.820 --> 03:09.090
由于您在问题和答案中有令牌数量的限制,

03:09.090 --> 03:16.020
因此您希望打破它, 以便可以刷新您可以生成的令牌数量｡

03:16.020 --> 03:20.760
所以第一个答案是：“我理解这个任务｡

03:20.760 --> 03:22.980
“我会做我想做的事情｡ 

03:22.980 --> 03:26.310
“但在我继续之前, 我有几个问题｡  这就是“如果你有任何问题, 问我”,

03:26.310 --> 03:28.610
它问了我很好的问题｡

03:29.820 --> 03:33.607
首先, 你有一个自定义的环境, 或者你使用的东西已经存在？

03:33.607 --> 03:36.697
OpenAI､ VizDoom等等｡ 

03:36.697 --> 03:39.600
然后, 我们转向更像,

03:39.600 --> 03:45.750
有没有任何具体的性能指标, 你想让我遵循？

03:45.750 --> 03:49.200
对模型本身有要求吗？

03:49.200 --> 03:51.240
什么是Python和PyTorch？

03:51.240 --> 03:56.850
最后, 是否对截止日期有任何具体限制？

03:56.850 --> 03:58.950
这是从大多数商业计划,

03:58.950 --> 04:00.783
它是培训, 但对于它,

04:01.800 --> 04:05.850
像, 它并不真的, 像这是不相关的, 但好吧｡

04:05.850 --> 04:10.140
我提供：“是的, 我将使用OpenAI Gym, 这里是如何加载它｡

04:10.140 --> 04:10.140
这是课程上的

04:10.140 --> 04:12.990
我说, 好吧, 遵循平均奖励,

04:12.990 --> 04:23.283
没有具体要求, 只要能工作就有创意, 使用最新的模型或版本的库, 以及截止日期是什么｡

04:24.150 --> 04:25.177
我只写了“尽快”｡ 

04:25.177 --> 04:30.177
另外, 这里是我提到的这些类｡ 

04:30.480 --> 04:31.713
所以我只是粘贴了我们在课程中的课程｡ 

04:33.000 --> 04:35.133
所以体验回放,

04:36.030 --> 04:40.953
所有的一切, 最后, 回放记忆,

04:42.120 --> 04:46.320
图像处理, 就是这样｡

04:46.320 --> 04:48.090
有了这个, 我建立了上下文,

04:48.090 --> 04:49.797
现在它开始生成｡

04:51.150 --> 04:54.120
所以它生成了代码｡ 

04:54.120 --> 04:57.000
它基本上是从预处理图像开始的,

04:57.000 --> 05:04.773
然后创建了深度Q网络, 这与我们所拥有的非常相似｡

05:05.790 --> 05:06.623
然后, 它开始初始化,

05:07.681 --> 05:10.230
然后训练代码｡

05:10.230 --> 05:13.530
到目前为止一切正常, 然后它在这里破裂｡ 

05:13.530 --> 05:15.753
如果你想继续生成更长的东西,

05:16.590 --> 05:21.363
我只写了“继续”｡

05:22.560 --> 05:27.513
他说：“继续｡  当然可以 它继续生成, 然后, 我们有了完整的代码｡

05:29.070 --> 05:31.983
太神奇了

05:32.910 --> 05:34.863
它说明了如何使用它,

05:36.000 --> 05:40.350
频率, 改变什么, 诸如此类的东西｡

05:40.350 --> 05:43.950
这也帮助了我｡ 

05:43.950 --> 05:46.110
让我带你到我的谷歌可乐｡ 

05:46.110 --> 05:49.530
所以我从粘贴代码开始,

05:49.530 --> 05:51.840
粘贴我们的预处理函数｡

05:51.840 --> 05:55.853
我将马上跳到这个预处理函数的更改｡

05:57.060 --> 06:02.793
然后, 我把这段经历重播, 一些安装从我的结束｡

06:03.720 --> 06:05.940
我们马上解释｡ 

06:05.940 --> 06:09.630
我玩了他的深度Q网络和训练代码｡ 

06:09.630 --> 06:13.053
所以肯定有办法改善这一点｡ 

06:14.040 --> 06:16.290
特别是如果你有当地的环境, 它会工作｡ 

06:16.290 --> 06:18.720
如果你在Google Colab中使用它, 它可能会崩溃｡ 

06:18.720 --> 06:19.553
让我带你去看看｡ 

06:20.970 --> 06:24.843
我做了, 我得到了一个错误｡ 

06:25.740 --> 06:29.163
我说, “嘿, 我最初的代码, 它提供了不工作｡ 

06:30.150 --> 06:31.833
我只是粘贴代码,

06:32.790 --> 06:41.640
这个错误消息, 说, “我不能调整图像的大小｡ 如果你看一下我们课程中的代码, 它需要用这个来调整图像的大小｡

06:41.640 --> 06:45.810
但新版本的SciPy实际上删除了这一点｡ 

06:45.810 --> 06:50.840
所以它说, “哦, 是的”, 看起来这个可能已经被移除了｡

06:50.840 --> 06:50.840
“这是新版本的枕头｡ 

06:51.750 --> 06:54.240
实际上, 这并不需要｡ 

06:54.240 --> 07:03.110
它基本上用Pillow而不是SciPy重写了整个预处理图像类｡

07:03.810 --> 07:06.600
所以我就用了, 而且真的很管用｡ 

07:06.600 --> 07:10.440
然后我说, “好吧, ”我有一个问题,

07:10.440 --> 07:13.200
环境使用谷歌可乐｡

07:13.200 --> 07:17.310
“怎么解决？ 这就是错误｡  上面写着, “哦, 是的, 道歉｡ 

07:17.310 --> 07:18.663
“看来这种特殊的环境不起作用｡ 

07:19.537 --> 07:21.637
“这就是你要做的｡ 

07:21.637 --> 07:25.200
“你基本上是安装和做这个｡  我得到了一个错误, 另一个错误｡ 

07:25.200 --> 07:32.260
而这个错误实际上表明在这个特定版本中找不到渲染｡

07:33.270 --> 07:36.723
然后它说, “好吧, 安装这个版本｡  是的 又一个错误｡ 

07:37.620 --> 07:41.283
它说, “哦, 是的, 是的, ”谷歌Colab不支持渲染, OpenGL库,

07:42.990 --> 07:44.227
“这意味着, 对我们来说,

07:44.227 --> 07:50.160
我们需要做的, 而不是谷歌Colab,

07:50.160 --> 07:52.087
其他的可视化目的｡

07:52.087 --> 07:55.657
它基本上给了我一步一步的指导, 告诉我该做什么,

07:55.657 --> 07:56.917
如何改变这一点,

07:56.917 --> 07:59.880
以及诸如此类的事情｡

07:59.880 --> 08:02.580
如果你在当地这样做, 你会解决这个问题｡ 

08:02.580 --> 08:09.350
但这基本上是现在教你如何正确使用ChatGPT｡

08:11.850 --> 08:14.280
就像, 在这里, 你看到我得到了一些错误, 我提示了这些错误,

08:14.280 --> 08:17.040
等等｡

08:17.040 --> 08:18.457
现在, 你有了,

08:18.457 --> 08:23.457
就像, 如果你回滚, 你有一个功能齐全的代码,

08:24.270 --> 08:27.870
有一个深度Q网络, 有一个训练代码,

08:27.870 --> 08:31.350
你可以去要求它生成一个测试代码,

08:31.350 --> 08:34.500
它会的｡

08:34.500 --> 08:37.440
很棒吧

08:37.440 --> 08:38.820
就这样了

08:38.820 --> 08:45.120
这是如何使用ChatGPT来解决Doom的深度Q或卷积深度Q网络｡

08:45.120 --> 08:47.200
谢谢 享受课程！
