사람의 주행 방식을 관찰해 주행을 학습하는 인공지능

이미지:엔비디아 Blog

실제 주행 환경에서 주행 관련 변수의 범위는 무한대에 가깝기 때문에, 인공지능 차량 개발 시 자동차가 스스로 주행하도록 모든 변수들에 관해 일일이 프로그래밍하는 것은 거의 불가능하다. 그러나 인공지능을 활용해 자동차에 주행 방법을 학습시키는 것이 가능해졌으며, 이러한 학습 과정에서 자동차가 어떤 요소들에 주목하고 있는지도 확인할 수 있게 됐다.

엔비디아(CEO 젠슨 황)가 엔비디아의 뉴럴 네트워크(Neural Network), 파일럿넷(PilotNet)이 인공지능 차량 내에서 어떻게 주행 의사 결정을 내리는 지에 관한 연구 자료를 최근(2017.04.25) 발표했다. 엔비디아는 운전자들의 행동을 관찰해 차량 주행을 학습하는 뉴럴 네트워크 기반 시스템 ‘파일럿넷’을 개발했다. 

나아가 본 뉴럴 네트워크 시스템이 운전 중 의사 결정 시에 어떤 요소들에 우선순위를 부여하고 있는지를 확인할 수 있는 도구를 개발했다. 이를 활용해 일일이 프로그래밍 할 수 없는 영역을 차량 스스로 학습하도록 하는 시스템을 구축했을 뿐만 아니라, 해당 시스템이 어떻게 의사 결정을 내리는지도 확인할 수 있게 된 것이다.

엔비디아의 자율주행차 소프트웨어 개발 책임자인 어스 뮬러(Urs Muller)는 “사람이 사진에서 얼굴을 얼굴로 인식하게 만드는 요소가 무엇인지를 파악해 이를 구체적인 규칙으로 세세히 나열해 프로그래밍 하는 것은 불가능하다”며, “따라서 우리는 규칙을 통해 정의 내릴 수 있는 영역으로만 솔루션을 국한시키고 있는 것은 아닌지 대한 의문을 제기해보아야 한다”고 설명했다.

사람의 주행 방식을 관찰해 주행을 학습하는 인공지능

엔비디아는 엔비디아 드라이브웍스(DriveWorks) 소프트웨어 개발 및 테스트에 자체 인공지능차량인 BB8을 활용하고 있다. 엔비디아는 현재까지 BB8에 포드 링컨과 아우디의 차량들을 활용한 바 있으며 추후 타사 차량을 사용할 예정으로, 차량 제조사 및 모델 정보는 본 인공지능차량 개발에 주요 요소가 아니다. BB8이 인공지능차로서 딥러닝의 힘을 선보일 수 있도록 만드는 요소는 전방 카메라의 이미지를 해석해 주행 명령을 내리는 딥 뉴럴 네트워크(Deep Neural Network)에 있다.

엔비디아는 딥 뉴럴 네트워크가 운전자의 운전행동을 학습해 차량을 스스로 주행할 수 있도록 하는 트레이닝을 실시했다. 네트워크는 차량에 탑재된 카메라를 활용해 운전자가 주시하는 것을 기록한 후, 해당 이미지를 운전자가 주행 중에 내린 의사 결정 데이터와 연관 짓는 작업을 실시했다. 엔비디아는 다양한 환경에서의 상당한 분량의 주행 과정을 기록했다. 

차선 표시가 있는 도로와 없는 도로, 비포장 도로와 고속도로 등 도로 환경을 다양하게 하는 것은 물론, 하루 중에도 시간대를 달리해 각기 다른 조도 상태에서 기록했으며, 날씨 상태도 다양하게 안배했다. 트레이닝을 받은 네트워크는 그 어떤 코드 기반의 명령 없이, 관찰을 통해 BB8의 주행을 위한 학습을 스스로 진행했다. 트레이닝을 거친 네트워크는 새로운 환경에서도 실시간 주행 명령을 내릴 수 있게 됐다. 

인공지능의 사고 과정

