[Amazon] AWS Deepracer(1) - AWS Deepracer Overview
이 포스트는 AWS Deepracer 강의를 바탕으로 공부한 내용을 정리하였습니다.
1. DeepRacer란
- 강화학습 자율 주행 애플리케이션을 실험하고 구축할 수 있는 통합 학습 시스템이다.
- 구성요소
- AWS DeepRacer 콘솔
- AWS 서비스를 웹사이트를 통해 작업하는 공간
- AWS DeepRacer 차량
- AWS DeepRacer League
- AWS DeepRacer 콘솔
- 구성요소
- 무엇을 배울 수 있을까
- AWS
- Cloud Computing
- Deep
- AI, Deep Learning, Reinforcement Learning
- Python, Tensorflow
- Racer
- Autonomous Driving, Robot Operating System
- Ubuntu Linux, Docker
- AWS
2. 클라우드 컴퓨팅과 AWS
클라우드 컴퓨팅이란
- 인터넷을 사용해서 공유자원(서버, 네트워크, 스토리지)을 사용할 수 있는 서비스이다.
- IT에 관련한 물리적 자원 및 기술적 자원을 임대하고 사용한 만큼 금액을 지불한다.
On Premise vs On Demand
- On-Premise: 서버, 데이터베이스, 네트워크 장비 등을 모두 구매해서 구축하고 운영하는 모델
- On-Demand: 클라우드 컴퓨티 서비스 사용자가 요청한 만큼 서비스를 제공하고 비용을 청구하는 모델
3. Deepracer 워크플로우
- Hubman Driving(simulation→ real)
- Deepracer Driving(simulation → real)
- League
4. Deepracer 작동 원리
- Deepracer는 강화학습으로 모델을 학습시킨다. ex_알파고
- 강화학습을 이해하면 Deepracer가 재미있을 수 있다. 강화학습 공부해보자
AI
- Rule-based (규칙기반) 규칙과 패턴을 사람의 경험 등에 의해 입력
- Machine Learning (기계학습) 규칙과 패턴을 데이터를 통해 학습
- Supervised Learning (지도학습) 정답을 예측하는 모델 y=f(x) 제작
- 데이터: (x1, y1), (x2, y2), …
- 학습 방법: 입력(X)에 대한 정답(y)의 관계 학습
- Unsupervised Learning (비지도학습) 데이터 내부의 특징, 패턴을 추출
- 데이터: x1, x2, x3, …
- 학습 방법: 군집, 차원축소, 연관성 분석 등에 따라 상이함
- Reinforcement Learning (강화학습) 보상이 큰 행동(a)를 예측하는 모델 a=π(s) 제작
- 데이터: (s1, a1, r1), (s2, a2, r2), …
- 학습 방법: 상태(s)에 대한 행동(a)을 보상(r)에 의해 강화
- Supervised Learning (지도학습) 정답을 예측하는 모델 y=f(x) 제작
Model : a=π(s)
- 상태(s) =(a=π(s))⇒ 행동(a) ex_speed, steering angle
Reward
- 보상(reward)이 높은 행동은 강화하고, 낮은 행동은 약화한다.
- 보상은 사람이 줘야한다. 자동화 함수를 만든다. reward function
Frame Rate
- 1초에 10번의 프레임을 찍고 행동을 한다.
Trial and error
- 초반에 시행착오를 정말 많이 한다. ⇒ 컴퓨팅 자원을 많이 사용하는 단점이 있다.
- 사람이 걷는 방식으로 걷지 않아도 더 빠르게(보상에 따라 달라짐) 걸을 수 있다.
- 정답을 알려주지 않아도 알아서 정답을 찾을 수 있다.
- 사람보다 더 똑똑해질 수 있다.
5. Deepracer 요금 정책
- Free Tier
- 훈련, 평가 시간: 10시간
- Storage: 5GB
- 서비스를 처음 사용한 날로부터 30일 동안 유효
- Service Price
- 훈련, 평가 시간: 1시간에 3.5$
- Storage: 한달에 0.023$
- Device Price
- 꽤 비쌈
[AWS DeepRacer - Fully autonomous 1/18th scale race car for developers With open source projects](https://www.amazon.com/AWS-DeepRacer-Fully-autonomous-developers/dp/B07JMHRKQG?th=1)
6. AWS 계정 설정
- 계정 탈취 당하면 막대한 비용이 발생하니 조심 또 조심하자!
account type
- Root user
- 최초 가입한 계정으로 모든 권한을 가진 사용자
- 매우 주의를 기울여야하고, 가급적 사용하지 않는 것을 권장한다.
- IAM user
- ROOT 계정에 소속된 보조 계정
- 일반적으로 필요한 권한만 부여하기 때문에 탈취당하더라도 덜 위험하다.
- Multi-User
- Deepracer 서비스에서만 존재하는 유저
- 하나의 IAM 계정에 달라붙어서 여러 유저가 Deepracer를 사용할 수 있도록 만든 계정
- 학생들이 Deepracer를 사용할 수 있도록 교육용 계정으로 많이 사용된다.
7. 딥레이서 알고리즘
- Actor - Critic 기반 알고리즘인 PPO와 SAC 알고리즘을 사용한다.
- 딥레이서는 PPO 알고리즘이 더 맞는다.
- on policy: 과거 데이터를 버리고 현재 데이터만 사용하여 학습
- off policy: 업데이트할 때 과거 데이터들 중에서 쓸만한 데이터를 뽑아 학습
PPO
on policy 이지만 약간의 off policy 성향이 있다.
업데이트할 때 과거 데이터들 중에서 쓸만한 데이터를 뽑아 학습한다.
Training과 Evaluation 차이
Training할 때 시뮬레이션 한 결과 데이터를 이용해 학습해나간다.
Evaluate할 때 시뮬레이션 한 결과 데이터로는 학습하지 않고 시뮬레이션 결과만 확인한다.
8. 탐험
- 목적: 더 좋은 Action을 찾기 위해 기존의 정책에서 벗어난 새로운 Action을 취해보며 탐색하자
- 지나치게 많은 탐색은 학습 속도를 저하시키며, 지나치게 적은 탐색은 더 좋은 Action을 찾을 수 있는 기회를 놓칠 수 있다.
탐험 하이퍼파라미터
- PPO - Entropy
- 기본값 Entropy 0.01
- SAC - alpha value
- 지역 국소점에 빠지지 않게 하기 위해 분산을 너무 낮추면 안된다.
- 장점: 다양한 행동을 장려한다.
- 단점: 다양한 행동을 하기 때문에 학습 속도가 느려진다.
- 초반에는 엔트로피를 높이고 학습하면서 점차 줄여가는 방법도 있다.
댓글남기기