【トライ系】

DeepRacerを遊んでみた(やってみた系)

DeepRacerとは?

https://aws.amazon.com/jp/deepracer/faqs/
Q: AWS DeepRacer とは何ですか?
端的にいうと、機械学習する車をシュミレートする機能です。
1/18スケールの車に強化学習によって、完全自動化で稼働することができます。実際の車がなくとも3Dレースシュミレーターで、仮想レースが可能。

言葉の定義

混乱するのでまず定義

人工知能(artificial intelligence:AI)

言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術

機械学習(machine learning:ML)

コンピューターやロボットなどの機械に自動的に概念や行動プログラムを学習させる研究分野。
人間が教師役を務め,正解あるいは解答の正誤を提示しながら進める教師ありsupervised学習と,機械が勝手に学習を進める教師なしunsupervised学習がある。

強化学習(Reinforcement learning:RL)

機械学習の一種。解決すべき課題に対し、より正しい結果を得るため、試行錯誤を通じて自ら得られる報酬が最大化するよう学習を進める。
報酬は、確率的にある程度遅れてもたらされる。学習速度が遅く、適切なアルゴリズムの設計が難しいが、現実世界に近い不確実性のある環境や条件の下で、最適な方策を自ら獲得する特長をもつ

深層学習(deep learning:DL)

コンピューターによる機械学習で、人間の脳神経回路を模したニューラルネットワークを多層的にすることで、コンピューター自らがデータに含まれる潜在的な特徴をとらえ、より正確で効率的な判断を実現させる技術や手法。音声認識と自然言語処理を組み合わせた音声アシスタントや画像認識など、パターン認識の分野で実用化されている。

うん!何も分かんない!
とりあえず調べていると
「人工知能(AI)>機械学習(ML)>強化学習(RL)>深層学習(DL)」と深くなるらしい

とりあえず動かしてみよう

Get started

AWS DeepRacerのTOPからGet started

Accout resources

初めての人はReset Resoucesで環境を整備する。
ボタン押せば勝手にできます

Create a reinforcement learning (RL) model

強化学習のモデルを作りましょう。
約1時間程度稼働させる必要があります
$3ぐらい?

Model details

モデルの名前と説明を記載

Environment simulation

走らせるコースを選択
今回はre:invent2018

Action Space

ここが面白いけど、難しい
・最大のステアリングの角度(1~30)
・ステアリングの粒度(3/5/7)
・最大のスピード
・スピードの粒度(1/2/3)

粒度が小さい組み合わせでは
ステアリング粒度1・スピード粒度3=3パターンの組み合わせでしか動きませんが

粒度が大きい組み合わせでは
ステアリング粒度3・スピード粒度7=21パターンの組み合わせで動きます。

Reward function

報酬の関数を設定
報酬はモデルに対してどういう行動が良いとするのか指標となります。

サンプルの解説

Stop conditions

トレーニングでどの程度の時間稼働させるか

Start Training

開始!!
報酬のグラフとシュミレーター車の動きが見えます

1時間稼働した結果、報酬は30程度かな

教育後に走らせてみると、ちゃんと1週できるのは1回だけでもタイムは21秒

Start Training

ちなみに速度を落としたモデルでは評価は500程度になります。

しかしタイムは30秒

何が面白いのか

最終的には以下に早く1週するかが目標です
今回のサンプルではコース中央に近いことに重きをおいてます。
でもそれは左右にブレブレでも中央は通るでもOKですよね。
じゃあ次はブレたら(評価を低くする)とかで成長させることができます。

また速度は評価に入れていないので、今回の結果見たいに遅くなる可能性もあります
そういう考える過程が面白いんだろうなぁ

関連記事

  1. 【トライ系】

    サーバーレスクイックスタート:手を動かしながら学ぶサーバーレスはじめの一歩

    ■目的「サーバーレスクイックスタート 手を動かしながら学ぶサーバー…

  2. 【トライ系】

    docker -Install-

    やりたいこととりあえずdockerとやらを試したい。dockerの…

  3. 【トライ系】

    CloudWatch Agentを導入 -cmd形式-

    CloudWatchそもそもCloudWatchは?Amazon …

  4. 【トライ系】

    Docker -コマンド-

    dockerコマンド代表的なコマンドを整理imageコマンド説明…

  5. 【トライ系】

    githubの使い方1

    githubの使い方を自分で整理するためにもまとめてみよう。ブログ…

  6. 【トライ系】

    CloudFrontのログS3を解析する(途中まで)

    目的CloudFrontのログをS3に出力しているが、素データが…

アーカイブ

PAGE TOP