AWS DeepRacer 개념 및 용어 - AWS DeepRacer

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

AWS DeepRacer 개념 및 용어

AWS DeepRacer는 다음 개념을 토대로 빌드되었으며 다음 용어를 사용합니다.

AWS DeepRacer 서비스

AWS DeepRacer는 자율 레이싱에 중점을 둔 강화 학습을 살펴보기 위한 AWS 기계 학습 서비스입니다. AWS DeepRacer 서비스는 다음 기능을 지원합니다.

  1. 클라우드에서 강화 학습 모델을 훈련합니다.

  2. AWS DeepRacer 콘솔에서 훈련된 모델을 평가합니다.

  3. 훈련된 모델을 가상 레이스에 제출하고, 적합한 경우 성능을 이벤트의 리더보드에 게시합니다.

  4. 성능 개선을 위해 훈련된 모델을 복제하고 훈련을 지속합니다.

  5. AWS DeepRacer 차량에 업로드할 수 있도록 훈련된 모델 아티팩트를 다운로드합니다.

  6. 차량을 자율 주행을 위한 물리적 트랙에 배치하고 모델의 실제 성능을 평가합니다.

  7. 필요하지 않은 모델을 삭제하여 불필요한 요금이 부과되지 않도록 합니다.

AWS DeepRacer

“AWS DeepRacer”는 다음의 세 가지 차량을 의미할 수 있습니다.

  • 가상 레이싱 자동차는 오리지널 AWS DeepRacer 디바이스, Evo 디바이스 또는 AWS DeepRacer 리그 가상 서킷 레이스에 참가하여 획득할 수 있는 다양한 디지털 보상의 형태를 취할 수 있습니다. 색상을 변경하여 가상 자동차를 사용자 지정할 수도 있습니다.

  • 오리지널 AWS DeepRacer 디바이스는 1/18 비율의 실제 모델 자동차입니다. 이 차량에는 카메라와 온보드 컴퓨팅 모듈이 장착되어 있습니다. 컴퓨팅 모듈은 트랙을 따라 스스로 주행하기 위해 추론을 실행합니다. 컴퓨팅 모듈과 차량 섀시는 각각 컴퓨팅 배터리와 드라이브 배터리라고 하는 전용 배터리로 구동됩니다.

  • AWS DeepRacer Evo 디바이스는 옵션 센서 키트를 가진 오리지널 디바이스입니다. 이 키트에는 추가 카메라와 LIDAR(조명 감지 및 거리 측정)가 포함되어 있어 차량이 후방 및 측면 물체를 감지할 수 있습니다. 이 키트에는 새 쉘도 포함되어 있습니다.

강화 학습

강화 학습은 환경과의 상호 작용을 통해 지정된 목표를 달성할 수 있도록 에이전트의 자율 의사 결정에 중점을 둔 기계 학습 방법입니다. 강화 학습에서는 시행착오를 통해 학습합니다. 훈련에는 레이블이 지정된 입력이 필요하지 않지만, 훈련은 보상 가설에 의존합니다. 이는 작업 시퀀스 이후 미래의 보상을 극대화하여 모든 목표를 달성할 수 있다고 가정합니다. 강화 학습에서는 보상 함수 설계가 중요합니다. 높은 수준의 보상 함수를 만들 경우 에이전트가 더 나은 결정을 내릴 수 있게 합니다.

자율 레이싱의 경우 에이전트는 차량입니다. 환경에는 이동 경로와 교통 조건이 포함됩니다. 목표는 차량이 사고 없이 신속하게 목표 지점에 도착하는 것입니다. 보상은 목표 지점까지 안전하고 빠른 주행을 촉진하기 위해 사용되는 점수입니다. 위험하거나 비생산적인 주행에는 벌점이 부과됩니다.

훈련 중 학습을 장려하기 위해 학습 중인 에이전트는 경우에 따라 보상이 제공되지 않을 수도 있는 작업을 추구하도록 허용해야 합니다. 이를 탐색과 활용의 상충 관계라고 합니다. 이는 에이전트가 잘못된 목표 지점으로 잘못 안내될 가능성을 줄이거나 없애줍니다.

