전세계의 천재들이 다 달라붙어도 자율주행이 어렵다는 현실이 사람의 판단을 왜곡시킨다. 그런데 자율주행은 너무나 쉬운 것이다. 왜 이렇게 쉬운 문제를 사람들은 어려워하지? 나는 사람들이 네비게이션을 설계할 실력이 있는데도 자율주행을 설계할 수 없다는 게 납득이 되질 않는다. 운전을 해본 사람이라면 네비게이션 정도는 써봤을 것이다. 어떤가? 사람보다 낫지 않은가? 가끔 막히는 구간을 알려줘서 멍청하다고 하는 사람도 있던데, 필자의 경험상 네비게이션 안 믿고 직접 코스를 찾아나서는 인간 치고 더 빠르게 가는 놈을 본 적이 없다. 이는 장기간 직업적으로 운전을 해본 필자의 경험에 의한 것이다.
하여간 네비게이션은 한국의 기술자 수준만 되더라도 만들 수 있는, 이제는 어느 정도 대중화 된 알고리즘이다. 쉽다는 말이다. 그런데 왜 자율주행은 어려워하지? 둘은 상당히 유사한 기술이 아닌가? 그냥 여기저기 부딪치지 않게 하여 경로만 찾아가면 되는데 그게 왜 어렵지? 몇년동안 강화학습 알고리즘에 대해 단순하게 설명하려는 필자는 그들에게도 나름 이유가 있다는 것을 알게 되었다.
현재 소개된 많은 강화학습들은 이미지 인식과 판단을 묶어서 동시에 하나의 시스템 안에서 하는 것이다. 대표적인 알파고가 이렇게 설계되어 있다. 잘 알려진 대로 이는 상당히 잘 작동한다. 그리고 이게 현 강화학습 알고리즘의 치명적인 문제다. 바둑은 인식할 대상이 이미 심볼화(언어화) 되어 있어서 그것을 재심볼화(바둑판 전체를 심볼화) 하더라도 대상 인식에 큰 부하가 없다. 바둑알이니깐. 혹은 장기알이라도 이미 언어화 되어 있다.
하지만 도로상의 이미지라면 복잡성이 10,000배 이상 커지며, 이러한 입력을 처리하는 인식과 판단이 연속적으로 연결되어 있을 때 문제가 생긴다. 화면이 너무 복잡하여 판단해야할 요소들이 너무 많은 것이다. 아이들이 혀짧은 쇳소리를 내는 어린이집 선생님을 좋아하고, 단순한 이미지의 만화를 선호하는 것은 이유가 있다. 아이들은 평소에 소리와 색이 주변과 구분을 어려워하기 때문이다. 개나 고양이를 훈련시킬 때도 단순한 이름으로 붙여주라고 하는 것도 마찬가지.
아이들이 태어나서 세상에 맞닥뜨릴 때 겪는 가장 큰 어려움은 바로 대상이 인식조차 되질 않는다는 것이다. 보이질 않는 것이다. 보이질 않는데 판단까지 하려면 아이들 머리에 큰 부하가 생긴다. 판단이 어려워진다. 복잡성이 너무 크다는 말이다. 근데 일단 보이기만 하고나면 너무 쉽다. 5살 무렵이면 세상이 보이길 시작한다. 그래서 악마의 5살이 된다. 보이니깐 자신감이 생기는 것이다. 빨간 옷을 입은 사람, 파란 옷을 입은 사람, 자전거를 타는 사람, 다른 사람과 포옹하는 사람 등등을 인식하면서 동시에 자동차가 어떻게 가야할 지를 판단하는 것은 사람도 어려워 하는 것이다.
그런데도 사람이 운전할 수 있는 이유는 상황을 단순하게 만들기 때문이다. 직업적으로 운전을 해보고 머릿속의 프로세스를 회고하자면, 인간은 운전을 할 때 대상에 대해서 자세히 보는 것이 아니라 다만 나의 운전에 관련이 있는지 아닌지만 추상화하여 대상을 선택적으로 본다는 것을 알게 되었다. 포옹을 하는지가 중요한 게 아니라 갑자기 나에게 달려들 가능성이 있는지만 선택적으로 판단한다는 말이다.
내가 하고 싶은 얘기는 이런 것이다. 일단 이미지 인식 기술을 통해 대상을 인식하고, 일단 심볼화(언어화) 하고 나서 그것을 강화학습에 넣어주자는 것이다. 즉 문제를 쉽게 만들자는 것이다. 두 문제를 한번에 풀지 말고 따로 따로 풀자는 것이다. 이게 가능한 이유는 현재 머신러닝이 고양이는 잘 구분하기 때문이다. 사실 자율주행에 가장 큰 어려움이 바로 고양이 인식이었다. 2차적인 판단은 오히려 상용화되어 있다. 근데 그게 해결됐는데도 자율주행을 못 한다면 문제가 있는 것이다.
현재: 이미지인식강화학습 (딥러닝)
미래: 이미지인식(딥러닝) -> 강화학습(딥러닝)
이게 대단한 게 아니고 그냥 도로상의 이미지들을 일단 바둑판이나 장기판으로 변환한 후에 강화학습 알고리즘에 입력하자는 말이다. 이렇게 되면 이전에 딥러닝 알고리즘이 단 한 번만 쓰이던 것과 달리 2단계로 딥러닝을 사용하게 된다. 물론 이 방법이 구조론적인 접근법은 아니다. 구조론은 맥락적 접근법으로 대상을 재해석하거나 단순화 하는, 즉 탑다운-일원론적 접근법을 가지기 때문이다.
현재 머신러닝 연구자 들이 왜 이런 삽질을 하는지 의아할 수 있을 것이다. 나도 이해한다. 근데 원래 추상화는 어려운 것이다. 나만해도 구조론을 알기 전에는 어떤 감에 의해 세상을 판단하곤 했으니깐. 구조론을 알고 나자 갑자기 자신감이 폭발했다. 원래도 일원론자였지만, 구조론이 구조를 제시해주니 세상이 더 명확하게 보인다. 반대로 다른 사람들은 아직도 가물가물 할 것이다. 그래서 잘 보이지 않는다.
언어화가 강력한 것이다. 그들은 하나의 성공사례를 다른 곳에 적용함에 있어 어려움을 겪는다. 왜? 사건을 구조화 하지 않기 때문이다. 알파고로 바둑을 정복했음에도 자율주행은 풀지 못한다. 서로 다른 문제라고 생각하기 때문이다. 그래서 나 같은 사람이 필요한 것이다. 나는 두 사건이 상당히 유사하다고 생각한다. 다만 바둑은 심볼화가 되어 있고 자율주행은 심볼화가 되어 있지 않다는 차이를 가진다.
두 가지 문제를 한 번에 풀려면 인간도 어려움을 겪는데, 컴퓨터한테 그걸 하라니 말도 안 된다. 김여사가 괜히 운전을 못 하는 게 나름 이유가 있는 것이다. 공간지각력 어쩌고 하는데 그게 문제가 아니다. 많은 인간들은 세상을 언어화 하는데 어려움을 느낀다. 어려운 것은 풀어서 따로따로 풀면 된다. 일단 쉬운 문제로 변환하여 풀고나서 나중에 합치면 된다. 내가 제시하는 게 이런 것이다. 어려운 문제는 분리해서 따로 좀 풀자고.
그럼에도 불구하고 나의 제시는 상당히 원자론적이고 비맥락적이다. 대상을 인식함에 있어 맥락에 의하는 것이 아니라 사례에 의한다. 나도 이 방법의 한계를 잘 알고 있다. 도로상에 이전에 보지 못했던 새로운 상황이 생긴다면 이 방법으로는 절대로 해결하지 못한다. 그냥 들이받을 것이다. 즉 본 적이 없는 상황에 대해서는 취약점을 가진다는 것이다. 사실 인간도 이런 것에 어려움을 갖기는 마찬가지다. 대신 인간은 이럴 때 집단 지성을 활용한다. 배우는 것이다. 차라면 엔지니어가 사례분석을 통해 보완하면 된다.
나는 모든 사람이 구조론적으로 생각한다고 생각하지 않는다. 물론 전혀 그렇지 않다고 여겨지는 인간조차 그 머릿속의 알고리즘은 기본적으로 연역적으로 구성되어 있는 것은 분명하다. 하지만 그것은 본능의 영역에 국한될 뿐이다. 대다수의 인간들은 귀납적으로 생각을 하여 결과적으로 언제나 틀린다. 하지만 중요한 것은 그렇게 해도 밥은 먹고 다니고 운전은 잘 하더라는 것이다. 누군가가 보완해주고 있다.
나는 컴퓨터의 이미지인식의 수준이 이미 인간보다 뛰어나다는 점과 컴퓨터가 단순반복사례열거에 매우 뛰어나다는 특징에 의해 적어도 인간보다는 더 잘 운전할 것이라는 것을 확신한다. 김여사가 운전을 잘 하지 못하는 이유는 도로상 이미지를 잘 언어화하지 못했기 때문이다. 너무 많이 생각하는 것이다. 우와 저 사람 잘생겼네?라는 식이다. 반면 택시운전사라면 그 대상이 나의 주행에 방해가 되는지 아닌지만 판단한다. 아니라면 쳐다도 안 본다.
이렇게 만들면 일단 도로주행은 잘 하게 된다. 다만 어뷰져가 문제인데, 가령 사람처럼 생긴 허수아비를 도로상에 던져놓고 자율주행차를 방해하는 문제가 생길 수도 있다는 말이다. 그것조차 보완할 방법은 있으니 너무 걱정은 말자. 일단은 인간이 운전하지 못하게 막는 것이 먼저다. 사람은 운전하면 안 된다. 참고로 나는 테슬라 빠가 아니라는 점을 밝힌다. 솔직히 테슬라가 잘한다기 보다는 다른 놈들이 이상하게 못하는 것이다. 아래는 테슬라의 최신 자율주행 영상이다. 그럭저럭 하고 있다. 썩 만족스럽지는 못하지만. 그래도 어렵게 푸는 거 치고 저 정도 하면 대단한 거다. 참고바람.
https://www.youtube.com/watch?v=U7hWljqzzXc
도로상에 이전에 보지 못했던 새로운 상황이 생긴다면 이 방법으로는 절대로 해결하지 못한다. 그냥 들이받을 것이다. 즉 본 적이 없는 상황에 대해서는 취약점을 가진다는 것이다. ---> 이런 상황에서는 알고리즘에 의한 판단을 보류하고, 비상상황으로 처리하여, 차를 무조건 안전한 곳(방향)으로 이동하여 속도를 줄이던가 정차시키는 방법으로 대처할 수 있을까요?