Skip to main content

원격 조종 자동차를 자율주행으로 학습시키기

몇백 달러, 흔한 도구 몇 가지, 그리고 약간의 인내만 있으면 RC 자동차가 스스로 주행하도록 훈련할 수 있습니다. 방법을 보여 주는 동영상을 준비했습니다. 이 글은 AI 번역본입니다. 오역이 의심되면 댓글로 자유롭게 알려 주세요.
Created on September 15|Last edited on September 15
무엇이든지 간에 OpenAI의 Jukebox 프로젝트로 음악 생성하기, StarGAN으로 사랑스러운 동물 합성하기, 또는 정지 이미지에 아름다운 조명 효과 만들기, W&B에서는 정말 기발하고 즐거운 프로젝트들을 많이 봐왔습니다.
하지만 그 모든 프로젝트에는 한 가지 뚜렷한 문제가 있었습니다. 누군가의 거실을 레이스트랙으로 바꾸는 일은 포함되지 않았다는 점이죠. 다행히 이제 그 문제는 해결되었습니다.



맞아요, 저희 동료 아르망 뒤 파르크 로크마리아가 자율 주행 레이싱카를 훈련시키기 위해 집 안의 일부 공간을 기꺼이 희생했습니다.
앞으로 2주 안에 이 프로젝트에 대한 좀 더 기술적인 글을 추가로 공개할 예정이지만, 먼저 이 영상과, 물론 데이터셋과 코드를 공유합니다. 혹시 이 프로젝트를 시험 주행해 보고 싶으셨다면요(죄송합니다).
이번 중간 정리에서 꼭 전해 두고 싶은 내용이 두 가지 있습니다. 첫째는 직접 자동차를 훈련하는 데 쓸 수 있는 일반적인 전략이고, 둘째는 아르망이 훈련 과정에서 발견한 작은 팁인데, 직접 시도해 보실 때 문제 해결에 도움이 될 수 있습니다.
그러면, 어떻게 하다 장난감 자동차가 스스로 운전하게 훈련할 수 있을까요? 아르망은 두 가지 다른 전략을 고민했습니다. 첫 번째는 카메라를 켠 채로 자동차를 직접 몰면서 그 주행 데이터를 학습용으로 쓰는 방식이었습니다. 다시 말해, 자동차가 마치 그가 조종하고 있는 것처럼 행동하도록 만드는 것이죠(즉, 모방 학습). 하지만 그는 훈련 기법으로 더 간단하고 우아한 해법을 택했습니다. 자동차의 카메라로 찍은 이미지에 트랙의 중심을 표시해서 주석을 다는 것입니다. 자동차의 유일한 실제 목표는 트랙의 중심을 향해 계속 방향을 잡고, 소파나 벽 같은 방해되는 물체로부터 멀어지도록 하는 것입니다.

처음에는 자동차가 스스로 주행하긴 했지만 퀄리티가 영 좋지 않았습니다. 아르망의 말로는 “정말로 벽에 자주 들이받고 있었죠.” 어느 정도는 예상된 일입니다. 결국 모델은 여러 번의 반복과 재훈련이 필요하니까요. 하지만 그가 살펴봤을 때 그의 W&B 대시보드 그리고 모델의 예측을 확인하기 시작했을 때, 그는 모델의 성능이 나쁘지 않았다는 사실을 발견했습니다. 트랙의 중심을 식별하는 데는 실제로 잘하고 있었습니다. 이 단계에서 문제는 아니었다 그의 코드나 모델이 아니라, 문제는 하드웨어였다.
보세요, 이 자동차에 달린 GPU는 BERT를 학습시킬 만한 급의 장비가 전혀 아닙니다(영상을 봤다면 그가 어떤 장비를 썼는지 알 거예요). 문제는 그가 학습한 신경망의 층이 너무 많았고, 카메라의 프레임 레이트도 너무 높았다는 데 있었습니다. 결과적으로 모델이 올바른 예측을 내놓고 있었음에도 자동차가 충분히 빠르게 반응하지 못했습니다. 한마디로, 자동차가 너무 많은 이미지를 처리하느라 ‘목이 막혀’ 버린 셈이죠.
그 사실을 알아낸 건 큰 안도였다. 그의 접근 방식이 전반적으로 작동하고 있었고, 추가로 학습 데이터를 수집하거나 주석을 달 필요도 없다는 뜻이었기 때문이다. 그는 프레임 레이트를 낮추고 신경망의 몇 개 층을 제거했으며, 그 결과 자동차의 성능이 극적으로 향상됐다. 이는 모델의 동작을 더 잘 들여다볼수록, 즉 설명 가능성과 디버깅 가능성이 높을수록 프로젝트 결과가 더 좋아진다는 점을 상기시켜 준다.
시청해 주셔서 감사합니다. 곧 이 프로젝트를 더 기술적으로 자세히 다룬 내용으로 다시 찾아뵙겠습니다!

이 글은 AI로 번역되었습니다. 오역이 의심되는 부분은 댓글로 알려 주세요. 원문 보고서 링크는 다음과 같습니다: 원문 보고서 보기