WEBVTT

00:00.580 --> 00:03.550
大家好, 欢迎回到人工智能课程｡ 

00:03.550 --> 00:09.310
在今天的故事中, 我们讨论的是a3c中的最后一个A, 我们讨论的是优势｡ 

00:09.310 --> 00:10.240
就是这样｡ 

00:10.240 --> 00:18.550
我们之前已经讨论过演员､ 评论家和异步, 并慢慢地构建了我们今天要看的内容｡

00:18.550 --> 00:21.460
有了优势, 我们就可以把所有东西都放在一起｡ 

00:21.460 --> 00:23.590
这就是我们目前所拥有的｡ 

00:23.590 --> 00:30.460
我们有一个神经网络, 它在代理之间共享, 异步代理, 然后我们有一个批评者,

00:30.460 --> 00:33.160
它也在代理之间共享｡

00:33.160 --> 00:36.400
那么, 这一切是如何进行的呢？为什么这些批评会在代理人之间分享呢？

00:36.430 --> 00:37.390
让我们来看看｡ 

00:37.390 --> 00:38.830
好吧, 你要更好地理解这个｡ 

00:38.830 --> 00:39.790
我们来看一个例子｡ 

00:39.790 --> 00:46.570
我们来看看这个代理人, 比如说, 看看当他处于某种状态时会发生什么他需要决定采取什么行动.

00:46.570 --> 00:48.700
所以这个特工现在状态不佳｡ 

00:48.700 --> 00:50.110
他看到了这个图像｡ 

00:50.680 --> 00:55.840
然后, 这些信息进入神经网络, 经过卷积层,

00:55.840 --> 01:00.310
然后进入池化层, 最后进入扁平化层｡

01:00.580 --> 01:03.790
然后从那里进入神经网络的隐藏层｡ 

01:03.790 --> 01:10.930
然后作为输出, 他得到所有这些政策值, 政策值, 还有价值,

01:10.930 --> 01:14.110
批评值.

01:14.110 --> 01:22.660
所以, 正如我们所知, 神经网络, 为了运行, 它们需要通过网络传播某些错误或损失｡

01:22.660 --> 01:29.440
这样, 为了更新权重, 我们需要处理哪些权重或哪些损失？

01:29.440 --> 01:30.460
我们有两个损失｡ 

01:30.460 --> 01:32.800
我们有价值损失和保单损失｡ 

01:32.800 --> 01:36.490
所以价值损失与价值保单损失与保单挂钩｡ 

01:36.730 --> 01:40.570
损失的价值, 我们之前已经讨论过了.

01:40.570 --> 01:46.360
我们知道我们有奖励, 我们知道我们有一个折扣系数｡ 

01:46.360 --> 01:54.580
基本上, 这与我们在深度学习教程中讨论的内容非常相似｡ 

01:54.580 --> 02:05.440
基本上, 网络预测某个值V, 同时我们可以根据我们目前对环境的了解来估计应该是什么｡

02:05.440 --> 02:10.990
我们可以估计值V在状态中应该是什么, 并且通过比较两者, 我们可以计算值损失, 然后反向传播网络,

02:10.990 --> 02:13.660
更新权重｡

02:13.660 --> 02:15.070
这很简单｡ 

02:15.070 --> 02:17.350
这里的新情况是保单损失｡ 

02:17.470 --> 02:21.490
那么, 什么是政策损失, 它是如何工作的？

02:21.490 --> 02:28.420
好吧, 这是整个情况的一部分, 其中的批评是在演员之间或代理人之间分享的,

02:28.420 --> 02:32.320
最终会出现｡

02:32.320 --> 02:38.560
为了理解策略损失, 我们需要引入一个叫做advantage的值,

02:38.560 --> 02:42.520
这也是本教程这一部分和整个算法这一部分的名称｡

02:42.520 --> 02:47.650
优势和优势的计算公式为S的Q和S的A减V｡ 

02:47.650 --> 02:54.490
所以基本上就是你选择的Q值, 在你所处的状态下, 你选择的动作的Q值, 比如说,

02:54.490 --> 02:57.340
s减去那个状态的值.

02:57.340 --> 03:00.640
这就是两者的区别, 这就是优势.

03:00.640 --> 03:04.690
并将该优势用于保单损失的计算｡ 

