첫 번째 AWS DeepRacer 모델 교육 - AWS DeepRacer

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

첫 번째 AWS DeepRacer 모델 교육

이 연습에서는 AWS DeepRacer 콘솔을 사용하여 첫 번째 모델을 교육하는 방법을 보여줍니다.

AWS DeepRacer 콘솔을 사용하여 강화 학습 모델을 학습시키십시오.

AWS DeepRacer 콘솔에서 모델 생성 버튼을 어디에서 찾을 수 있는지 알아보고 모델 학습 여정을 시작해 보십시오.

강화 학습 모델을 훈련시키려면
  1. DeepRacerAWS를 처음 사용하는 경우 서비스 소개 페이지에서 모델 생성을 선택하거나 기본 탐색 창의 강화 학습 제목 아래에서 시작하기를 선택하십시오.

  2. 강화 학습 시작하기 페이지의 2단계: 모델 만들기에서 모델 생성을 선택합니다.

    또는 기본 탐색 창의 강화 학습 제목 아래에서 사용자 모델을 선택합니다. Your models(모델) 페이지에서 모델 생성을 선택합니다.

모델 이름 및 환경 지정

모델 이름을 지정하고 적합한 시뮬레이션 트랙을 선택하는 방법을 알아보세요.

모델 이름 및 환경을 지정하려면
  1. 모델 생성 페이지의 트레이닝 세부 정보 아래에 모델 이름을 입력합니다.

  2. 교육 작업 설명을 추가할 수도 있습니다.

  3. 옵션 태그 추가에 대한 자세한 내용은 섹션을 참조하세요태그 지정.

  4. 환경 시뮬레이션에서 AWS DeepRacer 에이전트의 교육 환경으로 사용할 트랙을 선택합니다. 그리고 다음(Next)을 선택합니다.

    첫 번째 달리기의 경우 간단한 모양과 부드러운 회전이 가능한 트랙을 선택합니다. 나중에 반복할 때 더욱 복잡한 트랙을 선택하여 모델을 점진적으로 향상시킬 수 있습니다. 특정 레이싱 이벤트에 사용할 목적으로 모델을 훈련하려면 이벤트 트랙과 가장 유사한 트랙을 선택합니다.

  5. 페이지 맨 아래에서 [Next] 를 선택합니다.

레이스 유형 및 훈련 알고리즘 선택

AWS DeepRacer 콘솔에는 세 가지 레이스 유형과 두 가지 훈련 알고리즘 중에서 선택할 수 있습니다. 자신의 기술 수준과 훈련 목표에 적합한 것이 무엇인지 알아보십시오.

레이스 유형 및 훈련 알고리즘 선택하기
  1. 모델 생성 페이지의 레이스 유형에서 타임 트라이얼, 객체 회피 또는 H를 선택합니다ead-to-bot.

    처음 사용할 때는 타임 트라이얼을 선택하는 것이 좋습니다. 이 레이스 유형에 맞게 에이전트의 센서 구성을 최적화하는 방법에 대한 지침은 을 참조하십시오타임 트라이얼을 위한 맞춤형 AWS DeepRacer 교육.

  2. 나중에 달릴 때는 Object avoidance를 선택하여 선택한 트랙을 따라 고정된 위치 또는 임의의 위치에 있는 고정된 장애물을 우회할 수도 있습니다. 자세한 내용은 객체 회피 레이스를 위한 맞춤형 AWS DeepRacer 교육을 참조하세요.

    1. 고정 위치를 선택하여 트랙의 두 차선을 가로질러 사용자가 지정한 고정된 위치에 상자를 생성하거나 무작위 위치를 선택하여 훈련 시뮬레이션의 각 에피소드가 시작될 때 두 차선에 무작위로 분포된 객체를 생성합니다.

    2. 다음으로 트랙의 오브젝트 수 값을 선택합니다.

    3. 고정 위치를 선택한 경우 트랙에서 각 오브젝트의 배치를 조정할 수 있습니다. 차선 배치의 경우 내부 차선과 외부 차선 중에서 선택합니다. 기본적으로 오브젝트는 트랙 전체에 고르게 분포됩니다. 개체의 시작점과 결승선 사이의 거리를 변경하려면 시작과 끝 사이의 위치 (%) 필드에 해당 거리의 백분율을 7에서 90 사이로 입력합니다.

  3. 더 야심찬 달리기를 원한다면 Head-to-bot 레이싱을 선택하여 일정한 속도로 움직이는 최대 4대의 봇 차량을 상대로 레이스를 펼칠 수도 있습니다. 자세한 내용은 헤드 투 봇 레이스를 위한 맞춤형 AWS DeepRacer 교육 단원을 참조하세요.

    1. 봇 차량 수 선택에서 에이전트가 훈련시킬 봇 차량 수를 선택합니다.

    2. 다음으로 봇 차량이 트랙 주위를 이동할 속도를 초당 밀리미터 단위로 선택합니다.

    3. 선택 사항으로, 차선 변경 활성화 확인란을 선택하여 봇 차량이 1~5초마다 무작위로 차선을 변경할 수 있도록 하세요.

  4. 훈련 알고리즘 및 하이퍼파라미터에서 소프트 액터 비평가 (SAC) 또는 근위 정책 최적화 (PPO) 알고리즘을 선택합니다. AWS DeepRacer 콘솔에서 SAC 모델은 지속적인 작업 공간에서 학습되어야 합니다. PPO 모델은 연속 또는 개별 작업 공간에서 학습할 수 있습니다.

  5. 훈련 알고리즘 및 하이퍼파라미터에서 기본 하이퍼파라미터 값을 있는 그대로 사용합니다.

    나중에 훈련 성과를 향상시키려면 하이퍼파라미터를 확장하고 다음과 같이 기본 하이퍼파라미터 값을 수정합니다.

    1. Gradient descent batch size(경사 하강 배치 크기)에서 available options(사용 가능한 옵션)를 선택합니다.

    2. Number of epochs(에포크 수)에서 valid value(유효 값)를 설정합니다.

    3. Learning rate(학습 속도)에서 valid value(유효 값)를 설정합니다.

    4. SAC 알파 값 (SAC 알고리즘만 해당) 의 경우 유효한 값을 설정합니다.

    5. Entropy(엔트로피)에서 valid value(유효 값)를 설정합니다.

    6. Discount factor(할인 계수)에서 valid value(유효 값)를 설정합니다.

    7. Loss type(손실 유형)에서 available options(사용 가능한 옵션)를 선택합니다.

    8. Number of experience episodes between each policy-updating iteration(각 정책 업데이트 반복 간 경험 에피소드 수)에서 valid value(유효 값)를 설정합니다.

    하이퍼파라미터에 대한 자세한 내용은 체계적인 하이퍼파라미터 튜닝 단원을 참조하십시오.

  6. Next(다음)를 선택합니다.