파일럿넷이 작동에 들어가면서 엔비디아는 파일럿넷의 의사 결정 과정에 대해 알아보기 위해, 파일럿넷이 하나의 이미지를 주시할 때 어떤 요소에 중요도를 부여하는지 확인할 수 있는 시각화 맵을 개발을 통해 엔비디아는 파일럿넷이 차량용 카메라에서 새로운 정보를 입력 받을 때 가장 우선순위로 두는 것이 무엇인지를 아래와 같이 파악할 수 있었다. 아래의 예시는 차량의 카메라에 기록된 이미지 위로 시각화 작업이 덧입혀진 것으로, 파일럿넷이 우선순위를 높게 두는 지점은 초록색으로 표시됐다.

엔비디아의 최신 연구자료에 수록된 인공지능 차량의 판단 과정 내부 시각도(사진:엔비디아)

이러한 시각화를 통해 엔비디아는 파일럿넷이 차선 표시, 도로 모서리 및 다른 차량 등, 운전자가 집중하는 요소와 동일한 요소들에 집중하고 있음을 확인할 수 있었다. 여기에서 한 가지 놀라운 것은 엔비디아는 파일럿넷에 이러한 요소들을 우선적으로 고려하도록 직접적으로 명령한 적이 없다는 점이다. 파일럿넷은 실제 사람들이 운정을 배우는 것과 같이, 관찰을 통해 주행 중인 환경에서 의사 결정시 어떤 요소들이 중요한지를 학습했던 것이다.

인공지능 시험 차량 내부(사진:엔비디아 연구자료)

뮬러 개발 책임자는 “딥 뉴럴 네트워크의 사용이 주는 장점은 차량이 스스로 상황을 파악한다는 점이지만, 개발자들이 이러한 네트워크가 의사결정을 내리는 방식에 대해 이해하지 못한다면 실질적인 발전을 이뤄내기 어렵다”며,

 “네트워크의 의사 결정 과정을 확인하기 위해 개발한 본 수단을 통해, 엔비디아는 시스템을 개선하는데 필요한 정보를 파악할 수 있다. 개발자들은 차량이 무엇을 해야 하는지 일일이 설명할 순 없지만 차량이 스스로 학습할 수 있도록 운전자의 운전 행동을 보여줄 수 있으며, 차량은 스스로 무엇을 학습했는지 개발자들에게 보여 줄 수 있게 됐다”고 말했다.

엔비디아의 자율주행차용 AI 컴퓨터 PX 2(자율주행 및 HD 매핑)(사진:엔비디아)

자율주행차량이 양산에 들어간다면, 다양한 인공지능 뉴럴 네트워크와 다양한 기술들이 차량 운행에 활용될 것이다. 주행을 제어하는 파일럿넷 외에도, 보행자 감지, 차선 감지, 표지판 인식, 충돌 방지 등 구체적인 과제에 초점을 맞춰 트레이닝을 거친 다양한 네트워크가 차량에 탑재될 것이다.

특정 전문 분야를 담당하는 다양한 인공지능 네트워크를 활용하면, 자율주행차량의 안전성 및 안정성을 증가시킬 수 있다. 엔비디아의 개발 작업은 주행이라는 복잡한 상황에 이러한 첨단 인공지능을 도입한 것이다. BB8 자율주행차 시연(CES 2017에서 엔비디아의 자율주행차 데모)은 아래 동영상에서 확인할 수 있다.

인공지능 자율주행 슈퍼컴퓨터인 드라이브 PX 2 (DRIVE PX 2) 및 개발자용 오픈 플랫폼인 엔비디아 드라이브웍스 (NVIDIA DriveWorks) 등 엔비디아의 자동화 솔루션에 대한 자세한 정보는 다음 링크(NVIDIA.com/drive)에서 확인할 수 있다. 

참고) 딥 뉴럴 네트워크의 우선순위 부여 과정을 파악한 방법에 관한 엔비디아 최신 연구 자료(원제: Explaining How a Deep Neural Network Trained with End-to-End Learning Steers a Car) 다운받기(바로가기

 

저작권자 © 인공지능신문 무단전재 및 재배포 금지