보다 자세한 공식적인 정의는 Wikipedia에서 강화 학습을 참조하십시오.

강화 학습 모델

강화 학습 모델은 에이전트가 행동하는 환경에서는 에이전트의 상태, 에이전트가 수행할 수 있는 작업 및 작업 수행으로 인해 받는 보상의 세 가지 사항을 설정합니다. 에이전트가 작업을 결정하는 데 사용하는 전략을 정책이라고 합니다. 정책은 환경 상태를 입력으로 사용하여 수행할 작업을 출력합니다. 강화 학습에서 정책은 종종 심층 신경망으로 표현됩니다. 이를 강화 학습 모델이라고 합니다. 훈련 작업마다 모델이 하나씩 생성됩니다. 훈련 작업이 조기에 중지되는 경우에도 모델을 생성할 수 있습니다. 모델은 변경이 불가능합니다. 즉, 생성한 뒤에는 수정 및 덮어 쓸 수 없습니다.

AWS DeepRacer 시뮬레이터

AWS DeepRacer 시뮬레이터는 AWS DeepRacer 모델의 훈련 및 평가를 시각화하기 위한 가상 환경입니다.

AWS DeepRacer 차량

AWS DeepRacer를 참조하십시오.

AWS DeepRacer 자동차

이 유형의 AWS DeepRacer 차량은 1/18 비율의 모델 자동차입니다.

리더보드

리더보드는 AWS DeepRacer 리그 레이싱 이벤트에서 AWS DeepRacer 차량 성능의 순위를 매긴 목록입니다. 여기에서 레이싱이란 시뮬레이션 환경에서 실행하는 가상 이벤트이거나 실제 환경에서 실행하는 물리적 이벤트일 수 있습니다. 성능 지표는 레이싱 유형에 따라 달라집니다. 주어진 레이스 트랙과 동일하거나 유사한 트랙에서 훈련된 모델을 평가한 AWS DeepRacer 사용자가 제출한 가장 빠른 랩 타임, 총 시간 또는 평균 랩 타임일 수 있습니다.

차량이 연속해서 3바퀴를 완주하면 리더보드에 순위가 매겨집니다. 첫 연속 3바퀴의 평균 랩 타임이 리더보드에 제출됩니다.

기계 학습 프레임워크

기계 학습 프레임워크는 기계 학습 알고리즘을 구축하는 데 사용된 소프트웨어 라이브러리입니다. AWS DeepRacer에 대해 지원되는 프레임워크로는 Tensorflow가 있습니다.

정책 네트워크

정책 네트워크는 훈련된 신경망으로, 비디오 이미지를 입력으로 사용하여 에이전트의 다음 작업을 예측합니다. 알고리즘에 따라 에이전트의 현재 상태 값을 평가할 수도 있습니다.

최적화 알고리즘

최적화 알고리즘은 모델을 훈련시키는 데 사용되는 알고리즘입니다. 지도식 훈련의 경우 이 알고리즘은 가중치 업데이트를 위한 특정 전략을 사용하여 손실 함수를 최소화함으로써 최적화됩니다. 강화 학습의 경우에는 특정 보상 함수를 사용하여 미래의 보상 기대치를 극대화함으로써 최적화됩니다.

신경망

신경망(인공 신경망이라고도 함)은 생물학적 시스템을 기반으로 정보 모델을 구축하는 데 사용되는 연결된 유닛 또는 노드의 집합입니다. 각 노드는 생체 뉴런을 모방한 인공 뉴런으로 불리며, 여기에서 입력 신호(자극)를 수신합니다. 이때 입력 신호가 충분히(활성화할 정도로) 강력할 경우 노드가 활성화되어 입력 신호와 활성화를 근거로 예상되는 출력을 생성합니다. 신경망은 기계 학습에서 널리 사용됩니다. 인공 신경망은 어떤 함수든지 범용 근사의 역할을 할 수 있기 때문입니다. 기계가 학습을 하면 입력값과 출력값에 대해 최적의 함수 근사값을 찾을 수 있습니다. 심층 강화 학습에서는 신경망이 정책을 의미하여 종종 정책망이라고도 불립니다. 정책망 훈련은 현재 정책을 기반으로 여러 단계에 걸쳐 경험 생성을 반복한 후 새롭게 생성된 경험으로 정책망을 최적화하는 프로세스입니다. 이러한 프로세스는 일정한 성능 지표가 필요한 기준으로 충족할 때까지 계속 됩니다.

