Object Avoidance 보상함수 튜닝 관련해서 조언을 해주실 수 있을까요?
AWS DeepRacer로 배우는 인공지능과 자율주행
Object avoidance 보상함수를 여러개 설계하고 그중에서 가장 우수한 모델을 만들었는데 아쉽게도 주행 시간은 1 lap당 대략 35초 정도가 나오고 장애물 충돌이 1트랙 당 1번 정도 있으며, off track은 없습니다. 안정성면에서 좀 더 개선을 하고 싶은데 혹시 제가 설계한 보상함수를 어떻게 새로 튜닝해야할까요? 코드랑 하이퍼 파라미터, 보상함수 그래프는 아래와 같습니다. def reward_function(params): if not params['all_wheels_on_track']: return 1e-3 reward = 1.0 # 중심선 거리 보상 track_width = params['track_width'] distance_from_center = params['distance_from_center'] normalized_distance = distance_from_center / (track_width / 2) reward += 1.2 * (1.0 - normalized_distance ** 2) # 중심선 보상 강화 # 속도 보상 speed = params['speed'] max_speed = 1.2 # 여전히 안정 주행 기준 reward += speed / max_speed # 장애물 고려 objects_distance = params.get('closest_objects', [None, None]) if objects_distance[0] is not None: distance_closest_object = objects_distance[0] if distance_closest_object < 0.8: if speed > 1.0: reward *= 0.7 # 감점은 조금 약하게 reward += 0.3 * (1.0 - (distance_closest_object / 0.8)) # 장애물 접근시 보상 감소 # Steering penalty (완화) steering = abs(params['steering_angle']) reward *= (1.0 - steering / 45.0) # 기존 30도 → 45도로 완화 # 진행률 보상 reward += params['progress'] / 100.0 # 거의 완주했으면 보너스 if params['progress'] > 90.0 and params['all_wheels_on_track']: reward += 5.0 return float(reward)
- 강화학습
- 자율주행
- deepracer





