こんにちは､ 人工知能の講座にようこそ｡
今日は､ ベルモントの方程式についてお話します｡
かなり複雑なテーマですが､ この講座の全セクションを通じて､ 段階的に紹介していきます｡
だから､ いきなり最も複雑な「ベルモント方程式」に飛びつくつもりはない｡
しかし､ そうではなく､ 徐々に仕組みを理解していくために､ ゆっくりと導入していくのです｡
そして､ そのやり方を冷静に受け止めてほしい｡
もし､ あなたがそうなら､ さっそく本題に入りましょう｡
そこで､ 私たちはいくつかのキーコンセプトを持って活動することにしています｡
そして､ これらのコンセプトは､ SSEはStateの略です｡
つまり､ エージェントが置かれている状態､ あるいはエージェントが取りうる他の状態は､ エージェントが取りうる行動を表しているのです｡
つまり､ エージェントは特定のアクションのリストにアクセスすることができるのです｡
そして､ アクションは､ 状態の組み合わせで見ると非常に重要です｡
だから､ ある状態になってからアクションを見ると､ 納得がいくようになるんです｡
その結果､ どうなるのでしょうか？
というのも､ 状態を伴わないアクション単体では､ 自分がどこにいて､ どこに行き着く可能性があるのかが分からないので､
あまり意味がないのです｡
そして､ 報酬を意味するwhichを用意します｡ これは､ エージェントがある状態に入ったときに得られる報酬です｡
そしてガンマは割引率である｡
そして､ ディスカウントファクターについては､ 後ほど説明します｡
でも､ この後､ このガンマという文字を使って操作することになるので､ メモしておいてください｡
ベルマン方程式の生みの親は､ リチャード・アーネスト・ベルマンなんですね｡
彼は応用数学者で､ 現在の強化学習やベルモント方程式と呼ばれる動的計画法の概念を考え出しました｡
今､ 井戸端会議では､ そう呼ばれています｡
そして1953年､ 彼はそのコンセプトを思いついたのですが､ その時に「ベルモント方程式」は私のところにやってきました｡
では､ その仕組みを見てみましょう｡
左下には素敵なエージェントが迷路の中にいます｡
これは非常に古典的な迷路で､ いくつかのブロックがあり､ 白いブロックはエージェントが踏み込むことのできるブロックです｡
グレーのブロックは､ どうしてもアクセスできないものです｡
それが､ この迷路の壁のようなものなんですね｡
緑色は､ エージェントが最終的に目指すべき場所です｡
そこにエージェントを向かわせたいのです｡
それが仕上がりです｡
そして､ 赤は焚き火台です｡
だから､ エンジンが火床に落ちると､ ゲームに負けることになる｡
つまり､ 火事場泥棒では､ Rである報酬がマイナス1になってしまうのです｡
だから､ それはエージェントに対して､ 「あなたにはやってほしくないことなんです」と伝えるための方法なんです｡
例えば､ 犬を訓練するとき､ 自分の思い通りにならない犬には「悪い犬だ」と言いますよね｡
こちらも同じです｡
代理店には､ 「これはやってはいけないことだ」と伝えたいのです｡
広場で終わらせてはいけない｡
だから､ マスに上がらないたびにマイナス1の報酬を得ることができる｡
だから､ マイナス1の報酬で処罰される｡
一方､ 「緑の広場」で終われば､ プラス1のご褒美がもらえる､ つまり､
そういうことなのです｡
つまり､ エージェントが得られる可能性のある報酬はこの2つです｡
そして､ この迷路の中でどのように操作方法を学ぶのでしょうか｡
ちょうど､ 散歩を覚えるロボット犬の例のように､ それを知らせるだけなのです｡
ここでは､ あなたができるアクションをお伝えします｡
右上がり､ 左上がり､ 下降が可能です｡
以上､ 4つのアクションが考えられます｡
そして､ それだけです｡
どんなものができるか､ 試してみてください｡
だから､ エージェントは右に行くかもしれないし､ もっと右に行くかもしれないし､ 左に戻るかもしれない｡
ランダムにボタンを押し､ 何が起こるか試しているのです｡
そして､ ここに戻り､ 上に行き､ 下に行き､ 上に行き､ 右に行くのです｡
だから今のところ､ 何も学んでいないのです｡
ただ､ 今のところ何も起こっていない｡
右に行くと､ バッと緑の広場に行き着くんです｡
それで､ 「あ､ プラス1の報酬をもらったんだ」と気づくわけです｡
だから､ 緑の広場に足を踏み入れると､ すぐにプラス1の報酬がもらえたのです｡
それがきっかけで､ アルゴリズムが「よし､ これはすごい」と判断するのです｡
四角で終わるとご褒美がもらえるので､ 四角で終わりたいんです｡
では､ 代理店にとってはどうなのでしょうか｡
つまり､ 「どうしてこの広場に来たのか」という疑問を持ち始めるのです｡
自分がどのような先行状態にあり､ どのような行動をとれば広場に出られるのか｡
そして､ 振り返ってみると､ なるほど､ 直前の状態はこの状態だったのか､ と｡
赤い矢印の火付け役となったその状態では､ 貴重な存在であることがわかります｡
なぜなら､ その状態から､ あなたは､ 私は､ 私が夢見ることができる最大の報酬に加えて､ 犬用のビスケットのようなものを得るまで､
あと一歩だからです｡ 私がその状態､ 赤い矢印で示された四角になることがあれば､ すぐに分かります｡
右を押すだけでいいんです｡
では､ どう自分に言い聞かせればいいのか｡
その状態が貴重であることを忘れないためには､ どうしたらいいのでしょうか｡
まあ､ 私にとっては､ 実はエージェントである私がグリーンスクエアにいようとホワイトスクエアにいようと､
何の違いもないのですが｡
緑の広場の右側で､ 私は1つの報酬を得る｡
だから私は､ 白い広場は私にとって得である､ それはまさに報酬1につながるので､ 1の価値を持っている､
と自分でマークするつもりです｡
だから
ホワイトスクエアに入った途端､ もう一回だけアクションを起こすと思うんです｡
緑の広場で､ ご褒美の1枚をもらう｡
だから､ この二乗の値が1になるのは､ 引き算のようなことをせずに直接つながるからということになるんです｡
ここに入った時点で､ 私の報酬が1つになることは分かっています｡
そこで､ この正方形は1に等しいとマークすることにします｡
それが価値です｡
それが､ この状態であることの認識値です｡
次に､ エージェントは､ よし､ じゃあ､ どうやってこの広場に入ったんだろう？
そしてまた歩き回り､ そうしてまた広場に辿り着くかもしれない｡
そして､ 「よし､ その前にどうやってこの広場に入ったんだろう？
そして､ この広場への入り方は､ この広場からでした｡
面白いですね｡
だから､ この広場に入った瞬間に､ あとは右へ行けばいいんだとわかるんです｡
そして､ ここから先は､ もう勝つしかないと思っています｡
これからどう展開していくのか､ よく分かっているんです｡
そして､ この状態であることの価値が1に等しいことも知っています｡
そして､ ここからここまでの道のりを止めるものは何もないので､ この中の価値が知覚価値になるのです｡
ここにいると､ すぐにここにいることが分かってしまうので､ Vイコール1として評価することにしています｡
だから､ 私は勝つつもりです｡
そして､ その前にこの広場に入るにはどうしたらいいのか？
まあ､ この広場から入ったんですけどね｡
だから､ 価値は似たようなアプローチなのです｡
ここにいる価値も1に等しい､ といった具合に｡
だから､ ここにいる価値は1に等しく､ 一つひとつが次につながり､
ゴールにつながるからです｡
だから､ 現段階ではかなり論理的な話になっているようです｡
今､ 私たちはベルモント方程式をデザインしているところなんです｡
つまり､ エージェントが迷路を進むための方程式を設計することが考えられるのです｡
だから､ 報酬に目を向けてください｡
そして､ その前の状態から報酬に等しい値が与えられる､ というように｡
だから､ このような経路ができるのです｡
しかし､ ここで問題なのは､ もしエージェントが何らかの理由で､ ここからスタートしてこれらのアクションを起こすのではなく､
実際にこの状態でスタートしたらどうなるか､ ということです｡
なぜわかるのか？
どのような動作をするのか､ どのように記憶しているのでしょうか？
右に行くべきなのか､ それとも下に行くべきなのか｡
それとも左に行くべきなのでしょうか？
それとも､ もっと上がるべき？
1に等しい値しか持っていないのに､ どうやってここから次の継続を覚えているのでしょうか？
だから､ より遠くにあるものは見えない｡
ただ､ 「ここにあるもの」と「ここにあるもの」しか見えないのに､ どうして「どっちに行けばいいか」が分かるのでしょう｡
まあ､ 現段階ではそんなことはないんですけどね｡
エージェントにとっては､ どちらを選ぶかは全く同じです｡
だから､ このやり方はあまりうまくいかないんです｡
非常に単純な説明になってしまいますが｡
もちろん､ それ以外にもいろいろありますが､ 直感的にわかるように｡
だから､ 私たちは､ このように価値観を逆算して割り当てるのです｡
というのも､ 理由のひとつは､ エージェントがこの2つの価値の間に入ると､ どこに行くのか？
そんな風に混乱することはありません｡
では､ どうすればこの問題を解決できるのか｡
ここで何をするのか？
そしてここから､ ベルモント方程式を実際の形で､ ゆっくりと一歩一歩紹介していきます｡
つまり､ ベルモントの方程式は次のようなものだ｡
そこで､ 現在の状態や任意の状態のように､ ある状態にあることの価値について､ すでにVの話をしました｡
そして､ Sもあります｡
そして､ プライムは､ この状態の後に､ ガンを行動に移すことによって行き着く､
次の状態､ 状態である｡
しかし､ エージェントにはさまざまなアクションがあることを私たちは知っており､ そのためにこの最大値を設定しました｡
では､ アクションを起こすことで､ エージェントに何が起こるのでしょうか？
そこで､ 状態sでアクションを起こすことで､ ある状態になったとします｡
A 何が起こるかというと､ 新しい状態になることで瞬時に報酬を得ることができるのです｡
そして､ その報酬は､ ゲーム終了時であれば1かプラス1かマイナス1､ ゲーム中であれば0になることも覚えておいてください｡
この場合､ ゲーム中の報酬はゼロになります｡
それがご褒美なんですね｡
さらに､ プライムとしての価値を持つ新しい状態になる｡
それが新しい状態の値なんですね｡
そしてガンマ､ ガンマについてはまた後ほど｡
しかし､ ここで私が提起したいこと､ あるいはポイントは､ いろいろなアクションがあるからこそ､ 最大限の力を発揮できるのだということです｡
だから､ 行動することで報酬を得､ さらに新しい状態になっていくのです｡
そして､ 今回のケースでは､ すべてのアウトオブザイヤーに対して､ 4つのアクションが考えられます｡
可能な4つのアクションのそれぞれについて､ 次のような方程式を用意することになる｡
つまり､ これは値4を持つことになります｡ 彼らは4つのアクションの一つ一つに異なる値を持つことになるのです｡
そして､ エージェントが最適な状態を取りたいのは当然なので､ 最大値だけを見ることにします｡
だから､ もし彼が州sにいたら､ この価値観に注目するだろう｡
アクションを元に最大値を探すそうです｡
この値が最大になるような行動をとるんだ｡
それで､ なぜここで最大値を取っているのか､ ご理解いただけたと思います｡
では､ 報酬と状態の値が決まったら､ なぜここにガンマパラメータがあるのでしょうか？
これは､ エージェントがどっちに行けばいいかわからないという問題を解決するためにあるんです｡
そのため､ ガンマは割引係数と呼ばれています｡
で見てもらおうと思っています｡
ただ､ よりよく理解するために
では､ 計算式を見てみましょう｡
ここで一番上に置くことにします｡
そうですね｡
そして､ 今度はこの異なる状態の値がどのようなものであるかを分析します｡
そして､ ここにある州はすべて四角形です｡
そして､ この白い四角の中のひとつが州というわけです｡
そして､ その状態であることの価値を計算することになったのです｡
では､ この正方形から始めてみましょう｡
この状態であることの価値は何でしょうか？
さて､ この値の最大値をすべてのアクションで取る必要があります｡
そして､ この表す価値は､ ゴールに近づくにつれて最大化することが分かっています｡
そういう構造になっているのです｡
これを見れば､ ここに報酬があり､ ここに次の状態の価値を乗じた割引係数があることがわかります｡
そう考えると､ この方程式は理にかなっていると思います｡
だから､ ここから右に移動すればこの値の最大値となるのは理にかなっている｡
そうやって､ 国家の価値を計算するわけです｡
この状態の値は､ イコール､ 最大値､ またはこの値と等しい｡
もし､ 私たちが右へ動くというアクションを起こせば
では､ この値はどうなるのでしょうか｡
まあ､ 右に移動したときの報酬は1に等しいんだけどね｡
そして､ γγがどうであれ､ すでに最高の状態にあるのだから､ この状態での価値はないのである｡
これが最終的な状態なんですね｡
価値はないでしょう｡
ここでご褒美をもらうだけで､ ゲームは終わりです｡
そのため､ この最大値は1に等しくなる｡
そして､ そのために､ ここでの州の値は1に等しくなります｡
さて､ 左へ､ 少し後ろへ移動すると､ 面白いことが起こります｡
では､ この状態であることの価値を計算してみましょう｡
そのためには､ ガンマが必要です｡
そこで､ 仮に割引率を0とします｡ 9 て､ これを計算すれば､ 割引率が何であるかが理解できるだろう｡
この迷路がどのように機能しているか分かっているので､ 直感とベースに基づいて､
最善の行動は右に行くことだと分かっているのです｡
つまり､ この状態で右に行ったときに最大になるということです｡
そして､ ここに差し込むとどうなるのか見てみましょう｡
だから､ ここからここまで行っても､ 報酬はゼロのままです｡
でも､ そうすると､ ガンマが出ますよね｡
だから､ 0になる｡ 新しい状態の値の9倍が1である｡
つまり､ この場合､ 値､ 全体の結果は1×0､ 0になります｡ 9×1は0になります｡ 9.
つまり､ これが我々の値である「0」です｡ 9.
だから､ 今これを計算すると､ ここから先が見えてくるんです｡
迷路を見ただけでわかるのは､ 私たち人間が､ この方程式の仕組みを理解しているからです｡
もちろん､ AI､ エージェントはこうしたことを実験しなければなりませんが､ 私たちは水晶玉のようなものを持っているので､
この迷路の全体像を見ることができるのです｡
今､ 私たちは俯瞰的な視点で見ています｡
私たちは､ 最善の行動は右に行くことだと知っています｡
つまり､ ここに全部突っ込めば､ ゼロ・ノーリターン､ プラス0になるわけです｡ この状態で9倍の値､ 0. 9は0です｡
81などです｡
だからここでは0になる｡ 73とこちらが0になります｡ 66.
つまり､ ディスカウントファクターの仕組みは､ 遠ざかるほど状態の価値を割り引くということがおわかりいただけると思います｡
つまり､ ファイナンスの理論に詳しい人なら､ 貨幣の時間的価値に近いものがあるわけです｡
こうしたらどうだろうとか｡
今日の5ドルと10日後の5ドル､ どちらがいいでしょうか？
ただ､ 誰かがあなたに､ 今日は5ドルあげるよ､ それとも5ドルあげるよ､ と選択肢を与えたとします｡ 今から10日後｡
まあ､ もちろん今日は5ドルを選ぶでしょうけど｡
それはなぜでしょうか？
まあ､ その5ドルを､ 一定の金利で運用できるわけですから､ ガンマとよく似ていますね｡
そして､ 10日後の5ドルは､ 実際には5ドル程度に成長します｡ 73とか､ そんな感じです｡
そして､ それが時間的価値の仕組みなのです｡
そして､ ここにも非常に似たコンセプトがあります｡
ここで理解すべき重要なことは､ これはあくまで理論であり､ 強化学習の仕組みだということです｡
そこで､ リチャード・ベルマンがこの方程式を考え出し､ それ以来､ 今ではそのように使っています｡
だから､ 別の方程式を考えて行くこともできる｡
ギャンブル性がなくてもいいんです｡
他の要因もあるかもしれないし､ 要因すらないかもしれない｡
しかし､ この方法はうまくいくからこそ､ 使っているのです｡
そして､ このこれがビジュアル的にどう見えるか｡
だから､ 遠ければ遠いほど､ この状態であることの価値は低くなる｡
そして､ お金の時間的価値という点では､ もし私があなたに言うことができるとしたら､ どこがいいでしょうか？
ここにいる方がいい？
ここにいる方がマシと言われそうですが｡
つまり､ 貨幣の時間的価値と同じ現象を作り出しているわけです｡
私たちは､ 代理店にインセンティブを与えるため､ あるいは代理店を刺激するために､ ガンマを通して人工的にそれを作り出し､ よりゴールに近づけるようにしているのです｡
ですから､ もしエージェントが､ この方程式の仕組み上､ こことここのどちらを選ぶかと問われれば､
ここを選ぶでしょう｡
それ以上でも以下でもない｡
世の中がこう動いているなんてことはないんです｡
いや､ これはエージェントに理解してもらうために､ 人工的に作っているものなんです｡
これはいい｡
どれも良いですね｡
でも､ こっちの方がいいんですよ｡
しかも､ こっちの方がいいんですよ｡
そして､ この1枚｡
そうすることで､ 古いエージェントがどの方向に進むべきかが見えてきます｡
だから､ もし私がここに立っていたら､ 私たちが抱えていた問題を覚えているか､ あるいは彼がここに立っていたかを確認することができるのです｡
だから､ もし私がここに立っていたら､ 上に行くのか､ 下に行くのか､ みたいな？
でも､ 今はもう問題ありません｡ というのも､ ここでは価値が大きいので､ 実は上に行った方がいいことがわかるからです｡
そして､ ここから行った方がいいんですね､ ここよりこっちの方が価値が大きいので｡
そして､ ここから先は､ もっといいんですよね？
ここの価値はここより大きいから｡
ここより
そして､ ここから先は､ 彼はもう､ 行かなければならないことを理解しているんですね｡
彼はここで1つの報酬を得ることになるからだ｡
このやり方は､ そういうことなんですね｡
では､ 残りのスクエアをざっと見てみましょう｡
では､ この二乗の値はどのように計算するのでしょうか｡
さて､ ここで少し厄介なことが起こります｡
ということは､ ここから先は､ 実は左には行かないかもしれないんですね｡
実際に右に行くかもしれません｡
だから､ このままではいけない､ 本当はこっちの方が短いかもしれない､ と｡
そこで､ どうするかというと､ まずこの四角の中の値を計算するのです｡
そして､ ここから先は明らかに､ 再び上昇するのがベストな方法だからです｡
このセクションでは､ エージェントが実際に実験を通して､
どのようにこれを探求し､ 理解していくかを見ていきます｡
でも､ 私たちとしては､ こっちの方がいいと思っているんです｡
そこで､ ここの値を計算するわけですが､ そのために､ まずこの四角の中の値を計算します｡
そこで､ ここでは3つのアクションが考えられる｡
実際には､ 4つあります｡
左に行くこともできる｡
エージェントは､ 仮に左を押して壁にぶつかり､ ここに留まることも可能です｡
しかし､ 単純化のために､ 私たちが知っていることを知り､ 水晶玉を持っている私たちは､ どのアクションが実際に再び同じ状態以外の何かにつながるものであることを知っているアクションを示すつもりです｡
そして､ ここから､ また､ 水晶玉を持っているからこそ､ 最善の方法はこの方法であることがわかるのです｡
もちろん､ 代理店が試行錯誤を重ね､ ベストな方法を見つける必要がある｡
そして､ このセクションのさらに下で､ それがどのように行われるかを見ることができます｡
エージェントがどのように歩き回り､ どのようにこの値を見つけようとするのか､ 実際に見てみましょう｡
でも､ 私たちにとっては､ そういうものだとわかっているんです｡
ここで､ すべてを1つにまとめると､ 最大､ 最良の出力は､ 上に行ったときで､ ここに10があります｡
90.
だから､ それを差し引くと､ 0になる｡ 9.
だから､ そちらを計算するのです｡
これと同じ方法で計算してみよう｡
これは､ エージェントにとっては3通り､ 実際には4通りありますが､ 私たちには3通りしかないことがわかります｡
だから0｡ ここから81は0です｡ 73.
そして､ この値とうまく結びつけて､ もう一度割り引くと0になるからです｡ 66で､ ここでは0です｡
73は､ これが最適なルートだからです｡
それでは､ どうぞ｡
それが価値観であり､ これらすべての状態です｡
そして､ この方程式を作ったからこそ､ ゴールに近ければ近いほど､ その状態の価値が高まるという概念を合成的に作り上げたことがおわかりいただけると思います｡
今､ それを作ったからというわけではなく､ エージェントにとっては､ どっちに行くべきかは一目瞭然なのです｡
それについては､ これからのチュートリアルで詳しく説明します｡
今日のセッションを楽しんでいただければ幸いです｡ 今の段階では､ ちょっととても基本的な内容に聞こえるかもしれませんが､ このセクションを進めていくうちに､
もう少し複雑な内容を追加していく予定です｡
同時に､ もしあなたが待てない､ 飛びつきたいのであれば､ あなたが見ることができる論文があります､
それはリチャード・ベルマンのオリジナルの論文です｡
1954年に出版された「Theory of Dynamic Programming」という本で､ このリンク先で見ることができます｡
だから､ そのまま飛び込んで､ 『ベルマン方程式』の著者から読むことができるのです｡
ただ､ これはかなり数学的に重い論文であることを念頭においてください｡
というわけで､ 次回もよろしくお願いします｡
そしてそれまで､ お楽しみに｡
I.