大家好, 欢迎回到人工智能课程｡
我希望到目前为止你喜欢这门课｡
今天我们要讲的是行为选择策略｡
好吧, 我会的
让我们直接进入它｡
之前, 我们讨论过在简单学习中加入神经网络｡
到目前为止, 我们已经进入了深度学习阶段｡
我们已经讨论了很多学习部分, 包括添加一些元素｡
今天我们要讲的是这个部分｡
我们说的是演技｡
让我们来看看｡
这里我们已经讨论过了, 一旦你输入了数值, 参数或者向量, 描述了智能体当前所处的状态, 在那个环境中,
那么, 毕竟, 学习已经完成了,
或者甚至在学习完成之前｡
基本上我们得到了所有的提示值｡
所以我们现在对学习不感兴趣｡
我们对表演感兴趣｡
那么, 一旦我们有了这些线索值, 我们如何知道我们需要使用哪一个呢？
如果你仔细想想, 提示值就是这些是对立方体值的预测.
那么, 正如我们在简单学习算法中所做的, 我们做了什么？
我们只是选择了一个最好的, 具有最高的线索价值｡
一旦我们有了最高价值的一个, 我们就采取行动, 因为它只会给我们带来最高价值｡
我们都知道｡
Q值计算为我们期望获得的即时奖励加上因子乘以下一状态的值｡
这是一个递归计算｡
为什么不呢？
为什么不选择最佳队列值？
就这样结束了｡
但正如你在这里看到的, 事情并不那么简单｡
这里我们使用了一个软最大值函数, 我们将在这里讨论动作选择策略.
所以在这里, 实际上, 我们不需要只有一个self max函数｡
我们可以有不同的操作选择策略｡
例如, 我们有epsilon greedy, epsilon soft,
还有softmax, 这些都是最常用的动作选择策略｡
当然还有其他人｡
例如, 最基本的一个是这里有一个非常简单的操作选择策略｡
只需选择最佳, 即Q值最高的那一个｡
但为什么这一行动政策没有奏效呢？
为什么我们有不同类型的行动策略, 行动选择策略？
好吧, 这一切都归结为探索和利用, 这是强化学习的核心, 因为我们已经讨论过了, 你的代理,
当它在一个环境中运行时, 它可能会预测某些关键值,
这可能是好的, 它可能会, 也可能不会变得很好｡
结果可能是这些价值观是不好的, 我们将被迫探索｡
如果我们, 比如说, 在这个例子中,
预测Q2是最好的一个, 然后它选择你们两个, 采取行动二, 然后它从这里开始, 它采取行动二, 然后它得到, 它得到一个非常负的奖励｡
然后环境迫使代理去探索, 因为现在它要学习, 哦,
实际上我以为Q2会很好, 但结果很糟糕｡
所以结果很糟糕｡
所以网络会自我更新｡
所以下一次他在这种状态下, 他可能还是会选择｡
第二, 如果它是, 你知道, 如果它是非常, 非常有利｡
所以你可能会认为, 他可能需要几次惩罚才能知道Q2是一个糟糕的行动｡
但也许他很快就会明白了｡
好吧, 我会采取不同的行动｡
我将采取此操作, 因为现在它具有最佳Q值｡
因此, 有时环境迫使代理采取不同的探索不同的行动,
但有时代理可能会发现自己陷入了局部最大值｡
它可能会发现, 在最初的探索过程中, 它会一直跟随下去｡
它发现, 哦, 这是一个很酷的动作, 就像我要在这里, 这是一个很酷的动作｡
但问题是, 它认为这是最好的行动, 仅仅是因为它没有探索｡
向上探索的是向左探索, 它的探索者是向右探索,
但它还没有从它所处的特定状态向下探索.
现在它有点偏向于这个行动, 它认为这是一个好的行动, 会继续采取,
会继续得到｡
他会继续采取这种行动会继续得到很好的奖励｡
但如果这个行动会更好呢？
如果这个动作会好得多, 如果它知道这个动作, 它实际上会切换到这个动作｡
但因为它卡在了局部最大值, 它得到了很好的回报, 所以它会得到加强
它会不断地自我强化, 或者环境会强化它, 这是一个好的行动｡
继续这样
但实际上, 还有一种行为, 它还没有发现, 甚至还没有探索,
那会更好｡
所以我们要做的是我们要提出一个动作选择策略, 让我们的代理人不会陷入局部最大值｡
是的, 坚持做好事很重要｡
这就是剥削的部分｡
我们想利用我们的发现, 但同时我们仍然想探索｡
我们从未停止探索｡
这就像在生活中你永远不想停止学习｡
你停止学习, 你就死定了｡
那是｡
有一种说法是, 当你不成长, 你就死了或类似的东西｡
所以你想不断学习, 你的经纪人也想不断学习｡
这就是行动选择策略的作用所在｡
这里列出了三个｡
第一个是贪婪的爱普西隆｡
这是一个非常简单的问题｡
它听起来很复杂, 就像它有一个很酷的名字, 通常有这么酷名字的东西都很复杂｡
其实不是｡
基本上, 它会选择Q值和ε最佳的一个, 比如ε Greek｡
你可能在其他地方听到过｡
这就像一个选择政策｡
在本例中, 我们使用它来选择Q值, 即不起作用｡
因此, 除了Epsilon百分比的情况外, 您将始终选择Q值最高的一个｡
例如, 如果你将ε设为10%, 那么你将得到或0｡ 1.
那么有10%的时间会随机选择动作｡
因此, 90%的情况下, 您仍将根据最高Q值选择最佳操作｡
但10%的时间是选择一个随机行动制服, 这将是绝对随机采取一个行动｡
或者将epsilon设置为0｡ 540. 05, 这意味着95%的情况下,
代理将采取具有最高值的操作｡
但有5%的情况下, 它仍然是随机选择的.
所以我们要走出去探索｡
所以Epsilon Soft非常相似｡
哦, 顺便说一句, 这有点像为什么它被称为ε贪婪, 因为你贪婪地选择行动,
好的行动, 除了那一小部分ε的时间｡
所以ε越小, ε越小, 你就越贪婪地选择这种动作｡
这是最佳的行动｡
你离开的越少, 去探险的机会就越少｡
Epsilon Soft则相反｡
所以基本上你是随机选择的, 你选择的概率是1-ε %｡
所以如果ε等于0｡ 1, 也就是10%, 那么只有10%的时间你会采取这个行动,
而90%的时间你会选择一个随机行动｡
所以非常简单, 只是反转算法, 而软最大值有点像是Epsilon贪婪算法的下一个步骤,
或者更高级的版本, 我会说,
是Epsilon贪婪算法的下一个版本, 尽管它们都有优点, 它们都有我们在编码和实际应用中使用软最大值的地方｡
这就是为什么我们要更详细地讨论Soft Max的原因｡
让我们来看看｡
现在让我们来看看Soft Max｡
希望它对Epsilon的成分非常清楚｡
这是一个非常简单的算法｡
除了有时去探索之外, 大多数时间都选择这一条｡
现在我们也明白了为什么进行探索很重要, 这样我们在优化过程中就不会陷入局部最大值｡
现在我们来多谈一点软max｡
在中的课程末尾有一个有关Soft Max的教程｡
我认为这是第二个附件, 我们在这里讨论了Soft Max背后的概念｡
我在这里稍微刷新一下｡
所以他们在讨论卷积神经网络｡
顺便说一句, 我们都将学习卷积神经网络,
这节课我们不学习卷积神经网络｡
在本节中, 我们仍然使用矢量｡
但在下一节课中, 当我们创造一个人工智能来玩末日游戏时, 我们将使用卷积神经网络.
因此, 研究卷积神经网络, 然后采用软最大函数, 这对你是有益的｡
或者你可以在学习完卷积神经网络和X之后, 学习更多关于SOF Max的知识｡
但这里有一个快速刷新｡
所以这里我们有一个卷积神经网络来决定它是狗还是猫｡
这里我们看到了这些神经元之间的投票过程｡
这个说它有它的特征, 你知道, 毛茸茸的耳朵, 尖的,
尖的脸之类的｡
和其他类型的眼睛一样的特征, 眼睛, 眼睛看起来的样子, 所有这些特征都属于狗｡
所以有95%的可能是狗, 5%的可能是猫｡
但问题是, 我们是怎么得到的, 在我们正在讨论的那个教程中, 我们是怎么得到这些值之和的？
好吧, 不管是卷积还是我们整个神经网络｡
所以卷积神经网络加上完全连接的层, 不管它吐出什么, 不管吐出什么值,
我们在这里应用了一个软最大函数｡
这就是我们引入软极大函数公式的地方｡
看起来是这样的
然后我们得到了这些值｡
基本上这是一个快速的复习｡
这是软最大值的公式｡
它所做的是它需要无论你有多少输出｡
这不重要｡
它会把它们都压缩成0到1之间的值, 不管它们有多大｡
只是｡
看看这个, 你可以看到在底部有一个总和｡
所以这些值应该是0, 在0和1之间｡
所有这些值加起来总等于1｡
这对我们非常有利, 因为当我们使用软最大值函数时, 我们会得到这些Q值,
然后选择最佳值｡
但实际上, 我们得到的这些Q值是真实的数字, 对吗？
所以它们是某种数字｡
它们不一定要加起来等于1, 也不一定要在0和1之间, 只是一些数字｡
但是当我们应用软最大值时, 我们不只是选择最好的一个｡
我们实际上得到了这样的数字｡
所以我们得到了0到1之间的数, 它们的和也是1｡
那么我们还知道什么东西能加起来是1呢？
概率我们知道概率之和总是等于1.
这就是为什么我们可以说这里有Q值, 但这里突然有了软值或者概率｡
所以我们可以说这是最佳行动的可能性是90%｡
这最好在最好的部分, 5%, 2%, 3%｡
因为我们知道Q值越高, 动作越好｡
所以如果我们把它们压缩成0到1, 那么这些就变成了概率, 我们就可以这样处理它们｡
因此现在是选择动作的时候｡
这就是我们得出Q2的方法｡
但如果你仔细看, 这不是一个严格的100%, 这些也不是0%｡
所以这是5%, 2%, 3%｡
所以为了保持算法中的探索性, 应用软最大值的最自然的方法是,
使用这些精确的概率作为我们采取行动的频率｡
所以这些概率实际上代表了我们所采取的这些行动的分布｡
所以基本上, Soft Max让我们很容易想出一个将开发和探索结合起来的方法｡
所以最好的行动总是有最高的概率, 因为它有最高的Q值｡
因此, 这里我们将使用这些作为我们的分布,
我们会说, 好的, 我们会在90%的时间里取Q, 但在5%的时间里我们还是会取Q｡
Q为1, 2%的时间我们会做3, 3%的时间我们会做3｡
问四｡
这里的美妙之处还在于, 随着这些值的更新,
随着代理通过网络, 越来越多, 它变得越来越熟悉环境, 因此这些更新｡
所以这个值, 比如说, 它可能会确定这个值实际上更小或者实际上更大｡
所以这些概率也会随着代理人的经历而改变｡
所以, 即使我们有你们两个, 也没有人会说,
有时候5%的时间, 更准确地说, 我们会选择Q 1作为要采取的行动,
有时候或行动1会采取行动1, 有时候我们会通过2行动3采取行动, 2%的时间, 行动4会采取大约3%的时间｡
所以每个动作都有机会在这个过程中发挥作用只要我们有足够的迭代, 并且代理人经历了很多很多次,
通过他们所处的这些状态｡
这就是任何深度学习算法的工作原理, 你要做很多很多次,
这样你就可以从经验中学习｡
因此, 正如你在这里看到的, 这是一个非常自然的转变, 我们不只是随机地像一个epsilon贪婪算法｡
我们不是随机选择行动｡
我们根据它们的软最大值来选择它们, 这使得它看起来像是有一些逻辑在背后, 而不仅仅是随机的｡
我们有10%的时间选择一个随机动作, 但我们这样做背后有一些逻辑｡
根据我们研究过的Q值｡
这就是我们在这门课上要用到的行动选择策略.
如果您愿意, 欢迎您查看Epsilon Greedy Action
Selection策略, 但我们将主要使用软max操作选择策略｡
我有一个有趣的阅读给你｡
因此, 这被称为基于值差异的强化学习中的自适应Epsilon贪婪探索｡
这是2010年的文章
这很有趣, 因为迈克, 米歇尔, 我不知道怎么发音｡
Michelle和Michael在谈话中介绍了一种不同类型的算法,
因此一种经过调整的ε贪婪算法又称为VD VB算法或ε贪婪VB算法｡
你可以看到它在这里｡
他实际上把它和Max的EPS成分进行了比较｡
这是一个epsilon贪婪算法, 基本上它的主要思想是根据智能体所处的状态来调整epsilon的值｡
所以若若探很关心这一点｡
那么ε应该更小, 所以应该有更少的探索｡
如果代理商不确定, ε应该更高, 应该更多地勘探｡
所以这是一篇2010年的文章｡
我不确定这个新提出的算法是否被广泛使用, 或者是否被社区所接受,
或者人工智能是否已经远离了这个建议｡
但不管怎样, 它肯定会帮助你巩固我们讨论过的关于行动选择政策的知识｡
epsilon成分, 软max会帮你的｡
它会给予你一个机会来并排比较它们, 也会看到人们在想要改进人工智能时实际上是往哪个方向想的｡
所以如果你打算创造一些非常有趣的算法来推动人工智能的发展, 推动这个领域的发展,
那么这可能是一个很好的方式,
让你看到当人们试图改进人工智能的规范或者2010年存在的规范时, 他们有时会往哪个方向想｡
好了, 我们走吧｡
希望您喜欢今天关于操作选择策略的教程｡
我们学习了Epsilon Greedy､ Epsilon Soft和soft max,
现在你对实际的一面做了更多的准备｡
说到这, 我期待着下次见到你｡
在那之前, 好好享受吧｡
一､