大家好, 欢迎回到人工智能课程｡
在今天的教程中, 我们将讨论它的一个附加功能｡
我们将实现我们的3C算法｡
它被称为长时短时记忆或简称为长时记忆｡
让我们先看看目前为止的情况, 然后讨论为什么需要LST以及什么是LSM｡
到目前为止, 我们已经讨论了三个C算法｡
我们已经讨论了A3C中的所有三个字母A, 当然, 我们已经看到它实际上要复杂一些,
比我们在这张图上看到的复杂得多｡
实际上, 我们有三个或更多的多个代理在环境中运行, 它们相互之间进行通信, 依此类推｡
但为了简单起见, 今天的故事, 我们将用一个代理来说明一切｡
最后, 我们有这个演员部分, 评论家部分｡
所以基本上, 一旦我们有了一个状态, 这个状态到这个图像要经过一个卷积层, 然后它要经过一个池化层,
到一个平面化层｡
在这一点上, 我们有值或数字, 然后通过网络传播, 他们进入隐藏层｡
然后作为输出, 我们得到政策或行动者部分, 他们得到国家的价值,
我们得到批评者部分｡
我们今天要做的就是讨论这个隐藏的部分｡
所以在隐藏层中, 我们可以将其提升到下一个级别, 并进行修改｡
我们已经看到, 算法存在多个修改｡
我们见过其中一个｡
我们已经看到, 在某些情况下, 您可以拥有网络的这一主要部分, 这一部分对于每个代理都是独立的,
或者您可以拥有网络的这一主要部分, 这一部分是共享的｡
这就是我们在之前的直觉实验中看到的, 我们有一个共享的网络部分｡
此网络在代理之间共享｡
正如阿德隆将在实践教程中告诉你的更多, 这真的有助于突破的挑战｡
还有很多很多其他的方法可以修改算法, 很多其他的附加功能可以实现｡
我们要讨论其中一个,
因为我们实际上会在一组实用的教程中介绍它, 在你进入层之前, 你可以添加一个lshtm层,
一个神经网络层, 它允许你的算法, 它允许算法有记忆, 它允许算法记住以前发生的事情｡
我们现在会更详细地讨论Lshtm｡
但基本上, 您可以在此处添加一个额外的层, 这是一个列表层,
并通过为另一个功能添加一些额外的内存来增强您的算法｡
在分形材质中, 你会看到, 在最后一层之后,
我们甚至不需要任何隐藏层, 所以你会在预先实现中看到｡
他马上就有了平整层｡
之后, 他就有了系统层｡
基本上, 这个框代表lshtm层｡
然后马上就可以得到输出｡
因此, 他甚至不需要任何其他隐藏层, 因为这是lshtm层为算法增加的能力｡
同样, 神经网络的算法或架构, 也是一个非常个体化的东西｡
这是个人的喜好, 是个很有创意的东西｡
因此, 您可能希望有两个图层, 一个分析师图层, 然后列表中有五个隐藏图层｡
这完全取决于你自己, 也取决于你的实验和探索｡
但这是我们在实践教程中得出的结论｡
因此, 您会看到我们有一个平面化层, 然后是lsd1层, 最后是输出｡
现在我们已经讨论了这么多关于这个层的内容, 这个列表层是什么？
好吧, lshtm层增加了记忆, 提供了一个特性,
比如允许神经网络拥有关于之前迭代中发生的事情的记忆｡
它经常被象征或用一个像这样的符号来表示｡
这是我们刚刚开始, 我只是把它放在这里｡
我知道它看起来很弯曲, 但我把它放在这里, 这样你就可以看到, 当我们进一步讨论这张图片时, 你就可以看到发生了什么｡
这是这一层的输出, 这是我们的, 这是一个完整的层｡
所以这是一个价值向量｡
X是一个向量值, 它会进入三明治｡
我们现在讨论一下, 然后作为输出, 你会得到另一个向量, 它是这些商店的连接,
或者它以某种方式与网络联系在一起｡
在我们的例子中, 作为一个输出, 你得到这个, 你得到这个｡
让我们更详细地了解一下｡
所以我们只关注这一部分｡
事实上, 你们可能注意到了, 字母的大小,
我们要把它翻到一边.
所以像这样的混乱只是为了重申一个事实, 即使它看起来像这样, 实际上发生的是一层价值观,
一个完整的价值观向量｡
有些事情正在发生, 我们会时不时地讨论一下｡
一整个矢谷都是在这里发生的｡
这就是那一层｡
这不仅仅是一个元素, 这是层本身｡
所以我们再回过头来｡
再重申一遍, 这一层归这一层｡
发生了一些事情, 层出来了｡
所以这就是这个系统只是在它的一边｡
所以讨论起来容易些｡
这是常见的表示法｡
好吧, 我会的
现在我们已经同意为什么这张图片是在它的一边, 我们将如何进行这一点？
让我们开始深入研究这种情况｡
那么蒸汽层内部会发生什么呢？
这就是它的样子｡
当然, 这看起来很复杂｡
我们现在肯定不会讨论所有这些, 因为有很多东西需要讨论｡
重点是, 运营是一个层次的运营, 只是有很多正在进行的事情或很多复杂的细节, 我们不打算讨论,
因为否则会使本课程泡汤｡
而这并不是目的, 也不是要在这里谈梗｡
我们只需要利用每种弹性体｡
如果你想了解更多关于Tams的信息, 你可以去克里斯托弗·奥拉斯的博客｡
他很好地描述了所有的词干, 我们也在深度学习时代谈论LCMS｡
当然, 您可以在那里查看｡
我们还有一整节是关于递归神经网络和神经干的｡
基本上, 这是LCM的内部部分, 所发生的事情就像是层进入｡
所以我们将从直觉的层面, 从一个非常基本的内在层面来讨论这个问题｡
仅仅, 仅仅,
仅仅什么, 什么就足以让我们理解发生了什么, 为什么会有记忆, 这样你也可以更好地理解艾伦在实现这个的时候所说的｡
所以在所有这些东西里面都有一层东西｡
层熄灭｡
我们需要实际看到的是, 这些部分, 实际上有额外的输入到这一层｡
请记住, 通常您有来自上一层的输入, 然后是此层, 最后是输出｡
如果你想想我们之前看到的图像, 正常的网络, 不是, 不是在它的一边, 而是从左到右,
不是从上到下到上, 而是香草茎, 你实际上有更多的输入｡
所以我知道这变得更加复杂, 但这些事情至少我们可以理解它们｡
这是你的记忆细胞, 这是钥匙, 这就是你会听到阿德隆谈论的｡
因此, 存储单元是保存在系统中的东西｡
因此, 这些输入和输出实际上都在这里｡
你现在看到的是时间轴｡
所以这是在时间中解开的｡
在一个特定的迭代中, 会发生这种情况, 但是这个值是从过去的值中取出来的, 这个值被传递到这些值中｡
这些价值观取自过去, 并传递给未来, 以及它们如何通过LHS团队的工作方式顺利传递｡
所以不用太担心这里发生了什么, 我们只需要知道,
这个层已经存在了, 这里我们已经有了一个来自过去的值, 它存储在lshtm中｡
在长､ 短期记忆中｡
我们有一个记忆单元, 不管之前的值是什么, 它都在这里.
你也看到了｡
它只是自由地流过, 除了这些点操作, 它可以被关闭或添加一些东西｡
但不管怎样, 它只是一些自由流动的价值｡
所以基本上它被传递到下一个时间点, 下一个时间点｡
所以你可以把它想象成一个像闪存驱动器之类的内存, 或者这个细胞拥有的东西｡
它只会记住之前的值.
然后它可以使用这个值来做加法或者从这个值中读取等等｡
这个值是隐藏状态, 它是这样的, 因此H和隐藏状态基本上是另一个来自过去的值,
然后在系统内部使用｡
最后你可以看到, 在这一切发生之后, 你得到的是一个层, 它出来了｡
所以你得到的这个值和向前传递的值是一样的｡
所以LLS团队记住了两件事｡
在lshtm中有一个常量值, 就像stays一样, 可以像这样改变｡
有一个闪存驱动器, 像一个常量值｡
所以记忆细胞, 你可以, 你可以在那个空间里, 在那个记忆里, 储存一些东西,
这些东西将被传递到未来｡
所以在下一次迭代中, 就像算法在一个环境中, 它看到了什么, 做了什么, 等等｡
在团队中, 您可以存储某个值, 即使处于下一个状态, 它也会记住该值｡
另一个值也会记住它之前的输出, 它会自动记住之前的输出.
输出在这里输出在这里｡
这基本上就是LSM中发生的非常非常高的水平｡
同样, 如果您想了解更多详细信息, 您可以找到大量资源｡
在这个阶段, 我们不需要对所有这些事情进行太多的详细介绍｡
我们只需要了解什么是记忆单元, 什么是隐藏的记忆单元, 什么是隐藏的状态,
以及它们如何促进｡
列表的内存｡
现在的问题是, 既然我们已经对所有这些有了一个大致的了解,
来巩固或巩固这些知识, 或者给予这些知识一个理由, 让我们问一个问题, 为什么我们需要记忆？
为什么我们的a3c或其他算法需要内存？
好吧, 让我们看看我们的例子, 我们在这一节要面对的挑战｡
所以挑战是突围｡
在突围中会发生什么？
好吧, 在突破中, 你有这样的环境, 这些小块, 你需要用这个小球摧毁｡
你需要确保这是你喜欢的球拍或平台, 这是移动｡
当球飞起来的时候, 它必须接住球, 然后从平台上弹回来, 打到球上, 或者从墙上弹回来,
打到拦网上, 然后回来.
所以这就是你需要完成的事情的本质｡
但是现在让我们看看这个球, 就像想象你是一个an, an, a3c算法, 或者是一个在a3c里面的代理,
你看到这张图了吗？
你从这里提取了什么？
你在这里会采取什么行动？
从这里？
所以你能看到球在飞, 对吧？
它飞起来了, 对吧｡
所以它要去某个地方, 也许它正朝你飞过来｡
好吧, 我知道了
你能不能做出这个结论？
你能预料到它朝你走来吗？
你也许可以｡
也许你是在正确的位置接球｡
但如果球实际上不是朝那个方向飞呢？
那飞的是什么？
如果它朝那边飞呢？
问题是, 你不能从这张图像中分辨出它的飞行方向, 因为你不知道它在前一刻的位置｡
所以如果它在这里, 那么它就在飞这个｡
所以如果你有, 如果你知道时间上的前一刻, 如果你知道它在这里, 那么, 现在你知道,
这里是作为一个人｡
你只要把这两个画一条线, 你就会说, 哦, 酷, 所以它是这样的｡
但是如果你知道它在这里, 你就画一条线到这些看台去｡
而且, 看看这个｡
它可能就在这里｡
也许它在往上走, 也许它真的往那个方向走｡
所以也许它就在这里, 而我正往上走｡
所以仅仅从那一个形象来看是很难的｡
这实际上是不可能的｡
这就像几何学上不可能知道球是朝哪个方向飞的｡
所以这就是为什么上次记忆真的, 真的帮助算法, 没有记忆, 它仍然可以做得很好,
但它可能会像猜测, 或者,
你知道, 找到其他方式来理解去哪里, 但只是尊重一个记忆｡
因此, 如果我们使用该值返回, 那么, 这有点像上一个值的输出,
或者, 您可以将其存储在此处, 或者基于该值, 例如,
基于从上一个时间点获得的信息｡
从这里发生的事情来看, 这就是你的球之前所在的位置｡
因此, 您可以通过这里传递上一时间点的环境信息, 现在您就拥有了这些信息｡
现在你不仅从图像中得到信息, 如果我们再往前看, 你会从图像中记住信息｡
好吧, 这是厄运, 但我们实际上是在处理图像中的突破信息, 这里,
这里, 变成了这些扁平的值｡
这就是进入系统的图像信息｡
现在突然间, 就像你记得的那样, 不是从某个地方来的, 而是从以前的时间点来的｡
所以这就是为什么你根本不能证明它是从哪里来的, 而是从球和从左到右｡
它实际上只是停留在lshtm层｡
您只需通过系统的体系结构就可以获得这些信息｡
你有关于之前发生的事情的信息｡
所以我们回到这里, 这里的信息帮助你现在做一个决定, 做什么, 帮助算法做一个决定, 现在突然之间, 它知道了,
哦, 好吧｡
所以球实际上要么是朝这个方向飞, 要么是朝这个方向飞.
所以我来对地方了, 我应该留在这里｡
球朝我的方向来了｡
或者如果它意识到球飞到了那里, 它应该开始向左移动, 因为如果它再等一段时间,
就太晚了, 它会错过球.
这就是lshtm层在这个算法中的作用, 这也正是我们在学习Adland的实践教程时会看到的｡
好了, 我们走吧｡
这就是这个团队的工作方式｡
还有一个额外的注意事项, 正如我们在开始时提到的, 埃利斯时报不是100%必要的｡
它们不是一个完整的, 就像它们没有完全依附于这个算法一样｡
你可能会想把它们放进去, a3c算法｡
您可能不想拥有它们, 具体取决于具体情况和您选择的体系结构｡
有很多的增加, 我们已经讨论过, 增加或修改, 神经网络在参与者之间共享,
在代理之间不共享, 或者不共享｡
现在尽管如此｡
在实践教程中, 你们会看到另一个例子, 我们加入了熵, 它是在保单损失中计算的,
阿德隆会带你们去的｡
所以基本上, 在一个算法中可以有很多不同的修改｡
只要记住这要看情况｡
你想要达到的目标｡
如果你要实现很多这样的算法, 尝试不同的算法, 这也会鼓励你去探索｡
我们已经讨论了几个, 也许你可以找到一些额外的修改, 可能会感兴趣的｡
或者当你在看这些教程的时候, 也许到那时更多的修改已经出来了, 这很有趣｡
所以这绝对是你可以研究的东西, 它可以进一步增强你对人工智能的知识,
以及如何创建这些算法｡
在这一点上, 我希望你喜欢今天的教程, 我期待着你下一次｡
在那之前, 好好享受吧｡
一､