WEBVTT

00:00.090 --> 00:00.923
讲师：大家好,

00:00.923 --> 00:03.870
我的朋友们, 欢迎来到ChatGPT这个新的数据科学用例,

00:03.870 --> 00:07.560
这次将是关于强化学习的｡

00:07.560 --> 00:09.420
所以我们现在要告诉ChatGPT,

00:09.420 --> 00:14.730
我们已经编写了一个虚拟的自动驾驶汽车, 而没有任何人工智能｡

00:14.730 --> 00:19.020
所以我们刚刚实现了它向前移动､ 左转､

00:19.020 --> 00:21.300
右转和停止的能力｡

00:21.300 --> 00:25.050
我们可以说, 如果这辆自动驾驶汽车成功到达某个目的地,

00:25.050 --> 00:27.540
它会得到奖励, 如果它离开这个目的地,

00:27.540 --> 00:33.360
或者遇到一些障碍, 它会受到惩罚｡

00:33.360 --> 00:40.020
好的, 然后我们会问ChatGPT应该为自动驾驶汽车实现哪个AI模型以及如何实现｡

00:40.020 --> 00:40.853
好吗？

00:40.853 --> 00:41.686
我们开始吧

00:41.686 --> 00:43.530
我要在这里打开一个新的聊天｡ 

00:43.530 --> 00:45.637
在里面, 我们会准确地说,

00:45.637 --> 00:53.550
“嘿, 我已经编程了一辆虚拟的自动驾驶汽车,

00:53.550 --> 01:04.710
它的动作是向前移动, 左转, 右转, 然后停下来｡

01:04.710 --> 01:13.370
然后这辆车一旦到达某个目的地就会得到奖励,

01:13.890 --> 01:16.080
如果它离这个目的地更远,

01:16.080 --> 01:28.070
或者如果它遇到一些障碍, 就会受到惩罚｡

01:28.070 --> 01:28.070
好吧, 现在, 让我们更贪婪｡ 

01:28.650 --> 01:31.530
我只是想问一些关于如何为自动驾驶汽车构建强化学习模型的建议,

01:31.530 --> 01:35.490
但让我们实际上直接构建它｡

01:35.490 --> 01:38.700
为什么不呢？

01:38.700 --> 01:39.533
让我们看看ChatGPT有什么功能｡ 

01:39.533 --> 01:53.580
所以我会问, “你能用最好的库给我写一段Python代码来构建一个强化学习模型,

01:53.580 --> 02:01.770
在自动驾驶汽车内实现人工智能吗？”

02:01.770 --> 02:01.770
好吧,

02:01.770 --> 02:06.750
问这个问题有点贪心, 但我们永远不会知道｡

02:08.010 --> 02:09.870
ChatGPT可能会给我们想要的东西｡ 

02:09.870 --> 02:11.160
所以让我们试试,

02:11.160 --> 02:14.010
如果它遇到任何麻烦, 我们会帮助它｡

02:14.010 --> 02:16.500
好的, 我们按回车键, 开始吧｡ 

02:16.500 --> 02:17.340
当然, 好吧, 这又是个好的开始｡ 

02:17.340 --> 02:24.180
“我可以帮助你开始在Python中为你的自动驾驶汽车实现一个强化学习模型｡

02:24.180 --> 02:24.180
太神奇了

02:24.180 --> 02:25.230
“这里有一些代码, 演示了如何使用OpenAI

02:25.230 --> 02:26.700
Gym库｡ 太棒了

02:26.700 --> 02:29.730
“为你的自动驾驶汽车训练一个强化学习模型｡

02:29.730 --> 02:29.730
好吧,

02:29.730 --> 02:30.960
这真的很神奇, 我没想到它会这样, ChatGPT可以这么容易地做到这一点,

02:30.960 --> 02:31.793
而且它现在所做的一切都很有意义｡

02:31.793 --> 02:33.180
它正在初始化, Q表, 状态数,

02:33.180 --> 02:36.330
动作数, 初始化为0的学习率｡

02:36.330 --> 02:36.330
1,

02:36.330 --> 02:40.050
贴现因子为0｡ 95.

02:40.050 --> 02:43.230
这真的很神奇, 我很敬畏｡ 

02:43.230 --> 02:45.600
探索率为0｡  5､ 最大发作次数为1,000,

02:45.600 --> 02:49.920
每发作最大步数为100｡

02:49.920 --> 02:51.660
然后它训练了Q学习模型, 太棒了｡ 

02:51.660 --> 02:55.743
然后我会挑战他实现一个更高级的模型,

