제2차 세계대전이 끝난 후 과학자들은 인간 수준의 지능을 가진 컴퓨터를 만들 수 있다고 믿었다. 하지만 과학자들의 꿈은 곧 벽에 부딪혔다. 고난도 수학 문제들을 척척 풀던 기계가 인간에게는 너무 쉬운 물체 인식, 언어 처리, 상황 판단을 어려워했다.

왜 그럴까. 바로 ‘알고리즘’ 때문이다. 컴퓨터에 철학이나 인문학적인 설명은 큰 도움이 못 된다. 대신 구체적이고 명백한 규칙, 즉 알고리즘이 필요하다. 컴퓨터가 개라는 동물을 인식하기 위해서는 개란 무엇이고 어떤 형태를 가졌는지 일일이 설명해줘야 한다. 여기서 문제가 생긴다. 수학 규칙과는 달리 현실에 존재하는 대부분의 것은 명백하게 정의하기가 거의 불가능에 가깝기 때문이다.

인간은 개와 고양이를 어떻게 구별할까. 부모는 아이한테 개를 명백하게 정의해 준 적이 없다. 그래도 인간은 경험과 학습을 통해 세상을 이해한다. 과학자들은 여기에 착안해 컴퓨터에도 학습 능력을 만들어 주기 위해 많은 노력을 기울여왔다. 이것이 바로 ‘기계 학습’이라는 학문 분야다. ‘인공신경망’이라는 기계 학습 방법은 생명체의 뇌를 모방한 것이다.

미국 코넬대 로젠블래트 교수는 1957년 ‘단층 인공신경망(퍼셉트론)’을 통해 기계도 간단한 논리 연산을 배울 수 있다는 것을 보여줬다. 퍼셉트론의 인기는 오래가지 못했다. 1969년 MIT의 민스키, 페퍼트 교수는 단층 인공신경망으로는 기계가 학습할 수 없는 근본 문제들이 있다는 것을 증명했다. 세상의 복잡한 문제들을 학습하기 위해서는 ‘다층 인공신경망(MLP·Multi-Layer Perceptron)’이 필요했다.


인공신경망 한 층씩 학습하는 법 고안

오랜 세월이 흐른 1980년이 돼서야 캐나다 토론토대 제프리 힌튼 교수, 미국 샌디에이고 캘리포니아대 연구진이 3층의 구조를 가진 MLP 기계학습 방법론 ‘백프로퍼게이션(Backpropagation)’을 세상에 내놓았다. 이 방법도 불완전했다. 우선 기계의 학습 시간이 너무 길었다. 또 기계는 경험한 데이터는 쉽게 학습했지만, 새로운 데이터를 적용하는 것은 어려워했다.

또다시 20년이 지났다. 2000년 말 힌튼 교수와 제자들은 기존 인공신경망의 한계를 극복할 수 있는 해결책을 찾아내는 데 성공하고 수십 층의 인공신경망을 이용한 기계 학습을 ‘딥 러닝’이라고 명명했다. 힌튼 교수팀은 한꺼번에 학습하는 것이 아니라 한 층씩 따로 학습하는 방법을 고안해 냈다. 인공신경망 층을 계속 늘려도 계산이 가능하도록 한 것이다.

기존 신경망은 기계가 과도하게 학습하는 바람에 학습 데이터가 아닌 새 데이터가 들어오면 오히려 잘 이해하지 못하는 것이 문제였다. 힌튼 교수팀은 기계가 학습하는 도중 고의로 데이터를 누락시키는 방법(dropout·드롭아웃)을 적용해 이 문제를 해결했다.

기존 인공지능 알고리즘은 설계한 사람이 알려 준 설명을 통해 세상을 인식한다. 설명의 한계는 곧 인공지능의 한계가 됐다. 반면 딥러닝은 학습을 통해 세상을 인식하기 때문에 적절한 데이터만 있으면 정확하고 지속적인 학습이 가능하다. 여기에 천문학적으로 늘어난 빅데이터와 기하급수적으로 발달한 컴퓨터들이 2~3년 전부터 더해져 드디어 학습을 통해 세상을 인식하고 판단하는 기계가 등장했다.


▒ 김대식 Kim Daesik
카이스트 전기전자과 교수