はじめに
この記事は、Japan AWS Jr. Champions Advent Calendar 2025 シリーズ1・12日目の記事となります。
12日目のリレー担当は、ほしななです!
10月に、2025 Japan AWS Jr.Champions内でDeepRacer大会を行いました!そのDeepRacerが今月で終わってしまうので、楽しかった思い出を記録したい!と思い、記事にしました。
DeepRacerとは?
公式サイトによると、
AWS DeepRacer は、「強化学習」によって駆動される完全自律型の 1/18 スケールのレースカーです。これは次のコンポーネントで構成されます。
・AWS DeepRacer コンソール: シミュレートされた自動運転環境で強化学習モデルをトレーニングし、評価する AWS Machine Learning サービスです。
・AWS DeepRacer 車両: 自動運転用にトレーニングされた AWS DeepRacer モデルで推論を実行できる 1/18 スケールの RC 車両です。
・AWS DeepRacer: 世界初のグローバルな自律型レースリーグです。賞品、栄光、ワールド チャンピオン カップへの出場権を得るためのレースです。詳細については、「用語と条件」を参照してください。
とのことでした。
簡潔に言うと、モデルを強化学習させて、そのモデルを使って自動運転で車のレースを行うサービスです。
そして、残念ながらこのDeepRacerは、今月で終わってしまいます。
コンソールを開くと以下のような、「2025 年 12 月 15 日以降、AWS マネジメントコンソール内で利用できなくなります。」という警告が表示されるようになっていました。
トレーニングの進め方
DeepRacerのコンソール画面に移動した、Your modelsのCreate modelからモデルを作成します。
以下のような画面に移動したら、モデルの名前をつけていきます。私は途中から何のモデルなのかわからなくなってしまったので、報酬関数(後程説明します)の特徴と初期の学習時間を名前に入れていました。
そのほかの設定はデフォルトのままで次へ進みます。
Step2では、Race typeを選びます。私が挑戦したものはTime trialだったのでそちらを選択しました。
また、アルゴリズムや、ハイパーパラメータの調整もこちらでできます。
Step3ではハンドルの操作についてです。
左のContinuous action spaceは連続で左右に切り、右のDiscrete action spaceは角度を決めてハンドルを切るという違いがあります。
左の方がハンドルを切る選択肢が多く、右の方は選択肢が少ないというイメージです。そのため右の方は学習時間も短くなるので、私は初心者だったのでこちらを選択しました。

また、各角度のスピードについてはこちらで調整が可能です。欲を出しすぎてスピードをMaxにしたら、精度がとても低いモデルができあがってしまったこともありました。笑

最後のStep5は報酬関数です。ここが一番楽しいところだと思います!
モデルに、どういう走りをしたら報酬を与えるか、の関数をコードで書いていきます。
デフォルトはセンターラインに沿ったら報酬を高くする、という内容になっていました。
私は、カーブの内側を走ったら得点を高くする、という関数に設定しました。(そのため先程のモデルの名前はCurveModelにしています)
そして、最後にトレーニングの時間を決めます。こちらは長ければ長いほど、お金もかかってしまうので要注意です。
最後にCreate modelを押して、今指定した時間が終わるまで待ちます。

また、時間が経過するにつれて、以下のようなグラフができあがってきます。
赤の線は「定期的に行われる評価で、どれくらいの割合でコースを完走できたかの完了率」、緑の線は「平均報酬」、青の線は「どれくらいの割合でコースを完走できたかの完了率」を指します。
これを見て、モデルを改善し、強化していく、と言う流れになります。
Jr.ChampionsのDeepRacer大会について
Jr.ChampionsのDeepRacer大会の日程感としては以下のようなものでした。
- DeepRacerについてのワークショップ(任意):10/14(火)開催
- 本戦(全員総当たり戦の期間予選会):10/17(金)~10/24(金)
- 上位3名の決勝戦:10/31(金)
本戦では、自分が作ったモデルを提出して車を走らせます。(もちろん自動運転なのでこちらは何もせず待つだけです)
本戦期間は、24時間モデルを登録し自動タイム計測が可能で、かつ、複数回タイムの計測が可能なので、うまくいかなかったら何度でもモデルを提出することができます。
また、本戦のレギュレーションは、以下のように設定されていました。
- エントリー:レースオープン期間中無制限
- 計測方式:3 Lap / Total Time方式
- コースアウト:3秒ペナルティー加算
- 使用コース:Smile Speedway
コースが決まっているのであれば、そのコースをたくさん学習させたら速くなるのでは?と思う方もいらっしゃると思うのですが、それをしすぎると過学習になってしまったり、決勝戦はコースが違うのでうまくいかなかったりします。
なかなかそこが面白いポイントでした。
結果
自分の結果は…
7位でした。悔しい。
1位の方とは4秒も差があり、なかなかこの差が縮まらず、決勝戦にいけず敗退となりました。
決勝に進んだ3名は、10月のMeetupにて、自分の車を走らせてタイムアタックをしているところを中継してくれました。
以下は当日の雰囲気です。
おわりに
強化学習は知識として聞いたことはあったものの、実際に行うのは初めてだったので、とても良い経験になりました。途中まではスムーズに学習がいくものの、そこからモデルの精度を上げるために修正していく過程が難しく、だけどそこが1番楽しい瞬間でした。
また、トレーニングするのにはお金が結構かかるので、いかに少ないトレーニング時間で良いモデルを作成できるかが、結構燃えるポイントでした笑(中には気づかなくて、5万円ほど請求された方もいらっしゃったので、Badgetsなどでアラート登録するのをお忘れずに…)
コンソール終了まで3日あるので、まだ試していない方はぜひお試しください!(初回なら10時間まで無料でトレーニングできます!)