액션 스페이스 정의

액션 스페이스 정의 페이지에서 Soft Actor Critic (SAC) 알고리즘으로 트레이닝하기로 선택한 경우 기본 액션 스페이스는 연속 액션 스페이스입니다. 근위 정책 최적화 (PPO) 알고리즘으로 학습하기로 선택한 경우 연속 동작 공간과 불연속 동작 공간 중에서 선택하십시오. 각 작업 공간 및 알고리즘이 에이전트의 훈련 경험을 어떻게 형성하는지 자세히 알아보려면 을 참조하십시오AWS DeepRacer 액션 스페이스 및 리워드 기능.

  1. 연속 동작 공간 정의에서 왼쪽 조향 각도 범위와 오른쪽 조향 각도 범위의 각도를 선택합니다.

    각 조향 각도 범위에 대해 서로 다른 각도를 입력해 보고 다이내믹 섹터 그래프에 선택 항목이 표시되도록 범위 변경을 시각화해 보십시오.

    
                                이미지: AWS 교육 에이전트를 DeepRacer  선택합니다.
  2. 속도에서 에이전트의 최소 및 최대 속도를 밀리미터/초로 입력합니다.

    변경 사항이 동적 섹터 그래프에 어떻게 반영되는지 확인하십시오.

  3. 필요한 경우 기본값으로 재설정을 선택하여 원하지 않는 값을 지울 수 있습니다. 그래프에서 다양한 값을 시험해 보고 학습하는 것이 좋습니다.

  4. Next(다음)를 선택합니다.

  1. 드롭다운 목록에서 스티어링 각도 세분화 값을 선택합니다.

  2. 상담원의 최대 조향 각도에 대해 1~30도 사이의 값을 선택하세요.

  3. 드롭다운 목록에서 속도 세부 수준 값을 선택합니다.

  4. 에이전트의 최대 속도를 0.1-4 사이에서 초당 밀리미터 단위로 선택하십시오.

  5. 작업 목록의 기본 작업 설정을 사용하거나 선택적으로 고급 구성을 켜서 설정을 미세 조정할 수 있습니다. 값을 조정한 후 이전을 선택하거나 고급 구성을 끄면 변경 내용이 손실됩니다.

    
                                이미지: 고급 구성을 켜세요.
    1. 스티어링 각도 열에 -30도에서 30 사이의 각도로 값을 입력합니다.

    2. 속도 열에 최대 9개 동작에 대해 0.1~4 사이의 값을 초당 밀리미터 단위로 입력합니다.

    3. 작업 추가를 선택하여 작업 목록의 행 수를 늘릴 수도 있습니다.

      
                                        이미지: 액션 추가를 선택하여 액션 목록에 액션을 추가합니다.
    4. 선택적으로 행에서 X를 선택하여 제거할 수 있습니다.

  6. Next(다음)를 선택합니다.

가상 자동차 선택

가상 자동차를 시작하는 방법을 알아봅니다. 매달 오픈 디비전에서 경쟁하여 새로운 맞춤형 자동차, 페인트 작업 및 개조 차량을 획득하세요.

