딥러닝의 태생적 한계를 딛고서

Hyoungnyoun Kim   |   Tech M

deeplearning_3 <테크M 제38호(2016년6월)에서 칼럼보기>

 

지난 3월, 구글 딥마인드의 ‘알파고(AlphaGo)’ 시스템은 세상을 놀라게 했다. 바둑이란 한 수, 한 수 순서가 있는 복잡한 과제를 해결하는 모습에 사람들은 놀라움을 금치 못했다. 알파고는 딥러닝(Deep Learning)을 강화학습(Reinforcement Learning) 방법에 접목시킨 결과였다. 딥러닝은 인공신경망에 기반 한 기계학습 기술의 일종이다. 그동안 학습에 장애를 일으켰던 문제들이 대규모 데이터와 강력한 분산 컴퓨팅 기술을 바탕으로 풀리면서 현재의 인공지능을 이끌고 있다. 지금의 딥러닝은 특정 도메인이나 특정 과제 측면에서만 보면 이미 인간과 구분하기 어려울 수준에 도달했다. 인간과 같은 지능을 구현하고자 하는 인공지능의 오랜 바람을 이루고 있다고 해도 과언이 아니다. 하지만 외견상 비약적인 발전에도 불구하고, 인간 수준의 지능을 만들어 내기에는 아직 한계가 있다. 이를 위해 먼저 입출력을 포함한 시스템의 관점에서 인간의 지능을 살펴보자. 인간의 ‘지능적 행위를 위한 지식체계의 구축’은 컴퓨터의 입력(Input)에 해당된다. 출력(Output)의 형태는 ‘지능적 행위의 발현’이라고 볼 수 있다. 그런데 인간 수준의 지능을 만들어내기 위한 컴퓨터의 접근 방법은 ‘출력에 대한 목표지향적 접근’을 통해 가능했다. 딥러닝을 통해 아무리 좋은 성능을 만들어낼 수 있다고 하더라도, 우리는 이렇게 물을 수 있다. 과연 아이처럼 학습하는 것은 가능한가? 어떻게 하면 적은 데이터로부터 학습이 가능할 것인가? 어떻게 하면 서로 다른 도메인의 지식들을 활용해 나갈 수 있을 것인가? 어떻게 하면 하나의 메커니즘에 의해 다양한 지능적 특성들(언어지능, 시각지능, 신체지능 등)을 설명할 수 있을 것인가? 이를 위해, 범용 인공지능(Artificial General Intelligence)의 구현, 즉, 일반 지능적 행위가 가능한 시스템을 어떻게 구축할 것인가에 대한 문제를 살펴보는 것이 필요하다. 이는 지능 시스템의 입력 부분에 대한 문제다. 기존 인공지능에 대한 연구를 따를 것이 아니라 다른 관점에서 바라보는 것이다.

딥러닝은 왜 맞고 틀리는지 몰라

이번 이세돌 9단과의 경기에서 알파고가 보여준 것처럼, 딥러닝 기반의 인공지능은 대부분 성공적인 결정을 해내지만 때로는 잘못된 결과를 내놓기도 한다. 흥미로운 것은 알파고 시스템은 잘못된 결과를 곧바로 알지 못하지만, 인간은 단번에 악수인지 묘수인지 알아낸다는 점이다. 심지어 딥러닝 기반의 인공신경망 모델은 아무리 들여다보더라도 왜 맞고, 왜 틀리는지 알지 못한다. 이것이 딥러닝이 가진 첫 번째 문제이다. 이를 학습된 모델의 해석 가능성(Readability)이라고 한다. 학습 시스템이 내린 추론을 인간이 어느 정도로 믿어야 할 것인지를 판단하는데 핵심적인 요소다. 과거의 인공지능 연구의 주류였던 ‘기호중심 인공지능(Symbolic AI)’에서는 인간이 부여한 의미들을 연결해 학습과 추론을 하도록 했다. 온톨로지(Ontology)와 같은 정형화된 지식 모델뿐만 아니라, 베이지안 네트워크(Bayesian Network)와 같은 확률 모델 역시 해석 가능성을 중시했다. 반면에 인공신경망 내에서는, 그 의미가 명확히 정의되지 않은 노드들(Hidden Nodes)과 그것들 간의 가중치(Weight) 값으로 연결된 심층신경망의 각 구조가 무엇을 의미하는지 알지 못한다. 인간의 뇌를 닮고자 가장 강력한 컴퓨팅 모델을 만들었음에도 불구하고 아이러니하게도 인간의 뇌를 해석해내기 어렵듯이 컴퓨팅 모델 역시 해석하기 어렵게 돼버린 셈이다. 흔히 사람들은 딥러닝 개발자들이 마치 만능일 것으로 오해하는 경향이 있다. 하지만 막상 데이터에 대한 이해가 없으면 그리 할 수가 없다. 마치 엑셀을 쓸 수 있다고 해서 재무제표를 분석하는 것은 할 수 없는 것과 같다. 신경망 이론에서 해석 가능성은 링크(link)와 가중치로 이어진 모델 그 자체에서 얻기 힘들다. 데이터를 대표하는 노드뿐만 아니라 이들 간의 연결 역시 의미를 가져야 한다. 신경망의 해석 가능성을 높여주는 방법으로는 데이터 하나하나가 갖는 의미를 활용할 수 있는 내용 주소화 기억(content-addressable memory) 또는 연상 메모리 모델을 통한 접근방법이 있다. 실제 의미를 가진 데이터가 모델의 노드를 구성하기 때문에 네트워크의 특정 영역이 어떠한 정보들의 분포로 이뤄져 있는지 알 수 있게 된다. 또 추론의 과정이 어떠한 데이터들의 연결에 의해 이루어졌는지를 곧바로 해석해낼 수 있다. 연상 메모리 기반의 학습 모델을 통해 딥러닝이 가진 해석의 어려움을 보완해 줄 수 있을 것이다.