하이퍼파라미터

하이퍼파라미터는 신경망 훈련의 성능을 제어하는 알고리즘 기반 변수입니다. 하이퍼파라미터의 한 예로 각 단계에서 학습할 때 얼마나 많은 새로운 경험이 계산되는지를 제어하는 학습 속도가 있습니다. 학습 속도가 빠를수록 훈련 속도도 빠르지만 훈련된 모델의 품질이 떨어질 수도 있습니다. 하이퍼파라미터는 실증적이지만 각 훈련마다 체계적인 튜닝이 필요합니다.

AWS DeepRacer 트랙

트랙은 AWS DeepRacer 차량이 주행하는 경로 또는 코스입니다. 트랙은 시뮬레이션 환경 또는 실제 물리적 환경에 존재할 수 있습니다. 시뮬레이션 환경은 AWS DeepRacer 모델을 가상 트랙에서 훈련하는 데 사용됩니다. AWS DeepRacer 콘솔에서는 가상 트랙을 사용할 수 있습니다. 실제 환경은 AWS DeepRacer 차량을 물리적 트랙에서 구동하는 데 사용됩니다. AWS DeepRacer 리그는 이벤트 참가자들이 경쟁할 수 있는 물리적 트랙을 제공합니다. 다른 상황에서 자신의 AWS DeepRacer 차량을 구동하려면 물리적 트랙을 만들어야 합니다. 트랙을 구축하는 방법에 대해 자세히 알아보려면 물리적 트랙 구축을 참조하십시오.

보상 함수

보상 함수는 에이전트에게 다음과 같은 수행한 작업의 결과를 알려주는 학습 모델 내 알고리즘입니다.

  • 강화해야 하는 좋은 결과

  • 보통 결과

  • 권장되지 않는 안 좋은 결과

보상 함수는 강화 학습의 핵심 부분으로, 다른 작업보다 특정 작업에 대해 인센티브를 제공해 에이전트가 학습할 동작을 결정합니다. 사용자는 Python을 사용하여 보상 함수를 제공합니다. 최적화 알고리즘에서는 이 보상 함수를 사용하여 강화 학습 모델을 훈련합니다.

경험 에피소드

경험 에피소드는 에이전트가 지정된 출발점에서 시작하여 트랙을 완주하거나 트랙에서 벗어날 때까지 실행하면서 환경에서 데이터를 훈련하여 얻어진 경험을 수집하는 기간입니다. 에피소드에 따라 길이가 달라질 수 있습니다. 이를 에피소드 또는 경험 생성 에피소드라고 합니다.

경험 반복

경험 생성 반복이라고도 알려진 경험 반복은 정책망 가중치를 업데이트하는 각 정책 반복 사이에서 연속되는 경험의 집합을 말합니다. 각 경험 반복의 마지막에서 수집된 에피소드가 경험 다시 재생 또는 버퍼에 추가됩니다. 크기는 훈련 하이퍼파라미터 중 하나에서 설정할 수 있습니다. 신경망은 임의의 경험 샘플을 사용하여 업데이트됩니다.

정책 반복

정책 업데이트 반복이라고도 알려진 정책 반복은 경사 상승 과정에서 정책 신경망 가중치를 업데이트하기 위해 무작위로 샘플링되는 훈련 데이터를 통과한 패스(pass)들로 구성됩니다. 가중치 업데이트를 목적으로 훈련 데이터를 통과하는 단일 패스를 에포크라고 부르기도 합니다.

