こんにちは､ 人工知能のコースにようこそ｡
本日のチュートリアルでは､ お楽しみに｡
今回は､ これまで散々言ってきた迷路を､ 実際に人工知能が進んでいく様子を見てもらいます｡
そして､ キー・ラーニングを駆使して､ 道を切り開き､ 出口を見つけるのです｡
そして､ キューの値がどうなるのか､ ポリシーがどうなるのか､ などなど｡
では､ 見てみましょう｡
今回は､ バークレー大学のご厚意により､ いくつかの資料を使用させていただきます｡
だから､ I, Berkeley, B, r k e l e y edu に行って､ そのリンク先でエンターすれば､ このサイトが表示されます｡
そして､ ここで注目したいのは､ パックマンプロジェクトに行くということです｡
そうですね｡
ポケモンプロジェクト
そして､ 下にスクロールして強化学習を見ると､ 私たちが取り組んでいるのはこのようなことです｡
そこで､ ここでは､ ZIPアーカイブをダウンロードすることができます｡
だから､ それはあなたが望むなら､ だから､ あなたはする必要はありません｡
これは､ このチュートリアルで一緒に解決していくわけではありません｡
UCバークレー校がこのような資料を提供してくれたことに､
私たちはとても感謝しています｡
しかし､ もしあなたが自分で実験したいのであれば､ これは私たちのコースの一部ではないことを心に留めておいてください｡
バークレーコースの一部です｡
説明のために､ その仕組みを紹介します｡
しかし､ もしあなたがこれで実験したいのであれば､ ここにZIPアーカイブとすべてのインストラクションも掲載されています｡
そして､ すぐにPythonに入るだけです｡
そして､ まず最初にお見せしたいのは､ ここにライセンス情報があることです｡
つまり､ こういうことです｡
私たちは非常に幸運で､ 教育目的でこれらのプロジェクトを自由に使用・拡張してよい､ ただし､
分散ソリューションを提供せよ､ と言われました｡
あなたは､ 私たちが持っているこの通知を保持し､ 私たちも持っているリンクを含む､ UCバークレーへの明確な帰属を提供する｡
もっと詳しく知りたい方は､ リンク先でご覧ください｡
そして､ このプロジェクトに携わってくださったすべての方々に､ 心から感謝いたします｡
では､ これから作るグリッドの世界です｡
そこには､ 解決策がある｡
そのためには､ 自分自身を孤立させるか､ あるいは解決策を見出さなければならないでしょう｡
もしかしたら､ 皆さんの中にも､ あるいは皆さんのお知り合いの方にも､ もう一度お願いしたいことがあれば､ 助けていただけるかもしれません｡
今この画面で見るだけだから､ 必要ないでしょ｡
これらのファイルをすべて作成したら､ あとはこちらで起動すればいいわけです｡
つまり､ この世界全体に関わるパラメータがあるわけです｡
そして今､ 起動するとどのように見えるかだけをお見せします｡
では､ マニュアルモードで起動してみましょう｡
手動でエージェントをコントロールするために､ このパラメータの1つをマイナスしてください｡
ここで､ 私たちのグリッドをご覧ください｡
だから､ 上に､ 上に行けるんです｡
ですから､ 私がいた州では､ 行動を起こし､ 始まり､ 始まっていることがおわかりいただけると思います｡
そして､ 私が押し上げて､ 北に行動を起こし､ 初めてゼロワンになったのをご覧になったでしょう｡
だから､ 登ったんです｡
しかし､ 2度目は行動を休んでしまい､ 同じ状態で終わってしまいました｡
私は動かなかった｡
そこで､ あることが起こった｡
ランダムが起こったのです｡
左か右に行ったのですが､ デフォルトでパラメータが設定されています｡
デフォルトでは､ 20%の確率で意図しない方向へ､ 10%の確率で左へ､ 10%の確率で右へというように設定されているのがおわかりいただけると思います｡
だから､ 上に行ったら､ ほら､ 右に行くんですよ｡
今すぐ行ってきました｡
何度も何度も右往左往することはなかった｡
そして､ 完成しました｡
しかし､ この実装では､ この最終出力から抜け出すには､ もう一度クリックする必要があります｡
だから､ 出口からもう一度クリックすれば終了です｡
それは端末の状態なので､ マニュアルを実行することができるのです｡
右､ 右､ 右､ 左上と進むとわかると思います｡
ここで､ 以前見たエージェントがまっすぐ上に行かないというのは､ どういうことでしょうか？
落とし穴に入る可能性があるなら､ 上に行く意味はないだろう？
では､ エージェントがどうするか見てみましょう｡
左に行くと､ ここは西だから､ 西に行くんだ｡
そして､ 左をクリックしたのですが､ 上昇し､ ここで右をクリックすると､ 最終的に終了の状態になり､
報酬が1になりました｡
手動ではこんな感じなんですね｡
では､ 実際にこれにAIをつないで通してみましょう｡
そこで､ ここでHを行い､ いくつかのパラメータを追加してみましょう｡
では､ ここで私が入力した内容を確認させてください｡
Python Grid WorldのドットP､ そしてここからマイナスRは､ 生きるための報酬ということですね｡
ということで､ 私の2本があるので､ これは外したほうがいいかもしれませんね｡
では､ マイナスKは何回目のイタレーションなのでしょうか？
反復回数が多すぎますね｡
もっと少なくしよう｡
10回くらい繰り返しましょう｡
それで十分でしょう｡
マイナスaはエージェントで､ ランダムエージェント､ バリューエージェント､ Q Qで､
Q Qの学習エージェントがこれを行うことでマイナスsは何sの速度なのかです｡
だから､ 速すぎるんです｡
とりあえずデフォルトの速度でやってみよう｡
マイナスRは生前退位
そのため､ デフォルトでは0です｡
ですから､ 最初の頃は､ 生活保護費ゼロからスタートしたことを思い出してください｡
だから､ これもゼロとしよう｡
ここでは､ このパラメータを削除して､ dxをDXディスカウントの内容とします｡
だから､ 私たちのディスカウントファクター｡
だから､ 0にしとこう｡ 9.
だから､ このセクションのスタート地点と非常によく似ているんです｡
では､ その速すぎる道をもう一度走ってみましょう｡
と思っています｡
あ､ 実はこれ､ すごくきれいなんです｡
だから､ 手探り状態なのがよくわかるんです｡
そして今のところ3回マイナスを叩いている｡
そして､ この四角の中でQ値が更新されていく様子がわかると思います｡
つまり､ これらは価値観なのです｡
ゼロから始まる｡
Q値が表示されるようになりました｡
そこで彼は､ これまたちょっと変わった実装で､ 最終段階まで行くと､ そこから抜け出さなければならないことを学びました｡
終了するには､ もう1つボタンをクリックするだけです｡
それで､ 1つに近いけど､ 正確には1つではないんです｡
しかし､ 同時に､ ここでは､ その値が徐々に0に結晶化しているのがわかると思います｡
8は明らかにどこかに行き着いてるんだけど､
今までの残りは情報が足りなくて何が起きてるのか理解できないから0点って感じ｡
なるほど｡
さて､ どうなることやら......｡
何が起こるか探る､ 探る､ 探る｡
しばらくされていたこと｡
そして忘れてはならないのは､ ここにはランダム性があるということです｡
だから､ 今まで何度かそのいいところを突いてきたんです｡
10回しか反復できないので､ 早く覚えなければならない｡
そこにあなたが必要なんです
見てみよう｡
さあ
もう､ その迷路から抜け出してください｡
そうですね､ 10話なので平均的なリターンですが､ 私たちはそれにあまり興味がないんです｡
では､ ここで......見たことのないものを見てみましょう｡
そこをクリックすると......｡
このように､ たった10回のエピソードの中でも､ 彼が考え出したポリシーがあることがおわかりいただけると思います｡
彼はすでにポリシーを持っている｡
よし､ バババババッといくぞ｡
そして､ ここで私は下を向きます｡
ここに降りてくる｡
壁にぶつかって､ ここでバウンドするんです｡
かっこいいですね｡
では次に､ 速度を上げてみましょう｡
そこでパラメータsxは何だったのか､ 2倍くらいにしよう｡
では､ 4倍速にして､ 反復回数を増やしてみましょう｡
だから､ 今回は20回の反復としよう｡
今はもう少しスピードが上がっているのがわかるので､ もう少し通れるかどうか見てみましょう｡
そして､ 彼は学んでいる｡
この状態から抜け出すのは無理だと学習しているのだ｡
右も左もないような良い行動や､ こういう行動はあまりないですね｡
間違いなく｡
これは絶対にダメです｡
彼はまだそれを学ぶ必要があります｡
だから､ ここからがまたいいんです｡
この動作がかなり良いことがおわかりいただけると思います｡
わかりました｡
彼は何を得たのか？
なるほど､ ここは面白い方針ですね｡
彼は､ 上へ行くことを決意する｡
ただ､ 情報が少ない｡
では､ そうしましょう｡
やり直そう｡
そして､ 速度を100くらいまで上げてみましょう｡
だから､ 超高速なんです｡
そして､ 反復回数は､ そのシーンをCSを狂ったように速く走らせるために､ STEMを100回反復させることになるのです｡
それに､ 繰り返しの回数が多いからこそ､ わかることがあるんです｡
彼はより多くの情報と､ 実験する機会を得て､ 実際にこの､ 行列やマトリックス､ 今知っているすべての状態のキュー値を構築することができます｡
0を見ることができます｡ 89.
例で言ったのは､ 0みたいなものです｡ 86.
もう一つ覚えておいてほしいのは､ このように､ どのような状態の値でも良いということです｡
私たちが持っていた数式は､ Q値の最大値であることを忘れないでください｡
ショートカット式で出てきたことを思い出してください｡
では､ この状態での価値はどうなるのでしょうか？
この状態のV､ 0になるんです｡ 89は､ 4つの中で一番高いからです｡
ここでは､ この状態の値を0とする｡ 71.
この状態の値は0である｡ 61など｡
だから､ それは覚えておいてほしい｡
だから､ 私たちの例では､ 0だったように記憶しています｡ 86とかだから､ かなり近い｡
それで､ ここで次に行くと､ そのまま消えてしまったり､ 消えてしまったりするんです｡
またやろう､ 復活させよう｡
いい？
なるほど｡
ゆっくり､ ゆっくり､ ゆっくり｡
スペースを埋める
なるほど｡
また､ 環境だけでなく､ 方針を知らないスタート時の探索の仕方もランダム性があるので､
結構な確率で探索をしていますね｡
どんどん消えていくんです｡
その理由がわからない｡
とにかく､ ここで数字を増やしたらどうなるか､ ここもほぼ同じ時間がかかるはずです｡
スピードにキャップがない場合｡
だから､ もっといろいろなことに挑戦できるんです｡
OC 様子を見てみましょう､ 値が収束しているのがわかりますね｡
でも､ 同時に､ ある種の最終的な値へとゆっくりと収束していく｡
Q 価値観？
OC おそらく1000は時間的にちょっと無理があると思います｡
速度も比例して上がっているようには見えませんね｡
だから､ その部分をカットする可能性があります｡
速度を落とすとかね｡
そうですね｡
非常に長くなってしまいましたが｡
このチュートリアルは､ 最後までご覧いただく必要はありません｡
ただ､ かなり実験してみたいんです｡
そこで､ いくつかの例を挙げますが､ このすべてに通じるということがお分かりいただけると思います｡
ラムが動作に組み込まれているようなランダム性があります｡
だから､ ポリシーみたいなものがあっても､ 模索を続けていくんです｡
だから､ 一度基本方針を決めたら､ その方針に従い続けるということはないでしょう｡
今後も､ たまに他のバリエーションも試して､ ポリシーを高めていくつもりだ｡
すでに最適な政策がすぐには見つかっていないのかもしれません｡
政策を改善できるかもしれない｡
そのため､ 何度繰り返しても､ ランダムな効果が見られるのです｡
環境のランダム性だけでなく､ エージェントがコントロールできるパラメータのようなものがあって､
「ほとんどの時間､ 80％の時間は､ ポリシーに従った行動をするように」と設定できるからです｡
でも､ 20％の確率で､ 楽しい実験をして､ 何が起こるかを見て､ その情報を使ってポリシーを更新していくのです｡
なるほど｡
時間がかかりすぎだ｡
もう一度やってみよう｡
そうですね｡
このように､ エージェントはさまざまな状態で学習していくのですね｡
そうかもしれませんね｡
興味本位でもう1回やってみましょう｡
では､ 他に何か変えられることはあるのでしょうか？
それらにイテレーションを行う｡
OC OC
見てみよう｡
ええ､ まあ､ 例えば割引を変えるとかね｡
だから､ この場合､ こうも言える｡
K -100, マイナスへのqマイナスはちょうど千です｡
だから報酬｡
残したいんです｡
0にしとこうかな｡ 04ですが､ もう一度言います｡
報酬は-0にとどめよう｡ 04毎回
そして､ ここでは､ D．
割引率は0ではありません｡ 9ですが､ 0みたいなものです｡ 5.
だから､ ゲームを進めていくうちにかなり割り引かれていくんです｡
そのため､ 現在では､ 州内のさらにゴール地点に近いところにある方が､ より高い価値を得られるというインセンティブが働いています｡
だから､ すぐに価値が下がってしまうのがわかる｡
以前のような緑色ではありません｡
だから､ ここに､ 今のポリシーがあることがわかるのです｡
だから､ あんなふうに､ こんなふうにとなるんです｡
以前見たものと非常によく似ています｡
ただ､ おそらくこことの違いは､ そのまま飛び込んでくることだと思います｡
だから､ あれなんです｡
そして､ もう1本だけ走ろう｡
これは､ とても楽しいことです｡
もう一回だけ走ろう｡
だから
Kマイナスk 100 a qの割引｡
オリジナルのままでいい｡
では､ この基本的なバニラのセットアップを実行してみましょう｡
OC OC OCしている｡
最後に方針が示されるかどうか､ 見てみましょう｡
はい｡
保険証券を手に入れた｡
はい｡
良い仕上がりです｡
そこで､ ここに方針を示しました｡
おなじみですね｡
あの時､ AIが人間を出し抜いて､ あそこに行こうと壁にドーンとぶつかり､ ああ行こうと壁にドーンとぶつかり､
確率を上げたのを覚えていますか？
そうそう､ そうなんです｡
これは人工知能の一例です｡
とても､ 基本的でシンプルなキルラーです｡
ですから､ 現段階ではディープラーニングはありません｡
しかし同時に､ すでにかなりスマートになっています｡
そして､ 今日のチュートリアルを楽しんでいただければと思います｡
そしてもう一度､ UC Berkeleyに感謝します｡ 今日のチュートリアルを楽しんでいただけたらと思いますし､ 次回お会いできるのを楽しみにしています｡
それまではお楽しみに｡
I.