我读到了Tesauro的TD-Gammon计划,并希望将其用于tic tac toe,但几乎所有的信息对我来说都是高中生无法访问的,因为我不知道术语.
这里的第一个等式,http://www.stanford.edu/group/pdplab/pdphandbook/handbookch10.html#x26-1310009.2
给出了"一般监督学习范式".它表示等式左边的w sub t是时间步t的参数向量."时间步长"究竟是什么意思?在设计用于输出电路板状态值的tic tac toe神经网络的框架内,时间步长是指给定游戏中播放的片段数量吗?例如,由字符串"xoxoxoxox"表示的板将在时间步骤9处并且板"xoxoxoxo"将在时间步骤8处?或者时间步骤是指自培训开始以来经过的时间量?
由于w sub t是给定时间步长的权重向量,这是否意味着每个时间步都有自己的评估函数(神经网络)?因此,要仅通过一次移动来评估电路板状态,您必须输入不同的NN,而不是通过两次移动来馈送电路板状态?我想我在这里误解了一些东西,因为据我所知,Tesauro只使用一个NN来评估所有的董事会状态(尽管很难找到关于TD-Gammon的可靠信息).
为什么输出的梯度取决于w而不是w sub?
提前感谢您澄清这些想法.我将不胜感激任何关于我的项目的建议或对易读阅读材料的建议.
machine-learning reinforcement-learning tic-tac-toe temporal-difference
就我的理解而言,可以通过神经网络替换Q值(状态 - 动作 - 对 - 评估)的查找表来估计这些状态 - 动作对.我编写了一个小型库,它能够通过一个自建的神经网络进行传播和反向传播,以便为某个输出内容学习所需的目标值.
所以我在google搜索时也发现了这个网站,并在网上搜索(就像我觉得的那样):http://www.cs.indiana.edu/~gasser/Salsa/nn.html Q-learning结合的地方很快解释了一个神经网络.
对于每个动作,都有一个额外的输出神经元,这些输出 - "单位"之一的激活值告诉我,估计的Q值.(一个问题:激活值是否与神经元的"输出"相同或不同?)
我使用标准sigmoid函数作为激活函数,因此函数值x的范围是
0<x<1
Run Code Online (Sandbox Code Playgroud)
所以我想,我的目标值应该始终从0.0到1.0 - >问题:我的理解是否正确?或者我错过了解一些事情?
如果是,则存在以下问题:计算目标奖励/新Q值的等式是:q(s,a)= q(s,a)+学习率*(奖励+折扣因子*q'(s,a ) - q(s,a))
那么如果目标应该从0.0到1.0,我如何执行这个等式来获得神经网络的正确目标?我如何计算良好的奖励价值?走向目标更值得,而不是远离它?(接近目标时更多+奖励而不是更远距离目标的奖励?)
我想我的一些误解.我希望,你可以帮助我回答这些问题.非常感谢你!
artificial-intelligence reinforcement-learning neural-network
在使用广义时间差分(例如SARSA,Q学习)的任何标准强化学习算法中,出现的问题是用于特定任务的λ和伽马超参数的值.
我知道lambda与资格痕迹的长度有关,而gamma可以解释为折扣未来的奖励多少,但是我怎么知道我的lambda值对于给定的任务来说太低了,或者我的gamma太高了?
我意识到这些问题没有明确定义的答案,但是知道某些"危险信号"会产生不适当的价值会非常有用.
以标准推车杆或倒立摆任务为例.我应该将gamma设置为高,因为它需要很多步骤来使任务失败,或者因为状态信息完全是Markovian而需要低吗?而且我甚至无法理解lambda值......
artificial-intelligence machine-learning markov reinforcement-learning
我有一些关于时间差异学习的论文和讲座(有些与神经网络有关,比如TD-Gammon上的Sutton教程),但我很难理解方程式,这引出了我的问题.
- 预测值V_t来自哪里?接下来,我们如何获得V_(t + 1)?
- 当TD与神经网络一起使用时,究竟是什么回传?也就是说,返回传播的错误来自何时使用TD?
artificial-intelligence reinforcement-learning backpropagation neural-network temporal-difference
我无法理解on-policy方法(如A3C)和off-policy方法(如DDPG)之间的根本区别是什么.据我所知,无论行为政策如何,非政策方法都可以学习最优政策.它可以通过观察环境中的任何轨迹来学习.因此,我可以说非政策方法比政策方法更好吗?
我已经阅读了悬崖行走的例子,显示了SARSA和之间的区别Q-learning.它表示Q-learning将学习沿着悬崖行走的最佳政策,同时SARSA学会在使用epsilon-greedy政策时选择更安全的方式.但既然Q-learning已经告诉我们最优政策,为什么我们不遵循这一政策而不是继续探索?
另外,两种学习方法的情况是否优于另一种?在哪种情况下,人们更喜欢on-policy算法?
在强化学习中,我试图理解策略迭代和值迭代之间的区别.这里有一些一般的答案,但我有两个具体的问题,我找不到答案.
1)我听说政策迭代"向前工作",而价值迭代"向后工作".这是什么意思?我认为这两种方法只需要采用每个状态,然后查看它可以达到的所有其他状态,并从中计算出值 - 通过边缘化策略的动作分配(策略迭代)或者将argmax与动作值(值迭代).那么为什么每种方法都"移动"的"方向"有什么概念呢?
2)策略迭代需要在策略评估期间进行迭代过程,以找到值函数 - 然而,值迭代只需要一步.为什么会有所不同?为什么值迭代只需一步收敛?
谢谢!
我目前正在阅读萨顿的Reinforcement Learning: An introduction书。阅读第6.1章后,我想TD(0)为此设置实现RL算法:
这样做时,我想知道如何执行此步骤A <- action given by ? for S:我可以A为当前状态选择最佳动作S吗?由于值函数V(S)仅取决于状态,而不取决于我并不真正知道的操作,因此如何实现。
我发现了这个问题(我从哪里获得图像),该问题涉及相同的练习-但在这里,操作是随机选择的,而不是由操作策略选择的?。
编辑:或者这是伪代码不完整的,所以我也必须以action-value function Q(s, a)另一种方式近似?
强化学习,深度学习和深度强化学习有什么区别?Q-learning适合哪里?
machine-learning reinforcement-learning neural-network q-learning deep-learning
我知道epsilon标志着勘探与开发之间的权衡。刚开始时,您希望epsilon高,这样您就可以大踏步学习东西。当您了解未来的回报时,ε会衰减,以便您可以利用已找到的更高的Q值。
但是,在随机环境中,我们的学习率是否也会随着时间而衰减?我见过的SO帖子仅讨论epsilon衰减。
我们如何设置epsilon和alpha以使值收敛?
我找不到OpenAI Gym环境“ CartPole-v0”和“ CartPole-v1”之间差异的确切描述。
两种环境都有专用于它们的单独的官方网站(请参见1和2),尽管我只能在Gym github存储库中找到一个没有版本识别的代码(请参阅3)。我还检查了通过调试器准确加载了哪些文件,尽管它们似乎都加载了相同的上述文件。唯一的区别似乎是它们在内部分配的max_episode_steps和reward_threshold,可以如下访问。CartPole-v0的值为200 / 195.0,而CartPole-v1的值为500 / 475.0。其余的乍一看似乎是相同的。
import gym
env = gym.make("CartPole-v1")
print(self.env.spec.max_episode_steps)
print(self.env.spec.reward_threshold)
Run Code Online (Sandbox Code Playgroud)
因此,如果有人可以为我描述确切的差异或将我转发到正在这样做的网站,我将不胜感激。非常感谢你!