본문 바로가기
AI & 머신러닝 coding skill

아마존 AWS Deep racer - 모델 생성

by 호빵님 2021. 5. 30.
반응형

 

아마존 AWS DeepRacer 리그에 나가려면, 우선 Agent car model을 만들어야 합니다.

 

AWS DeepRacer메인 홈으로 가면, 'Get started with reinforcement learning' 배너의 Get started를 누르거나, 왼쪽 메뉴바의 Reinforcement learning항목내의 'Get started'를 누르면 모델을 생성할 수 있는 화면으로 넘어갑니다.

 

https://console.aws.amazon.com/deepracer/home?region=us-east-1#welcome 

 

https://console.aws.amazon.com/deepracer/home?region=us-east-1#welcome

 

console.aws.amazon.com

AWS Deepracer main home

 

 

DeepRacer model의 생성 순서에 대해서, 설명하는 화면입니다.

Step1으로 강화학습 이론을 학습한 후에,

Step2에서 실재 모델을 생성하고, 학습하고 평가를 합니다.

Step3에서는 센서와 새로 생긴 타입의 레이싱룰에 대해서 배웁니다. (기본 레이싱이 타임랩이고, 새로 추가된 레이싱 방식으로 물체 오브젝트 피하기와 다른 경주차와 함께 트랙에서 경주하는 방식이 있습니다)

DeepRacer model 생성 순서

 

Step3

 

Create Model


 

모델 이름을 정하는 것부터 시작합니다.

모델 이름 정하기.

 

 

Training할 트랙을 선택합니다.

Traing track1

 

캡쳐화면의 트랙외에 여러가지 트랙이 있습니다.

Training track2

 

 

Race type은 3가지 종류가 있습니다.

1) Time trial : track을 lap time을 가장 빠르게 도는 것이 목적

2) Object avoidance : Time trial 방식에서 추가로 트랙에 물체들을 피하면서 가야합니다.

3) Head-to-head racing : Time trial 방식에서 추가로 움직이는 다른 차량들을 피하면서 가야합니다.

model 설정1

Training algorithm은 PPO와 SAC이 있는데, 여기서는 PPO를 선택해 보았습니다.

 

이 부분의 보상함수를 python code로 작성하여야 합니다.

보상함수는 강화학습 알고리즘의 핵심이므로, 이 부분의 로직에 의해서, 전체적인 모델의 성능이 결정된다고 볼 수 있습니다.

모델 보상함수 설정

 

 

보상함수 예시들 중에 하나를 고를 수도 있습니다.

보상함수를 작성하고, 'Validate'을 클릭하면, 작성된 코드에 에러가 없는지 확인해 줍니다.

보상함수 예시

AWS 에서 진행한 DeepRacer Workshop Lab에서 세미나 교육시에 사용했던, 보상함수 코드 자료들은 아래 링크에서 볼 수 있으니, 참조하기 바랍니다.

 

https://github.com/aws-samples/aws-deepracer-workshops

 

aws-samples/aws-deepracer-workshops

DeepRacer workshop content. Contribute to aws-samples/aws-deepracer-workshops development by creating an account on GitHub.

github.com

 

그리고,

기본적으로 stop condition에 최대 60분으로 training 시간 제한이 설정되어 있는데, 일단 이대로 써보자.

학습 stop 조건 설정

그리고, 학습완료시, 자동으로 온라인 DeepRacer League에 내 모델을 제출하도록 체크박스에 체크해 보자. 그러면, 혹시나 잘되면 우승을 노릴 수도 있겠습니다.

 

Model Training


 

 

모델을 생성하면, 바로 학습이 시작됩니다.

Model traning initializing

 

몇분의 초기화 과정이후에, Training이 진행됩니다.

Training 설정

 

실시간으로 학습 Iteration마다 얻은 Reward와 Track 완주율 그래프가 표시됩니다.

오른쪽 3D시뮬레이션화면에서는 차량 모델이 트랙을 주행하면서, 어떻게 움직이고 있는지 보여줍니다. 

모델 학습 진행 중

 

왼쪽 메뉴에서 Your models 항목을 클릭하면, 내가 갖고 있는 모델들의 상태가 나옵니다.

현재는 두개의 모델이 생성되어 있고, 학습중인 것을 볼 수 있습니다.

학습은 

학습 중인 모델 들

 

이후에, 학습이 완료되면 학습된 모델을 평가 (Evaluation) 해서, 모델의 성능을 테스트해 볼 수 있습니다.

 

모델 평가는 아래 글 참고 :

https://skillmemory.tistory.com/64

 

아마존 AWS Deep racer - 모델 평가 evaluation

AWS DeepRacer model을 생성하고 학습이 완료되었으면, 모델을 평가할 수 있습니다. 모델 생성 방법 글 참고 : https://skillmemory.tistory.com/63 아마존 AWS Deep racer - 모델 생성 아마존 AWS DeepRacer 리그..

skillmemory.tistory.com

 

반응형