알파고가 보여준 것처럼 심층신경망이 발휘하는 결정은 놀라웠지만 아직 미흡하다. 인간의 지능은 여전히 매우 강력하고 범용적이면서도 효율적이다.

딥러닝의 두 번째 한계는 점진적 학습이 불가능하다는 점이다. 딥러닝은 엄청난 양의 디지털 데이터와 분산 컴퓨팅 환경에 의해 현실화될 수 있었다. 예를 들어 기존의 데이터를 모아 A라는 세트를 만들고 이를 기반으로 멋지게 고객서비스를 하는 베타스톱이라는 딥러닝 머신을 만들었다고 가정하자. 시간이 지나면서 부산에서 신규 고객들이 유입됐고, 유의미한 양의 데이터가 쌓였다. 이 신규 데이터를 B세트라고 치자. 더 나은 서비스를 위해 베타스톱은 데이터 세트 B도 학습하게 하려고 할 것이다. 그런데 여기서 문제가 발생한다. 사람과 달리 기존 데이터 A로 최적화된 베타스톱은 새로운 데이터 B 때문에 문제가 발생할 수 있다. A와 B가 성질이 다르다면 A와 B를 합쳤을 때 나타나는 베타스톱은 더 이상 과거 고객 A에 최적화돼 있지 않아 문제가 나타날 가능성이 생기는 것이다.

사람처럼 점진적 학습 가능해야


따라서 인공지능 머신도 사람처럼 새로운 데이터에 대한 점진적인 학습이 가능해야 한다. 기존에 학습한 모델이 새로운 데이터를 만나도 이에 적응해나감과 동시에 학습에 사용되었던 과거 데이터들에 대한 성능을 떨어뜨려서도 안 된다. 단순히 점진적인 학습만으로는 충분치 않다. 모바일이나 데스크톱에서 사람의 얼굴을 구분할 수 있는 딥러닝 기반 시스템을 오프라인 매장에서 사용하기 위해서는 사람의 걸음걸이나 몸짓으로 알아보는 시스템이 필요할 수 있다. 자동차나 아마존 에코 같은 서비스를 위해서는 목소리로 구분하는 시스템이 필요해질 수도 있다.

deeplearning_1

이 때 최초에 얼굴을 구분하도록 만들었던 딥러닝 기반 신경망 모델은 어떻게 되는가? 점진적인 학습에 의해 새로운 사람들의 얼굴을 받아들일 수 있도록 만들었다고 하더라도, 과연 그들의 목소리와 몸짓 등의 새로운 다른 변수들을 포함시켜 학습시킬 수 있을까? 이를 위해서는 각각의 심층 신경망을 연결시킬 수 있어야 한다. 학습된 신경망들을 연결하는 초연결망, 이른바 하이퍼네트워크(Hyper-network) 형태가 필요하다. 구글 딥마인드에서 보여줬듯 딥러닝으로 대표되는 인공지능은 획기적인 연구결과들을 만들어내고 있다. 이번에 알파고가 보여준 것처럼 대규모의 데이터 최적화를 거쳐 만들어낸 심층신경망이 발휘하는 결정은 놀라웠지만 아직 미흡하다. 인간의 지능은 여전히 다방면으로 심오해 매우 강력하고 범용적이면서도 효율적이다. 다만 고무적인 점은 드디어 인간 수준의 학습지능이 가능해 질 수 있는 시작점에 섰다는 점이다. 이는 인간의 뇌와 마음에 대한 과학적 연구다. 여기에서 우리는 인간의 능력을 흉내 내는 새로운 접근 방법을 찾고 그 가능성을 검증해나가야 한다.



글 연세대 UX랩 인지공학스퀘어=김형년 연구원, 조광수 교수

<테크M 제38호(2016년6월)에서 칼럼 보기>
1003977_486570141412539_357762061_n

Hyoungnyoun Kim

Cognitive Engineering Square @ UX Lab