자율주행 자동차, ‘딥러닝’으로 시동 건다

2018/04/12 by 조기춘
공유 레이어 열기/닫기
주소가 복사되었습니다.

삼성전자 뉴스룸이 직접 제작한 기사와 사진은 누구나 자유롭게 사용하실 수 있습니다 자율주행 자동차, '딥러닝'으로 시동건다. 세상을 잇(IT)는 이야기. "IT 산업의 현주소를 읽다!" 급변하는 IT 분야에선 매일같이 새로운 아이디어와 기술이 각축을 벌이고 있습니다. IT 트렌드와 업계 흐름을 읽고 가치있는 정보를 선별할 수 있는 시야가 필요한 이유죠. 각 분야 전문가들이 날카로운 통찰로 풀어낼 IT 산업의 현주소와 미래, 삼성전자 뉴스룸의 기획 연재 '세상을 잇(IT)는 이야기'를 통해 만나보세요

자율주행 자동차를 말할 때 빠지지 않고 등장하는 기술 중 하나가 딥러닝(deep learning)[1]이다. 이번 회차에선 딥러닝 기술이 자율주행 자동차에 어떻게 적용되는지, 그리고 자율주행 자동차와 딥러닝에 관해 어떤 논의가 이뤄지고 있는지 살펴보겠다.

딥러닝 기술, 핵심은 ‘데이터 반복 입력 통한 자가 학습’

주행 도중 전방에 나타난 물체의 정체를 판단하는 자율주행자동차

운전자가 주행 도중 전방에 나타난 물체의 정체를 판단하는 일은 매우 중요하다. 그 물체가 차량인지 보행자인지 쓰레기 봉투인지에 따라 운전 방식을 바꿔야 하기 때문. 인간 두뇌가 정보를 분류하는 과정은 순서가 정해진 논리적 판단이라기보다 무의식 중 이뤄지는 습관적∙직관적 판단에 가깝다. 예를 들어 누군가가 “저 물체를 왜 차량으로 분류했느냐”고 물으면 대부분은 “(바퀴∙램프∙창문 등) 자동차를 구성하는 요소들이 적절히 갖춰져서”라고 설명하기보다 “그냥 머릿속에서 차(車)로 분류됐기 때문”이라고 답할 것이다. 그런 대답이 가능한 건 △대부분 어릴 때부터 수많은 자동차를 봐왔고 △그게 자동차란 사실을 교육 받았으며 △그런 경험을 통해 뇌 속에 자동차를 직관적으로 분류할 수 있는 신경 네트워크가 형성됐기 때문이다.

이처럼 인간이 경험을 거치며 스스로 학습하는 과정을 모방, 인공지능을 만들어내는 기술 분야가 바로 ‘머신러닝(machine learning)’이다. 지금껏 연구된 여러 머신러닝 기술 중 가장 주목 받는 건 인간 뇌를 형성하는 신경망을 모방해 학습하는 딥러닝이다.

데이터를 반복적으로 입력하는 과정을 통해 스스로 학습하는 컴퓨터.

딥러닝을 활용, 특정 기능을 인공지능으로 구현하려면 그 기능에 대한 논리나 규칙을 프로그래밍하기 보다 데이터를 반복적으로 입력하는 과정을 통해 컴퓨터가 필요한 기능을 스스로 학습해가도록 해야 한다. 즉, 딥러닝 기반 인공지능 구현에서 필요 기능에 대한 전문 지식보다 더 중요한 건 컴퓨터를 충분히 학습시킬 수 있는 데이터다. 오늘날 딥러닝이 신기술로 주목 받는 것도 데이터 제공∙처리에 필요한 여러 기술이 뒷받침됐기 때문이다. 클라우드를 기반으로 한 빅데이터 기술의 발전으로 학습에 사용할 수 있는 데이터의 양과 종류가 엄청나게 늘어났고, 딥러닝의 방대한 자료를 처리할 수 있는 컴퓨팅 플랫폼(computing platform)도 날로 발전하고 있다.

딥러닝은 사물이나 데이터 인식에 쓰이는 머신러닝 기술 중 하나다. 인간이 경험을 통해 스스로 학습하듯 딥러닝은 컴퓨터가 수많은 데이터를 반복적으로 접한 다음, 정보를 스스로 인지할 수 있게 하는 방식이다. 딥러닝은 △이미지 인식 △음성 인식을 넘어 △자동 번역 △금융∙법률∙보험 등 학습용 데이터가 존재하는 분야에 두루 적용할 수 있다

