model-free と model-based

機械学習の一分野に、強化学習というものがある。 その中でよく、「model-free」だとか「model-based」だとかという言葉が使われているが、ぶっちゃけどういう意味かあんまり分かっていなかった。 この記事では、調べたことをまとめる。

簡潔に言ってしまうと、違いは環境モデルを明示的に学習するかどうからしい。 環境モデルとは、要するにその環境がどういう報酬を返すかとか、この状態でこのアクションを取るとこういう確率でこの状態になるといった、環境を数値的に表現したもの。 model-freeはこの環境モデルを明示的に学習せず、model-basedは環境モデルを明示的に学習するっぽい。

例えば、Q学習とかは直接環境の遷移とかを学んでいるわけではないので、model-freeになる。 逆に、I2Aとかは value の推定などをやっているため model-based に含まれる。

なんか、「いかがでしたか?」記事みたいなスカスカ記事になってしまったけど、詳しくはリンク先のページを読んでほしい。

参考

[1] Model-Based Reinforcement Learning @NIPS2017
[2] What is the difference between model-based and model-free reinforcement learning? - Quora