大家好, 欢迎回到人工智能课程｡
在今天的故事中, 我们讨论的是a3c中的最后一个A, 我们讨论的是优势｡
就是这样｡
我们之前已经讨论过演员､ 评论家和异步, 并慢慢地构建了我们今天要看的内容｡
有了优势, 我们就可以把所有东西都放在一起｡
这就是我们目前所拥有的｡
我们有一个神经网络, 它在代理之间共享, 异步代理, 然后我们有一个批评者,
它也在代理之间共享｡
那么, 这一切是如何进行的呢？为什么这些批评会在代理人之间分享呢？
让我们来看看｡
好吧, 你要更好地理解这个｡
我们来看一个例子｡
我们来看看这个代理人, 比如说, 看看当他处于某种状态时会发生什么他需要决定采取什么行动.
所以这个特工现在状态不佳｡
他看到了这个图像｡
然后, 这些信息进入神经网络, 经过卷积层,
然后进入池化层, 最后进入扁平化层｡
然后从那里进入神经网络的隐藏层｡
然后作为输出, 他得到所有这些政策值, 政策值, 还有价值,
批评值.
所以, 正如我们所知, 神经网络, 为了运行, 它们需要通过网络传播某些错误或损失｡
这样, 为了更新权重, 我们需要处理哪些权重或哪些损失？
我们有两个损失｡
我们有价值损失和保单损失｡
所以价值损失与价值保单损失与保单挂钩｡
损失的价值, 我们之前已经讨论过了.
我们知道我们有奖励, 我们知道我们有一个折扣系数｡
基本上, 这与我们在深度学习教程中讨论的内容非常相似｡
基本上, 网络预测某个值V, 同时我们可以根据我们目前对环境的了解来估计应该是什么｡
我们可以估计值V在状态中应该是什么, 并且通过比较两者, 我们可以计算值损失, 然后反向传播网络,
更新权重｡
这很简单｡
这里的新情况是保单损失｡
那么, 什么是政策损失, 它是如何工作的？
好吧, 这是整个情况的一部分, 其中的批评是在演员之间或代理人之间分享的,
最终会出现｡
为了理解策略损失, 我们需要引入一个叫做advantage的值,
这也是本教程这一部分和整个算法这一部分的名称｡
优势和优势的计算公式为S的Q和S的A减V｡
所以基本上就是你选择的Q值, 在你所处的状态下, 你选择的动作的Q值, 比如说,
s减去那个状态的值.
这就是两者的区别, 这就是优势.
并将该优势用于保单损失的计算｡
现在我们就不讨论保单损失的计算公式了因为它非常复杂.
它使用熵或者它可以不使用熵｡
我们不会去剖析这个公式, 但是我们会从直觉的层面去理解它｡
我们为什么要这么做？
我们为什么要计算这种优势, 它将如何帮助我们？
好吧, 让我们来看看这个｡
这里的Q值来自神经网络对该代理的预测｡
所以它预测在这个特定的行动中, 在这个特定的状态中它所能发挥的行动｡
所以它有这些动作, 它可以选择其中的一个, 它可以很好地发挥它｡
而V值则是由批评家决定的值｡
这是我们在这个共享部分所拥有的价值｡
这就是关键所在, 这部分是共享的｡
所以批评家, 因为这就是批评家的作用, 因为我们有一个我们选择的价值, 或者我们选择的行动, 在那个状态下,
为这个主体所发挥的作用｡
但是, 批评家可以告诉我们, 这种状态的已知价值是什么？
这一整组共同执行任务的代理的总的已知值是多少？
因为他们分享不仅仅是因为他们分享自然, 而是因为他们分享批评｡
它们都对不同站点的计算值有贡献｡
所以整个a3c算法说, 好的, 所以评论家知道一个V值｡
与已知的V值相比, 您选择的Q值好多少？
它就是这么说的｡
基本上就是这样｡
好了, 我将根据我的策略选择一个Q值,
根据我们使用的是软最大函数还是epsilon贪婪策略之类的,
当然这里会有探索加利用的组合, 但是我们选择了一个Q值, 现在的问题是额外的是什么？
那是什么？
机会的Vantage运行｡
与该状态的已知值相比, 您选择的行动带来的优势是什么？
这就是优势的本质｡
基本上, 该值用于计算策略丢失, 然后策略丢失被反向传播回网络｡
因此, 它们都通过网络反向传播, 并且权重被调整,
以便网络更好地表示评论者的值｡
这也是最上面的部分｡
但这也是关键的一部分, 当保单损失反向传播时, 价值和权重会回来｡
以这样的方式调整权重, 使得该优点最大化｡
这就是对它的直观理解的直观方面, 我们通过网络反向传播这种策略损失,
以帮助最大化这种优势｡
这基本上意味着当一个代理遇到不好的行为时, 比如Q值小于该状态的已知值的行为｡
所以基本上整个算法知道状态的值是X, 然后突然你遇到了一个非常糟糕的动作, 你做了一个,
你选择了一个糟糕的动作｡
这对a3c算法意味着什么呢, 为什么我们要做这样的事情,
当它比我们已经知道的更糟糕的时候, 我们已经知道了整个环境, 我们可以做什么｡
所以我们不应该再这么做了｡
因此权重在某种程度上得到了调整｡
所以这种情况发生得比较少, 所以发生得比较少｡
所以这是我们选择错误行为的频率较低的情况｡
另一方面, 如果你选择了一个非常好的行动, 其中Q值大于V,
或者在通过网络的政策损失的反向传播过程中,
比过去大得多, 权重将以这样一种方式更新, 以加强, 再次鼓励, 再次保证这种情况再次发生, 这样权重将以这样一种方式调整｡
所以3C算法会想, 哇, 这真的很酷｡
优势很大｡
我应该做得更多, 因此它将更新的权重, 在这样一种方式, 将更有可能发生在未来的行动｡
因此, 这就是网络是如何慢慢地, 慢慢地适应, 慢慢地把自己构建成某种东西,
一方面正确地计算价值, 另一方面, 或者尽可能正确地计算价值｡
另一方面, 它鼓励或它有一个高优势的行动｡
好了, 我们走吧｡
这就是这一部分｡
现在让我们看另一个例子来加强我们刚才讨论的内容｡
让我们看看最上面的一个｡
同样的道理｡
最高探员看到了一种情况｡
一个州在一个州, 然后需要决定做什么｡
因此将此信息发送到网络｡
这个图像进入网络, 进入卷积层, 池化层, 平面化层,
然后进入隐藏层｡
从这里我们得到一个输出, 我们得到策略的Q值, 我们再次得到这些值, 同样的事情｡
我们有两个损失｡
我们已经得到了这里的价值损失, 抛光这里的损失, 价值损失｡
我们已经知道它是如何计算的, 我们在深度学习中讨论过这个, 刚才也讨论过这个｡
这就是价值的计算方法｡
然后是策略损失, 为了计算这个我们不会进入讨论区, 但是在直观的层面上我们计算优势,
也就是OC, 所以我们采取了一个特定的行动, 我们根据我们的选择策略选择了一个特定的行动,
不管是软的, 最大的还是ε,
贪婪的还是其他我们使用的选择策略｡
然后我们采取了什么行动？
现在, 让我们将它与来自共同批评者的已知国家价值进行比较｡
所以这个评论家有点像, 如果你想一想, 他有点像在同时观察所有这些代理人｡
他在看这个, 看这个, 这个｡
它们都是为了让批评者更快地了解环境,
确保批评者能代表实际环境中发生的事情, 这样一来,
价值损失就出现在这个权重上, 这样,
实际神经网络的权重就能很好地反映出来, 环境中事物的实际情况, 这样他们就可以依赖这个值, 然后在这里使用它｡
所以基本上所有这些代理人, 所有这些代理人都对这个批评家有贡献｡
但与此同时, 通过这种价值损失, 但与此同时,
批评家正在观察这些代理人的决策或政策, 就像是在回顾, 就像我试图画一个箭头, 箭头,
箭头｡
而是回顾他们, 回顾他们所做的决定｡
它通过优势来批评这些决策｡
它说, 好吧, 你做了一个决定, 你选择了这个, 你选择了这个行动｡
那太好了｡
现在让我们来计算一下这个分支的优势或劣势｡
这是一个等于Q值的我所做的我所做的决定或我所做的选择｡
我选择采取的行动减去了批评者已知的价值｡
对评论家的已知价值｡
所以计算一下差额｡
如果您的策略差异很小, 那么当您的策略损失通过网络传播回来时, 调整的方式将鼓励权重以这样一种方式进行调整,
即不会再次发生这种情况｡
Q值或那个东西｡
Q值会更低｡
因为我们的策略根据Q值选择操作, 所以Q值越高, 它被选择的可能性就越大｡
因此, 如果我们使用ARG max策略, 那么我们将始终选择具有最高值的策略｡
大家还记得, 我们讨论过这个问题,
然后我们总是选择最高值的那个, 但实际上我们使用的是概率方法, 而他们使用的是软最大值还是ε贪婪策略？
然后我们基本上选择了可以选择其中任何一个的位置｡
但Q值越高越好｡
所以如果我们选择了某个东西, 然后优势很低, 然后砰的一声,
网络就会以这样一种方式更新, 下次这个Q值, 这个动作会更少, 而其他动作会更多｡
所以这就是它的结局｡
另一方面, 如果我们选择了优势较高的策略, 则会导致策略损失,
然后网络将被更新｡
因此, 这是更常见的观察像的场景｡
因此, 基本上, 这整个政策的损失有助于网络适应或变形, 以这样一种方式, 我们做更多的好事,
好, 好的行动和好事, 并做更少的坏事｡
这就是这两个损失如何发挥作用, 这就是它们如何反向传播｡
所以希望这能以一种非常直观的方式澄清｡
当然, 我们没有深入到公式中, 深入到所有这些背后的复杂数学中,
以及非常复杂的细节中｡
但与此同时,
希望以一种直觉的方式, 这一切都澄清了为什么我们有演员和评论家, 以及他们是如何互动在一起的, 你有这些代理人作为同步｡
这就是同步的一面｡
这是, 你知道, 这是你的演员和你的评论家, 这是你的优势, 以及这一切是如何发挥作用的｡
这些是同步代理｡
他们在玩这个或者探索环境, 在环境中工作｡
他们都是对批评家的贡献, 批评家观察他们的政策, 观察行动者,
这就是所谓的, 通过优势.
因此, 产生了这种政策损失, 然后是政策和价值损失,
它们被传播回来, 以调整网络, 一方面, 为了表现环境中事物的真实方式, 另一方面,
为了提高演员的表演｡
好了, 我们走吧｡
这是对我们讨论过的直觉的快速回顾｡
再一次, 希望这一切都是在直觉的层面上走到一起的｡
当然, 在实践教程中, 我们会更多地讨论这一切是如何工作的｡
阿德隆会带你走过这个, 这个建造的过程, 但是在你的脑海里有这个这个图像, 就像是一个所有事情的路线图,
它是如何组合在一起的, 应该是这样｡
我希望这对你更好地掌握实际情况会很有帮助｡
至于今天的补充阅读, 我们有两个要素｡
所以第一个是优势｡
这里我们得到了高维的, 连续控制, 使用的是约翰·舒尔曼的广义优势估计.
这是一个简笔画站起来的图像, 就像站起来一样｡
在这里, 你可以找到更多关于优势和优势的信息, 你会发现不同类型的优势｡
所以你已经得到了一般的优势估计, 你已经得到了你在公式中, 在计算中实际使用的优势｡
因此, 如果您想了解有关优势的更多信息,
了解它的确切工作原理､ 背后的公式, 以及我们讨论过的一些顶级元素或公式, 并了解如何实现这一优势, 那么这篇文章就是您的选择｡
还有一个我们想提醒你们的元素或作品是博客, 亚瑟朱利安尼的一系列博客文章, 我们已经提到过几次了｡
这是第八部分, 具体讲的是a3c｡
所以这里你可以得到另一种解释｡
所以, 如果你对这件事有更多的数学知识, 也许你可以从这里学到一些额外的东西｡
只有两件事要记住｡
首先, 和往常一样, 这个博客使用TensorFlow, 而我们使用的是PyTorch｡
所以请记住这一点｡
第二件事是, 我们构建方法的方式是, 我们首先讨论了积极的批评, 然后我们讨论了同步,
然后我们讨论了优势｡
而在他的博客中, 亚瑟首先谈到了一个同步的和实际的批评和优势｡
所以请记住这一点｡
希望这不会让你失望｡
当然, 除此之外, 这是一个很棒的内容, 我们强烈建议您查看它以获得更多信息｡
好了, 我们走吧｡
希望你能喜欢今天的教程, 我期待着下次见到你｡
在那之前, 好好享受我｡