딥러닝은 데이터가 존재하는 분야라면 어디에든 적용할 수 있다. 오랫동안 ‘사진 속 물체를 분류하는’ 문제는 인간의 능력 밖 일로 치부돼왔다. 하지만 딥러닝의 등장으로 지금은 단순히 사진 속 물체 분류뿐 아니라 전체 사진이 어떤 내용인지 설명하는 문장까지 만들어낼 수 있다. 딥러닝의 등장으로 음성인식 분야의 성능 역시 기존 알고리즘에 비해 크게 향상됐다(스마트폰에 적용된 각종 음성인식 애플리케이션을 써보면 쉽게 확인할 수 있다). 그뿐 아니다. 딥러닝은 번역∙금융∙법률∙보험∙의료 등 학습 가능한 데이터가 존재하는 곳 어디서나 적용되고 있으며, 더 나아가 인간의 능력에 필적하는 성능을 발휘하고 있다. 자율주행 자동차도 마찬가지다. 자동차에 장착된 각종 센서에서 검출되는 데이터와 운전자(사람)의 운전 방식 데이터 덕에 딥러닝은 자율주행 자동차에도 다양하게 활용되고 있다.

사용자 기호∙감성까지 제어하는 자율주행차 탄생 ‘초읽기’

자율주행 자동차가 스스로 주행하려면 △주변 환경 인지 △주행 도로 판단과 선정 △안전한 기능 제어 등 세 가지 기능이 반드시 수반돼야 한다. 그리고 딥러닝 기술은 이 기능 모두에 활용될 수 있다. 실제로 여러 곳에서 자율주행 자동차의 인지∙판단∙제어 기능 향상에 딥러닝을 적용하는 연구가 활발하게 진행되고 있다

자율주행 자동차가 스스로 주행하려면 인지∙판단∙제어 등 세 가지 기능이 반드시 필요하다. 인지 기능은 카메라∙레이더∙라이다(LiDAR) 등 차체 내 센서 정보를 처리해 주변 환경 정보를 알아차리는 것, 판단 기능은 인지된 정보를 이용해 향후 벌어질 일을 예측한 후 가장 안전하고 빠른 차량 궤적을 생성하는 것, 제어 기능은 최종적으로 생성된 차량 궤적을 부드럽고 정확하게 따라갈 수 있도록 운전대∙액셀러레이터∙브레이크를 조작하는 것이다. 실제로 여러 곳에서 이 세 기능에 딥러닝 기술을 적용하는 연구가 활발하게 진행되고 있다. 지금껏 나온 여러 연구 결과만 봐도 딥러닝이 각각의 성능을 비약적으로 향상시킬 수 있단 사실을 알 수 있다.

자율주행자동차에 장착된 카메라가 자율주행 시스템에 필요한 정적(靜的) 환경 정보(차선∙운전가능도로∙교통표지판∙교통신호 등)와 동적(動的) 환경 요소(차량∙보행자∙이륜차 등)를 전부 검출, 분류한다.

특히 카메라를 이용한 주행 환경 인지 분야에서 딥러닝은 가장 중요한 기술로 자리 잡았다. 카메라를 통해 입력된 이미지에 딥러닝을 적용하면 자율주행 시스템에 필요한 정적(靜的) 환경 정보(차선∙운전가능도로∙교통표지판∙교통신호 등)와 동적(動的) 환경 요소(차량∙보행자∙이륜차 등)를 전부 검출, 분류할 수 있다. 그 성능도 기존 머신러닝 알고리즘보다 월등히 뛰어나다. 또한 기존엔 인식이 불가능하다고 여겨졌던 영역의 성능까지 점차 개선되고 있다. 앞으로 카메라의 이미지 정보뿐 아니라 레이더와 라이다(LiDAR)의 센서 정보, 그리고 차량 간 통신에서 오는 정보를 모두 딥러닝에 적용할 경우 인간의 인지 능력을 뛰어 넘는 자율주행 자동차의 인지 시스템을 구현할 수 있을 전망이다.

