第2回 AIの強化学習の基礎を学ぼう

図8 DeepRacerで定義した報酬関数のコード例(Python)reward_function()関数は、報酬関数を意味する。この報酬関数は、図7と同様に、エージェントがセンターラインに沿って進むように報酬を定義している。変数track_widthはコースの幅、変数distance_from_centerはセンターラインからの距離の数値が格納されている。センターラインからの距離は、コース幅の10%(変数marker_1)/25%(変数marker_2)/50%(変数marker_3)でマーカーを引き、3段階に分けている。最も中心に近い10%幅内を走行中の場合は1.0ポイントの報酬が、25%幅内なら0.5ポイント、50%幅内なら0.1ポイント、それよりも外を走行中なら、1e-3(=0.001)ポイントが付与される。計算された報酬は、関数の呼び出し元にfloat値として返却される。

図8 DeepRacerで定義した報酬関数のコード例(Python)reward_function()関数は、報酬関数を意味する。この報酬関数は、図7と同様に、エージェントがセンターラインに沿って進むように報酬を定義している。変数track_widthはコースの幅、変数distance_from_centerはセンターラインからの距離の数値が格納されている。センターラインからの距離は、コース幅の10%(変数marker_1)/25%(変数marker_2)/50%(変数marker_3)でマーカーを引き、3段階に分けている。最も中心に近い10%幅内を走行中の場合は1.0ポイントの報酬が、25%幅内なら0.5ポイント、50%幅内なら0.1ポイント、それよりも外を走行中なら、1e-3(=0.001)ポイントが付与される。計算された報酬は、関数の呼び出し元にfloat値として返却される。