こんにちは、このPythonチュートリアルへようこそ。
これで、前のセクションで適格トレースを行った結果、出力とターゲットの間の距離の二乗を最小限に抑えるようにネットワークをトレーニングする準備が整いました。
基本的には、訓練全体を開始する準備ができていました。私たちの入力を予測し、予測と目標の間の最後の誤差を計算し、逆方向伝播を行うことは、データ重みの中心にグリッドをつけることでした。
だから、私たちはこれをすべてやる準備ができていましたが、訓練中に平均を追跡するために知っている移動平均と100ステップを計算したいからです。
このトレーニング全体を行う直前に、今度は100ステップの移動平均を得るようになりました。
だから心配しなくてもすぐにやります。
3つの関数を使ってクラスを作成し、これをすべて実行し、単一のチュートリアルを作成して、すぐに実行します。
私たちはすでにそれをしました。
しかも、それは最も重要なことなので、今すぐトレーニングに集中したいと思っています。
ですから、このチュートリアルでこのクラスを作成しましょう。
さて、私たちが呼び出す新しいクラスと移動平均を導入するつもりですが、ここでは最初の関数を紹介します。
もちろん、これとその関数で決して変化しない本来の関数は、2つの引数をとることになります。
最初のものは、平均を計算しようとしている単語のリストのサイズに対応する将来の移動平均オブジェクトおよびサイズの自己です。
これは100になるでしょう。
さて、私たちは関数の引数を持っています。
さあ、関数の中に入ってみましょう。
ここで何をすべきか分かっているので、オブジェクト固有の変数を初期化する必要があります。
そしてこれらはある。
最初は最初のものが、平均を計算しようとしている100語を含むリストになる単語のリストになります。
だからここで今ここで空リストを使ってこのリストを初期化するだけです。
したがって、すべての単語をリストし、将来のオブジェクトの2番目の変数はもちろんサイズになり、サイズは将来の移動平均オブジェクトを作成するときに入力する引数に等しくなります。
だから観光客。
すでに関数を追加し、累積報酬を追加する次の関数に移ります。
それが累積的な報酬であるという単純な報酬ではないことに注意してください。
そして、それはあなたが適格性の痕跡を見ていることを知っているので、10ステップごとに学びます。
したがって、累積報酬で学習し、簡単な報酬ではなく学習します。
だからこれは私たちがしようとしている機能を追加して、累積報酬を報酬のリストに追加します。
だからJeffはもちろんこれを広告と呼ぶつもりですが、この関数は2つの引数を取ることになります。
最初の1つは自己です。ここではこの単語のリストを使用します。単純にこの単語のリストに累積的な報酬を追加するためです。
だから私たちは自分自身にこれを得ることができるようにする必要があります。
そして第2のものは累積報酬を表す報酬になるでしょう。
そうですね、関数の引数は二つあります。
さて、関数の中に入って、何をしなければならないのかを定義しましょう。
わかりましたので、最初のことは非常に簡単です。私たちが累積的になるたびに新しいものを求めています。
私たちがテロ段階で進歩する時を知っているあなたがしなければならないことは、この累積的な言葉をリストに加えることです。
そしてそれはまさに私たちがやろうとしていることです。私たちは、この単語のリストに10段階で進んだ後に得られるこの新しい累積報酬を追加するコード行を書くつもりです。
これを行うには、2つの条件を分ける必要があります。なぜなら、彼はバッチを扱うことになるからです。いくつかのリストに載りたいのですが、他の場合には単語を単一の要素として使うこともできます。ここで言葉のリストであるリストは、あなたがリストか単一の要素を追加しているかどうかは同じではありません。
ですから、これらの2つのケースを分離する条件にするだけです。
この単語リストに追加するものがリストである場合の最初のケースから始めましょう。これを行うには、括弧内のインスタンスを追加します。最初に2つの引数を入れます私たちが追加している言葉。
そうではありませんでした。
もう一つはLISTです。
したがって、インスタンス単語リストが報酬がリストに含まれている場合は、そのことを意味します。
報酬がリストに含まれている場合、私たちがすることは非常に単純です。報酬のリストを取ることです。このリストを追加するつもりです。単純な加算演算を使用することができるからです。報酬を得るためにいくつかのtulis。
ここにリストがあります。これは、この場合に真の意味で呼び出されるからです。
したがって、このリストを単語のリストに単純にまとめることができます。したがって、単にあなたの報酬プラスあなたの報酬のリストを持つことができます。
これを行うことで、これらの2つのリストを一緒に拡張するだけです。
大丈夫。
そして、2番目の条件。
したがって、報酬がリストでない場合、それが単一の要素であれば、その場合には何が起こるかという点で、elseを追加するだけです。
これは、単語のリストに2つの単語を追加するのと同じです。
しかし、私たちの言葉はもはやリストではないので、構文を使用することはできません。
それは単一の要素になります。
したがって、使用する必要があるのは、追加機能である別の構文です。
1つの要素をリストに追加する場合は、何かを追加することができます。
追加機能を使用する必要があります。
そしてこれはまさに私たちが今やっていることです。
私たちはオブジェクトの単語のリストを取り、それをここに貼り付け、次にドットを追加してから最初に行きます。
もちろん、かっこ内に追加する要素を追加します。
これはもちろん単語ですが、その場合の単語はリストにはなりません。
これは、リストにない単一の累積単語のような単一の要素になります。
さて、これをやりたいと思っていますが、今は何かを追加する必要があります。
この単語のリストが100以上の要素を取得すると、何が起こりますか。
その場合は、このリストの最初の要素をすべての単語から削除して、この単語のリストに常に100個以下の要素が含まれていることを確認してください。
それで、私たちが南の車を運転するときに行ったこととまったく同じです。これを確かめるために、条件を追加します。単語のリストの長さがこの数字が、私たちがここで言ったサイズであり、後で100に等しいサイズである自分自身のサイズより大きいときはいつでも、単語のリスト。
オブジェクトを作成するとき。
まあ、この単語のリストの要素の数が100を超えるとすぐに。
私たちがしたいことは、私たちのリストの最初のインデックスであるインデックス0を取ることによって得ることができる単語のリストの最初の要素を削除することです。
これは単語のリストの最初の要素であり、単語のリストに100を超える要素が含まれている場合は削除します。
これでこの条件付きでは、単語のリストには10​​0以上の要素が含まれていないことが確認されます。したがって、実行可能な要素に含まれる単語リストの平均を計算する新しい関数を作成することができます百要素。
したがって、毎回1​​00ステップの移動平均を計算します。
ですから、Pythonの主な機能は非パイロットからのリストの平均を計算する関数なので、これを非常に簡単にする関数にしましょう。
ここで最後に関数を紹介しましょう。この関数は平均と呼ばれますが、この関数は1つの引数をとることになります。これは、変数である単語のリストを使用するためです。私たちの目的は自己と着色です。
平均を比較してみましょう。直接平均を返します。これは、平均的な関数を使って得ることができるためです。
さて、私たちがその平均を計算したいのは、私がまだそれをコピーしていると思っているもののリストです。
はい、そこに行きます。
だから、私たちは単語のリストと平均の平均を返します。
私が言ったように、非タイ人の機能です。
だから、こことアンリリスは、その単語の自己リストの平均を見る。
そして、我々は完璧な100ステップで我々の平均を持って行く。
だから私たちはそのクラスを非常に効率的に作りました。
ここで、100ステップの移動平均を取得する方法について説明します。
トレーニングを行うときには、移動平均オブジェクトを1つ使用するので、すでにこの移動平均オブジェクトを作成しましょう。
そして、私たちはそれをAと呼んで、簡単にオブジェクトとクラスにするつもりです。
そして、私たちが言ったように、100のステップで移動平均を計算したいので、サイズを100にします。
その完璧な。
そこに行く。
私たちはAIを最終的にインテリジェントにするように訓練する準備が整いました。
この時点から、私たちの年齢が賢くなる時期が来ています。
だから私はそれを訓練するのを待つことができません。
これは私たちが死んでいるものなので、かなり簡単になるでしょう。
しかしこれは楽しいものになるでしょう。
それ以降は基本的に私たちの年齢が構築され、インテリジェンスも完全に準備されるので、コードを実行するので、さらに楽しい時間があります。
そして、私はDoomをプレイし、最終的にはAI
AIの動画を見て、それがベストに達するかどうかを確認します。
だから私は待つことができない。
その訓練をやりましょう。
そしてそれまで。