딥러닝은 차량의 궤적을 생성하는 판단 기능에도 사용될 수 있다. 미래의 움직임을 판단하고 결정하려면 다른 운전자의 움직임을 예측해야 한다. 하지만 다양한 운전 방식을 파악하고 이를 (정답이 딱 떨어지는) 수학 모델로 정의하긴 쉽지 않다. 다른 차량 운전자가 어떻게 운전할지 논리적으로 예측하는 건 불가능하기 때문이다. 이처럼 행동 방식을 논리적으로 파악하기 어려울 때 딥러닝은 매력적 솔루션이 된다. 다양한 운전 방식과 관련 센서 정보를 데이터로 입력한 후 이를 딥러닝 알고리즘으로 학습한다면 정확한 수학 모델 없이 데이터만으로도 다른 운전자의 운행을 예측할 수 있는 인공지능 구현이 가능하다. 이런 방식은 논리적으로 설명하기 어려운, 운전자들의 미묘한 운전 규칙도 포함할 수 있기 때문에 발전 가능성이 무궁무진하다.

자율주행 자동차를 개발할 때 딥러닝 기술은 여러모로 쓸모가 많다. 카메라에 적용하면 자율주행 시스템에 필요한 정적∙동적 환경 요소를 검출, 분류할 수 있고 운전 습관 데이터가 쌓이면 다른 운전자의 움직임을 예측할 수 있는 인공지능 구현이 가능하다. 차량 제어 분야에 쓰일 경우 승차감 개선에도 한몫할 수 있다. 즉 인간의 기호와 감성까지 제어 가능한 자율주행 자동차의 탄생도 기대할 수 있다

차량 제어 분야에서도 딥러닝을 응용할 수 있다. 고도의 안정성이 요구되는 차량 제어 기능을 구현하려면 검증된 기존 기술을 사용하는 게 일반적이다. 하지만 탑승자의 승차감을 튜닝(tuning)하기 위한 제어 기능엔 딥러닝을 적용할 여지가 있다. 승차감은 개개인이 느끼는 감성적 요소인 만큼 ‘공학적 기준’을 만들어 적용하기엔 한계가 있다. 따라서 이 경우, 딥러닝 기술을 활용해 개개인의 운전 방식을 데이터화하면 인간 감성을 고려한 차량 제어가 가능해진다. 다시 말해 단순 자율주행 기능뿐 아니라 탑승자의 안색∙음성∙상태 등을 인식, 개별 탑승자에게 ‘맞춤형 편의 기술’을 제공하는 서비스에도 딥러닝이 적용될 수 있다.

운전 과정 통째로 익히는 ‘엔드투엔드’ 방식도 한계 뚜렷

앞서 살펴본 것처럼 자율주행 자동차의 기능은 인지∙판단∙제어로 분류된다. 하지만 이 모두는 사람이 설계한 범위 안에서 작동하기 때문에 설계 시점에서 예상치 못한 상황엔 적절히 대처할 수 없다. 따라서 이런 가정을 해볼 수 있다. 기능적 구분과 설계 없이 운전에 필요한 과정을 통째로 학습하는 딥러닝으로 자율주행 알고리즘을 구현하면 어떨까?

‘엔드투엔드 자율주행’은 운전의 전 과정을 통째로 학습하는 딥러닝 방식이다. 엔드투엔드 방식을 자율주행 자동차에 적용하면 새로운 운행 환경에 대한 추가 기능이 필요할 때마다 인지∙판단∙제어 알고리즘을 다시 설계하거나 변경하지 않고, 새로운 상황에 대한 데이터를 추가적으로 학습함으로써 자율주행 시스템을 구현할 수 있다

자율주행에 필요한 중간 기능 분류 없이 운전 과정 전체를 학습하는 방법을 ‘엔드투엔드(end-to-end)’ 자율주행이라고 한다. 엔드투엔드 자율주행 자동차는 운전에 필요한 센서 데이터를 직접 입력 받고 다양한 운행 상황에 대해 학습한 후 스티어링(steering)과 액셀러레이터, 브레이크 값을 직접 출력해낸다. 즉 딥러닝 알고리즘 안에서 인지∙판단∙제어 기능이 처음부터 끝까지 네트워크로 구현되는 것이다.

운전자(사람)의 운행 방식을 데이터로 수집, 시뮬레이터화된 전면 주행 화면

