こんにちは、人工知能のコースへようこそ。
今日のチュートリアルに興奮してくれることを願っています。私たちが世界に向けて私たちの最初の一歩を踏み出しているからです。
そして今日は、強化学習について話しています。
これは非常に重要な話です。なぜなら、このコースでは他のすべてが起こるからです。
だからここで始めましょう。
私たちは少し迷いがあります。この迷路は私たちが環境を表現したもので、これがこのコースで扱うものです。
私たちは、人工知能が実行されている特定の環境に取り組むつもりです。私がこのような環境で勝つことを目指している中で、これを打ち負かすような行動を取ることになるでしょう。
そしてここに代理人がいます。
エージェントは私たちの人工知能です。
それは人であり、それは、これらの環境をナビゲートし、フィードバックから、特定の行動を実行するために彼らの心が与えようとしていることを学ぶ心です。
したがって、エージェントがこの環境で特定のアクションを実行するのは機能します。
結果として、それが入っている状態が変わるので、もっと右に、またはより近くに、またはもっと左に多くなるかもしれません。
状態とそのパラメーターを記述する他のパラメーターの種類があるかもしれません。
だから、状態は行動のために変わるつもりですし、行動に基づいた報酬も得られます。
したがって、行動が取られるたびに状態が変わり、報酬が得られます。
今、行動が滞在を変えない状態を変えない場合や、その行動をとる報酬がない場合があることを時々心に留めておいてください。
その意味ではそれはそうだった。
それにもかかわらず、エージェントはそれを続けようとしているが、状態を変えて報酬を得るアクションを取って、状態を変えて報酬を得るアクションを取っているだろう。
そのプロセスを行うことで、どのような行動が良い報酬と有利な状態につながるのか、そして2つの行動がどのような行動に不利な立場にあるのかを理解する環境を探究しようとしていたことについて学習する予定です。
そして、これは非常に単純化された表現上の非常にグローバルな問題です。
ですから、環境について考えるならば、実際にはただの迷惑である必要はありません。
迷路から抜け出すことや、迷路で宝を見つけることだけではありません。
環境は人生の中では何でもあり得ます。
あなたが朝起きてオムレツを調理することを想像してみてください。
そのオムレツを作るためには、塩を得るために必要な特定のステップを踏む必要があります。卵が卵を焼くパンを手に入れるなど、それは日常的なもののように聞こえます。
しかし、それは何度もやってきたので日常的になりました。
しかし、現実には、あなたが取っている特定の行動を取っている環境です。あなたが火をつけて火の上にフライパンを置くと、すべての卵をフライパンに入れて、卵の上に塩を入れますあなたは転倒しています。
あなたが見ることができるように、彼らは特定の州で取っているCRNアクションのアクションであり、そのアクションは特定の他の州や時には報酬につながります。
例えば、火をつけて、あなたが待っているのを待っているときあなたが待っているのを待っているのを待っているのを待ってから、長時間待ってから、卵をフライパンに入れます。
報酬は非常にマイナスになるでしょう。
それはすべて燃え尽きるでしょう。
一方、正しい時間内にすべての正しいアクションを実行する場合は、正しい時点でアクションを実行する必要があることを理解することも非常に重要です。
だから、卵を入れる前にフライパンに塩を入れるのがベストのアイデアではないかもしれません。
あなたは、卵がそこにあるように、別の状態になるように、フライパンに塩を入れるという行動をしたいかもしれません。
だからそれを覚えておくことが重要です。
そして同時に、あなたが正しい状態で正しい順序ですべての正しい行動をとった場合、最終報酬はあなたが食べることができるオムレツを得ることができます。
そしてそれはあなたの人生において非常に基本的な活動ですが、それについて考えるならそれは実際には環境であり、あなたはこの環境を通って、あなたがすでにそれをかなりよく知っているので、
。
しかし同時に、あなたはもっと良いオムレツを作る方法を学ぶことができたかもしれないし、特にそれが最初のオムレツであれば、おそらくあなたはそれを台無しにするだろうということを学ぶことができます。
しかし、あなたはそれから学ぶでしょう。なぜなら、あなたはどのような行動が州や道路、そして人生の何かにつながるのか理解するからです。
例えば、株式市場で取引しても、リターンポジティブまたはネガティブリターンという意味で、売買し、市場から一定のフィードバックを得ることがわかります。
それはまたあなたがその環境に加齢として参加している環境です。
車を運転することは、あなたが加速することができるステアリングホイールを回すことができる環境でもあります。あなたが壊れる可能性があります。環境からのフィードバックを得ています。あなたは、そのフィードバックの1つが、そのハイウェイの許容速度または許容速度限界を上回っています。
それで、そこからあなたは、それが否定的な報酬につながるので、それはやらなければならないことではないことを学びます。
したがって、報酬はプロセスの最後にある必要はありません。
彼らはプロセス全体を通して旅に出ることができます。
だから、それらはいくつかの例です。
私の考えでは、補強学習を考える最も簡単な方法は、犬にあなたが特定のコマンドを与えるように訓練するときに犬を訓練するようなものであり、それらのコマンドに従うならば、ビスケットなどもしそれがAbeles
Kamazでなければ、それは悪い犬であるとあなたに伝えます。
そのプロセスを通じて、特定の状態で取る必要のある行動を実行するために必要なコマンドやコマンドや、状態が与えているコマンドを学習します。
それに基づいて、それはAIの世界でもちろんある報酬を得るでしょう。
それほど複雑ではありません。
あなたは、お菓子を与える必要はありません。
あなたはそれをプラス1またはマイナス1にするたびに、ビスケットの袋のようなものを持っている必要はありませんので、AIの世界ではこれらのAIを自分で作成したという大きな利点があります。
あなたが本当にクールな報酬だと思うなら、私たちに与えている報酬は、彼らが実際に存在しないことを彼らに与えているのです。プラスマイナス1か+1かゼロか何かです。
だから、すべての想像上のものはすべて存在しない。
しかし同時に、私たちが本当に存在しない報酬を提供するだけで、この驚くべき人工知能によって、これらの驚くべき人工知能を創造することができるので、大きな成果をもたらします。
プラスとマイナス1は、同じ時間リリースの結果には何の費用もかかりません。
実際の世界と非常によく似ています。
そして、あなたは、例えば、ダックスを知っていますが、ここでの報酬はデジタルであり、ただの数字です。
それを念頭に置いて、私はこの例が大好きなロボット犬について話すことができます。これは、ロボット犬のいくつか、特にあなたが持っているより古いものを強化することによって訓練されていることを、その中のアルゴリズム
これは、実際には、事前にプログラムされたエージェントと強化学習エージェントの違いの良い例です。したがって、歩く方法にあらかじめプログラムされたロボット犬を持つことができます。
それで、ソフトウェアの犬の背後にあるアルゴリズムでは、OKと言うでしょう。歩くためには、左足を前方に左前方脚を前方に、その後右足を前方に、そしてあなたの前方右足を前方に、そして、後方を左足前方に移動する必要がありますその行動を繰り返すと、それは歩行の定義がこの犬の中の機能であることを知っています。
そして、それはあなたが立つ方法やそれに似たものに座る方法を知っているかもしれません。
強化訓練を通して訓練されたロボット犬では、何が起こるかはあなたがそれをあらかじめプログラムしていないことです。
これは、ここにあるすべてのものの重要な概念です。その内部には、犬にハードコードされたアルゴリズムはありません。
代わりに、私たちが将来議論するものを持っています。
あなたは、この強化学習アルゴリズムを持っています。これは、OKということは、目標が、今どこから何を知らなくても、例えば部屋の最後まで到達することであるということです。
そして、ここであなたが取ることができる特定の行動があります。
あなたはあなたの右足を動かすことができますあなたはあなたの左足を動かすことができますあなたはあなたの右足を動かすことができますあなたは左足を残しているので、ここですべての自由度をあなたはあなたのように移動することができますあなたが取ることができる行動とあなたの報酬は、あなたが転倒するたびにあなたがプラス1を得る前に一歩を取るたびにあります。
あなたはマイナス1を得て、それはそこにすべてあります。
そして、彼らはただ犬を去り、それをそれ自身で把握させます。
だから犬が起きようとすると落ち込み、それが実現するとわかります。落ちるたびに落ちるので、私にはマイナスのものがあります。
それで彼が立ち上がるのを助けた他の行動は、実験的な実験実験のトリのものを無作為に選んだ後、右前足を動かすことで一歩前進することができ、彼はプラス1を得て、それ以上のことをしてください。
それでは、それがこれ以上のことをするべきであることを学びます。
そして、この学習プロセスを通して、それはどのように歩くことができるかをすぐに非常に迅速に理解します。
そして実際に犬を見ている人は、実際に犬を見ているか、自分の想像力を使っているのを知っているので、実際にはあらかじめプログラムされている犬より歩くことができます。独自のものを最適化する。
AIでは時にはより良い結果が得られることもあります。
それで、彼らはこれらのロボットを鍛えることができます。
同じロボット犬がサッカーをする。
あなたは単に全体のアプローチが異なることを知っているので、サッカーをするために通常の犬を訓練することができます。
そして、それはあなたがおそらく正常な犬が訓練されているか、またはその進化の過程でこれまで行ってきたことをあなたが知っているものではありません。
補強学習ロボットの犬は、あなたが報酬が何であるかを教えている限り、サッカーをする方法を非常に簡単に理解することができますが、目標は可能な行動です。
それが強化学習の仕組みです。
一般的には、強化学習の概要が簡単です。
私は、あなたがif
else条件を持っているハードプログラムのハードコードされたソリューションと、完全に異なる世界であるため、次のステップに来ることに非常に興奮しました。
これは非常に異なっています。
そして、それについてもっと話し合うつもりです。
それまでの間、あなたにはいくつかの補足資料がありますので、いくつかのサポート資料を用意しておきたいと思います。
これは、テンソルフローを使った単純な強化学習と呼ばれています。
それは10の部分を持っています。
リンクはここにあり、完全なクリック可能なリンクが表示されます。
Arthur Giulianiの2016年の記事によるリソースの中で、このコースに続き、その記事から追加情報を得ることができます。
torcheを使っていますが、実装は異なるが、同時に、ここではいくつかのものを拾い上げて、私たちがこのコースでやっています。
しかし、この記事では、このコースのようにpi
あなたがそれを確かに追いかけることを考えているなら、偉大な記事はあなたに続きます。
まだそうです。
その最初の部分をチェックし、あなたがそれをもう少し読んでみたいかどうかを確認してください。
そして、このチュートリアルでは、強化学習と呼ばれるRichard
Suttonの論文があります。
1998年の論文はかなり古いものですが、同時にオントレの例や補強学習が適用できる他の例、強化学習の一般的な概要などのいくつかの例を学習して強化について少し学ぶことができます。
あなたがいくつかの追加の読書を探しているなら、このノートでこのチュートリアルを終わらせます。
次回にお会いするのを待つことはできません。
それまではAIをお楽しみください。