こんにちは､ 人工知能の講座にようこそ｡
今日はいよいよキュー・ラーニングの話です｡
わかりました｡
ベルモント方程式という方程式があって､ それにいろいろな要素を足していったわけです｡
この報酬は､ 最後の最後だけでなく､ どの段階でも得ることができるのです｡
割引係数と確率があります｡ マルコフ決定過程を見ているのですから､
どのような行動をとっても､ あるいは実際にどのような行動をとっても､
異なる状態で終わる確率があります｡
というわけで､ 再帰的な関数などのようなものであることはおわかりいただけたと思いますが､ おそらくまだ1つ疑問があるのではないでしょうか｡
問題は､ この中のどこに文字があるかということです｡
Q なぜ､ すべてQラーニングというのですか？
で､ Qはどこだ？
という問いに､ 今日はお答えします｡
これまでは､ ある状態であることの価値､ つまり「価値」を扱ってきました｡
そして今度は､ そのすべてにQがどう関わってくるかを見ていきます｡
そこで､ ここでは2つの事例を紹介します｡
左側がこれまでの内容です｡
うちのエージェントは､ よし､ こっちだ､ と分析しています｡
これは決定過程のマークですから､ 私がどうやってここに来たかは関係ありません｡
他の環境は､ 私がここに来るまでにかかった歩みを気にしていません｡
これからは､ 現在の状態と､ 過去ではなくここから来る未来のすべての状態から､ 「ここ､ ここ､
ここ」と最適な判断をしなければならないのです｡
そして､ 3つの選択肢があることを知ることができるのです｡
州1州から州3州まであるんですよ｡
そして､ その経験をもとに､ これらの州の値を計算し､ 今度はベルモントの方程式を使うのです｡
だから､ 確率的なプロセスであっても､ ここに行くということは分かっていても､
左や右に行く可能性もあるわけです｡
その価値観に基づいて判断していく､ それがこれまでの私たちのやり方であり､
ここでの正当なアプローチなのです｡
しかし､ 今度はそれを少し修正するのです｡
同じコンセプトで､ 同じ問題を扱います｡
しかし､ ここでは､ 彼が行き着く可能性のある各状態の値を見るのではなく､
各行動の値､ つまり価値を見ることにするのです｡
だから､ Vは状態の価値を表すものなので､ もうVという文字は使わないことにしています｡
Qを使い､ なぜその文字なのかという疑問があるかもしれません｡
Q さて｡
Q そう推測する人もいますね｡
Q そういえば､ これを読んだのですが､ たしかQuoraで誰かが言っていましたね｡
Qは品質が理由ですが､ 同時に､ それ以外の言及も見つけられませんでした｡
だから､ そのせいではなく､ 当時使われていた文字がそうだっただけかもしれません｡
それが今､ 超人気になっているのは､ そのせいでQラーニングと呼ばれるようになったからです｡
だから､ なぜQと呼ばれるのか正確な理由はわからないが､ 少なくともVとQを区別するのに役立つ｡
つまり､ ここでのQは､ それが表す状態の値ではなく､ 「質」を表しているのです｡
表現する行為の質を表しています｡
だから､ 4つのアクションを用意したんです｡
これらのアクションは､ どのような性質の違いがあるのでしょうか？
アクションの価値や質は何ですか？
どちらの行為がより有利か？
だから､ この行動をどう数値化するかという指標が必要なんです｡
そして､ それを比較することができるのです｡
そして､ それこそがQなのです｡
そして､ ここで彼は､ いつものように､ 上､ 右､ 左､ 下と4つの行動を取ることができます｡
そして､ その行動に基づいて､ その行動の定量的な価値､ 私たちはそれをQと呼んでいるのですが､
そのQ値を知るための公式があります｡
では､ この式をどのように導き出すか､ 見てみましょう｡
Q 実際にはどのような関係があるのでしょうか？
V なぜなら､ 想像できるように､ 行動が国家につながるのですから､ 両者の間には何らかのつながりがあるはずですからね｡
私たちは､ この計算方法をすでに決定しており､ かなり得意としています｡
私たちはベルマン方程式と､ たくさんの異なる複雑さを持つ非常に異なる環境の使い方を知っています｡
では､ その知識を活かして､ 同じ予測をするために､ 今どのようにQを計算すればいいのかを理解しましょう｡
ご想像の通り､ どのようなアプローチをとっても､ 環境は変わりませんから｡
環境は関係なく同じになる｡
ですから､ この方法とこの方法は常に同じ結果をもたらすはずで､ それゆえにこの2つをリンクさせるべきもう1つの理由です｡
では､ 見てみましょう｡
ここでは､ 任意の状態､ この状態､ または他の状態の値を見るというアプローチをとります｡
そしてここでは､ 現在の状態を表すSという文字を使っています｡
従って､ どちらの式でも用語は同じになります｡
そして､ ここではQを､ 状態sとアクションの?
A アクションが上がっているからですが､ どの状態でそのアクションを行ったのか？
その動作をステートで行うのです｡
S さて､ それでは最初のアプローチの方程式を書き出してみましょう｡
ここでわかるように､ SEのVがあるので､ その値｡
任意のステータスは､ 得られる報酬の最大値です｡
だから､ 自分の持っているアクションをベースに最大化する｡
この場合の3つは､ 実際には4つのアクションがあります｡
だから､ 可能な限りのアクションの中から最大限のものを｡
そして､ すでに何度も議論してきたこの部分について｡
つまり､ これはその状態でその行動を行うことで得られる報酬に､ これから新たに入る状態の期待値と確率的なプロセスであるため期待値を掛けた割引率を加えたものです｡
こっちで終わるかどうか､ 正確にはわからないんです｡
ある確率で右か左かに分かれるかもしれません｡
だから､ この確率はここにあるのです｡
わかりました｡
それが私たちの価値なんですね｡
そして､ 次はQについてです｡
だから､ Qは定義されることになる｡
これを使って定義するんです｡
Q では､ この場所から､ この状態のエージェントが､ upというアクションを実行したとします｡
Q値は何倍になるのでしょうか？
さて､ まずはこのアクションアップを実行することで､ 彼が何を得ることができるかを見てみましょう｡
まず､ ご褒美がありますよね？
それは､ 間違いなく､ 何らかの報酬があることを知っているからです｡
ゼロかもしれない｡
でも､ この強化学習の仕組みは､ ある状態からある行動をすると､ 報酬が発生することがあるんです｡
ここにそれを追加して､ 次に何を追加するのか？
さて､ 考えてみよう｡
報酬を手にした後､ 次に起こることは何でしょうか？
さて､ 次に起こることは､ 今､ エージェントがある状態にあるということです｡
80％の確率で､ あるいはある程度の確率で､ 彼はここで終わるかもしれない｡
でも実際は､ ここかここに上がるんですよね｡
しかし､ 彼が今どこにいようとも､ 彼がいるその状態の数値化された指標はすでにあり､ それは実際にその状態の価値なのです｡
しかし､ 考えられる異なる3つの状態のうち､ 彼が多くの異なる状態になることはありえないので､
彼がいるであろう状態の期待値を見る必要があるのです｡
それで､ それを追加するのです｡
もちろん､ これまでのように割引要素を加えるのは､ どこか未来の話だからです｡
そして､ この行動をとることによって彼が行き着く可能性のあるすべての状態､ 確率の回数の総和を加えることになります｡
つまり､ ある行動をすることで､ 報酬プラス､ 定量化されたメトリックを得ることができ､ さらに､
どの状態かわからない状態で終わることができる､ ということです｡
ここにあるのかもしれない｡
でも､ ここにあるのは､ その状態になるまでの期待値です｡
そして今度は､ それが一手前だからということで､ 割引率を掛けることになる｡
これが､ このアクションを実行するためのキュー値です｡
そして､ ここですぐに気がつくのは､ そのことです｡
Q Q値は､ 実はこの括弧の中にあるものと全く同じです｡
それはなぜか？
まあ､ ここで考えてみると､ 結果の最大値を取っているわけですからね｡
可能な限りのアクションを駆使して､ 最大限の効果を得る｡
つまり､ 4つのアクションがあり､ それぞれのアクションを実行したときに得られる結果の､
すべての可能なアクションの中での最大値を取っているのです｡
そして､ イン｡
Q 面白いことを定義しています｡
ある行動をとることで､ 何が得られるのか｡
そう考えると､ ある状態の値だから､ 例えばこの状態は､ 考えられるすべてのQの値の中で最大である､
というのは理にかなっていますよね｡
つまり､ ここでこの状態になることで､ エージェントはQ値1に対してQ値3のQ値を持っていることになるのです｡
つまり､ 彼は4つのQ値の可能性を持っている｡
まあ､ 状態の値はQ値に対してそれらの最大値であることは理にかなっているのですが｡
そして､ それはまさにここに見ることができます｡
これは､ 私たちが導き出したこの新しい公式の良い確認になりますね｡
もしそうでなかったら､ もしそれが一致しなかったら､ 疑問を持つことになるでしょう｡
私たちは､ 「だから､ なんで？
なぜ一致しないのか？
Q値はある行動を行うことの定量化された指標であり､ Vは4つに依存するとすれば､ 彼が行うことができる4つの行動の可能な結果の最大値であるようなものである｡
これで､ 今導出した数式が確認できたと思います｡
そして､ 今度はもっと面白くする｡
Vは完全に取り除くつもりです｡ なぜなら､ ここでVはVの再帰関数であることがわかりますから､
VとV､ そしてVとV､ といった具合です｡
つまり､ このVを次のV､ ここに出てくる最も最適なVのすべてで表現すればいいのです｡
QをVの再帰関数として､ あるいは次のVの関数として表現しているのですが､ このVを突っ込んで､ またVに戻ることになります｡
そこで､ このVを実際に使ってみて､ 次のように置き換えてみます｡
Q そうなんですね｡
では､ その様子を見てみましょう｡
次の状態のこのVを､ ここにある式に差し込むのです｡
そして､ 今お見せしたように､ この部分は変わらないわけです｡
この確率は変わりません｡
しかし､ 先ほど説明したように､ SEのvは､ SとAのQのすべての作用による最大値であることはすぐそこにある｡
ということで､ ここで入れ替えることになります｡
ということで､ 最大値というのは､ もちろん､ 新しいアクション､ これから取るべきアクションのことで､
ここでは､ SプライムのVがありますから｡
つまり､ 今､ 私たちはすべてのプライムで最大のものを手に入れたのです｡
この状態から､ あるいはどこからでも､ 最終的には他のどの状態でも､
そこから取ることになるアクションは､ それらすべてにわたって最大で､
その新しい状態で利用可能なすべてのQ値のうちの最大値をプライムコンマ､ プライムとして指定します｡
そして､ それがアクションです｡
だから､ そこにもう4つのQ値があることになる｡
では､ ご覧のように､ もう一度確認しましょう｡
私たちが論理と直感を通して議論したことから導き出されるように､ VMは実際にはSとSのVであり､
SのRリンクDはこれのQのすべてのアクションにわたって最大であることがわかる｡
そして､ ここを見てください｡ この部分とこの部分は同じです｡
そして､ それを活用して､ このビットをVに置き換えるのです｡
ここから先はSですが､ この正確な式ではありません｡
この内部の部分を､ QとAに置き換えるので､ ここに差し込むことにします｡
そして､ この部分がそうなるのです｡
QのS素数､ 素数なので､ 素数としてQのすべての素数を横切ってQの最大｡
そして､ これで計算式が出来上がりました｡
これで､ Q値の再帰式ができたわけです｡
そこで､ エージェントは､ この行動の価値は何だろうかと考えることができるようになりました｡
このアクションの質は？
このアクションのQ値は？
まあ､ 報酬次第なんですけどね｡
その分､ すぐにステップアップできるんです｡
それに割引係数時間にもよるが､ その状態で可能なすべてのQアクションの最大値だが､ そこまで行くかはわからない｡
だから､ その状態､ その状態も見る必要があって､ そのためにこっちの期待値があるんです｡
つまり､ 和の確率に最大値をかけたものが､ 期待値ということになります｡
ですから､ ご覧のように非常によく似た方式です｡
しかし､ 今回はQ値で表現しているので､ このアルゴリズム全体がQ学習と呼ばれているのは､
これを見るためなのです｡
これは､ 実際に代理店が使っているものです｡
彼らは国家を見るのではなく､ 彼らの可能な行動を見るのです｡
そして､ その行動､ その行動のQ値に基づいて､ どの行動をとるかを決めるのです｡
つまり､ この状態でのQ値の最大値を見るだけで､ 4つのアクションがあるのです｡
比較できるようにするためには､ どのようなアクションをとればよいのでしょうか？
代わりに､ それが終わることができる別の状態を比較することは､ それが現在持っている可能なアクションを比較するつもりです｡
そして､ 最適なものを見つけては､ その行動を起こし､ そのプロセスを繰り返していくのです｡
報酬､ 割引率､ 確率的マルコフ決定過程､ V値､ Q値､ これらすべてがどのように組み合わされ､
Q値に関する一つの超強力なベルマン方程式ができあがるのか､
おわかりいただけたでしょうか？
といった感じで､ 直感的に説明できるようになっています｡
この章では､ VからQへの移行を説明し､
両者が互いにどのように関連しているかを示しています｡
また､ もう少し厳密なアプローチ､ 数学的なアプローチ､ そしてその背後にある数学を見て､ Q値やその仕組みについてもう少し学びたい場合は､
追加の読み物を用意しています｡
この論文は､ Martin von Otter Law 2009の「Markov Decision Processes, Concepts and Algorithms」という論文です｡
いつものようにここにリンクがありますが､ ここでもう少し詳しく読むと､ キューの値などの細かい部分まで理解できますよ｡
ベルモント方程式に関するこれらの事柄をすべて説明したところで､
今度はこの論文のような､ より複雑なものを見て､ より深く理解するために必要な追加情報を得ようとするのです｡
しかし､ この論文に既に目を通していなくても､ 学習とは何か､ エージェントはどのようにしてある環境で取るべき行動を思いつくのか､
といった知識は十分に持っているはずです｡
それでは､ 今日のチュートリアルをお楽しみください！次回もよろしくお願いします｡
それまでは､ iをお楽しみください｡