한국어 箭头
Podcast Cover

[마리오 카트(Mario Kart)를 활용한 딥러닝 입문: 가상 환경을 통한 AI 학습의 가능성]-[Ep. 17: Training an AI to Play Mario Kart 64]

NVIDIA AI Podcast · B2 · 2017-04-07

Technology
또는 웹버전으로 공부하세요

📋 Summary

마리오 카트(Mario Kart)를 활용한 딥러닝 입문: 가상 환경을 통한 AI 학습의 가능성

최근 인공지능 분야에서는 체스, 바둑, 포커와 같은 전략 게임을 마스터하는 딥러닝 시스템에 대한 논의가 활발합니다. 하지만 게임 속 자동차 경주인 '마리오 카트(Mario Kart)'를 통해 AI를 학습시킨다면 어떤 의미가 있을까요? 쇼피파이(Shopify)의 개발자이자 AI 애호가인 케빈 휴즈(Kevin Hughes)는 자신의 사이드 프로젝트인 '텐서카트(TensorCart)'를 통해 이 질문에 대한 흥미로운 답변을 제시합니다.

1. 프로젝트의 시작: 왜 마리오 카트인가?

케빈 휴즈는 AI가 결코 두려운 존재가 아니며, 누구나 시도할 수 있다는 것을 보여주기 위해 마리오 카트를 선택했습니다. 그는 "사람들이 이 프로젝트를 보고 '나도 할 수 있겠다'라고 느끼길 바랐다"고 말하며, 대중적인 게임을 통해 AI의 작동 원리를 쉽게 설명하고자 했습니다. 프로젝트를 위해 그는 닌텐도 64 에뮬레이터에서 게임 화면을 캡처하고, 컨트롤러 입력을 CSV 파일로 저장하여 AI가 인간의 조작 방식을 학습하도록 데이터셋을 구축했습니다.

2. 기술적 도전과 해결 과정

이 프로젝트의 첫 번째 난관은 에뮬레이터에 AI의 출력값을 다시 입력하는 것이었습니다. 리눅스 환경에서 가상 조이스틱 입력을 구현하는 것은 생각보다 복잡했습니다. 결국 케빈은 HTTP 서버를 통해 데이터를 전달하는 '커스텀 입력 플러그인'을 직접 작성해야 했습니다.

또한, 학습 초기 단계에서 마리오가 벽에 부딪히는 문제가 발생했습니다. 원인을 분석한 결과, 실제 마리오 카트의 물리 엔진은 부드러운 곡선 주행이 아니라 '직선 주행 후 급회전'을 반복하는 방식임을 발견했습니다. 이는 AI가 인간의 주행 데이터를 그대로 복제하려 하면서 발생한 현상으로, AI가 최적화 목표를 잘못 설정했기 때문입니다. 이를 통해 케빈은 AI가 단순히 데이터를 학습하는 것을 넘어, 게임 내 물리적 특성을 이해하는 것이 중요함을 깨달았습니다.

3. 가상 환경이 실제 세계에 주는 시사점

케빈은 비디오 게임과 같은 '합성 환경(Synthetic Environments)'이 실제 AI 학습에 매우 효과적인 도구가 될 수 있다고 주장합니다.

  • 데이터 확보의 용이성: 구글과 같은 대기업은 방대한 실제 주행 데이터를 보유하고 있지만, 스타트업에게는 데이터 확보가 큰 장벽입니다. '그랜드 테프트 오토(Grand Theft Auto)'와 같은 고품질 게임 환경을 사용하면 비용 효율적으로 AI를 훈련할 수 있습니다.
  • 추상화 능력: 딥러닝 모델은 초기 레이어에서 그래픽의 화려함을 제거하고, '도로'라는 개념과 '곡선', '장애물'과 같은 본질적인 정보를 추출합니다. 이는 실제 도로 환경에서의 자율주행 학습에도 적용될 수 있는 핵심 원리입니다.

4. 커뮤니티의 확장과 미래

이 프로젝트는 깃허브(GitHub)를 통해 오픈 소스로 공개되었으며, 많은 사람들이 자신의 AI를 학습시키는 데 활용하고 있습니다. 특히 브라이언 지어(Brian Zier)와 같은 기여자들이 마리오 카트를 OpenAI의 'Gym' 환경과 결합하면서, 이제는 여러 게임을 범용적으로 학습할 수 있는 기반이 마련되었습니다. 케빈은 다음 도전 과제로 '스타폭스(Star Fox)'와 같은 3D 공간 게임을 제안하며, AI에 관심 있는 사람들에게 "직접 손을 더럽히며(get your hands dirty) 시작해보라"고 독려합니다.

결론적으로, 마리오 카트 AI 프로젝트는 단순한 게임 플레이를 넘어, 가상 시뮬레이션을 활용한 데이터 생성 전략이 미래 인공지능 발전의 중요한 열쇠가 될 수 있음을 시사합니다. AI는 더 이상 실험실 안에만 머물지 않으며, 누구나 자신의 컴퓨터에서 가상 로봇을 훈련하며 그 가능성을 탐험할 수 있는 시대가 되었습니다.

🎯Key Sentences

1
I've actually got a confession.
사실 고백할 게 하나 있어요.
2
That's about the sum of it.
대략 그런 셈이죠.
3
Where did I start?
어디서부터 시작했더라?
4
I think I got mostly done that night in a couple hours.
그날 밤 두어 시간 만에 거의 다 끝낸 것 같아요.
5
it was pretty fast, it sounds like.
꽤 빨랐던 모양이네요.
모두 펼치기

📝Key Phrases

1
get one's hands on
손에 넣다
2
go deep into
심층적으로 파고들다
3
go about doing something
어떤 일을 시작하다
4
sat on something
무언가 위에 앉았다
5
reach for
손을 뻗다
모두 펼치기

📖 Transcript

Welcome to Nvidia's AI podcast. We've discussed deep learning systems that are trained to play and master games like chess, Go, and even Texas Hold'em.
But training a deep neural net to play the racing game Mario Kart, what can you possibly learn from that?
Our guest, Kevin Hughes, has all the answers.
In his day job, he's a developer at Shopify, but he works on side projects on AI, and he studied AI and did a master's in computer vision at Queen's University in Canada.
Kevin, welcome. Hi. Let's just start with this.
Why Mario Kart? Were you an obsessive Mario Kart player?

ListenLeap이 실제 문맥에서 학습하도록 이끌어줌

🎨 흥미로운 콘텐츠
🌍 실제 자료
📱 언제든 듣고 보기