AWS DeepRacer Student를 이용한 강화 학습 모델 훈련하기 - AWS DeepRacer 학생

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

AWS DeepRacer Student를 이용한 강화 학습 모델 훈련하기

이 연습에서는 AWS DeepRacer Student에서 내 첫 번째 모델을 훈련하는 방법을 보여줍니다. 또한 경험을 최대한 활용하고 학습 속도를 높이는 데 도움이 되는 몇 가지 유용한 팁도 제공합니다.

1단계: AWS DeepRacer Student를 사용하여 강화 학습 모델 훈련하기

AWS DeepRacer Student에서 모델 생성 버튼이 어디 있는지 알아보고 내 첫 번째 모델 훈련을 시작하세요. 모델 생성과 훈련은 반복적인 프로세스라는 점을 염두에 두세요. 다양한 알고리즘과 보상 함수를 실험해 보고 최상의 결과를 얻으세요.

강화 학습 모델을 훈련하려면
  1. AWS DeepRacer Student 페이지에서 모델 생성을 선택합니다. 또는 왼쪽 탐색 창에서 내 모델로 이동할 수도 있습니다. 모델 페이지의 내 모델에서 모델 생성을 선택합니다.

  2. 개요 페이지에서 강화 모델을 훈련하는 방법에 관해 읽어보세요. 이 페이지에는 프로세스의 각 단계가 설명되어 있습니다. 마쳤으면 다음을 선택합니다.

2단계: 내 모델 이름 지정하기

내 모델의 이름을 지어 주세요. 모델을 개선하고 복제하려는 경우, 개별 모델을 빠르게 찾을 수 있도록 모델에 고유한 이름을 붙이는 것이 좋습니다. 예를 들면, 이니셜-날짜-버전과 같이 일관된 이름 지정 규칙에 따라 모델에 이름을 붙일 있습니다.

내 모델 이름을 지정하려면
  1. 내 모텔 이름 지정 페이지의 모델 이름 입력란에 이름을 입력합니다.

    참고

    모델 학습을 시작하면 모델 이름이 고정되어 더 이상 변경할 수 없게 됩니다.

  2. 다음을 선택합니다.

3단계: 트랙 선택하기

시뮬레이션 트랙을 선택하세요. 트랙은 환경 역할을 하며 차량에 데이터를 제공합니다. 매우 복잡한 트랙을 선택하면 차량의 총 훈련 시간이 더 오래 걸리고 사용하는 보상 함수도 더 복잡해집니다.

내 트랙(환경)을 선택하려면
  1. 트랙 선택 페이지에서 차량의 훈련 환경으로 사용할 트랙을 선택합니다.

  2. 다음을 선택합니다.

4단계: 알고리즘 선택하기

AWS DeepRacer Student에서는 두 가지 훈련 알고리즘 중 하나를 선택할 수 있습니다. 각 알고리즘은 다른 방식으로 보상을 극대화합니다. AWS DeepRacer Student의 경험을 최대한 활용하려면 두 알고리즘을 모두 실험해 보세요. 알고리즘에 관한 자세한 내용은 AWS DeepRacer 훈련 알고리즘 항목을 참조하세요.

훈련 알고리즘을 선택하려면
  1. 알고리즘 유형 선택 페이지에서 알고리즘 유형을 선택합니다. 다음 두 가지 알고리즘 유형을 사용할 수 있습니다.

    • 근접 정책 최적화(PPO). 안정적이지만 데이터를 많이 사용하는 이 알고리즘은 훈련을 반복할 때 일관되게 실행됩니다.

    • 소프트 액터 크리틱(SAC). 불안정하지만 데이터 효율성이 높은 이 알고리즘은 훈련을 반복할 때 성능이 일관되지 않을 수 있습니다.

  2. 다음을 선택합니다.

5단계: 보상 함수 사용자 지정하기