훈련 작업

훈련 작업은 강화 학습 모델을 훈련하고 추론을 실행할 훈련된 모델 아티팩트를 생성하는 워크로드입니다. 각 훈련 작업에는 두 개의 하위 프로세스가 있습니다.

  1. 에이전트를 시작하고 현재 정책을 따릅니다. 에이전트가 다양한 에피소드에서 환경을 탐색하고 훈련 데이터를 생성합니다. 이러한 데이터 생성이 반복 프로세스입니다.

  2. 새로운 훈련 데이터를 적용하여 새 정책 경사를 컴퓨팅합니다. 네트워크 가중치를 업데이트하고 계속 훈련합니다. 중지 조건이 충족될 때까지 1단계를 반복합니다.

각 훈련 작업마다 훈련된 모델을 생성하여 모델 아티팩트를 지정된 데이터 스토어로 출력합니다.

평가 작업

평가 작업은 모델의 성능을 테스트하는 워크로드입니다. 훈련 작업이 완료되면 지정된 지표에 따라 성능이 측정됩니다. 표준 AWS DeepRacer 성능 지표는 에이전트가 트랙에서 랩을 완주하는 데 걸린 주행 시간입니다. 다른 지표는 완주한 랩의 비율입니다.

레이싱 이벤트 용어

AWS DeepRacer 레이싱 이벤트는 다음 개념과 용어를 사용합니다.

리그/대회

AWS DeepRacer 리그 이벤트의 경우 리그경쟁이라는 용어는 경쟁 구조와 관련이 있습니다. AWS은 AWS DeepRacer 리그를 후원하며, 이는 우리가 리그를 소유하고, 설계하고, 운영한다는 뜻입니다. 대회에는 시작 날짜와 종료 날짜가 있습니다.

시즌

대회는 몇 년간 반복해서 열릴 수 있습니다. 이를 시즌(예: 2019 시즌 또는 2020 시즌)이라고 부릅니다. 규칙은 시즌에 따라 변경될 수 있지만 일반적으로 한 시즌 동안은 일관되게 유지됩니다. AWS DeepRacer 리그 이용 약관은 시즌에 따라 달라질 수 있습니다.

가상 서킷

가상 서킷은 AWS DeepRacer 리그 시즌 동안 AWS DeepRacer 콘솔에서 개최되고 AWS이 후원하는 레이스를 말합니다.

이벤트

규칙의 정의에 따르면 이벤트는 레이스에 참가할 수 있는 AWS DeepRacer 리그 행사입니다. 이벤트에는 시작 날짜와 종료 날짜가 있습니다. 가상 서킷 이벤트는 일반적으로 한 달 동안 진행됩니다. 한 시즌에는 많은 이벤트가 있을 수 있으며, 이벤트 참가자의 순위를 매기는 방법, 우승자를 선정하는 방법, 그 후에 일어나는 일 등과 같은 일부 규칙이 변경될 수 있습니다.

레이스 유형

모든 레이서는 타임 트라이얼(TT), 물체 회피(OA) 또는 헤드-투-봇(H2B) 레이스로 레이스를 펼칠 수 있습니다. 각 레이스 유형에 따라 바퀴 수, 레이서 순위 결정 방법이 지정됩니다.

전국 시즌 순위

전국 시즌 순위는 해당 국가의 레이서들 중에서 한 레이서의 순위표 순위를 의미합니다. 모든 레이서는 매월 진행되는 가상 레이스에서 자국의 다른 레이서들과 경쟁할 수 있습니다.

지역 시즌 순위

지역 시즌 순위는 해당 지역의 레이서들 중에서 한 레이서의 순위표 순위를 말합니다.

월드 챔피언십

AWS DeepRacer 리그의 가상 서킷 월간 순위표는 국가 및 지역으로 구분됩니다. 각 지역의 상위 레이서는 AWS re:Invent에서 열리는 월드 챔피언십 대회에 출전할 수 있는 기회를 얻게 됩니다. 자세한 내용은 용어 및 조건 단원을 참조하십시오.