Hands-On AWS DeepRacer

2023.01.18

읽는시간 4

0

시작하기 전에

  • AWS DeepRacer 사용에 앞서 본인의 계정을 만들고 서비스 지역을 선택하는 과정이 필요함

    - AWS 홈페이지(https://aws.amazon.com/ko/)에서 우측 상단의 [콘솔에 로그인] 아이콘을 클릭하면 계정을 생성할 수 있음
    - 신규 생성한 계정으로 로그인 후 ‘버지니아 북부’로 사용 지역을 변경
    - 이후 검색창에 deepracer 키워드를 입력하면 해당 서비스로 접속 가능

AWS 계정 생성 및 콘솔 로그인

AWS 계정 생성 및 로그인 방법을 설명하는 이미지이다.

사용 지역 변경 및 AWS DeepRacer 서비스 접속

사용 지역 변경 및 AWS DeepRacer 서비스 접속 방법을 안내하는 이미지이다.

AWS DeepRacer 메인화면

  • AWS DeepRacer 프로세스는 크게 5개의 단계를 거침

    - ①강화학습 기초 소개 ②모델 생성 ③모델 학습 및 평가 ④성능 향상을 위한 튜닝 ⑤AWS DeepRacer 레이싱 리그 참가
 
  • 강화학습을 위해서 메인화면에서 [Get started] 메뉴를 선택

    - 「Start the course」를 통해 간단한 개념을 파악 가능하고, 「Create model」 로 실제 모델을 만들 수 있음

AWS DeepRacer 프로세스

AWS DeepRacer 프로세스를 설명하는 이미지이다.

AWS DeepRacer 콘솔 메인화면

AWS DeepRacer 콘솔 메인화면을 보여주는 이미지이다.

강화학습 모델 생성 #1. 모델이름 및 시뮬레이션 환경 선택

  • 강화학습 모델 생성을 위해서는 크게 5개의 Step으로 나뉘는데 그 중 첫번째 단계는 모델이름 및 시뮬레이션 환경을 선택하는 것

    - 본인이 만드는 강화학습 모델을 네이밍
    - 학습 시뮬레이션 환경 메뉴에서 학습하고자 하는 레이스 트랙을 선택 가능

강화학습 모델명 입력

AWS DeepRacer에서 강화학습 모델명 입력하는 방법을 보여주는 이미지이다.

학습 시뮬레이션 환경 선택

AWS DeepRacer에서 학습 시뮬레이션 환경을 선택하는 방법을 알려주는 이미지이다.

강화학습 모델 생성 #2. 레이스 타입 및 알고리즘 선택

  • 레이스 종류와 알고리즘을 선택하고, 하이퍼파라미터를 설정

    - 레이스 타입은 레이스 완주 시간으로 순위를 정하는 「Time trial」, 장애물을 피하는 「Object avoidance」, 다른 자동차와 경주하는 「Head-to-head racing」으로 구분
    - 하이퍼파라미터는 알고리즘의 성능에 영향을 주는 값으로, 그 값을 변경시키면 모델 성능도 변화. 단, 정해진 값이 없으므로 다양한 시도를 통해 최적값을 찾아야 함

레이스 종류 및 알고리즘 선택

AWS DeepRacer에서 레이스 종류 및 알고리즘을 선택하는 방법을 알려주는 이미지이다.

하이퍼파라미터 설정

AWS DeepRacer에서 하이퍼파라미터 설정 하는 방법을 알려주는 이미지이다.

강화학습 모델 생성 #3. 액션 스페이스 정의

  • 학습 과정에 필요한 차량의 조향각과 속도를 구체적으로 설정

    - 강화학습에서 자동차가 움직일 수 있는 모든 유효한 행동 또는 선택을 ‘액션 스페이스’라 지칭하며, 이와 관련한 세부적인 설정이 가능
    - 정해진 범위에서 속도를 정하는 Continuous 방식과, 각도에 따라 각각의 속도를 정할 수 있는 Discrete 방식 둘 중 하나를 선택
    - 차량이 움직일 때 고려할 수 있는 각도(Steering angle)와 최소/최대 속도(Speed)를 정의

액션 스페이스 설정

AWS DeepRacer에서 액션 스페이스 설정하는 법을 알려주는 이미지이다.

입력 값에 따른 차량 행동 범위 차이

AWS DeepRacer에서 입력 값에 따른 차량 행동 범위 차이를 나타내는 이미지이다.

강화학습 모델 생성 #4. 차량 선택

  • 모델 평가에 사용할 차량을 선택

    - 선택하는 차량에 따라 카메라 개수, 라이다(LiDAR) 유무 등의 차이가 있음 (최초 사용자는 기본적인 차량만 제공)
    - AWS 홈페이지를 참고하면 다양한 외형의 차량을 지원함을 볼 수 있음. 단 기계적 성능은 기본형과 고급형 두 종류로 나뉘어짐

차량 선택(연구원 계정 기준으로는 한 개지만 다양한 차량이 존재)

AWS DeepRacer에서 차량을 선택하는 화면을 보여준다.

기본형(AWS DeepRacer)과 고급형(AWE DeepRacer Evo) 차량 차이

Hands-On AWS DeepRacer_vf_11

강화학습 모델 생성 #5. 보상함수 커스터마이징

  • 보상함수는 강화학습에서 가장 중요한 설정 중 하나로, 차량이 트랙을 따라 움직일 수 있도록 보상 값을 설정

    - 기본설정: 트랙 중심이면 +1.0, 약간 벗어나면 +0.5, 더 벗어나면 +0.1, 그 이외(부딪치거나 트랙을 벗어난 경우)에는 +0.001
    - ‘지그재그를 방지하는 코드’, ‘도로 경계선을 벗어나지 않는 코드’ 등 몇 개의 샘플 코드도 지원(직접 코딩도 가능)

보상함수 커스터마이징

보상함수는 강화학습에서 가장 중요한 설정 중 하나로 , 차량이 트랙을 따라 움직일 수 있도록 보상 값을 설정한다.

학습시간 및 리그 자동 등록 여부 설정

AWS DeepRacer에서 학습시간 및 리그 자동 등록 여부 설정하는 방법을 보여주는 이미지이다.

모델 학습

  • 기존 화면에서 설정한 시간만큼 강화학습 훈련을 진행

    - 학습 도중에 중지를 위해서는 상위의 「Stop training」버튼을 클릭
    - 학습에 대한 결과는 보상 그래프(Reward graph)를 통해 확인 가능한데, 좋은 성능을 위해서는 그래프가 우상향 되어야 함

학습 화면

AWS DeepRacer 학습화면이다.

학습 결과 요약

AWS DeepRacer의 학습 결과 요약 화면이다.

모델 평가

  • 강화학습이 완료되면, 모델 성능을 평가

    - 학습이 완료되면 화면 상위에 녹색 바가 새롭게 나타나는데, 이 때 「Start evaluation」 버튼을 클릭하면 평가 화면으로 이동
    - 평가를 위한 임의의 이름을 정하고 레이싱 종류(타임랩, 장애물, 경주)와 평가 횟수, 레이싱 트랙을 선택

평가를 위한 이름 설정 및 레이싱 종류 설정

AWS DeepRacer에서 평가를 위한 이름 설정 및 레이싱 종류 설정을 하는 화면이다.

평가 횟수 및 트랙 선택

AWS DeepRacer에서 평가 횟수 및 트랙 선택을 하는 화면이다.

평가 확인 및 레이스 참가

  • 최종적인 모델 평가 결과를 확인하고, AWS DeepRacer 레이싱 리그에 참가

    - 시뮬레이션 화면을 통해 강화학습 모델의 성능을 시각적으로 확인 가능
    - 준비된 모델을 이용하여 AWS DeepRacer 레이싱 리그에 참가

평가 결과 화면

AWS DeepRacer의 평가 결과 화면이다.

AWS DeepRacer 레이싱 리그 참가 및 결과

AWS DeepRacer 레이싱 리그 참가 및 결과 화면이다.

모델 튜닝

  • 기존 모델의 성능을 향상시키기 위한 튜닝

    - AWS DeepRacer 메인화면에서 [Your models] 메뉴로 들어가면 사용자가 기존에 만들었던 모델들을 확인 가능. 이들 중 튜닝을 원하는 모델을 선택 후 「Actions」-「Clone」을 선택하면 하이퍼파라미터, 액션 스페이스, 보상함수 등을 수정할 수 있음
    - 기존 모델을 복사하여 새로운 모델을 만들고, 새로운 모델을 튜닝하여 추가적으로 학습 시킨다는 개념
    - 모델 튜닝은 더 나은 성능을 위해 진행하는 것으로, 필수적으로 수행해야하는 과정은 아님

튜닝을 위한 모델 선택 화면

AWS DeepRacer에서 튜닝을 위한 모델을 선택하는 화면이다.

튜닝을 위해 기존 모델을 복사하는 화면

AWS DeepRacer에서 튜닝을 위해 기존 모델을 복사하는 화면이다.

[참고] AWS DeepRacer 비용

  • AWS DeepRacer 이용을 위해서는 학습 및 평가를 위한 컴퓨팅 리소스 비용과 데이터를 저장하기 위한 스토리지 비용이 발생

    - 모델 학습 및 평가를 위한 시간 당 $3.5의 컴퓨팅 리소스 비용 + 월별 GB 당 $0.023 스토리지 비용
    - 신규 유저에 한해서는 간단한 학습 및 평가, 그리고 가상 서킷을 이용할 수 있도록 10시간 무료 서비스를 제공 중(5GB의 스토리지 포함)
    - 만약 시뮬레이션이 아닌 실제 자동차 디바이스를 구매하여 사용하고자 할 때에는 기본형은 $399, 카메라와 라이다(LiDAR) 센서를 추가한 고급형은 $598임. 차량을 동작시키기 위한 별도의 비용은 발생하지 않음

비용 예제 #1

AWS DeepRacer 비용 예제이다.

비용 예제 #2

AWS DeepRacer의 비용 예제이다.

※본 매뉴얼은 ‘[AWS re:Invent 2022] 클라우드의 혁신 그리고 진화’ 보고서에 수록된 AWS DeepRacer에 대한 실제 사용법을 정리한 내용입니다. 

권세환

KB경영연구소

권세환

금융용어사전

KB금융그룹의 로고와 KB Think 글자가 함께 기재되어 있습니다. KB Think

이미지