iPX社員によるブログ

iPX社員が"社の動向"から"自身の知見や趣味"、"セミナーなどのおすすめ情報"に至るまで幅広い話題を投下していくブログ。社の雰囲気を感じ取っていただけたら幸いです。

iPXチャンネル動画解説 「CARLAで強化学習シリーズ」

こんにちは、iPXのハナキです。
今回は弊社の公式YouTubeチャンネルの動画「CARLAで強化学習シリーズ」の解説をします。

CARLAで強化学習シリーズとは

この動画シリーズは、CARLA・強化学習の初心者がCARLAのインストールからCARLAを使用した強化学習を実行するまでの様子をまとめたものです。

全3回の動画は下記のような流れになっています。
1.CARLA環境構築編
2.コードの確認と学習の実行
3.学習の精度向上

1.CARLA環境構築編

CARLAで強化学習! 第一回 CARLA環境構築 - YouTube

第1回はCARLAをインストール・起動確認を行い、強化学習のコードが実行できることを確認するまでとなっています。

インストールや起動確認自体はCARLA公式サイトの手順通りに実行すれば問題なかったのですが、事前準備のUE4githubの連携がうまくいかず時間がかかりました。
うまくいかなかった理由は、github連携後のメールがなぜか届かず認証ができなかったためでした…

2. 学習の実行

CARLAで強化学習! 第二回 コード変更と学習の実行 - YouTube

第2回は強化学習コードを変更しながら学習を実行しました。

観測情報はどうやって取得しているのか、報酬はどうやって計算したらいいのか等の強化学習の基本の部分を理解するために、少しずつコードを変更しながら挙動を確認していました。

第2回動画の観測情報・報酬に使用している値は基本的にはPythonAPIから取得できるものです。

そのため前方目標点・横加速度の追加や報酬関数の割合の変更を行いました。


3.学習の精度向上

CARLAで強化学習! 第三回 学習の精度向上 - YouTube

第3回は学習の精度向上を行いました。
第2回での挙動を踏まえて、より効率の良い学習を行うために観測情報・報酬関数等の変更をしています。

第3回ではPythonAPIから取得した情報をもとに、学習に有効な数値を出すためにコード内でいくつかの計算を行っています。
ハンドル角速度・横加速度は車両が細かく動いてしまうことを抑制するために追加しました。

また最終走行ではその他変更点として評価周期等を変更しています。
走行開始直後の異常な挙動を抑制するために加速の制限を付け、ステアが振り切れることを抑えるためにアクションの上限下限を変更しました。

振り返って

強化学習をすること自体が初めてだったため、当初はコード内で何を計算しているのか、何の情報があればいいのかということが分からず苦戦しました。
この動画以降業務でも強化学習を行うことが増え、動画撮影時よりも多少は知識が増えました。
この記事を書くために動画を見直してみると、もっとこうしたら良かったんじゃないかなと思うことは多々あります。

おわりに

今回紹介した動画以外にも、iPXの公式チャンネルでは社員が撮影した様々なジャンルの動画があるのでぜひ見てください。
iPXチャンネル - YouTube