強化学習、マルチエージェント強化学習、その他機械学習全般

機械学習関連のことをまとめていきます。強化学習関連が多いかもしれません

softmax行動選択

$\epsilon$-greedy と同様によく用いられる「softmax行動選択」についてご紹介します。
この手法も期待報酬値が高い選択肢の選択確率が高くなるように選択確率を決定します。

具体的には、softmax関数を用いて以下の式によって各選択肢の選択確率を決めます。

$$ \begin{eqnarray} \pi(a) = \frac{\mathrm{e}^{Q(a)/T}}{{\displaystyle \sum_{b \in A }}\mathrm{e}^{Q(b)/T}} \end{eqnarray} $$ {\displaystyle \Sigma_{i=1}^{n}} ここで、$\pi(a)$ は行動$a$の選択確率、
$Q(a)$ は行動$a$の期待報酬値、
$A$ は選択肢(行動)の集合を表します、
$T$ は温度と呼ばれ、T=0の場合ランダム選択となり、 $\epsilon$-greedy行動選択の$\epsilon$ と意味合いは近いです。

下記の図を使って説明してみます。
エージェントには3つの選択肢(赤r、青b、緑g)があり、
すでに複数回試行錯誤を行っており、各選択肢の期待報酬値が求められてるとします。

f:id:ttt242242:20190322095342j:plain:w350

この時の赤い四角を選択する確率$\pi(r)$を計算してみます。
また、簡略化するために、T=1の時について考えます。

$$ \begin{eqnarray} \pi(r) &=& \frac{\mathrm{e}^{Q(r)}}{\mathrm{e}^{Q(r)}+\mathrm{e}^{Q(b)}+\mathrm{e}^{Q(g)}} \\ &=& \frac{\mathrm{e}^{0.3}}{\mathrm{e}^{0.3}+\mathrm{e}^{1.0}+\mathrm{e}^{0.5}} \\\ &\fallingdotseq& \frac{1.34}{1.34+2.71+1.64} \\ &\fallingdotseq& 0.23 \end{eqnarray} $$

小数点第3位以降は切り捨ているので近似値になります。
赤い四角を選択する確率は0.2になります。

逆に青い四角を選択する確率$\pi(b)$は同様に計算すると

$$ \begin{eqnarray} \pi(b) &=& \frac{\mathrm{e}^{Q(b)}}{\mathrm{e}^{Q(r)}+\mathrm{e}^{Q(b)}+\mathrm{e}^{Q(g)}} \\ &=& \frac{\mathrm{e}^{1.0}}{\mathrm{e}^{0.3}+\mathrm{e}^{1.0}+\mathrm{e}^{0.5}} \\ &\fallingdotseq& \frac{2.71}{1.34+2.71+1.64} \\ &\fallingdotseq& 0.47 \end{eqnarray} $$

青い四角を選択する確率は0.47と赤い四角を選択する確率(0.23)より大きくなります。

つまり、期待報酬値の大きい選択肢を多く選択するように選択確率を決定できます。