가상 자동차를 선택하려면
  1. 차량 쉘 및 센서 구성 선택 페이지에서 레이스 유형 및 액션 스페이스와 호환되는 쉘을 선택하십시오. 차고에 일치하는 자동차가 없다면 기본 탐색 창의 강화 학습 제목 아래에 있는 내 차고로 이동하여 차량을 만드세요.

    타임 트라이얼 트레이닝의 경우 The DeepRacerOriginal의 기본 센서 구성과 단일 렌즈 카메라만 있으면 되지만 액션 공간이 일치하는 한 다른 모든 쉘과 센서 구성도 작동합니다. 자세한 내용은 타임 트라이얼을 위한 맞춤형 AWS DeepRacer 교육을 참조하세요.

    물체 회피 훈련에는 스테레오 카메라가 유용하지만 고정된 위치에 있는 장애물을 피하려면 카메라 한 대를 사용할 수도 있습니다. LiDAR 센서는 선택 사양입니다. AWS DeepRacer 액션 스페이스 및 리워드 기능을 참조하세요.

    Head-to-bot 트레이닝의 경우 단일 카메라 또는 스테레오 카메라 외에도 LiDAR 장치는 움직이는 다른 차량이 지나갈 때 사각지대를 감지하고 방지하는 데 최적입니다. 자세한 내용은 헤드 투 봇 레이스를 위한 맞춤형 AWS DeepRacer 교육 단원을 참조하세요.

  2. Next(다음)를 선택합니다.

보상 기능을 사용자 지정하세요

보상 기능은 강화 학습의 핵심입니다. 차량 (에이전트) 이 트랙 (환경) 을 탐험하면서 특정 행동을 취하도록 장려하는 데 사용하는 방법을 알아보세요. 반려동물의 특정 행동을 장려하거나 낙담시키는 것과 마찬가지로, 이 도구를 사용하면 자동차가 최대한 빨리 한 바퀴 돌고 트랙에서 벗어나거나 물체와 충돌하지 않도록 할 수 있습니다.

보상 기능을 사용자 지정하려면
  1. 모델 생성 페이지의 Reward function(보상 함수)에서 첫 번째 모델에 대해 기본 보상 기능 예제를 그대로 사용합니다.

    
                        이미지: AWS 교육 에이전트를 DeepRacer  선택합니다.

    나중에 Reward function examples(보상 함수 예제)를 선택하여 다른 예제 함수를 선택한 다음 Use code(코드 사용)를 선택하여 선택한 보상 함수를 수락할 수 있습니다.

    다음 네 가지 예제 함수로 시작할 수 있습니다. 트랙 중심을 따라가는 방법 (기본값), 에이전트를 트랙 경계 내에 두는 방법, 지그재그 주행을 방지하는 방법, 고정된 장애물이나 다른 움직이는 차량에 충돌하지 않는 방법을 설명합니다.

    보상 함수에 대한 자세한 내용은 AWS DeepRacer 보상 함수 함수 참조 단원을 참조하십시오.

  2. 모델 생성 페이지의 중지 조건 아래에서 기본 최대 시간 값을 그대로 두거나 새 값을 설정하여 훈련 작업을 종료하면 장기 실행 (및 실행 가능성이 있는) 훈련 작업을 방지할 수 있습니다.

    훈련 초기 단계에서 실험할 때는 이 파라미터를 작은 값으로 시작한 다음 점진적으로 훈련 시간을 늘려야 합니다.

  3. 모델 생성 페이지의 DeepRacerAWS에 자동으로 제출에서 교육을 마친 후 이 모델을 AWS에 DeepRacer 자동으로 제출하고 상품을 받을 기회를 얻으세요. 기본적으로 선택되어 있습니다. 선택적으로 체크 표시를 선택하여 모델 입력을 거부할 수 있습니다.

  4. 모델 생성 페이지에서 모델 생성을 선택하여 모델 생성 및 훈련 작업 인스턴스 프로비저닝을 시작합니다.

  5. 제출 후 훈련 작업이 초기화되는 것을 확인한 다음 실행합니다.

    초기화 프로세스에서 상태를 초기화 중에서 진행 중으로 변경하는 데 약 6분 정도 걸립니다.

  6. Reward graph(보상 그래프)Simulation video stream(시뮬레이션 비디오 스트림)을 시청하여 훈련 작업의 진행 상황을 관찰합니다. 훈련 작업이 완료될 때까지 Reward graph(보상 그래프) 옆에 있는 새로 고침 버튼을 주기적으로 선택하여 Reward graph(보상 그래프)를 새로 고칠 수 있습니다.

    
                        이미지: AWS DeepRacer  교육이 진행 중입니다.

교육 작업은 AWS 클라우드에서 실행되므로 교육 중에 AWS DeepRacer 콘솔을 열어 둘 필요가 없습니다. 그러나 작업이 진행되는 동안 언제든지 콘솔로 돌아와 모델을 확인할 수 있습니다.

시뮬레이션 비디오 스트림 창 또는 보상 그래프 표시가 응답하지 않는 경우 브라우저 페이지를 새로 고침하여 훈련 진행 상황을 업데이트하십시오.