보상 함수는 강화 학습의 핵심 부분으로, 이를 사용하여 차량(에이전트)가 이 트랙(환경)을 탐색해 가면서 특정 동작을 취하도록 장려하세요. 반려동물의 특정 행동을 장려하고 억제하는 것과 마찬가지로 이 도구를 사용하여 차량이 최대한 빨리 랩을 마치도록 장려하고 트랙을 벗어나거나 지그재그로 주행하지 않게 할 수 있습니다.

첫 모델을 훈련할 때는 기본 설정 샘플 보상 함수를 사용하는 것이 좋습니다. 모델을 실험하고 최적화할 준비가 되면 코드 편집기에서 코드를 편집하여 보상 함수를 사용자 지정할 수 있습니다. 보상 함수를 사용자 지정하는 방법에 관한 자세한 정보는 보상 함수 사용자 지정하기 항목을 참조하세요.

보상 함수를 사용자 지정하려면
  1. 보상 함수 사용자 지정 페이지에서 샘플 보상 함수를 선택합니다. 사용자 지정할 수 있는 세 가지 샘플 보상 함수가 있습니다.

    • 중앙선을 따라가세요. 차량이 트랙 중앙선에 최대한 가깝게 자율 주행하면 보상을 주세요.

    • 경계선 안에서 주행하게 하세요. 네 바퀴가 모두 트랙 경계 안에 있는 상태로 자율 주행할 때 차량에게 보상을 주세요.

    • 지그재그를 방지하세요. 차량이 중앙선에 가까이 붙어 주행하면 보상을 주세요. 조향 각도가 크거나 트랙을 벗어나면 차량에 벌점을 주세요.

    참고

    보상 함수를 사용자 지정하지 않으려면 다음을 선택하세요.

  2. (선택 사항) 보상 함수 코드를 수정하세요.

    • 샘플 보상 함수를 하나 선택하고 이 코드를 설명해주세요를 선택합니다.

    • 코드의 각 섹션에서 + 선택하면 설명 텍스트가 포함된 팝업 텍스트 상자가 표시되고 자세한 정보를 볼 수 있습니다. 각 팝업에서 다음을 선택하여 코드 설명을 진행하세요. 팝업 텍스트 상자를 종료하려면 모서리에 있는 X를 선택합니다. 설명을 종료하려면 완료를 선택합니다.

      참고

      샘플 보상 함수 코드를 편집하지 않으려면 기본 설정 코드로 진행을 선택하면 됩니다.

    • 선택 사항으로 샘플 보상 함수를 선택하고 샘플 코드 편집을 선택하여 샘플 보상 함수를 편집할 수도 있습니다. 코드를 편집하고 확인을 선택하여 코드를 확인합니다. 코드를 확인하지 못하거나 코드를 원래 상태로 재설정하려면 재설정을 선택합니다.

  3. 다음을 선택합니다.

6단계: 기간을 선택하고 리더보드에 모델 제출하기

모델 학습 기간은 모델의 성능에 영향을 미칩니다. 훈련 초기 단계에서 실험할 때는 이 파라미터를 작은 값으로 시작한 다음 점진적으로 훈련 기간을 늘려야 합니다.

내 모델을 훈련하는 이 단계에서는 내 훈련된 모델이 리더보드에 제출됩니다. 확인란의 선택을 해제하여 제출 동의를 거부할 수도 있습니다.

기간을 선택하고 리더보드에 모델을 제출하려면
  1. 기간 선택 페이지의 모델 훈련 기간 선택에서 시간을 선택합니다.

  2. 모델 설명 입력란에 내가 선택한 내용을 기억하는 데 도움이 되도록 모델에 대한 유용한 설명을 입력합니다.

    작은 정보

    보상 함수 및 알고리즘에 대한 현재 선택 및 수정 사항, 모델이 어떻게 작동할지에 대한 가설 등 모델에 대한 정보를 추가하는 것이 좋습니다.

  3. 확인란을 선택하면 훈련이 완료된 후 AWS DeepRacer Student 리더보드에 모델이 자동으로 제출됩니다. 확인란의 선택을 해제하여 모델 제출을 거부할 수도 있습니다.

    작은 정보

    리더보드에 모델을 제출하는 것을 권장합니다. 모델을 제출하면 내 모델이 다른 모델과 어떻게 비교되는지 확인하고 피드백을 받아 모델을 개선할 수 있습니다.

  4. 내 모델 훈련을 선택합니다.

  5. 모델 훈련 초기화 팝업 창에서 확인을 선택합니다.

  6. 훈련 구성 페이지에서 모델의 훈련 상태 및 구성을 검토할 수 있습니다. 훈련 상태가 진행 중일 때는 선택한 트랙에서의 모델 훈련 동영상을 볼 수도 있습니다. 동영상을 시청하면 모델을 개선하는 데 사용할 수 있는 귀중한 인사이트를 얻는 데 도움이 될 수 있습니다.

