|
State s_{t} is Markovian if and only if:
\quad\quad\begin{aligned} p\left(s_{t+1} \mid s_{t}\right) &=p\left(s_{t+1} \mid h_{t}\right) \\ p\left(s_{t+1} \mid s_{t}, a_{t}\right) &=p\left(s_{t+1} \mid h_{t}, a_{t}生髮治療,\right) \end{aligned}
The future is independent of the past given the present. 将来的环境只和當前状况有關,和以前的状况無關。
1.7 MRP和MDP的比拟
MDP至關因而在MRP的中心加了一层决议计划层,至關于MRP是一個趁波逐浪的進程,可是MDP是一個有agent在掌舵的進程。
若是大師想對K臂山君機做一個比力深刻的领會的话,建议大師去浏览這篇博客,作者写的挺清晰的,并且還举薦了不少的其他質料,我這里主如果對K臂山君機做一個扼要的先容。
K臂山君機(Multi-armed bandit,简称MAB)最先的场景是在赌场內里。赌场內里有K台山君機,每次去摇山君機都必要一個代币,且山君機城市以必定几率吐出錢,你手上若是有T個代币,也就是你一共可以摇T次,你怎样才能使你的指望回報最大?固然咱们要先假如每一個山君機吐錢的几率是纷歧样的,否则你怎样摇就都是同样的了。
咱们一般也将所有的下面這類情势的問题成為K臂山君機問题: 你可以频频面临 k 種分歧的選擇或举措。在每次選擇以後,你會收到一個数值嘉奖,该嘉奖取决于你選擇的举措的固定几率散布。 你的方针是在一段時候內最大化预期的总嘉奖。
若是咱们是贝叶斯人,咱们在@現%87915%實對山%O1b4q%君@機举行操作以前@實%3224Y%在對山%O1b4q%君@機吐錢的几率就已有了一個先验的散布,然後咱们不竭地举行實验,按照實验的成果去调解咱们前面的散布;而若是咱们是频率學家,那咱们一起頭對這些呆板吐錢的几率實際上是没有先验的,咱们會經由過程實行去展望出每台呆板吐錢的几率,然後按照這個几率去不竭優化咱们的决议计划。
但無论從哪一種角度动身,K臂山君機的問题實在就是一個摸索與操纵的問题,就好比說咱们先举行了m次實行(m<T),發明了第一個臂吐錢的频率更高,那接下来咱们是一向去摇第一個臂(操纵:exploitation)仍是說咱们還去试着摇一下其他的臂(摸索:exploration),從短時間来看操纵是好的,可是從持久来看摸索是好的。
在咱们的K臂山君機中,只要選擇了该动作, k 個动作的每個都有预期的或均匀的嘉奖, 讓咱们称之為该举措的价值。咱们将在時候步 t 選擇的动作暗示為 A_{t} , 并将响應的嘉奖暗示為 R_{t_{}} 。 然後,對付肆意动作 a 的价值,界說 q_{*}(a) 是给定 a 選擇的预期嘉奖:
\quad \quad q_{*}(a) \doteq \mathbb{E}\left[R_{t} \mid A_{t}=a\right]
若是咱们晓得每一個动作的价值,那末解决 K臂山君機将是垂手可得的:你老是選擇具备最高价值的动作。可是咱们不晓得現實动作价值, 虽然你可能有估量值。 咱们将在時候步调t 的动作 a 的估量值暗示為 Q_{t}(a) 。 咱们但愿 Q_{t}(a) 靠近 q_{*}(a) 。
咱们在上面界說中先容的K臂山君機實際上是最简略的一種场景,K臂山君機另有不少其他的變形:
greedy(贪心)的算法也就是選擇具备最高估量值的动作之一: A_{t}=\underset{a}{\operatorname{argmax}} Q_{t}(a) ,也就是至關于咱们只做exploitation ; 而 \epsilon-greedy 以较小的几率 \epsilon 地從具备不异几率的所有动作中随機選擇, 至關于咱们在做exploitation的同時也做必定水平的exploration。greedy的算法很轻易堕入履行次優动作的怪圈,當reward的方差更大時,咱们為了做更多的摸索應當選擇摸索度更大的 \epsilon-greedy ,可是當reward的方差很小時,咱们可以選擇更greedy的法子,在現實傍邊咱们不少時辰城市讓 \epsilon 從一個较大的值低落到一個较小的值,好比說從1低落到0.1,至關于咱们在前期根基上只做摸索,後期只做操纵。
Policy improvement theorem: For any \epsilon -greedy policy \pi , the \epsilon -greedy policy \pi^{\prime} with respect to q_{\pi} is an improvement, v_{\pi^{\prime}}(s) \geq v_{\pi}(s)
Therefore, v_{\pi^{\prime}}(s) \geq v_{\pi}(s) from the policy improvement theorem
MC with \epsilon-\text { Greedy Exploration }
softamx是另外一種分身摸索與操纵的法子,它既不像greedy算法那样贪心,也没有像 \epsilon- greedy 那样在摸索阶段做随灵活作而是利用softmax函数计较每個arm當選中的几率,以更高的几率去摇下均匀收益高的臂,以更低的几率去摇下均匀收益低的臂。 a r m_{i} 暗示第i 個手柄, U_{i} 暗示手柄的均匀收益, k是手柄总数。
固然這里有一個問题是為甚麼要用softmax,咱们直接用某一個臂获得的均匀收益除以总的均匀收益不可嗎?我理解上感受softmax法子是在agrmax法子和直接除這類法子之間的法子,由于softmax加之e以後實在會讓均匀收益低的臂和均匀收益高的臂走向极度,98娛樂城,也就是讓计谋愈来愈激進,乃至到终极收敛成argmax?并且我感受圖象分類內里常常用softmax一方面是由于求梯度比力好计较,另外一方面是由于有時辰softmax以前获得的分数可能有负数,那咱们這里的益處是咱们可以在刚起頭某個币的嘉奖是0的時辰,咱们照旧會有必定几率選它而不會像下面公式內里的這類同样不選它。
\quad p\left(a r m_{i}\right)=\frac{{u_{i}}}{\sum_{j}^{k} {u_{i}}}
以是总的来讲softmax有三個益處:
轮回的最後一步其适用到了
\begin{aligned} Q_{n+1} &=\frac{1}{n} \sum_{i=1}^{n} R_{i} \\ &=\frac{1}{n}\left(R_{n}+\sum_{i=1}^{n-1} R_{i}\right) \\ &=\frac{1}{n}\left(R_{n}+(n-1) \frac{1}{n-1} \sum_{i=1}^{n-1} R_{i}\right) \\ &=\frac{1}{n}\left(R_{n}+(n-1) Q_{n}\right) \\ &=\frac{1}{n}\left(R_{n}+n Q_{n}-Q_{n}\right) \\ &=Q_{n}+\frac{1}{n}\left(R_{n}-Q_{n}\right) \end{aligned}
也就是:新估量←旧估量+步长[方针−旧估量]
在代码內里實現了 \epsilon-greedy 、softmax,和直接按照當前各個臂的均匀收益去决议计划三種法子,完备的代码放在github上了,写的比力慌忙,後面會再更新一下放到github的堆栈當中。
贝尔曼方程界說了状况之間的迭代瓜葛,是强化進修內里出格首要的一個常識點。
价值函数實在從一個更久远的角度界說的一個状况的黑白,价值函数不但仅斟酌了短時間的即時嘉奖,更首要的是价值函数斟酌了达到這個状况會带来的持久的效益,是以比拟于reward是一個更久远地权衡状况的方法。
V(s)=R(s)+\ga妹妹a \sum_{s^{\prime} \in S} P\left(s^{\prime} \mid s\right) V\left(s^{\prime}\right) \quad (第一部門可以看做當即嘉奖,第二部門可以看做将来的嘉奖)
\left[\begin{array}{c}V\left(s_{1}\right) \\ V\left(s_{2}\right) \\ \vdots \\ V\left(s_{N}\right)\end{array}\right]=\left[\begin{array}{c}R\left(s_{1}\right) \\ R\left(s_{2}\right) \\ \vdots \\ R\left(s_{N}\right)\end{array}\right]+\ga妹妹a\left[\begin{array}{cccc}P\left(s_{1} \mid s_{1}\right) & P\left(s_{2} \m天然安眠藥,id s_{1}\right) & \ldots & P\left(s_{N} \mid s_{1}\right) \\ P\left(s_{1} \mid s_{2}\right) & P\left(s_{2} \mid s_{2}\right) & \ldots & P\left(s_{N} \mid s_{2}\right) \\ \vdots & \vdots & \ddots & \vdots \\ P\left(瑪卡保健食品,s_{1} \mid s_{N}\right) & P\left(s_{2} \mid s_{N}\right) & \ldots & P\left(s_{N} \mid s_{N}\right)\end{array}\right]\left[\begin{array}{c}V\left(s_{1}\right) \\ V\left(s_{2}\right) \\ \vdots \\ V\left(s_{N}\right)\end{array}\right] V=R+\ga妹妹a P V V=(I-\ga妹妹a P)^{-1} R
在求解的進程中有两個比力首要的問题:
- 怎样包管矩阵是可逆的?
- 矩阵求逆的繁杂度是 O\left(N^{3}\right) ,以是這類求解方法只對小的MRP的問题有用
3.2 Q(s,a)
动作价值函数,咱们一般也會直接称q函数界說了状况-动尴尬刁難的黑白,實在咱们只要晓得了V函数,Q函数包含咱们後面讲的A(上風)函数均可以求出来,而若是晓得這三個函数中的任何一個,全部MDP實在就是可解的。可是咱们没法子一起頭就晓得,以是咱们一般城市經由過程一個初始化的价值函数或直接初始化一個计谋去采样去然後去估算价值函数,然後再按照新的价值函数再去采样,如许抱负环境下咱们對价值函数的估量愈来愈准,决议计划也愈来愈好。
The action-value function q^{\pi}(s, a) is the expected return starting from state s, taking action a, and then following policy \pi q^{\pi}(s, a)=\mathbb{E}_{\pi}\left[G_{t} \mid s_{t}=s, A_{t}=a\right]
v^{\pi}(s)=\sum_{a \in A} \pi(a \mid s) q^{\pi}(s, a)
3.3 Bellman Expection Eqution
v^{\pi}(s)=E_{\pi}\left[R_{t+1}+\ga妹妹a v^{\pi}\left(s_{t+1}\right) \mid s_{t}=s\right]
q^{\pi}(s, a)=E_{\pi}\left[R_{t+1}+\ga妹妹a q^{\pi}\left(s_{t+1}, A_{t+1}\right) \mid s_{t}=s, A_{t}=a\right]
\begin{aligned} v^{\pi}(s) &=\sum_{a \in A} \pi(a \mid s) q^{\pi}(s, a) \\ q^{\pi}(s, a) &=R_{s}^{a}+\ga妹妹a \sum_{s^{\prime} \in S} P\left(s^{\prime} \mid s, a\right) v^{\pi}\left(s^{\prime}\right) \end{aligned}
Thus,将两個方程相互带入相互
v^{\pi}(s)=\sum_{a \in A} \pi(a \mid s)\left(R(s, a)+\ga妹妹a \sum_{s^{\prime} \in S} P\left(s^{\prime} \mid s, a\right) v^{\pi}\left(s^{\prime}\right)\right)
q^{\pi}(s, a)=R(s, a)+\ga妹妹a \sum_{s^{\prime} \in S} P\left(s^{\prime} \mid s, a\right) \sum_{a^{\prime} \in A} \pi\left(a^{\prime} \mid s^{\prime}\right) q^{\pi}\left(s^{\prime}, a^{\prime}\right)
以上等式表征了當前的Q函数和V函数與未来的Q函数和V函数之間的瓜葛
實在就是下面的两個圖:
thus
\begin{aligned} v_{*}(s) &=\max _{a \in \mathcal{A}(s)} q_{\pi_{*}}(s, a) \\ &=\max _{a} \mathbb{E}_{\pi_{*}}\left[G_{t} \mid S_{t}=s, A_{t}=a\right] \\ &=\max _{a} \mathbb{E}_{\pi_{*}}\left[R_{t+1}+\ga妹妹a G_{t+1} \mid S_{t}=s, A_{t}=a\right] \\ &=\max _{a} \mathbb{E}\left[R_{t+1}+\ga妹妹a v_{*}\left(S_{t+1}\right) \mid S_{t}=s, A_{t}=a\right] \\ &=\max _{a \in \mathcal{A}(s)} \sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\ga妹妹a v_{*}\left(s^{\prime}\right)\right] \end{aligned}
最後两個方程是 v_{*} 的贝尔曼最優方程的两種情势, q_{*} 的贝尔曼最優方程為
\begin{aligned} q_{*}(s, a) &=\mathbb{E}\left[R_{t+1}+\ga妹妹a \sum_{a^{\prime}} q_{*}\left(S_{t+1, a^{\prime}}\right) \mid S_{t}=s, A_{t}=a\right] \\ &=\sum_{s^{\prime}, r} p\left(s^{\prime}, r \mid s, a\right)\left[r+\ga妹妹a \sum_{a^{\prime}} q_{*}\left(s^{\prime}, a^{\prime}\right)\right] \end{aligned}
贝尔曼最優方程實在论述了一個究竟:最優计谋下各個状况的价值必定即是這個状况下最優动作的指望回報。
對付有限的MDP, v_{*} 的贝尔曼最優方程具备独一解。贝尔曼最優方程其實是一個方程组,每一個状况一個方程,以是若是有 n 個状况, 则有 n 個未知数的 n 個方程。 若是情况的动态 p 是已知,则原则上可使用解决非線性方程组的各類法子中的任何一種来求解该 v_{*} 的方程组。 一样, 可以求解 q_{*} 的一组相干方程。
一旦有 v_{*} , 肯定最優计谋就比力轻易了。對付每一個状况, 将在贝尔曼最優方程中得到最大价值的一個或多個动作。任何仅為這些操作分派非零几率的计谋都是最優计谋。你可以将其視為一步步的搜刮。 若是具备最優价值函数 v_{*} , 则在一步搜刮以後呈現的动作将是最優动作。另外一種說法的法子是任何對最優评估函数 v_{*} 贪心的计谋是最優计谋。
计较機科學中利用術语贪楚来描写任何基于當地或直接斟酌来選擇替换@搜%P5J5o%刮或决%3W552%议%3W552%计%3W552%划@步伐的法子,而不斟酌這類選擇可能阻拦将来得到更好的替换法子的可能性。是以,它描写了按照其短時間成果選擇举措的计谋。
v_{*} 的美好的地方在于,若是用它来评估举措的短時間成果,详细来讲是一步到位的成果,那末贪心的计谋在咱们感樂趣的持久意义上 其實是最優的,由于 v_{*} 已斟酌到所有可能的将来动作的嘉奖成果。界說 v_{*} 的意义就在于,咱们可以将最優的持久(全局)回報指望值转化為每一個状况對應的一個當前局部量的计较。是以, 一步一步的搜刮發生持久的最好动作。
有 q_{*} 使選擇最優动作更易。 给定 q_{*} , agent基至不必要举行单步搜刮的進程, 對付任何状况 s 它可以简略地發明任何使 q_{*}(s, a) 最大化的动作。动作价值函数有用地缓存了所有单步搜刮的成果。 它将最優的持久回報的指望作為當地并立便可用于每一個状况一动尴尬刁難的值。是以, 代表状况-动尴尬刁難的功效而不但仅是状况的价格,最優动作-价值函数容许選擇最優动作而没必要晓得關于可能的後继状况及其值的任何信息,即不必要晓得任何情况的动态變革特征了。
总结也就是說有了 v_{*} 以後,還必要做单步搜刮,可是有了 q_{*} 後,就不必要了。
显示地求解贝尔曼最優方程供给了求解最優计谋的一條路子,從而為解决强化進修問题供给了根据。 可是, 這個解决方案很少直接有效。它雷同于穷举搜刮,预测所有可能性,计较每種可能性呈現的几率及其指望收益。這個解决方案依靠于最少三個假如,在實践中很少是如许的:
對付咱们感樂趣的使命,凡是不克不及彻底知足這三個前提。 比方,固然第一和第三個假如對付西洋雙陆棋遊戲没有任何問题, 但第二個是重要的停滞。 由于遊戲有 10^{20} 個状况, 以是今天最快的電脑必要数千年的時候才能计较出 v_{*} 的贝尔曼方程式, 而找到 q_{*} 也是如斯。在强化進修中,咱们凡是只能用類似解法来解决這種問题。
4.reference
上一篇:第一章 强化進修的根基先容
下一篇:第三章 Policy Iteration 和Value Iteration
感激 @Kingsley Alien 對條記後期的精心校订 |
|