본문 바로가기
과학·공학/<AI 상식사전>

06. 인공신경망예시 _자율주행차 (마지막 회)

by BOOKCAST 2022. 7. 15.
반응형

 


 

자율주행차

요즘 언론에 소개되거나 상용화된 자율주행차는 도로의 차량과 사람은 물론 표지판을 인식하는 등 복잡한 기능을 포함하고 있는 만큼, 그 구조를 이해하기 어렵습니다. 하지만 초기의 자율주행차는 기능이 단순하고 구조를 이해하기도 쉽습니다. 초기 자율주행차 중에서도 ‘카네기 멜론 대학(Carnegie Mellon University)’에서 개발한 ‘냅랩(LAVLAB, NAVigation LABoratory)’은 자율주행차의 개발에 인공 신경망을 이용했습니다. 냅랩은 사람이 탑승할 수 있었던 최초의 자율주행차로, ‘냅랩 1’과 ‘냅랩 2’가 개발됐습니다. 냅랩 1은 1980년대 말, 냅랩 2는 1990년대 초에 개발됐는데, 당시 컴퓨터, 카메라 등과 같은 장비의 성능이 제한돼 자동차의 크기도 크고 속도도 느렸습니다.


최초의 자율주행차, 냅랩

출처:  https://www.youtube.com/watch?v=ntIczNQKfjQ(https://www.youtube.com/watch?v=5-acCtyKf7E
 

냅랩을 제어하기 위해 ‘앨빈(ALVINN, Autonomous Land Vehicle In a Neural Network)’이라는 이름의 인공 신경망을 이용했습니다. 앨빈의 입력층은 자율주행차 앞에 달린 카메라로 촬영된 도로를 30×32 픽셀 크기의 이미지로 입력받았습니다.


냅랩에 입력된 도로 이미지

출처: Andrew Ng, 머신러닝 강의, Week 5, Autonomous Driving
 

입력층은 총 960개(30×32) 유닛, 은닉층은 4개 유닛, 출력층은 30개 유닛으로 구성됐는데, 출력층의 각 유닛은 핸들의 방향을 출력했습니다. 사람이 핸들을 움직이는 것과 같이 도로의 이미지를 입력받은 후 은닉층을 거쳐 적당한 핸들의 위치를 출력한 것이죠.


도로 모양에 따른 자동차 핸들의 위치직진

도로앨빈의 은닉층은 입력된 도로 이미지에서 특징을 추출합니다. 여기서 필요한 특징은 무엇일까요? 자동차 핸들의 방향을 출력하기 위해 앨빈이 추출하는 특징은 ‘도로의 모양’입니다. 즉, 도로가 왼쪽으로 또는 오른쪽으로 휘었는지, 휘었으면 얼마나 휘었는지 등의 특징을 추출하는 것이죠. 그리고 이렇게 추출된 특징이 출력층으로 보내지면 출력층의 각 위치에 해당하는 유닛이 활성화되고 핸들을 해당 방향으로 움직이는 것입니다.


자율주행차 냅랩에서 이용한 인공 신경망, 앨빈(ALVINN)

출처: Dean A. Pomerleau, “Defense and civilian applications of theA LVINN robot driving system”(번역 및 수정)
 

냅랩의 계기판에는 주행 중인 도로의 이미지와 현재 차의 핸들 방향을 알려 주는 화면이 있습니다. 핸들의 위치를 표시하는 화면은 2개로 나뉘어 있는데, 하나는 사람이 운전하는 핸들의 방향, 또 다른 하나는 자율주행차가 계산한 핸들의 방향입니다.

인공 신경망이 학습을 시작하면 먼저 사람이 운전을 하면서 도로의 모양에 맞춰 핸들을 어떻게 조작하는지 자율주행차에게 알려 줍니다. 학습을 시작한 자율주행차의 핸들은 방향을 종잡을 수 없습니다. 하지만학습이 진행됨에 따라 사람이 운전하는 것처럼 핸들을 조작하게 됩니다. 이제 자율주행차에게 운전을 맡겨도 되겠네요.


학습에 따라 달라지는 앨빈의 핸들 위치

반응형

댓글