7단계: 리더보드에서 모델 성능 보기

모델을 훈련하고 리더보드에 제출한 후에는 성능을 확인할 수 있습니다.

모델 성능을 보려면
  1. 왼쪽 탐색 창에서 경쟁을 찾아 펼칩니다. 시즌을 선택하세요. 리더보드 페이지에서 내 모델과 순위가 한 섹션에 표시됩니다. 이 페이지에는 제출된 모델 목록, 레이싱 세부 정보, 레이싱 세부 정보 섹션을 담은 리더보드 섹션도 있습니다.

  2. 리더보드가 표시된 페이지에서 내 프로필 섹션으로 가서 동영상 보기를 선택하여 모델의 성능이 담긴 동영상을 볼 수 있습니다.

8단계: 복제를 사용하여 모델 개선하기

모델을 훈련하고 원하는 경우 리더보드에 제출한 후에는 모델을 복제하여 개선할 수 있습니다. 모델을 복제하면 이전에 훈련한 모델을 새 모델의 출발점으로 사용하여 단계를 덜 거치면서 훈련 효율성을 높일 수 있습니다.

모델 복제 및 개선하기
  1. AWS DeepRacer Student의 왼쪽 탐색 창에서 내 모델로 이동합니다.

  2. 내 모델 페이지에서 모델을 하나 선택하고 복제를 선택합니다.

  3. 내 모델 이름 지정 입력란에 복제된 모델의 새 이름을 입력하고 다음을 선택합니다.

  4. 보상 함수를 사용자 지정하기 페이지에서 보상 함수를 사용자 지정하고 다음을 선택합니다. 보상 함수를 사용자 지정하는 방법에 관한 자세한 정보는 5단계: 보상 함수 사용자 지정하기 항목을 참조하세요.

  5. 기간 선택 페이지에서 모델 훈련 기간 선택 입력란에 시간을 입력하고 모델 설명 입력란에 설명을 입력한 다음 확인란을 선택하여 복제된 모델을 리더보드에 제출합니다.

  6. 내 모델 훈련을 선택합니다. 훈련이 초기화됩니다. 복제된 모델에 관한 정보가 포함된 훈련 구성 페이지가 나타납니다. 훈련 상태가 진행 중일 때는 선택한 트랙에서의 모델 훈련 동영상을 볼 수도 있습니다.

  7. 사전 훈련된 모델을 계속 복제하고 수정하여 리더보드에서 최고의 성과를 달성하세요.

9단계: (선택 사항) 모델 다운로드하기

모델을 훈련하고 원하는 경우 리더보드에 제출한 후에는 나중에 AWS DeepRacer의 물리적 디바이스에서 사용할 수 있도록 다운로드할 수 있습니다. 모델은 .tar.gz 파일로 저장됩니다.

모델을 다운로드하려면
  1. AWS DeepRacer Student의 왼쪽 탐색 창에서 내 모델로 이동합니다.

  2. 내 모델 페이지에서 모델을 하나 선택하고 다운로드를 선택합니다.

  3. 브라우저에서 모델 다운로드 진행 상황을 볼 수 있습니다. 모델이 다운로드되면 로컬 하드 드라이브나 기타 선호하는 저장 장치에 저장할 수 있습니다.

    AWS DeepRacer 디바이스를 사용하는 방법에 관한 자세한 내용은 AWS DeepRacer 설명서내 AWS DeepRacer 차량 작동을 참조하세요.