03:04.720 --> 03:09.340
现在我们就不讨论保单损失的计算公式了因为它非常复杂.

03:09.340 --> 03:12.520
它使用熵或者它可以不使用熵｡ 

03:12.880 --> 03:16.960
我们不会去剖析这个公式, 但是我们会从直觉的层面去理解它｡ 

03:16.960 --> 03:17.740
我们为什么要这么做？

03:17.740 --> 03:21.430
我们为什么要计算这种优势, 它将如何帮助我们？

03:21.430 --> 03:23.950
好吧, 让我们来看看这个｡ 

03:23.950 --> 03:30.250
这里的Q值来自神经网络对该代理的预测｡ 

03:30.820 --> 03:36.430
所以它预测在这个特定的行动中, 在这个特定的状态中它所能发挥的行动｡ 

03:36.430 --> 03:41.650
所以它有这些动作, 它可以选择其中的一个, 它可以很好地发挥它｡ 

03:41.650 --> 03:46.390
而V值则是由批评家决定的值｡ 

03:46.390 --> 03:49.990
这是我们在这个共享部分所拥有的价值｡ 

03:49.990 --> 03:52.240
这就是关键所在, 这部分是共享的｡ 

03:52.240 --> 03:58.660
所以批评家, 因为这就是批评家的作用, 因为我们有一个我们选择的价值, 或者我们选择的行动, 在那个状态下,

03:58.660 --> 04:01.750
为这个主体所发挥的作用｡

04:01.750 --> 04:07.090
但是, 批评家可以告诉我们, 这种状态的已知价值是什么？

04:07.090 --> 04:13.960
这一整组共同执行任务的代理的总的已知值是多少？

04:13.960 --> 04:18.340
因为他们分享不仅仅是因为他们分享自然, 而是因为他们分享批评｡ 

04:18.340 --> 04:23.170
它们都对不同站点的计算值有贡献｡ 

04:23.170 --> 04:28.930
所以整个a3c算法说, 好的, 所以评论家知道一个V值｡ 

04:28.960 --> 04:35.230
与已知的V值相比, 您选择的Q值好多少？

04:35.230 --> 04:36.370
它就是这么说的｡ 

04:36.370 --> 04:37.840
基本上就是这样｡ 

04:37.840 --> 04:44.800
好了, 我将根据我的策略选择一个Q值,

04:44.800 --> 04:50.710
根据我们使用的是软最大函数还是epsilon贪婪策略之类的,

04:50.740 --> 04:59.170
当然这里会有探索加利用的组合, 但是我们选择了一个Q值, 现在的问题是额外的是什么？

04:59.170 --> 04:59.640
那是什么？

04:59.740 --> 05:00.880
机会的Vantage运行｡ 

05:00.910 --> 05:07.630
与该状态的已知值相比, 您选择的行动带来的优势是什么？

05:07.630 --> 05:09.370
这就是优势的本质｡ 

05:09.370 --> 05:17.860
基本上, 该值用于计算策略丢失, 然后策略丢失被反向传播回网络｡

05:17.860 --> 05:23.830
因此, 它们都通过网络反向传播, 并且权重被调整,

05:23.830 --> 05:26.080
以便网络更好地表示评论者的值｡

05:26.080 --> 05:28.180
这也是最上面的部分｡ 

05:28.180 --> 05:35.020
但这也是关键的一部分, 当保单损失反向传播时, 价值和权重会回来｡

05:35.020 --> 05:41.170
以这样的方式调整权重, 使得该优点最大化｡ 

05:41.170 --> 05:46.540
这就是对它的直观理解的直观方面, 我们通过网络反向传播这种策略损失,

05:46.540 --> 05:51.820
以帮助最大化这种优势｡

05:51.970 --> 06:00.850
这基本上意味着当一个代理遇到不好的行为时, 比如Q值小于该状态的已知值的行为｡

06:00.850 --> 06:07.150
所以基本上整个算法知道状态的值是X, 然后突然你遇到了一个非常糟糕的动作, 你做了一个,

06:07.150 --> 06:11.620
你选择了一个糟糕的动作｡

06:11.620 --> 06:16.480
这对a3c算法意味着什么呢, 为什么我们要做这样的事情,