02:56.610 --> 02:58.950
比如深度Q学习模型, 或者A3C, 让我们看看｡

02:58.950 --> 03:01.950
它使用For循环从头开始实现所有内容｡ 

03:01.950 --> 03:07.140
它首先选择一个动作, 然后执行AI采取动作的步骤,

03:07.140 --> 03:12.720
然后更新Q表, 然后将状态设置为第二天｡

03:12.720 --> 03:16.380
这就是强化学习的过程, Q学习的过程,

03:16.380 --> 03:18.030
这太神奇了｡

03:18.030 --> 03:21.690
然后它甚至实现了如何测试Q学习模型,

03:21.690 --> 03:25.410
最后关闭环境｡

03:25.410 --> 03:26.243
哇, 真是太棒了｡ 

03:26.243 --> 03:28.260
好吧, 我没期望那么多｡ 

03:28.260 --> 03:30.510
既然它这么容易就做到了,

03:30.510 --> 03:33.450
让我们来挑战它, 更难｡

03:33.450 --> 03:36.960
首先, 让我们说, 当然, “非常感谢,

03:36.960 --> 03:39.780
这真的很有帮助｡

03:39.780 --> 03:46.470
但是, 我确实已经知道如何实施Q学习｡

03:46.470 --> 03:59.700
所以, 你能不能用更高级的强化学习模型来做同样的事情,

03:59.700 --> 04:04.260
比如深度Q学习｡ 或者更好, 让我们变得超级贪婪｡ 

04:04.260 --> 04:06.210
“最先进的强化学习模型｡  准备好了吗

04:06.210 --> 04:09.030
我们走吧

04:09.030 --> 04:11.280
“当然｡  他总是说：“当然｡  太棒了

04:11.280 --> 04:30.297
“这里有一些代码演示了如何使用OpenAI基线库为自动驾驶汽车训练深度Q学习模型DQN｡

04:30.297 --> 04:30.297
又来了｡ 

04:32.340 --> 04:33.420
它给了我们密码｡ 

04:33.420 --> 04:34.980
这真的很神奇｡ 

04:34.980 --> 04:36.420
好吧, 是的, 它现在使用了来自基线的通用Atari库的Wrap DeepMind库,

04:36.420 --> 04:39.870
并且这次它再次使用深度Q学习模型实现了AI｡

04:39.870 --> 04:42.180
这真的真的很棒

04:42.180 --> 04:45.900
“这段代码使用DQN算法为你的自动驾驶汽车训练一个深度Q学习模型｡

04:45.900 --> 04:47.310
模型将学习在每个状态下采取最佳行动,

04:47.310 --> 04:49.140
以最大化奖励｡

04:49.140 --> 04:50.820
或者, 如果您想使用更高级的强化学习模型,

04:50.820 --> 04:55.820
可以使用OpenAI Spinning Up库,

04:57.300 --> 05:05.040
它提供了最先进的强化学习算法的实现｡

05:05.040 --> 05:07.117
下面是一些代码, 演示了如何使用Spinning

05:07.117 --> 05:12.120
Up库来训练邻近策略优化PPO模型｡

05:12.120 --> 05:12.120
的确, 这是一个很好的模型｡ 

05:12.120 --> 05:17.430
“为了你的自动驾驶汽车｡  在这里, 它再次给你模型和整个代码｡

05:17.430 --> 05:20.460
哇, 这是一场革命, 这个ChatGPT｡ 

05:20.460 --> 05:21.930
说真的我真的很佩服

05:21.930 --> 05:24.450
好了, 给你, 密码｡ 

05:24.450 --> 05:30.960
“这段代码使用PPO算法为你的自动驾驶汽车训练一个强化学习模型｡

05:30.960 --> 05:32.250
该模型将学习采取行动,

05:32.250 --> 05:34.950
以最大化预期的折扣奖励之和｡

05:34.950 --> 05:36.097
希望这能帮上忙｡ 

05:36.097 --> 05:37.290
让我知道如果你有任何问题,

05:37.290 --> 05:39.690
或者如果你想得到进一步的帮助｡ 好吧, 连我都没想到会有这么多,

05:39.690 --> 05:40.950
所以我和你一样,

05:40.950 --> 05:44.430
对你印象深刻, 同时做了这一切｡

05:44.430 --> 05:47.220
所以我们要说“非常感谢你太棒了 搞定

05:47.220 --> 05:51.210
再次感谢您观看ChatGPT的数据科学用例｡

05:51.210 --> 05:52.530
我们现在进入下一个｡ 

05:52.530 --> 05:53.940
在此之前, 享受机器学习｡ 
