ROBOTION

[태그:] 딥러닝의 역할

  • [현대자동차그룹 ] 자율주행의 미래, 딥러닝의 역할

    [현대자동차그룹 ] 자율주행의 미래, 딥러닝의 역할

    [현대자동차그룹 ] 자율주행의 미래, 딥러닝의 역할

    INNOVATE [현대자동차그룹 ] 자율주행의 미래, 딥러닝의 역할 HMG저널 2018. 5. 3. 14:23 이웃추가 본문 기타 기능 본문 폰트 크기 조정 본문 폰트 크기 작게 보기 본문 폰트 크기 크게 보기 가 공유하기 URL복사 신고하기 인간의 뇌를 닮은 인공지능이 자율주행에 미치는 영향을 알아봅니다 운전은 혼자 하는 게 아닙니다. 여러 운전자가 동시에 도로 위를 함께 달리니 언제 어디서, 어떤 일이 벌어질지 아무도 알 수 없는 일이죠. 자율주행은 이처럼 수많은 변수를 제어해야 합니다. 이를 해결하기 위해 IT 업계와 자동차 업계가 떠올린 것은 바로 '딥러닝(Deep Learning)'입니다. 그렇다면 딥러닝은 정확히 무엇이며, 자율주행의 미래에 과연 어떤 역할을 할 수 있을까요? 현대자동차그룹에서 자율주행 인공지능을 연구하는 박민우 책임연구원에게 물었습니다. 우리는 왜 딥러닝에 주목해야 할까요?  딥러닝은 심층신경망을 학습하는 행위를 의미합니다 Q. 먼저 개념부터 확실히 짚어야 할 것 같은데요. 딥러닝이란 정확히 어떤 걸 의미하나요?  박민우 책임연구원(이하 박) : 한 마디로 정의하면 심층신경망(Deep Neural Network)을 학습하는 행위를 말합니다. 여기서 심층신경망이란 입력층(Input layer)과 출력층(Output layer) 사이에 다중의 은닉층(Hidden layer)을 포함한 인공신경망(Artificial Neural Network)을 의미합니다. 인공신경망이 2개 이상의 은닉층을 갖는 경우, 신경망이 깊다(Deep)고 표현합니다. 이처럼 여러 은닉층을 가진 깊은 신경망을 학습하는 것이 딥러닝입니다.  Q. 개념이 굉장히 어려운데요. 예를 들어 주실 수 있나요?  박 : 예컨대 개와 고양이 사진이 있다고 가정하겠습니다. 사람은 사진을 보고 개와 고양이를 쉽게 구별할 수 있지만, 컴퓨터는 그렇지 않습니다. 이때 컴퓨터가 마치 사람처럼 다른 고양이와 개 사진을 보고 공부해서 개와 고양이를 구분할 수 있도록 하는 기술을 머신러닝(기계학습)이라고 합니다. 수많은 데이터를 학습해 사물을 군집하거나 분류하는 법을 익히는 것이 핵심이죠. 이중에서도 다량의 데이터로부터 다양한 특징을 스스로 분석하는 인간의 뇌 신경망을 모방한 학습법이 바로 딥러닝입니다.  고양이 사진 수만 장을 본 딥러닝은 스스로 학습해서 고양이의 특징을 알아냅니다 Q. 앞서 딥러닝은 심층신경망을 학습하는 거라고 하셨는데, 쉽게 풀어서 알려주시겠어요?  박 : 개와 고양이 사진 구분을 다시 예로 들겠습니다. 고양이 사진 수만 장을 컴퓨터에 입력해 보여줍니다. 수만 장의 고양이 사진을 분석한 컴퓨터는 스스로 고양이의 특징을 학습하죠. 이런 과정을 거치면 컴퓨터가 새로운 고양이 사진을 보고도 사람처럼 구별해낼 수 있게 됩니다. 이것이 딥러닝입니다. 앞서 말씀드린 심층신경망의 입력층은 고양이 사진 수만 장이며, 출력층은 고양이 특징을 바탕으로 고양이인지 개인지를 판별하는 결과를 의미합니다. 그리고 그 사이 다중 은닉층은 고양이 특징을 학습하는 과정, 즉 딥러닝 모델을 의미합니다.  Q. 컴퓨터가 스스로 사물을 구분하는 법을 학습한다는 점이 꽤 놀랍습니다. 컴퓨터에게 사물을 구분할 수 있도록 해주는 딥러닝의 학습 방법에는 어떤 것들이 있나요?  박 : 딥러닝의 학습 방식은 지도 학습(supervised learning)과 비지도 학습(unsupervised learning) 두 가지로 나뉩니다. 컴퓨터에 먼저 고양이 사진 데이터를 보여주고, 이것이 고양이라는 정답 데이터를 함께 알려줘서 학습 시키는 방식을 지도 학습이라 부릅니다. 쉽게 말해 개발자가 가르침을 통해 컴퓨터의 학습에 관여하는 것입니다. 비지도 학습은 정답을 알려주는 과정이 없습니다. 컴퓨터 스스로 수많은 고양이 사진 속에서 패턴을 발견하고 그것이 고양이라는 것을 구별해냅니다. 쉽게 말해 문제와 답을 보여주면 지도 학습, 문제만 보여주면 비지도 학습이라고 볼 수 있습니다.  NVIDIA DRIVE PX2는 딥러닝을 기반으로 구축되며, 대규모 데이터를 처리할 수 있는 고사양 하드웨어입니다 Q. 딥러닝이 정말 사람처럼 사물을 정확히 구분할 수 있을까요? 딥러닝의 정확도와 성능을 높이기 위해서는 어떻게 해야 할까요?  박 : 딥러닝의 정확도를 위해서는 두 가지 방법이 있습니다.  첫째, 방대한 양의 대규모 데이터가 필요합니다. 데이터 양이 적다면 딥러닝 알고리즘의 성능이 제대로 발현될 수 없습니다. 사람이 수학문제를 풀 때, 예제를 많이 풀수록 정답을 맞힐 확률이 높아지는 것과 같습니다.  둘째, 고성능 하드웨어가 필요합니다. 딥러닝 알고리즘은 고사양 하드웨어가 좌우하는데요. 훈련 데이터 양이 많을 뿐 아니라 연산해야 할 변수와 단계가 많아 고속 처리가 필요하기 때문이죠. 최근 빅데이터와 고성능 하드웨어가 뒷받침되면서 딥러닝 기술 수준이 급격하게 향상되고 있습니다. 자율주행의 미래, 딥러닝의 역할은 무엇일까요?  현대자동차그룹 자율주행 인공지능을 연구하는 박민우 책임연구원에게 딥러닝의 역할에 대해 물었습니다 Q. 딥러닝을 자율주행차에 적용한다면 인지, 판단, 제어 세 가지 핵심 영역 중 어떤 분야에 쓰일까요?  박 : 자율주행의 전 분야에 활용될 수 있겠지만, 현재로서는 인지분야에 주로 활용되고 있습니다.운전자는 운전시 필요한 정보의 90%를 시각을 통해 확보합니다. 자율주행의 인지 영역에 해당하겠죠. 딥러닝은 인간의 시각 영역인 영상 인식 분야에서 높은 성능을 보입니다. 딥러닝이 운전자의 눈을 대체할 수 있을 것으로 기대되면서, 자율주행에 딥러닝 적용을 확대하려는 움직임이 커지고 있죠. 실제로 딥러닝은 얼굴 인식 기술에서 97.25%의 정확도를 보여 인간의 정확도 97.53%와 거의 흡사한 수준의 성능을 입증했습니다.  자동차가 도로 위 사물을 인지하는 장면입니다 Q. 그렇다면 딥러닝은 자율주행의 인지 분야에 어떤 식으로 적용될까요? 또 자율주행 성능을 얼마나 향상시킬 수 있을까요?  박 : 자율주행차에 장착된 카메라에서 취득한 영상을 분석해 자동차/보행자/이륜차/신호등 등의 도로 위 사물을 검출하고 인식하거나, 도로의 차선 및 노면 표시, 자유공간 인식 등에 딥러닝 기술을 주로 사용하고 있습니다. 이러한 인식 기능은 기존의 서포트 벡터 머신(기계학습의 패턴 인식, 자료 분석을 위한 지도 학습 모델)이나 에이다부스트(기계학습 메타 알고리즘) 같은 기계학습 방식으로도 해결할 수 있는 부분이었으나, 심층신경망을 적용한 딥러닝 기술을 적용하면서 그 성능을 비약적으로 높일 수 있게 됐습니다. 딥러닝 기술의 발전에 따라 자율주행의 판단과 제어 분야에도 연구가 이뤄지고 있는 추세입니다 Q. 현재는 딥러닝이 자율주행의 판단과 제어 영역에 전혀 관여하지 못하는 건가요?  박 : 딥러닝은 어떤 한 분야에만 적용할 수 있는 기술은 아닙니다. 하지만 심층신경망이 어떤 결정을 내리고 어떤 동작을 수행할지 인간이 추론하기 어렵기 때문에, 판단 및 제어 분야에 딥러닝을 사용하기 위해선 수많은 검증이 필요합니다. 최근엔 딥러닝 기술이 발전함에 따라 점차 자율주행의 판단과 제어 분야에 적용하기 위한 연구도 이뤄지고 있는 추세입니다. 다만, 자율주행차가 지켜야 할 규칙을 준수해야 하기에 인간이 만들어놓은 전문가 시스템(인간이 특정 분야에 대하여 가지고 있는 전문적인 지식을 정리해 컴퓨터에 기억시키는 시스템)과 교차 검증해 사용하는 형태로 연구가 진행되고 있습니다.  Q. 구체적으로 딥러닝이 자율주행의 판단과 제어 분야에서 어떤 역할을 할 수 있는지 궁금합니다.  박 : 앞서 설명했듯 인지 영역은 인간의 오감에 해당합니다. 주변 물체를 검출하고 도로 환경을 인식하는 역할을 하죠. 오감으로 인지한 정보는 뇌로 향합니다. 자율주행의 판단 영역에 해당하죠. 딥러닝은 영상에서 패턴을 분석해 이상 징후를 사전에 감지하거나 주변 자동차의 움직임을 예측할 수 있습니다. 판단 영역에 딥러닝을 적용하게 되면 차량의 센서에서 얻어진 정보뿐 아니라, 기존 V2X나 정밀지도 등을 활용해 더욱 안전하고, 정확한 판단을 내릴 수 있게 됩니다. 뇌에서 판단이 이뤄지면 팔과 다리 등 운동기관을 움직입니다. 이것이 자율주행의 제어 영역입니다. 딥러닝은 반복학습을 통해 다양한 시도를 할 수 있죠. 이를 통해 비보호 좌회전이나 회전 교차로 진입 등 인간도 대응하기 어려운 상황에 대처할 수 있습니다. 자율주행을 위해 딥러닝은 어떤 과제를 해결해야 하나요?  딥러닝은 오류 수정이 어렵고 높은 컴퓨팅 파워를 요구하는 등 한계도 많습니다  Q. 기존 자율주행 개발 방식과 딥러닝 방식의 장단점이 있을 것 같은데요. 비교 부탁드립니다.  박 : 먼저 인식 성능을 보면, 기존 방식이 인간의 70~80% 수준이지만 딥러닝은 인간 수준의 인식이 가능합니다. 다양한 환경을 반영한 대규모 훈련 데이터만 있다면 말이죠. 또한, 기존 방식은 예측하지 못한 돌발상황에 대응하지 못합니다. 하지만 딥러닝은 돌발상황이 발생하면 기존에 학습했던 유사 상황으로부터 유추해 스스로 판단할 수 있죠. 딥러닝의 한계도 분명 존재합니다. 먼저 기존 방식은 개발자가 설계한 규칙에 따라 오류 발생 시 수정이 쉽지만, 딥러닝은 스스로 판단하기 때문에 원인 규명이 힘듭니다. 또한, 기존 방식은 낮은 컴퓨팅 파워로도 구동이 가능하지만, 딥러닝은 상용화를 위해 고성능 GPU를 기반한 하드웨어가 필요하죠.  Q. 딥러닝을 자율주행차에 적용하기 위해서는 어떤 과제를 먼저 해결해야 할까요?  박 : 세 가지 방법이 있습니다. 첫 번째, 제어기 성능 향상입니다. 방대한 양의 데이터를 활용하기 위해서는 빠르고 정확하게 처리할 수 있는 하드웨어가 필요하죠. 두 번째, 네트워크를 축소하는 것입니다. 딥러닝 학습 연산은 대부분 소수점으로 이뤄집니다. 당연히 컴퓨터가 처리하는 속도가 더디겠죠. 소수점 연산을 정수 연산으로 바꾸는 작업이 필요합니다. 물론, 필요 없는 네트워크를 가지치기해서 잘라내는 것도 하나의 방법입니다. 세 번째, 네트워크를 이원화하는 것입니다. 쉽게 말해 큰 네트워크와 작은 네트워크를 두고 많은 데이터로 학습된 큰 네트워크를 사용하여 작은 네트워크를 가르치게 하는 거죠. 이를 Knowledge Distillation(지식 추출)이라 부릅니다.  현대자동차그룹은 영상 인식 분야에서 딥러닝을 적용하는 연구를 진행하고 있습니다 Q. 현대자동차그룹은 딥러닝을 자율주행차에 적용하기 위해 어떤 연구를 진행하고 있나요?  박 : 2015년부터 영상 인식 분야에 딥러닝을 적용하는 연구를 시작했습니다. 개발된 결과는 실제 자동차에 적용되어 테스트되고 있죠. 지금은 본격적으로 딥러닝을 적용하기 위해 차량용 임베디드 제어기에서 다수의 알고리즘들을 동시에 작동시키는 작업을 하고 있는 단계입니다. 올해부터 나올 차량에는 인식 분야에 딥러닝 기반 알고리즘을 좀 더 적극적으로 적용할 계획입니다. 판단이나 제어 분야는 아직 선행연구 단계입니다. 앞서 말했듯 뜻하지 않은 오류로 인한 사고를 미연에 방지하기 위해서는, 시뮬레이터를 기반으로 한 다양한 연구가 더 필요한 상황입니다.  사람처럼 생각하고 행동하는 딥러닝 기반의 자율주행차가 혁신의 시작을 알립니다 딥러닝은 자율주행 분야에서 중요한 이정표를 만들고 있습니다. 지금까지 자동차를 고를 때는 디자인, 공간, 성능, 안전, 가격 같은 요소만을 따졌지만, 앞으로는 자동차가 얼마나 똑똑한지가 가장 중요한 기준이 될 것입니다. 현대자동차그룹은 가장 똑똑한 자율주행차를 만들기 위해 연구와 개발을 진행하고 있습니다. 사람처럼 학습하고 행동하는 딥러닝이 바꿔나갈 자율주행 시대, 현대자동차그룹이 선도하겠습니다. 

    원문: 네이버 블로그에서 보기