価値関数とは
いきなり「価値関数」といわれても・・・数学ですか?
価値関数とは、AIにおける機械学習の一種「強化学習」で使われている手法に出てくる用語です。
そもそも「強化学習」とは、教師なし学習といって、予めお手本となるデータは実装されていません。
状況によって最適は変わるので、もっともらしい行動をした時には報酬を、
そうでない時はペナルティを与えて、ゴールに到達する過程の中で成長させていく学習方法です。
自動運転やAI囲碁がまさに強化学習のAIです。
強化学習の要は、いかに優れた方策を決定し学習させるかですが、
方策を学習する手法の種類は大きく分けると2つで、学習させる手法は様々です。
- 方策ベースの手法
- 価値ベースの手法
この価値ベースの手法で「価値関数」が使われています。
以下、関数というより手法についての説明になります。
方策ベースと比較すると分かりやすいかと思います。
価値ベースの手法:行動は決定論的となる傾向
TD学習やモンテカルロ法などを用いて価値関数を学習し、この関数のもとに最適な行動を決定します。
価値関数は、ゴールから逆算して一つ前の状態、更に一つ前の状態が選択されるように報酬を与えます。
方策ベースの方法:行動の選択は確率論的
方策勾配法などを用いて、方策の条件付き確率を学習、直接的に方策を決定します。
条件付き確率は、ゴールに早く到達したときの行動を良い行動であったと記憶して、
その行動を今後多く取り入れる様にします。