

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

# AWS DeepRacer Student에서 강화 학습 모델 훈련
<a name="train-model"></a>

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

## 1단계: AWS DeepRacer Student를 사용하여 강화 학습 모델 훈련
<a name="student-league-train-model-proc"></a>

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

**강화 학습 모델을 훈련하려면**

1.  AWS DeepRacer Student **홈** 페이지에서 **모델 생성을** 선택합니다. 또는 왼쪽 탐색 창에서 **내 모델**로 이동할 수도 있습니다. **모델** 페이지의 **내 모델**에서 **모델 생성**을 선택합니다.

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

## 2단계: 내 모델 이름 지정하기
<a name="student-league-create-model-step-two"></a>

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

**내 모델 이름을 지정하려면**

1. **내 모텔 이름 지정** 페이지의 **모델 이름** 입력란에 이름을 입력합니다.
**참고**  
모델 학습을 시작하면 모델 이름이 고정되어 더 이상 변경할 수 없게 됩니다.

1. **다음**을 선택합니다.

## 3단계: 트랙 선택하기
<a name="student-league-create-model-step-three"></a>

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

**내 트랙(환경)을 선택하려면**

1. **트랙 선택** 페이지에서 차량의 훈련 환경으로 사용할 트랙을 선택합니다.

1. **다음**을 선택합니다.

## 4단계: 알고리즘 선택하기
<a name="student-league-create-model-step-four"></a>

 AWS DeepRacer Student에는 선택할 수 있는 두 가지 훈련 알고리즘이 있습니다. 각 알고리즘은 다른 방식으로 보상을 극대화합니다. AWS DeepRacer Student 경험을 최대한 활용하려면 두 알고리즘을 모두 실험해 보세요. 알고리즘에 관한 자세한 내용은 [AWS DeepRacer 훈련 알고리즘](https://docs.aws.amazon.com/deepracer/latest/developerguide/deepracer-how-it-works-reinforcement-learning-algorithm.html) 항목을 참조하세요.

**훈련 알고리즘을 선택하려면**

1. **알고리즘 유형 선택** 페이지에서 알고리즘 유형을 선택합니다. 다음 두 가지 알고리즘 유형을 사용할 수 있습니다.
   +  **근접 정책 최적화(PPO)**. 안정적이지만 데이터를 많이 사용하는 이 알고리즘은 훈련을 반복할 때 일관되게 실행됩니다.
   +  **소프트 액터 크리틱(SAC)**. 불안정하지만 데이터 효율성이 높은 이 알고리즘은 훈련을 반복할 때 성능이 일관되지 않을 수 있습니다.

1. **다음**을 선택합니다.

## 5단계: 보상 함수 사용자 지정하기
<a name="student-league-create-model-step-five"></a>

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

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

**보상 함수를 사용자 지정하려면**

1. **보상 함수 사용자 지정** 페이지에서 샘플 보상 함수를 선택합니다. 사용자 지정할 수 있는 세 가지 샘플 보상 함수가 있습니다.
   + **중앙선을 따라가세요**. 차량이 트랙 중앙선에 최대한 가깝게 자율 주행하면 보상을 주세요.
   + **경계선 안에서 주행하게 하세요**. 네 바퀴가 모두 트랙 경계 안에 있는 상태로 자율 주행할 때 차량에게 보상을 주세요.
   + **지그재그를 방지하세요**. 차량이 중앙선에 가까이 붙어 주행하면 보상을 주세요. 조향 각도가 크거나 트랙을 벗어나면 차량에 벌점을 주세요.
**참고**  
보상 함수를 사용자 지정하지 않으려면 **다음**을 선택하세요.

1. (선택 사항) 보상 함수 코드를 수정하세요.
   + 샘플 보상 함수를 하나 선택하고 **이 코드를 설명해주세요**를 선택합니다.
   + 코드의 각 섹션에서 **\$1** 선택하면 설명 텍스트가 포함된 팝업 텍스트 상자가 표시되고 자세한 정보를 볼 수 있습니다. 각 팝업에서 **다음**을 선택하여 코드 설명을 진행하세요. 팝업 텍스트 상자를 종료하려면 모서리에 있는 **X**를 선택합니다. 설명을 종료하려면 **완료**를 선택합니다.
**참고**  
샘플 보상 함수 코드를 편집하지 않으려면 **기본 설정 코드로 진행**을 선택하면 됩니다.
   + 선택 사항으로 샘플 보상 함수를 선택하고 **샘플 코드 편집**을 선택하여 샘플 보상 함수를 편집할 수도 있습니다. 코드를 편집하고 **확인**을 선택하여 코드를 확인합니다. 코드를 확인하지 못하거나 코드를 원래 상태로 재설정하려면 **재설정**을 선택합니다.

1. **다음**을 선택합니다.

## 6단계: 기간을 선택하고 리더보드에 모델 제출하기
<a name="student-league-create-model-step-six"></a>

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

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

**기간을 선택하고 리더보드에 모델을 제출하려면**

1. **기간 선택** 페이지의 **모델 훈련 기간 선택**에서 시간을 선택합니다.

1. **모델 설명** 입력란에 내가 선택한 내용을 기억하는 데 도움이 되도록 모델에 대한 유용한 설명을 입력합니다.
**작은 정보**  
보상 함수 및 알고리즘에 대한 현재 선택 및 수정 사항, 모델이 어떻게 작동할지에 대한 가설 등 모델에 대한 정보를 추가하는 것이 좋습니다.

1. 훈련이 완료된 후 모델을 AWS DeepRacer Student 리더보드에 자동으로 제출하려면 확인란을 선택합니다. 확인란의 선택을 해제하여 모델 제출을 거부할 수도 있습니다.
**작은 정보**  
리더보드에 모델을 제출하는 것을 권장합니다. 모델을 제출하면 내 모델이 다른 모델과 어떻게 비교되는지 확인하고 피드백을 받아 모델을 개선할 수 있습니다.

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

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

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

## 7단계: 리더보드에서 모델 성능 보기
<a name="student-league-create-model-step-seven"></a>

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

**모델 성능을 보려면**

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

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

## 8단계: **복제**를 사용하여 모델 개선하기
<a name="student-league-create-model-step-eight"></a>

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

**모델 복제 및 개선하기**

1. In AWS DeepRacer Student의 왼쪽 탐색 창에서 **내 모델**로 이동합니다.

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

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

1. **보상 함수를 사용자 지정하기** 페이지에서 보상 함수를 사용자 지정하고 **다음**을 선택합니다. 보상 함수를 사용자 지정하는 방법에 관한 자세한 정보는 [5단계: 보상 함수 사용자 지정하기](#student-league-create-model-step-five) 항목을 참조하세요.

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

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

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

## 9단계: (선택 사항) 모델 다운로드하기
<a name="student-league-create-model-step-nine"></a>

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

**모델을 다운로드하려면**

1. In AWS DeepRacer Student의 왼쪽 탐색 창에서 **내 모델**로 이동합니다.

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

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

    AWS DeepRacer 디바이스 작업에 대한 자세한 내용은 [AWS DeepRacer 가이드의 Operation YourDeepRacer Vehicle](https://docs.aws.amazon.com/deepracer/latest/developerguide/operate-deepracer-vehicle.html)을 참조하세요. *AWS DeepRacer * 