こんにちは、スパイスIntertotoへようこそ。
さて、この新しいコードセクションでは、演劇での経験を実装するつもりです。
ですから、私たちはリプレイ・メモリーと呼ぶ新しいクラスを作り、直感的な講義で見たように正確にプレイするための経験を実装します。
しかし、最初に体験リプレイが何であるかを素早く思い出させましょう。
だから、この人工知能はすべてマルコフの決定プロセスに基づいており、マルコフの決定プロセスは一連の出来事を見ていることが分かります。
したがって、イベントは、たとえばある状態から次の状態に移行することを知っています。
しかし、イベントが翌日からうまくいけば、それは現在の状態と非常に相関しています。
ネットワークはうまくいっていないでしょう。
深い学習コースから来ている人にとっては、タイムスケールを1つだけ使って時系列を学習したときとまったく同じです。
1つのタイムステップが、モデルが長期相関を理解することを学ぶのに十分ではなかったため、何も学習していませんでした。
これはここでも同じです。そのため、私たちは体験リプレイを実装する必要があります。
それでどうやって動くの？
まあ、それは時間tでただ1つの状態である現在の状態を考慮するのではなく、非常に簡単です。
私たちはこれまで以上に多くのことを検討します。
だから、リチウムのためにちょうど好きなので、私たちの一連の出来事はそうではありません。
そして、私は、これが例えば過去100の州になるだろうと考えています。
したがって、Tマイナス180からマイナス1、そしてS-Tまでの99マイナス。
言い換えれば、私たちがメモリと呼ぶものに100回の遷移を入れます。そのため、短期間のメモリではなく長期間のメモリを持っているか、インスタントメモリといってもプロセス全体がはるかに良くなります。
最後の100イベントのこのメモリを作成すると、次のアップデートを行うためにこれらのトランジションのランダムなバッチがいくつか取られることが簡単になります。
それは次のセクションを選択することによる次の動きです。したがって、私たちは体験リプレイのために実装しているこのリプレイメモリクラスで3つの機能を行います。
まず第一に、どんなクラスの場合でもいつものように機能します。
この関数では、このクラスから作成される将来のオブジェクトであるクラスの将来のインスタンスに付加される変数を定義します。
そして、非常に単純にこれらの変数は、100のイベントへの100の遷移のメモリになります。
また、容量を増やして長時間のメモリを試してみることもできます。
これが関数の最初の関数です。次に、2つの他の関数を1つのプッシュ関数にして、メモリに100以上の遷移が含まれないようにします。
このために、単純な条件を1つだけ実行して容量を使用し、最後に単純な関数を作成し、最後の100回の遷移のこのメモリ内の遷移をいくつかサンプルします。
さて、まずクラスを紹介しましょう。
あなたが知っているように、私たちはクラスで始まり、それをリプレイ・メモリと呼ぶクラスに与えます。その後、カッコで、オブジェクトを入力し、次にCullinを入力してから、最初の関数から始めます。
最後は機能です。
だから私たちが死から始まる前とまったく同じです。
次に、2つは、2つの下線を再度強調し、次に変数を示します。
ですから、将来のオブジェクトのクラスの将来のインスタンスに添付される変数である自己があります。次に、いくつかの思い出を使って他の経験を試すことができる別の変数があります。能力である。
ですから、この容量は単純に100になります。なぜなら、我々は100未満の遷移で遊ぶ経験をするためです。
すべての権利とその後のコロンそして、ここに行く。
関数の中に入って、再生メモリオブジェクトの変数を定義しましょう。
したがって、最初のものは自己学習能力になります。おそらく理解しているように、これは、私たちがイベントを記憶するのに必要な遷移の最大数です。
これは、リプレイメモリクラスのオブジェクトを作成するときに入力する引数に等しいので、それは容量です。
これがinit関数の引数です。
だから容量。
だからもう一度混乱しないでください。容量はオブジェクトに付けられた変数の名前で、容量は再生メモリクラスのオブジェクトを作成するときに入力する引数です。
大丈夫。
そして、私たちは2番目のvoivodeを持っています。
それはもちろん記憶です。
だから自分自身がネムクを教えた。
大丈夫。
そして、このメモリVoivodeはどんなものになりますか？
まあ、このメモリは最後の100のイベントを含んでいると考えられているので、これは簡単なテストでなければなりません。
あなたは最後の100のイベントを含むリストを知っていて、最後の100の遷移とリストを初期化します。
そのような角括弧を追加するだけで、もっと簡単なことは何もありません。
さあ、いくぞ。
私たちの記憶は初期化されていますので、実験の初めに、あるいはより正確には探索の始めに、メモリは空のリストになります。それから、遷移を入れます。
私たちが将来の状態に達するたびに。
そしてそれは、プッシュ関数と呼ぶ次の関数で行うことです。
このプッシュ機能を使用してこのメ​​モリリストにイベントを設定し、次にこのメモリリストに常に100以上のイベントが含まれていることを確認します。
大丈夫ですので、次のステップでもこれをやりましょう。
そしてそれまで。