06:16.480 --> 06:21.850
当它比我们已经知道的更糟糕的时候, 我们已经知道了整个环境, 我们可以做什么｡

06:21.850 --> 06:23.380
所以我们不应该再这么做了｡ 

06:23.380 --> 06:25.810
因此权重在某种程度上得到了调整｡ 

06:25.810 --> 06:29.590
所以这种情况发生得比较少, 所以发生得比较少｡ 

06:30.130 --> 06:33.310
所以这是我们选择错误行为的频率较低的情况｡ 

06:33.310 --> 06:38.260
另一方面, 如果你选择了一个非常好的行动, 其中Q值大于V,

06:38.260 --> 06:42.640
或者在通过网络的政策损失的反向传播过程中,

06:42.640 --> 06:52.150
比过去大得多, 权重将以这样一种方式更新, 以加强, 再次鼓励, 再次保证这种情况再次发生, 这样权重将以这样一种方式调整｡

06:52.420 --> 06:55.060
所以3C算法会想, 哇, 这真的很酷｡ 

06:55.060 --> 06:56.680
优势很大｡ 

06:56.680 --> 07:05.440
我应该做得更多, 因此它将更新的权重, 在这样一种方式, 将更有可能发生在未来的行动｡

07:05.440 --> 07:13.540
因此, 这就是网络是如何慢慢地, 慢慢地适应, 慢慢地把自己构建成某种东西,

07:13.840 --> 07:21.790
一方面正确地计算价值, 另一方面, 或者尽可能正确地计算价值｡

07:21.790 --> 07:28.120
另一方面, 它鼓励或它有一个高优势的行动｡ 

07:28.120 --> 07:29.200
好了, 我们走吧｡ 

07:29.200 --> 07:30.490
这就是这一部分｡ 

07:30.490 --> 07:34.600
现在让我们看另一个例子来加强我们刚才讨论的内容｡ 

07:34.600 --> 07:35.710
让我们看看最上面的一个｡ 

07:35.710 --> 07:37.180
同样的道理｡ 

07:37.180 --> 07:40.870
最高探员看到了一种情况｡ 

07:40.870 --> 07:44.140
一个州在一个州, 然后需要决定做什么｡ 

07:44.140 --> 07:46.540
因此将此信息发送到网络｡ 

07:46.540 --> 07:50.970
这个图像进入网络, 进入卷积层, 池化层, 平面化层,

07:50.980 --> 07:52.960
然后进入隐藏层｡

07:52.960 --> 07:59.080
从这里我们得到一个输出, 我们得到策略的Q值, 我们再次得到这些值, 同样的事情｡

07:59.080 --> 08:00.850
我们有两个损失｡ 

08:00.850 --> 08:05.110
我们已经得到了这里的价值损失, 抛光这里的损失, 价值损失｡ 

08:05.110 --> 08:10.720
我们已经知道它是如何计算的, 我们在深度学习中讨论过这个, 刚才也讨论过这个｡

08:10.720 --> 08:12.730
这就是价值的计算方法｡ 

08:12.730 --> 08:18.340
然后是策略损失, 为了计算这个我们不会进入讨论区, 但是在直观的层面上我们计算优势,

08:18.340 --> 08:25.450
也就是OC, 所以我们采取了一个特定的行动, 我们根据我们的选择策略选择了一个特定的行动,

08:25.450 --> 08:30.700
不管是软的, 最大的还是ε,

08:30.700 --> 08:34.210
贪婪的还是其他我们使用的选择策略｡

08:34.300 --> 08:37.720
然后我们采取了什么行动？

08:37.720 --> 08:44.500
现在, 让我们将它与来自共同批评者的已知国家价值进行比较｡ 

08:44.500 --> 08:50.080
所以这个评论家有点像, 如果你想一想, 他有点像在同时观察所有这些代理人｡

08:50.080 --> 08:51.910
他在看这个, 看这个, 这个｡ 

08:51.910 --> 08:56.920
它们都是为了让批评者更快地了解环境,

08:56.920 --> 09:02.650
确保批评者能代表实际环境中发生的事情, 这样一来,

09:02.650 --> 09:08.440
价值损失就出现在这个权重上, 这样,