엔드투엔드 학습 방식엔 운전자(사람)의 운행 방식을 데이터로 수집, 이를 모방하는 학습 방식과 시뮬레이터를 이용해 가장 최적화된 운전 방식을 스스로 학습하는 강화학습 기반 방식이 있다. 엔드투엔드 방식을 자율주행 자동차에 적용하면 새로운 운행 환경과 관련해 추가 기능이 필요할 때 인지∙판단∙제어 알고리즘을 매번 재설계하거나 변경하지 않고, 새로운 상황에 대한 데이터를 추가해 학습함으로써 자율주행 시스템을 구현할 수 있다.

딥러닝 네트워크는 수 백만 개의 뉴럴 네트워크가 학습을 통해 복합적으로 연결된 구조

하지만 (인간이 아닌) 딥러닝이 자율주행 알고리즘을 만들어냈단 사실은 자칫 엔드투엔드 자율주행 실현의 발목을 잡을 수 있다. 딥러닝 네트워크는 수 백만 개의 뉴럴 네트워크가 학습을 통해 복합적으로 연결돼 있고, 그 결과가 출력되는 구조다. 하지만 이 네트워크를 차근차근 분석해 왜 그런 결과가 나왔는지 논리적으로 분석, 검증하는 건 매우 어렵다. 대다수의 운전자가 정확한 논리 구조와 절차에 의해 운전하는 게 아니라 머릿속 운전 신경 네트워크를 따라 습관적으로 운전하듯 엔드투엔드 방식도 설계된 논리적 절차가 아니라 학습으로 형성된 네트워크에 의해 운전하기 때문이다.

쉽게 말해 일반 자동차 운행에서 주어진 상황에 따라 운전자(사람)가 어떻게 운전할지 100% 예측하기 어려운 것처럼 엔드투엔드 방식을 적용한 자율주행 자동차 역시 어떻게 운전할지 100% 예측이 불가능하다. 이상 행동을 보일 때에도 논리적 분석을 통해 해결하긴 어려울 것이다. 이런 블랙박스 구조(architecture)는 안전과 직결된 기능에서 100% 검증이 불가능한 만큼 엔드투엔드 딥러닝을 기반으로 한 자율주행을 실현하려면 더 많은 연구가 필요하다.

데이터∙학습의 선순환, ‘보다 안전한’ 자율주행차 만들 것

자동차는 도로를 주행하며 다양한 센서를 동원,  ‘빅데이터’를 형성할 테고 이 데이터는 클라우드 서비스로 공유된 후 자율주행 자동차의 딥러닝 알고리즘 학습에 쓰일 것이다. 빅데이터를 통합 딥러닝 학습은 한층 발전된 자율주행을 가능케 할 것이며, 자율주행으로 생성된 빅데이터는 다시 공유, 학습될 것이다. 즉 데이터와 학습이 선순환 구조를 일으키며 자율주행 자동차를 더 안전하게 만드는 것이다

자동차가 움직이려면 동력기관 연료가 있어야 한다. 마찬가지로 자율주행 자동차가 움직이려면 딥러닝 기술 구현에 활용될 데이터 구축이 필수다. 자동차는 도로를 주행하며 차량 안팎의 다양한 센서를 동원,  ‘빅데이터’를 형성할 테고 이 데이터는 클라우드 서비스로 공유된 후 자율주행 자동차의 딥러닝 알고리즘 학습에 쓰일 것이다. 빅데이터를 통합 딥러닝 학습은 한층 발전된 자율주행을 가능케 할 것이며, 자율주행으로 생성된 빅데이터는 다시 공유, 학습될 것이다. 이 같은 데이터와 학습의 선순환 구조가 자율주행 자동차를 더 안전하게, 자율주행 자동차가 누빌 도로를 더 원활하게 만들길 기대한다.

※이 칼럼은 해당 필진의 개인적 소견이며 삼성전자의 입장이나 전략을 담고 있지 않습니다


[1] ‘딥 뉴럴 네트워크(deep neural network)’라고도 한다

by 조기춘

발레오 자율주행자동차 개발자

기획·연재 > 오피니언 > 세상을 잇(IT)는 이야기

기획·연재 > 오피니언

삼성전자 뉴스룸의 직접 제작한 기사와 이미지는 누구나 자유롭게 사용하실 수 있습니다.
그러나 삼성전자 뉴스룸이 제공받은 일부 기사와 이미지는 사용에 제한이 있습니다.
<삼성전자 뉴스룸 콘텐츠 이용에 대한 안내 바로가기>

TOP