지난 몇 주 동안 전세계는 인공지능의 무한한 가능성에 감탄하고 또 큰 충격을 받았다. 딥러닝으로 무장한 인공지능은 예상보다 훨씬 강력했고, 사람이 생각하지 못한 묘수를 보여주며 승리를 거뒀다. 혹자는 알파고의 승리가 강력한 인공지능 시대의 서막이라고 이야기하지만, 이럴 때일수록 높은 고도에서 풍경을 보듯 몇 걸음 뒤로 물러서서 살펴볼 필요가 있다.
딥러닝은 입력과 출력 사이에 겹겹이 층(layer)을 쌓아 만든 네트워크로 문제를 해결하는 방법이다. 딥러닝을 이용해 인간의 신경망을 모방한 인공지능이 ‘심층 신경망(deep neural network)’이다. 딥러닝의 각 층들은 간단한 연산을 통해서 정보를 재처리하고, 다음 층으로 재처리된 정보를 넘긴다. 컴퓨터는 방대한 데이터로 학습을 해 층간의 가중치를 구함으로써 심층 신경망을 학습시킨다. 과거에 비해 비약적인 발전을 이룩했지만 딥러닝은 아직까지 해결해야 될 문제가 많고, 기계학습이란 도전적인 이름과 달리 철저히 사람에게 종속돼 있다. 조금만 떨어져 인공지능과 딥러닝 전체를 살펴보면 인공지능의 시대는 아직 먼 이야기다.
기출 문제에 없었어요 ㅜㅜ
딥러닝이 대중에게 많이 알려지게 된 계기는 아마도 임의의 이미지를 보고 분류하는 ‘컴퓨터 비전’ 문제에서 성과를 낸 덕분일 것이다. 캐나다 토론토대 제프리 힌튼 교수팀이 개발한 ‘알렉스넷(AlexNet)’이 2012년 국제이미지인식기술대회(ILSVRC)에서 딥러닝을 적용해 다른 알고리즘을 압도적인 차이로 누르고 우승한 것이 딥러닝 시대의 시발점이 됐다. 알렉스넷은 이전에 발표됐던 가장 뛰어난 알고리즘보다 10% 가까이 성능이 뛰어났고, 1000개의 사진 중 85%가량을 정확히 종류별로 분리해냈다.
이에 자극을 받은 구글, 바이두, 마이크로소프트 등이 지난해 오차율을 5%로 줄인 프로그램을 발표했다. 지난해 12월에는 마이크로소프트가 3.57%까지 오차율을 떨어뜨리며 최고 기록을 경신했고 (arXiv:1512.03384), 이에 질세라 구글도 자신들의 클라우드 서버를 활용해 3.08%까지 오차율을 줄였다고 올해 2월 발표했다(arXiv:1602.07261). 이는 사람의 오차율보다 적은 것으로 불과 4년만에 이뤄졌다고 믿기 어려운 성과다.
하지만 컴퓨터 비전은 아직까지 사람이라면 하지 않을 어처구니없는 실수를 종종 한다. 지난해에는 딥러닝 시대를 열었던 알렉스넷의 허점을 밝힌 논문이 영상인식학회(CVPR)에서 발표됐다(arXiv:1412.1897v4). ‘심층 신경망은 쉽게 바보가 될 수 있다’라는 제목의 이 논문은 미국 와이오밍대 연구팀의 작품이다. 알렉스넷은 사람이 보기에 별다른 의미 없는 노이즈와 패턴의 이미지를 아르마딜로, 야구, 거품, 황제펭귄 등으로 분류했다(위 그림 참고). 터무니없는 결과지만 알렉스넷은 자신이 분류한 이미지가 99%의 확률로 정답과 일치할 것이라고 확신했다.
이런 문제의 가장 큰 원인은 학습 데이터다. 방대한 데이터가 심층 신경망의 장점이라면, 실수도 역시 학습 데이터에서 원인을 찾아야 한다. 컴퓨터 비전 신경망을 만들 때 보통 컴퓨터가 혼동하기 쉬운, 어려운 문제들을 위주로 학습시킨다. 그 결과 학습된 데이터나 이와 비슷한 데이터에 대해서는 사람과 비슷하게 예측하지만 예상치 못한 입력에는 취약한 모습을 보인다. 사람은 학습에서 얻은 지식의 범주를 넘어서는 정보를 마주해도 외삽(extrapolation)해 추론하는 데 뛰어난 반면, 인공지능은 자신이 가진 데이터 내에 새로운 것을 편입시키는 내삽(interpolation)에만 뛰어나다고도 볼 수 있다.
이런 문제의 가장 큰 원인은 학습 데이터다. 방대한 데이터가 심층 신경망의 장점이라면, 실수도 역시 학습 데이터에서 원인을 찾아야 한다. 컴퓨터 비전 신경망을 만들 때 보통 컴퓨터가 혼동하기 쉬운, 어려운 문제들을 위주로 학습시킨다. 그 결과 학습된 데이터나 이와 비슷한 데이터에 대해서는 사람과 비슷하게 예측하지만 예상치 못한 입력에는 취약한 모습을 보인다. 사람은 학습에서 얻은 지식의 범주를 넘어서는 정보를 마주해도 외삽(extrapolation)해 추론하는 데 뛰어난 반면, 인공지능은 자신이 가진 데이터 내에 새로운 것을 편입시키는 내삽(interpolation)에만 뛰어나다고도 볼 수 있다.
비슷한 사례가 기계학습을 오랫동안 괴롭힌 과적합(overfitting) 문제다. 과도하게 적합해서 문제라는 뜻으로, 학습된 데이터에 너무 익숙해져서 실제로 풀어야 할 문제는 제대로 해결하지 못하는 현상이다. 사람으로 치면 문제은행식의 시험에만 길들여진 학생이 응용문제를 잘 풀지 못하는 것과 비슷하다. 과적합은 문제의 복잡도에 비해 데이터가 현저히 부족한 경우에 종종 발생하는데, 문제가 정의된 전체 공간을 학습 데이터가 아우르지 못하고 일부 경우에만 집중했을 때 치명적이다. 특히 딥러닝은 다른 기계학습 방법에 비해 훨씬 더 많은 변수를 사용하기 때문에 웬만한 데이터 크기로는 모든 경우를 포함할 수 없어서 과적합에 매우 취약하다. 알렉스넷이 실수를 한 것도 넓은 의미에서 과적합 문제로 해석할 수 있다.
주목해야 될 것은 연구팀이 알렉스넷의 특징을 알고, 알렉스넷이 엉뚱한 대답을 낼만한 데이터를 의도적으로 만들어냈다는 점이다. 컴퓨터 비전이 적용되는 분야가 점차 늘어나는 추세에 이를 공격하기 위해 인공적으로 만들어진 데이터가 악용될 수 있다. 최근에 구글은 자신들의 컴퓨터 비전 기술을 스타트업들이 적극 활용할 수 있게 소스코드와 클라우드 서비스를 제공하기로 결정했는데, 실제 서비스현장에서 컴퓨터 비전의 이런 약점을 공격할 해커들이 분명 등장할 것이다.
뛰어봤자 인간의 손바닥 안
컴퓨터 비전 외에 일반적인 분야에서 딥러닝의 단점은 인간의 도움 없이는 학습을 할 수 없다는 것이다. 컴퓨터 비전 분야에서는 이미지 분류를 위해 컴퓨터가 학습하는 자료에 사람이 직접 정답이 적힌 꼬리표를 달아줘야 한다. 컴퓨터가 학습하기 전에 이미지를 보고 ‘하품하는 고양이’, ‘뒤뚱거리는 펭귄’ 등 미리 정답을 입력해둬야, 인공지능이 스스로 생각한 결과와 비교를 해 심층 신경망을 학습시킬 수 있다. 각 데이터의 정답을 일일이 부여하는 것은 매우 지루하며 손이 많이 가는 일이다. 사람이 알려준 정답을 토대로 학습하는 것을 딥러닝 중에서도 ‘지도학습(supervised learning)’이라고 부른다. 알파고의 경우에는 사람의 기보를 바탕으로 만든 정책망이 지도학습에 해당된다.
단점을 극복하기 위한 대안으로는 ‘준지도학습(semi-supervised learning)’이 꼽히고 있다. 이미지 1000개가 있을 때 지도학습은 모든 데이터에 정답을 입력해야 하지만, 준지도학습은 몇 개만 골라 정답을 입력한다. 펭귄이라고 정답이 적힌 데이터 하나를 토대로 전체 데이터 중에서 펭귄 사진과 비슷한 사진을 골라내, 다른 사진에도 펭귄이라는 이름을 붙이는 방법이다. 이미 학습된 지도학습 신경망을 활용할 수도 있다. 믿을 만한 컴퓨터 비전 신경망이 엄마 역할을 하며 이미지에 정답을 붙이고, 새로운 신경망은 아이처럼 인공지능 엄마의 지도로 학습을 하는 방식이다.
기초 설계과정에서도 사람의 손을 거친다. 우리가 원하는 인공지능을 만들기 위해서는 각 층들이 어떤 구조로 연결될지 정의해야 한다. 예컨대 몇 개의 층으로 신경망을 구성할지, 각 층의 적당한 크기는 얼마인지, 방대한 데이터를 어떤 순서로 학습시킬지, 얼마나 오랫동안 할 것인지 등 인간이 결정해줘야 할 것이 너무나도 많다. 선택의 분기점에서 다른 방법을 사용했을 때 최종적으로 어떤 결과물이 나올지 예상하기는 무척 어렵기 때문에, 모든 경우를 일일이 확인해 보면서 최적의 모델을 찾아야 한다. 세부적으로도 인간의 직관과 경험이 도움이 될 수 있다. 같은 구조와 같은 데이터를 가지고 신경망을 설계하더라도, 연구자의 노하우에 따라 완전히 성능이 다른 모델이 탄생하기도 한다. 그만큼 구조를 총괄하는 인간의 역할이 중요하다.
반면 심층 신경망의 모델이 된 인간의 뇌는 분기점에 새로운 신경망을 추가하거나 비효율적인 신경망을 제거하는 등의 방식으로 필요에 따라 스스로 전체 구조를 변화시킬 수 있다. 구글의 딥러닝 연구를 총괄하는 제프 딘은 3월 9일 기자회견에서 “(인공지능이) 인간의 뇌와 같은 수준에 올라서기 위해서는 자기 학습으로 신경망의 형태와 크기 등을 마음대로 변화시킬 수 있어야 할 것”이라고 밝히기도 했다.
알파고를 지능이라고 부를 수 있을까
알파고의 성공은 큰 반향을 불러일으켰지만 컴퓨터가 바둑에서 인간을 이기는 것은 결국 시간의 문제였다. 지금이 아니라도 언젠가는 반드시 일어났을 사건이라고 말하는 것이 옳다. 문제가 매우 잘 정의돼 있고 승부를 결정짓는 방법도 명확하다. 기술적으로는 이미지 분류보다 더 쉬울 수도 있다. 컴퓨터 입장에서는 정답이 없는 미묘한 문제가 처리하기 더 복잡하다. 취향에 따라 엇갈리는 재밌는 소설 찾기, 이성에게 다가서는 방법, 내일 입을 옷 등을 고르는 것이 훨씬 더 어려울 수 있다. 이런 문제는 바둑과 달리, 현재로서는 아무리 많은 하드웨어를 동원하더라도 늘 사람이 원하는 정답을 찾아낼 수 없다.
주목해야 될 것은 연구팀이 알렉스넷의 특징을 알고, 알렉스넷이 엉뚱한 대답을 낼만한 데이터를 의도적으로 만들어냈다는 점이다. 컴퓨터 비전이 적용되는 분야가 점차 늘어나는 추세에 이를 공격하기 위해 인공적으로 만들어진 데이터가 악용될 수 있다. 최근에 구글은 자신들의 컴퓨터 비전 기술을 스타트업들이 적극 활용할 수 있게 소스코드와 클라우드 서비스를 제공하기로 결정했는데, 실제 서비스현장에서 컴퓨터 비전의 이런 약점을 공격할 해커들이 분명 등장할 것이다.
뛰어봤자 인간의 손바닥 안
컴퓨터 비전 외에 일반적인 분야에서 딥러닝의 단점은 인간의 도움 없이는 학습을 할 수 없다는 것이다. 컴퓨터 비전 분야에서는 이미지 분류를 위해 컴퓨터가 학습하는 자료에 사람이 직접 정답이 적힌 꼬리표를 달아줘야 한다. 컴퓨터가 학습하기 전에 이미지를 보고 ‘하품하는 고양이’, ‘뒤뚱거리는 펭귄’ 등 미리 정답을 입력해둬야, 인공지능이 스스로 생각한 결과와 비교를 해 심층 신경망을 학습시킬 수 있다. 각 데이터의 정답을 일일이 부여하는 것은 매우 지루하며 손이 많이 가는 일이다. 사람이 알려준 정답을 토대로 학습하는 것을 딥러닝 중에서도 ‘지도학습(supervised learning)’이라고 부른다. 알파고의 경우에는 사람의 기보를 바탕으로 만든 정책망이 지도학습에 해당된다.
단점을 극복하기 위한 대안으로는 ‘준지도학습(semi-supervised learning)’이 꼽히고 있다. 이미지 1000개가 있을 때 지도학습은 모든 데이터에 정답을 입력해야 하지만, 준지도학습은 몇 개만 골라 정답을 입력한다. 펭귄이라고 정답이 적힌 데이터 하나를 토대로 전체 데이터 중에서 펭귄 사진과 비슷한 사진을 골라내, 다른 사진에도 펭귄이라는 이름을 붙이는 방법이다. 이미 학습된 지도학습 신경망을 활용할 수도 있다. 믿을 만한 컴퓨터 비전 신경망이 엄마 역할을 하며 이미지에 정답을 붙이고, 새로운 신경망은 아이처럼 인공지능 엄마의 지도로 학습을 하는 방식이다.
기초 설계과정에서도 사람의 손을 거친다. 우리가 원하는 인공지능을 만들기 위해서는 각 층들이 어떤 구조로 연결될지 정의해야 한다. 예컨대 몇 개의 층으로 신경망을 구성할지, 각 층의 적당한 크기는 얼마인지, 방대한 데이터를 어떤 순서로 학습시킬지, 얼마나 오랫동안 할 것인지 등 인간이 결정해줘야 할 것이 너무나도 많다. 선택의 분기점에서 다른 방법을 사용했을 때 최종적으로 어떤 결과물이 나올지 예상하기는 무척 어렵기 때문에, 모든 경우를 일일이 확인해 보면서 최적의 모델을 찾아야 한다. 세부적으로도 인간의 직관과 경험이 도움이 될 수 있다. 같은 구조와 같은 데이터를 가지고 신경망을 설계하더라도, 연구자의 노하우에 따라 완전히 성능이 다른 모델이 탄생하기도 한다. 그만큼 구조를 총괄하는 인간의 역할이 중요하다.
반면 심층 신경망의 모델이 된 인간의 뇌는 분기점에 새로운 신경망을 추가하거나 비효율적인 신경망을 제거하는 등의 방식으로 필요에 따라 스스로 전체 구조를 변화시킬 수 있다. 구글의 딥러닝 연구를 총괄하는 제프 딘은 3월 9일 기자회견에서 “(인공지능이) 인간의 뇌와 같은 수준에 올라서기 위해서는 자기 학습으로 신경망의 형태와 크기 등을 마음대로 변화시킬 수 있어야 할 것”이라고 밝히기도 했다.
알파고를 지능이라고 부를 수 있을까
알파고의 성공은 큰 반향을 불러일으켰지만 컴퓨터가 바둑에서 인간을 이기는 것은 결국 시간의 문제였다. 지금이 아니라도 언젠가는 반드시 일어났을 사건이라고 말하는 것이 옳다. 문제가 매우 잘 정의돼 있고 승부를 결정짓는 방법도 명확하다. 기술적으로는 이미지 분류보다 더 쉬울 수도 있다. 컴퓨터 입장에서는 정답이 없는 미묘한 문제가 처리하기 더 복잡하다. 취향에 따라 엇갈리는 재밌는 소설 찾기, 이성에게 다가서는 방법, 내일 입을 옷 등을 고르는 것이 훨씬 더 어려울 수 있다. 이런 문제는 바둑과 달리, 현재로서는 아무리 많은 하드웨어를 동원하더라도 늘 사람이 원하는 정답을 찾아낼 수 없다.
어떤 이들은 그래서 알파고와 심층 신경망이 지능이 아니라 커다란 계산기라고 폄하하기도 한다. 심층 신경망은 단순히 많은 데이터 속에서 유사성을 찾아내는 것이고, 유사성을 넘어 독창적인 개념과 추상화를 하는 것이 인간지능의 핵심이라고 말한다. 필자도 알파고를 인간에 도전하는 궁극의 인공지능으로는 생각하지 않는다. 알파고는 이제 겨우 ‘인공지능 연구를 시작한다’고 말할 수 있는 단계다.
하지만 인간이 태어나자마자 처음부터 추상화를 잘 하는 것은 아니다. 인간도 어렸을 때는 보고, 느끼고, 만지며 셀 수 없을 만큼 많은 정보를 습득하고, 여기에서 얻은 원리로 인간 지능의 정수라는 추상화를 해낸다. 아직까지는 단순한 개념을 받아들이는 기계에 불과하지만, 이런 기본적인 개념을 쌓고 쌓는다면 언젠가는 인간에 필적하는 지능에 도달할 수 있을 것이다. 아직은 까마득한 길이지만 말이다.
하지만 인간이 태어나자마자 처음부터 추상화를 잘 하는 것은 아니다. 인간도 어렸을 때는 보고, 느끼고, 만지며 셀 수 없을 만큼 많은 정보를 습득하고, 여기에서 얻은 원리로 인간 지능의 정수라는 추상화를 해낸다. 아직까지는 단순한 개념을 받아들이는 기계에 불과하지만, 이런 기본적인 개념을 쌓고 쌓는다면 언젠가는 인간에 필적하는 지능에 도달할 수 있을 것이다. 아직은 까마득한 길이지만 말이다.