大学でやってきたこと
2025-04-04
azblob://2025/04/04/eyecatch/2025-04-04-first-blog-article-000.jpg

 こんにちは!新入社員の醍醐です!
 簡単に自己紹介すると、会津大学出身で、サークルで中国の伝統武術を習ってました!
 最近体重増えたし、格闘技ジムに通おうかな?って悩んでます!

 この度新人研修でtech blogを書くことになりました!テーマはずばり『好きなIT技術について』です。
 でもぶっちゃけ大した技術を持ち合わせていません!
 そこで、大学の卒研でやってたことを紹介したいと思います!
(卒研で使った技術も嫌いなわけじゃないし、多分セーフでしょ)

本文の前に

 醍醐が所属してた研究室では基本的にみんな自動運転に関係した研究をしてました。
 醍醐の卒研内容も自動運転系なんですが、実はまだ卒業論文が公表されてないんです!
 多分、詳しく書いたらダメそうな気がする
 だから、この記事ではざっくり説明します!

大学でやってたこと

 醍醐の研究はざっくりと言えば、「強化学習でシミュレータ内での自動運転を実現させること」でした。
 強化学習では、エージェントが環境で実行するアクションに対し、報酬関数に基づいてその行動を評価し、報酬を与えます。エージェントは与えられる報酬を最大化するために最適な行動を探索します。
 この強化学習という手法は非常に強力ですが、意外と厄介な性質を持ち合わせています。

 それは「トライ&エラーを前提としている」ことなんです!

 シミュレータ内で車を走らせ、コースから逸脱した失敗、ペナルティを与える。きちんとコースに沿って走れば報酬を与える。

 でもこれ、シミュレータ内だから許されることだと思いませんか?
 現実空間なら一歩間違えれば車も壊れるし、ケガをする人も出ちゃうし、現実的じゃないように思える。そこで、この車両がコースから逸れようとしたら強制的に正しいルートに戻してあげる機構を作りました。
 この機構はリアルタイムで車両の状態を監視しています。シミュレータから車両の座標などの情報を読み込んでおり、コースからの逸脱を決して許しません。
 しかし、この機構だけではエージェントは自分で走れるようになりません。この機構による介入を前提とした動きをするようになります。

つまり、決してコースアウトしないので、全力でカーブに突っ込んでいくんです。

 これではあまりにもお粗末なので、この提案した機構と報酬関数を結び付け、フラグで管理しました。
 作成した機構によってエージェントへの介入があれば、報酬関数に信号が届き、ペナルティを与えるようにしたんですね!
 これによって、エージェントは訓練中にコースアウトのような事故を起こすことはなくなり、訓練後も安定して走るようになりました。

めでたしめでたし。

おわりに

 いかがでしたでしょうか。

 とてもざっくりとした内容なので、よくわからなかったかもしれませんね。

 実際、醍醐自身も研究の内容を思い出しながら書いているので結構めちゃくちゃな説明になってそうです。

 きっと後から読んで「うわぁ」ってなるんでしょうね。

 次はもっと上手に説明できるように頑張ります!次があればですけど!