みつひろ)ITスキルAWSAI(人工知能)山下光洋re:Inventこんにちは!今年ももう残すところ数日となりましたが、皆さまいかがお過ごしでしょうか。今年の最後に一番嬉しかったことについて書きます。DeepRacerサーキットでのタイムトライアルで3日目の瞬間1位になりました!ものすごく嬉しかったので、ここまでの軌跡とともに、皆さまに報告いたします。Service)が年に1回開催している技術カンファレンスです。2019年は12月1日から6日の期間でラスベガスの複数のホテルを展開して開催されました。4回の基調講演と3,000を超えるセッションやパートナー展示ブースやハンズオンがあり、夜な夜なパーティーや、ラストナイトにはre:Playという盛大な打ち上げイベントもありました。参加者は全世界から65,000名を超え、日本からも1,700名を超える参加者だったとのことです。InstructorとしてAWS認定トレーニングコースを担当している関係もあり、re:Inventに参加いたしました。参加レポートは別記事でお知らせします。DeepRacerとはhttps://aws.amazon.com/jp/deepracer/強化学習を実践的に学ぶためのサービスです。2018で発表された強化学習で完全自走する1/18スケールカーです。(ラジコンと表現される方もいらっしゃるようなのですが、走る時は操作しませんのでラジコンだと意味が違ってきます。)車自体のOSはubuntuで前面のカメラに映った車線などを判断して、事前に学習した走り方で走ろうとします。これはコースを学習するという意味ではなく、車線などいくつかの条件に対して自分がどのように走るべきかを学習しているという意味です。この学習のためにクラウド上のコースをシミュレーターを使ってトレーニングをします。トレーニングではPythonの報酬関数を使って、いかにポイントを与えるかを定義していきます。シミュレーターのふるまいに対して報酬を与えたり減らしたりします。簡単に言うと、素敵な走り方をしたら褒めます。よくない走り方をしたらあまり褒めないか、一切褒めません。怒るやり方もあるかもしれませんが、私は知りませんし、知りたくもありません。して生まれたモデルをダウンロードして、実機であるDeepRacerレーシングカーにUSB経由でインストールして、実際のコースを走らせてタイムトライアルをします。Tokyoでとにかく触ってみる、というところからスタートしました。2019開催の幕張近くの宿泊していたホテルで、ようやく初めてのシミュレーションを開始しました。開催されていたハンズオンにも参加できなく、調べたわけでもなく完全に独学というか、やってみたというだけのレベルでやってみてました。このときって本当に何もわかってなくてこの画像を見る限り、もともとあるモデルでEvaluationしてみただけですね。Evaluationはその名の通り、そのモデルをトラックで走らせてみたらどうなるかを評価するのがEvaluationです。何度やってもなんの学習にもならないんですね。Osakaでようやくハンズオンに参加してモデルの作り方を学びました。バーチャルサーキットバーチャルサーキットというものが、毎月開催されているということを聞いて、とりあえず6月のバーチャルサーキットにエントリしてみました。自分が生み出したモデルを選択して開催中のサーキットに送り込むか、開催中のサーキットを選択してエントリアクションからモデルを選択するか、どちらからもサブミットできます。エントリにサブミットした後は、少し待つと走り終わって結果が表示されます。最初の平均ラップは39秒台でした。553エントリ中260位でした。いう名前で日本をイメージしているそうです。選択して2時間トレーニングしてみました。生まれ変わったモデルでもう一度エントリです。ラップが21秒台にまで縮みました。この時点でエントリ総数も増えて572位でした。報酬関数で色々試してみることで効果が出ました!これ以上やるにはなかなかコストがかかりそうでしたので、今月はこれぐらいにしておいてやろうと、6月のトライは終了です。Cityという新しいサーキットがオープンしました。Torakkuで21秒台を出したモデルをそのままエントリしてみました。5エントリだけでしたので、4位です!でも36秒台です。こんなラップで順位をキープできるはずもありません。Cityのモデルトレーニング用コースも出来てましたので、モデルのクローンを作成して、1時間トレーニングしてから、再びエントリしてみました。ラップは4秒しか縮まりませんでした。エントリも倍に増えて、ランキングは2つ下がりました。報酬関数を見直さないとです。一度クローンを作って、報酬関数を見直して2時間ほどトレーニングしました。結果は、25秒台で7秒縮まりました。ここから毎月バーチャルサーキットに参加することが、私の月課になりました。Sudu月課と言いつつ、8月は完全に月初に忘れてましたので、月中で参戦です。いつものように、今月のサーキットでモデルをトレーニングして、そしてエントリです。初の20秒台ラップが出ました。20秒ですと、順位は698エントリ中233位なんですね。上位3割にも入れないんですよね。Carerra9月からは覚えてましたので月初にトライしました。思い始めたのは、報酬関数やトレーニング結果のログもちゃんと向き合って分析して、試さないと、一辺倒なやり方を続けていても、10秒台の壁は超えられないんじゃないか、と。この時点では注力するコストも時間も自分の中で、優先度をあげていなかったので、取り組みませんでした。Turnpikeいつもと同じく、先月終わりのモデルからクローンを作成して、新コースでトレーニングしてエントリしました。この片手間でやれるやり方で、当面はやり続けます。Sapporoが札幌で開催されました。弊社トレノケートも企業サポーターとして参加したり、私個人も当日スタッフとして参加していましたので、現地へ向かいました。私が手伝うメインイベントは、DeepRacer特設サーキットの設営と運営です。ビニールのDeepRacerサーキットのシートを敷いて、まわりに壁を作ります。壁が必要なのは、DeepRacerはカメラに映った画像で判断しているので、コースの外が映ってしまうと、誤判断をしてしまう可能性があるためだそうです。参加者の方が走らせるまで少し時間がありました。Model]メニューからダウンロードします。AWSJさんにお借りしたUSBのmodelディレクトリに、ダウンロードした圧縮ファイルを保存してAWSJさんに渡します。そのUSBをDeepRacer実機に接続してインストールしてもらいます。走らせるのはすごく簡単で、タブレットからの操作はスピードをあげたりさげたりするだけです。基本的には上げ下げは、マシンとコースの状態を見ながら調整するだけで、カーブで下げたり直線で上げたりとするものではないようです。走らせてみましたところ、コースをはみ出さないように、一生懸命走るのですね。なんと健気なのでしょうか。これまで数ヶ月、毎月トレーニングしてきてよかったなあと思った瞬間でした。Warm-upFestaから帰ってきてバーチャルサーキットにまた勤しみます。来月はいよいよre:Inventということで、バーチャルサーキットもチャンピオンシップにちなんだコースになっているようです。早くはないですが、実機でも走った姿を見てるので、ちゃんと走ってくれただけで、もはや記録さえも微笑ましく見えてきます。相変わらずかわいいやつです。2019に参加しました。12/5の朝の基調講演でDeepRacerチャンピオンシップが開催されて、DNPさんがワンツーフィニッシュされました。同じ日本企業として、誇らしかったです、眩しかったです。この日は、メイン会場のベネチアンで開催されているExpoという展示会場と、アリアで開催されているQuadという展示会場が最終日でした。Expoはすでに何回か行ってたので、Quadも各ブースをまわろうと思って向かいました。アリアのQuadに到着すると、なんとそこにはDeepRacerのタイムトライアルコースがありました。調べたらすぐにわかる情報なんでしょうけど、ろくに調べずにいきあたりばったりでQuadに来た私には青天の霹靂でした。チャンピオンシップの予選が行われた各国のSummitに設置されていたのと同じ本格的なサーキットコースです。model」と告げました。USBを受け取り、持っていたMacbookでマネジメントコンソールにサインインし、直近のDeepRacerモデルをダウンロードします。USBのmodelディレクトリに格納してスタッフに渡します。制限時間内は何回でもトライアルができるようです。最速ラップが記録されるようです。このときの自分はあまり期待していなくて、これで「本場で走らせてきました」「公式コースでコースアウトせずに完走しました」と報告できる、という安堵感に包まれていました。札幌と同じようにラスベガスでも健気に走ってくれます。札幌と少し違ったのは攻めているように見えました。最初のヘアピンで遠心力さえ生み出しながらコースアウトせずにエッジを効かせたコーナリングをしているように見えるのです。最終コーナーでコースアウトすることは多かったのですが、最初のヘアピンの感じを見ている限り、最終コーナーでも入り方(そのときカメラが認識している風景)によっては、ちゃんと曲がってくれるんじゃないかと思い、スピードは緩めませんでした。制限時間が訪れて、結果発表です。boardに表示されます。見てると自動スクロールして、順位が30位ぐらいまで一気に下がっていきます。これ以上下がらないというところまで下がりました。「ああ、最下位かあ」そう思った瞬間、次は上にスクロールしだして、一番上まで上がりました。1位に「yamashita-trainocate」の文字が。wineer!!」の声と拍手が。you」と言いながらその場をいったん離れました。離れた場所からiPhoneのカメラの拡大を使ってちゃんと見てみます。確かに自分の名前があります!そしてラップは11秒台!どんなバーチャルコースでも20秒台を切れなかったのに。小さい声で何度も何度も「やった」「やった」「やった」「やった」って呪文のように繰り返してました。本当に嬉しかったです。この記録を出したのが11:30頃で、Quad終了が16:00でした。16:00までにこの記録が守られたのか破られたのかは確認してないのでどうかはわかりませんが、これが一瞬であったとしても、本場ラスベガスで1位になれたことはDeepRacerをやっていく上で大きな励みになりました。まとめとご参考情報(コストと関数)なんでも諦めずに続けていれば、いいことありますね!少し思ったことは、強化学習なので、1つのコースで長時間学習させるよりも、多くのコースで学習したほうが応用の効くモデルになるんじゃないかということです。リアルなコースはゴミがあったり、スタッフさんの足もあったり、有志で作ったコースではしわがあったり、壁がなかったりも。いうところでも応用が効くほうがきっと楽しいんだろうなあと思います。コストは、私のやり方(月に1回2時間のトレーニングとエントリ)では12月実績で$8.5でした。リージョンはバージニア北部です。$0前後するとは思いますが、ご参考にしていただければと思います。(Default)をベースにしています。distance_from_centerパラメータで10段階評価をしてます。speedパラメータも使ってそれに加点をしている関数です。all_wheels_on_trackなど他のパラメータは使ってませんが、今後使うかもしれません。最終的な関数であって、多分、新規でモデル作成して同じ関数を使っても同じ結果にはならないかと思います。面白く、作ったモデルがかわいくなります。これからも、リファレンスを見ながら試行錯誤していきたいと思います。2020年はいよいよきっと多分日本でもDeepRacerの実機が購入可能になる、走らせてもいいようになる、と言われています。企画段階ですが、弊社でも何かイベントをご用意して、みなさんと一緒にDeepRacerで楽しみながら機械学習を学んでいきたいと思います!では、よいお年をお迎えください!みなさまにとって素敵な一年になりますように。トレノケートのAWS認定トレーニングトレノケートのAWS認定トレーニングでは、AWS社の厳格なテクニカルスキル及びティーチングスキルチェックに合格した認定トレーナーがコースを担当します。カスタマイズスペシャリスト他。クラウドプラクティショナー」がある。Summitにパネラーとして参加。Architectとして表彰されている。現在はAWS認定インストラクターとして活躍。各コミュニティの運営にも個人的に関わり、勉強会にてスピーカーや参加をしている。2008-2018この内容で送信します。よろしいですか?キャンセル。