09:08.440 --> 09:20.020
实际神经网络的权重就能很好地反映出来, 环境中事物的实际情况, 这样他们就可以依赖这个值, 然后在这里使用它｡

09:20.020 --> 09:26.770
所以基本上所有这些代理人, 所有这些代理人都对这个批评家有贡献｡ 

09:26.770 --> 09:32.350
但与此同时, 通过这种价值损失, 但与此同时,

09:32.350 --> 09:38.140
批评家正在观察这些代理人的决策或政策, 就像是在回顾, 就像我试图画一个箭头, 箭头,

09:38.140 --> 09:40.630
箭头｡

09:40.630 --> 09:43.330
而是回顾他们, 回顾他们所做的决定｡ 

09:43.330 --> 09:46.120
它通过优势来批评这些决策｡ 

09:46.120 --> 09:50.140
它说, 好吧, 你做了一个决定, 你选择了这个, 你选择了这个行动｡ 

09:50.140 --> 09:51.010
那太好了｡ 

09:51.010 --> 09:53.350
现在让我们来计算一下这个分支的优势或劣势｡ 

09:53.350 --> 09:58.840
这是一个等于Q值的我所做的我所做的决定或我所做的选择｡ 

09:59.260 --> 10:04.960
我选择采取的行动减去了批评者已知的价值｡ 

10:04.960 --> 10:06.220
对评论家的已知价值｡ 

10:06.220 --> 10:07.630
所以计算一下差额｡ 

10:07.630 --> 10:13.870
如果您的策略差异很小, 那么当您的策略损失通过网络传播回来时, 调整的方式将鼓励权重以这样一种方式进行调整,

10:14.050 --> 10:19.750
即不会再次发生这种情况｡

10:19.750 --> 10:21.160
Q值或那个东西｡ 

10:21.160 --> 10:22.780
Q值会更低｡ 

10:22.780 --> 10:30.460
因为我们的策略根据Q值选择操作, 所以Q值越高, 它被选择的可能性就越大｡

10:30.460 --> 10:34.930
因此, 如果我们使用ARG max策略, 那么我们将始终选择具有最高值的策略｡ 

10:35.010 --> 10:38.950
大家还记得, 我们讨论过这个问题,

10:38.950 --> 10:44.350
然后我们总是选择最高值的那个, 但实际上我们使用的是概率方法, 而他们使用的是软最大值还是ε贪婪策略？

10:44.350 --> 10:47.440
然后我们基本上选择了可以选择其中任何一个的位置｡ 

10:47.440 --> 10:49.150
但Q值越高越好｡ 

10:49.150 --> 10:55.240
所以如果我们选择了某个东西, 然后优势很低, 然后砰的一声,

10:55.240 --> 11:02.740
网络就会以这样一种方式更新, 下次这个Q值, 这个动作会更少, 而其他动作会更多｡

11:02.740 --> 11:05.980
所以这就是它的结局｡ 

11:05.980 --> 11:11.890
另一方面, 如果我们选择了优势较高的策略, 则会导致策略损失,

11:11.890 --> 11:14.980
然后网络将被更新｡

11:14.980 --> 11:19.510
因此, 这是更常见的观察像的场景｡ 

11:19.510 --> 11:26.620
因此, 基本上, 这整个政策的损失有助于网络适应或变形, 以这样一种方式, 我们做更多的好事,

11:26.620 --> 11:31.570
好, 好的行动和好事, 并做更少的坏事｡

11:31.570 --> 11:34.840
这就是这两个损失如何发挥作用, 这就是它们如何反向传播｡ 

11:34.840 --> 11:39.160
所以希望这能以一种非常直观的方式澄清｡ 

11:39.160 --> 11:44.680
当然, 我们没有深入到公式中, 深入到所有这些背后的复杂数学中,

11:44.680 --> 11:46.840
以及非常复杂的细节中｡

11:46.840 --> 11:52.000
但与此同时,

11:52.000 --> 12:01.030
希望以一种直觉的方式, 这一切都澄清了为什么我们有演员和评论家, 以及他们是如何互动在一起的, 你有这些代理人作为同步｡

12:01.030 --> 12:03.820
这就是同步的一面｡ 

12:03.970 --> 12:08.410
这是, 你知道, 这是你的演员和你的评论家, 这是你的优势, 以及这一切是如何发挥作用的｡

