AWS DeepRacer 액션 스페이스 및 리워드 기능 - AWS DeepRacer

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS DeepRacer 액션 스페이스 및 리워드 기능

액션 Space

강화 학습에서는 에이전트가 환경과 상호 작용할 때 사용할 수 있는 모든 유효한 행동 또는 선택의 집합을 행동 공간이라고 합니다. AWS DeepRacer 콘솔에서는 개별 또는 연속 작업 공간에서 에이전트를 교육할 수 있습니다.

분리된 액션 Space

불연속 동작 공간은 각 상태에 대해 에이전트가 수행할 수 있는 모든 동작을 유한 집합으로 나타냅니다. AWS의 경우 DeepRacer, 이는 환경 상황이 점차 달라질 때마다 에이전트의 신경망이 카메라 및 (선택 사항) LiDAR 센서의 입력을 기반으로 차량의 속도와 방향을 선택한다는 것을 의미합니다. 선택은 사전 정의된 스티어링 각도와 스로틀 값 조합의 그룹화로 제한됩니다.

회전이 가까워지면 분리된 액션 공간에 있는 AWS DeepRacer 차량은 가속 또는 제동을 하고 좌회전, 우회전 또는 직진 방향을 선택할 수 있습니다. 이러한 액션은 스티어링 각도와 속도의 조합으로 정의되어 에이전트에 대한 옵션 메뉴 (0-9) 를 생성합니다. 예를 들어 0은 -30도 및 0.4m/s, 1은 -30도 및 0.8m/s, 2는 -15도 및 0.4m/s, 3은 -15도 및 0.8m/s 등을 나타낼 수 있습니다. 음의 각도는 차를 오른쪽으로 돌리고, 양수 각도는 차를 왼쪽으로 돌리고, 0도는 바퀴를 똑바로 세웁니다.

AWS DeepRacer 기본 개별 작업 공간에는 다음 작업이 포함됩니다.

AWS DeepRacer 기본 개별 작업 공간
행동 번호 조향 각도 속도
0 -30도 0.4m/s
1 -30도 0.8m/s
2 -15도 0.4m/s
3 -15도 0.8m/s
4 0도 0.4m/s
5 0도 0.8m/s
6 15도 0.4m/s
7 15도 0.8m/s
8 30도 0.4m/s
9 30도 0.8m/s
연속 액션 Space

연속 작업 공간을 통해 에이전트는 각 상태에 대한 값 범위에서 작업을 선택할 수 있습니다. 분리된 액션 스페이스와 마찬가지로, 이는 환경 상황이 점진적으로 달라질 때마다 에이전트의 신경망이 카메라 및 (선택 사항) LiDAR 센서의 입력을 기반으로 차량의 속도와 방향을 선택한다는 것을 의미합니다. 하지만 연속적인 액션 스페이스에서는 에이전트가 액션을 선택할 수 있는 옵션 범위를 정의할 수 있습니다.

이 예시에서는 회전이 가까워지고 있는 연속 액션 공간에 있는 AWS DeepRacer 차량은 0.75m/s ~ 4m/s의 속도를 선택하고 -20도에서 20도 사이의 조향 각도를 선택하여 좌회전, 우회전 또는 직진할 수 있습니다.

불연속 및

연속 액션 스페이스 사용의 이점은 성능을 최적화하는 트랙의 특정 지점에서 속도/조향 동작을 장려하도록 모델을 훈련시키는 보상 함수를 작성할 수 있다는 것입니다. 다양한 동작 중에서 선택하면 속도와 조향 값을 부드럽게 변경할 수 있으며, 잘 훈련된 모델에서는 실제 상황에서 더 나은 결과를 얻을 수 있습니다.

개별 액션 스페이스 설정에서 에이전트의 선택을 유한한 수의 사전 정의된 액션으로 제한하면 이러한 액션의 영향을 이해하고 환경 (트랙, 레이싱 형식) 및 보상 기능을 기반으로 정의해야 합니다. 그러나 연속적인 액션 스페이스 설정에서는 에이전트가 트레이닝을 통해 제공하는 최소/최대 한계 범위에서 최적의 속도 및 조향 값을 선택하는 방법을 학습합니다.

선택할 수 있는 다양한 값을 제공하는 것이 더 나은 선택인 것 같지만 에이전트는 최적의 동작을 선택하는 방법을 배우려면 더 오래 훈련해야 합니다. 성공 여부는 보상 함수 정의에 따라 달라집니다.

보상 기능

에이전트가 환경을 탐색하면서 에이전트는 가치 함수를 학습합니다. 값 함수는 에이전트가 환경을 관찰한 후 취해진 조치가 얼마나 좋은지 판단하는 데 도움이 됩니다. 가치 함수는 AWS DeepRacer 콘솔에 작성한 보상 함수를 사용하여 액션에 점수를 매깁니다. 예를 들어, AWS DeepRacer 콘솔의 중심선 따르기 샘플 보상 기능에서 좋은 액션은 에이전트를 트랙 중앙에 머물게 하고 나쁜 액션보다 높은 점수를 받아 에이전트를 트랙 중앙에서 멀어지게 합니다.

가치 함수는 시간이 지남에 따라 에이전트가 총 보상을 높이는 정책을 익히는 데 도움이 됩니다. 최적 또는 최상의 정책은 에이전트가 환경을 탐색하는 데 소비하는 시간과 정책이 경험을 통해 학습한 내용을 활용하거나 최대한 활용하는 데 소비하는 시간의 균형을 맞추는 것입니다.

중심선 따르기 AWS DeepRacer 샘플 보상 함수 예제에서 에이전트는 먼저 환경을 탐색하기 위해 무작위 조치를 취합니다. 즉, 트랙 중앙에 머무르는 데 그다지 효과적이지 않습니다. 시간이 지남에 따라 에이전트는 어떤 동작이 중심선 근처에 있는지 파악하기 시작하지만, 계속해서 무작위 행동을 취하여 이 작업을 수행하면 전체 랩 동안 트랙 중앙 근처에 머무르는 법을 익히는 데 시간이 오래 걸립니다. 따라서 정책에서 적절한 조치를 취하기 시작하면 에이전트는 무작위 조치를 취하는 대신 해당 조치를 사용하기 시작합니다. 하지만 항상 좋은 행동을 사용하거나 악용한다면 에이전트는 더 이상 환경을 탐색하지 않기 때문에 새로운 발견을 하지 않을 것입니다. 이러한 절충점을 종종 RL의 탐색 대 악용 문제라고 합니다.

기본 액션 스페이스와 샘플 보상 함수를 시험해 보세요. 모두 살펴본 후에는 자신만의 맞춤형 활동 공간과 맞춤형 보상 기능을 디자인하여 지식을 활용하세요.