Singularity-QLearning

 ランニング30分 英語できず

(1) Singularityの問題を詳細に詰め始める。数理的に明快なQ学習から行う。

Q学習はDQNモデルの設定とする。

・Q関数が下記で与えられる場合

{Q(s,a) = f_1(s,a) * \theta(s,a)_1 + f_2(s,a) * \theta(s,a)_2 + \cdots + f_n(s,a) * \theta_n}

 ここで{f_i(s,a)}は状況s 行動a後 状況s'のi番目特徴量を示す

・損失関数{\mathcal{L}(\theta_i)}

{\mathcal{L}_i(\theta_i) = E_{s,a \sim p(\cdot)}[(y_i - Q(s,a;\theta_i))^2]}

・損失関数の偏微分

{\nabla_{\theta_i}\mathcal{L}_i(\theta_i)} = E_{s,a \sim p(\cdot);a' \sim \varepsilon} [\left(r + \gamma \max_{a’} Q(s',a';\theta_{i-1})- Q(s,a;\theta_i)\right) \nabla_{\theta_i} Q(s,a;\theta_i) ]  

Q関数は{\theta_i}のパラメータで構成され、最適な{\theta_i}を求めるため偏微分している。

Q学習で最も難しいのは適切な{f_i(s,a)}を探すことである。DQNはゲーム場面の画像からDeepLearningが暗黙に抽出しているが、画像でない一般的な問題では特徴量の抽出方法は定まった方法がない。下記の迷路問題では特徴量を自分のセルの位置と移動できる方向とすると、旨くQ学習した事例である。

Sattonの強化学習では、あらゆる特徴を組込む方法を採っている。これは問題解決に寄与しない特徴量は、学習するとその特徴量のθは殆ど0になってしまうので意味がないからである。

f:id:mabonki0725:20170619060549p:plain