12:08.410 --> 12:10.720
这些是同步代理｡ 

12:10.720 --> 12:16.030
他们在玩这个或者探索环境, 在环境中工作｡ 

12:16.030 --> 12:23.560
他们都是对批评家的贡献, 批评家观察他们的政策, 观察行动者,

12:23.560 --> 12:30.430
这就是所谓的, 通过优势.

12:30.430 --> 12:35.560
因此, 产生了这种政策损失, 然后是政策和价值损失,

12:35.560 --> 12:43.450
它们被传播回来, 以调整网络, 一方面, 为了表现环境中事物的真实方式, 另一方面,

12:43.450 --> 12:47.380
为了提高演员的表演｡

12:47.680 --> 12:48.370
好了, 我们走吧｡ 

12:48.370 --> 12:52.630
这是对我们讨论过的直觉的快速回顾｡ 

12:52.630 --> 12:56.920
再一次, 希望这一切都是在直觉的层面上走到一起的｡ 

12:56.920 --> 13:02.530
当然, 在实践教程中, 我们会更多地讨论这一切是如何工作的｡ 

13:02.530 --> 13:07.690
阿德隆会带你走过这个, 这个建造的过程, 但是在你的脑海里有这个这个图像, 就像是一个所有事情的路线图,

13:07.690 --> 13:12.760
它是如何组合在一起的, 应该是这样｡

13:12.760 --> 13:18.010
我希望这对你更好地掌握实际情况会很有帮助｡ 

13:18.010 --> 13:23.260
至于今天的补充阅读, 我们有两个要素｡ 

13:23.260 --> 13:25.600
所以第一个是优势｡ 

13:25.600 --> 13:33.280
这里我们得到了高维的, 连续控制, 使用的是约翰·舒尔曼的广义优势估计.

13:33.280 --> 13:38.740
这是一个简笔画站起来的图像, 就像站起来一样｡ 

13:38.740 --> 13:44.800
在这里, 你可以找到更多关于优势和优势的信息, 你会发现不同类型的优势｡

13:44.800 --> 13:52.210
所以你已经得到了一般的优势估计, 你已经得到了你在公式中, 在计算中实际使用的优势｡

13:52.210 --> 13:57.790
因此, 如果您想了解有关优势的更多信息,

13:57.790 --> 14:10.060
了解它的确切工作原理､ 背后的公式, 以及我们讨论过的一些顶级元素或公式, 并了解如何实现这一优势, 那么这篇文章就是您的选择｡

14:10.180 --> 14:23.800
还有一个我们想提醒你们的元素或作品是博客, 亚瑟朱利安尼的一系列博客文章, 我们已经提到过几次了｡

14:24.220 --> 14:27.790
这是第八部分, 具体讲的是a3c｡ 

14:28.150 --> 14:33.070
所以这里你可以得到另一种解释｡ 

14:33.490 --> 14:39.340
所以, 如果你对这件事有更多的数学知识, 也许你可以从这里学到一些额外的东西｡

14:39.370 --> 14:41.260
只有两件事要记住｡ 

14:41.260 --> 14:45.880
首先, 和往常一样, 这个博客使用TensorFlow, 而我们使用的是PyTorch｡ 

14:45.880 --> 14:46.750
所以请记住这一点｡ 

14:46.750 --> 14:53.470
第二件事是, 我们构建方法的方式是, 我们首先讨论了积极的批评, 然后我们讨论了同步,

14:53.830 --> 14:58.300
然后我们讨论了优势｡

14:58.480 --> 15:03.820
而在他的博客中, 亚瑟首先谈到了一个同步的和实际的批评和优势｡ 

15:03.820 --> 15:05.470
所以请记住这一点｡ 

15:05.470 --> 15:07.150
希望这不会让你失望｡ 

15:07.150 --> 15:14.380
当然, 除此之外, 这是一个很棒的内容, 我们强烈建议您查看它以获得更多信息｡

15:14.500 --> 15:15.180
好了, 我们走吧｡ 

15:15.190 --> 15:18.560
希望你能喜欢今天的教程, 我期待着下次见到你｡ 

15:18.580 --> 15:20.620
在那之前, 好好享受我｡ 
