아마존 AWS 딥레이서

SeungMin Park·2024년 2월 29일
1

AWS 딥레이서

목록 보기
1/1

학교에서 진행하는 아마존 AWS 딥레이서 대회에 참여하였다. 작년에 참여하지 못한게 아쉽기도 하고, 다음주면 곧 퍼듀대학교로 떠나는데 가기전에 강화학습에 관련된 대회나 프로젝트를 하고 가고 싶어서 참여하게되었다.

작년엔 학교에서 오프라인 교육을 진행하였는데, 올해는 Zoom 교육 하루와, 인프런 강의를 통해 교육을 들을 수 있었다.


준비 과정

시간이 별로 없었기 때문에 급박하게 강의를 들었다. 사실 온라인 강의는 인공지능에 대한 이론 위주로 가르쳐서, 나는 이미 인공지능 수업과 인터넷 강의를 들어서 크게 도움은 안됐고, 콘솔 사용법 위주로 짧게 학습하고 바로 실습을 하였다.

어떻게 해야하나 고민하다가 일단 기본 모델을 먼저 만들어보기로 하였다. 하기 전에 팀원이 하이퍼파라미터에 대한 정보를 공유해주어 하이퍼파라미터에 대해서 알아보고 속도가 빠르게 나오기 위한 최적의 값을 먼저 찾아보았다.

하이퍼 파라미터를 최적의 값으로 세팅하고, 이제 보상함수 알고리즘을 짜야했다. 속도를 빠르게 하기 위해서 속도가 적을때 패널티를 주고, 높으면 보상을 주기로 하였다.

속도는 생각보다 빠르게 나왔지만, Off-track 의 빈도가 높았고, 영상을 보니 코너링때 안정적인 주행이 어려워보였다


해결 방안

1. 코너링시 적극적인 속도 감속

코너링을 할때, 빠른 속도로 달려와 제대로 코너를 돌지 않고 밖으로 나가는 모습이 많이 보였다. 코너가 급하기 때문에 코너를 돌때 저속으로 떨어질수밖에 없는데, 보상함수가 속도가 적을때 패널티를 주기 때문에 코너링을 할때 속도를 줄이지 않고 그냥 밖으로 나가버리는 방법으로 학습한 것 같다.
그래서 초저속으로 속도가 내려가면 오히려 패널티를 줄여주는 방식으로 바꾸어 다시 학습을 시켜보았다.

2. 코너링을 안정적이고 빠르게 주행

군대에서 운전병을 했는데, 11.5톤이나 버스 같은 큰 차들을 몰았다. 큰 차들을 운전을 하면서 느낀 점이 코너링을 할때, 반대 방향으로 살짝 차를 빼서 진입각을 만들어야 안정적이고 빠르게 코너링을 할 수 있다는 점이다. (정확히는 도로 반대쪽에서 회전하는쪽 도로로 최대한 붙어서 진입해야한다) 찾아보니 이게 F1 같은 카레이싱 대회에서 레이서들이 코너링을 할때 사용하는 방법이라고 한다.

이걸 구현하기가 제일 어려웠는데, 그냥 중앙선보다 자동차 중심이 오른쪽에 있으면 보상을 소량 주기로 하였다. (교내 대회는 시계 반대방향이므로 오른쪽이 차량 반대쪽임) 사실 시간이 좀 더 있었으면 이 부분을 더 좋게 바꿀 수 있었을 것 같다.

3. 코너링시 인코스로 주행

2번과 같은 방법으로 시행했더니, 인코스로 돌지 않고 턴을 할때도 도로 바깥으로 가는 현상이 생겼다. 이렇게 되면 굳이 더 먼 길로 가기 때문에 시간이 더 늘어난다. 그래서 고민을 하다가 차량 조향이 왼쪽일때, 도로 왼쪽으로 붙게 되면 보상을 받도록 보상함수를 조정을 하였다. 그랬더니 코너링시에 조금 더 안정적으로 인코스를 돌 수 있었다


결과

위와 같은 과정을 거쳐 여러 모델을 점진적으로 학습 시켰고, 총 30 여개의 모델들을 만들었다. 그 중 가장 성과가 좋았던 Park5 모델이 교내 온라인 대회 우승을 차지 하였다.

3바퀴 도합 28.319 초, 최고 랩타임 9.1초로 굉장히 빠르고 Off-track이 한번도 없었다.

교내 대회에서만 써보기 아쉬워서 해당 코드와 설정을 사용하여 현재 열리고 있는 AWS-Winter Season에 참여해보기로 했다. 트랙이 다르기 때문에 새로운 루트 계정을 파서 같은 코드와 설정으로 학습시켰다. 트랙이 약간 달라서 코드를 조금 조정했더니 정말 좋은 결과를 얻을 수 있었다.

한국인 53명 중에 2등,
세계 1531명 중 102등을 당당히 차지하였다.

2일 정도를 투자하여 이 정도 성과가 나서 의욕도 생기고, 나중에는 대륙 1등을 해서 라스베가스로 초청되어 다시 한번 라스베가스에 갈 수 있었으면 좋겠다. 교내 대회 발표에서 이 성과를 언급하여 시즌 종료까지 한국 1등을 하겠다고 했는데, 시간 단축은 성공했지만 아쉽게 한국 1등은 하지 못했다. 다음 시즌에 보상함수를 개량하여 재참가를 해보아야겠다


오프라인

학교에서 교내 빈 강의실에서 트랙을 설치해주셨다
오프라인은 온라인과 정말 달랐다. 로직이 달라져야 할것 같았다. 다만 대회 전날에 처음 오프라인 기계를 만지다 보니 연결하는데 하루종일 걸리고, 결정적으로 AWS 관계자분께서 하라는대로 세팅을 하다 주말동안 내내 작업한 내 자식같은 30개의 모델들을 초기화가 되어서 오프라인에 맞게 내 모델들을 개량할수가 없었다..ㅠㅠ

대회에서는 다른팀의 "무지성 속도 올려!" 전략에 패배하여 오프라인에서는 2등을 하였다. 오프라인은 어느 정도 운이 필요한거 같기도...

그래도 온라인 대회에서 1등과 발표를 다른 팀보다 잘했던거 같아서 교내대회 1등을 무사히 차지하였다.


느낀 점

오프라인 기기를 충분히 다뤄보지 못해 오프라인에 적합한 모델을 만들어보지 못해서 아쉬웠고, 온라인 리그 한국 1등을 달성하지 못해서 아쉬웠다. 다음 교내 3회 대회가 열리면 참여하여 한국 1등과 오프라인 1등까지, 그리고 세계적으로 순위권에 들어 AWS 초청으로 라스베가스에 다녀오고 싶다.

0개의 댓글

관련 채용 정보