[인공지능과 딥러닝④] 진화하는 머신러닝 알고리즘…점점 더 ‘사람처럼’

머니투데이 테크엠 편집부  | 2015.03.11 06:31

다양한 머신러닝 알고리즘

머신러닝 알고리즘의 발전을 통한 새로운 응용은 세상의 많은 것을 바꾸고 있다. 애플의 ‘시리’나 ‘구글 나우’ 서비스는 스마트폰을 통해 일상생활에서 개인 비서의 역할을 충실히 수행하고 있으며, 최근 컴퓨터 비전의 발전으로 얼굴인식 등과 같은 특정분야에서 컴퓨터 알고리즘이 사람의 인식 수준을 넘어선다는 보고가 있다. 미국의 퀴즈쇼에서 우승했던 IBM의 ‘왓슨’은 최근 실험에서 의사보다 정확하게 환자의 폐암을 진단했다는 예비 보고가 있었다는 소식도 있다. 구글이 준비하고 있는 무인자동차도 멀지 않은 미래에 등장해 인류의 삶을 바꿀 것으로 예상하고 있다.

이러한 머신러닝의 발전을 견인한 것은 빅데이터를 저장, 처리할 수 있는 컴퓨터 하드웨어의 발전과 더불어 복잡한 데이터 및 관계의 표현을 가능하게 한 새로운 머신러닝 모델의 등장이다. 그럼에도 불구하고 이런 모델을 효율적인 방법으로 정확하게 학습할 수 있는 머신러닝 알고리즘 없이는 사람에 버금가는 인식 및 추론을 할 수 있는 똑똑한 기계를 만들기 어렵다. 머신러닝의 중요한 알고리즘을 중심으로 특징과 최근의 발전 동향을 조망해 본다.

최근 머신러닝의 발전은 변수의 불확실성과 다른 변수의 관계를 표현하는 것에 대한 다양한 기법의 발전이 중요한 요소로 작용했다. 이 과정에서 머신러닝은 변수의 풍부한 관계를 통해 복잡한 추론을 하는 논리학, 변수의 불확실성을 다양하게 표현하는 통계학 등 다양한 학문의 장점을 취합해 발전하고 있는 융합학문이다.

일반적으로 많은 확률 변수가 서로 긴밀하게 영향을 주고받는 복잡한 모델을 정확하게 학습하는 것은 매우 어렵다. 예를 들면 가로, 세로 각각 10개의 간격을 표현할 수 있는 2차원 흑백 이미지가 있을 때, 100개의 확률변수(각 픽셀)이 모두 직접적으로 영향을 준다고 하면, 이 모델을 표현하기 위해서는 2100(2의 100제곱)에 해당하는 매개변수가 필요하다. 현실적으로 이런 모델을 학습하는 것은 매우 어려운 일이다.

이 문제를 해결하기 위해 많은 머신러닝 기법들은 확률 변수의 관계를 그래프로 표현하고 있다. 즉, 확률 변수를 그래프의 노드로 표현하고 직접적으로 관련 있는 변수들 사이에 에지를 설정해 관계를 표현한다. 서로 직접적으로 관련이 있는 확률 변수들만 모아 확률과 비례하는 함수(에너지 함수, 잠재 함수 등)로 나타내고 전체 확률은 그런 함수들의 곱으로 표현하는 것이다.

베이지안 네트워크에서는 변수들 사이의 원인과 결과 사이의 방향성을 명시적으로 설정했다. 베이지안 네트워크의 근본적인 가정은 특정 변수가 주어져 있을 때, 그 원인이 되는 변수들의 값이 모두 주어진다면, 다른 변수의 값에 관계없이 값을 확률적으로 결정할 수 있다는 것이다.

주데아 펄(Judea Pearl)은 베이지안 네트워크에서 주어진 변수(X)의 이웃 변수들의 한계확률이 주어졌을 때 베이지안 법칙으로 도출한 조건부 확률 식을 이용해 변수(X)의 한계확률을 구하는 방식으로 추론 문제를 풀 수 있는 알고리즘을 제안했다. 여기서 계산된 한계확률을 주변으로 전파한다는 측면에서 ‘신뢰 전파법(Belief Propagation)’이라고 불린다.

신뢰 전파법은 베이지안 네트워크처럼 트리 모양으로 표현할 수 있는 구조에서 해를 정확하게 찾아내고, 일반적인 순환이 존재하는 그래프에서는 근사해를 찾는데 현재도 보편적으로 쓰인다. 그럼에도 불구하고 이런 인과관계를 표현하는 것은 데이터를 정확하게 표현하기 위해서 매우 중요하지만, 표현하는 변수가 많아지면 인과관계가 종속변수가 다시 독립변수의 원인이 되는 순환관계가 만들어지는 경우가 있어 모델을 온전히 표현할 수 없다는 한계점이 있다.

이와 같이 많은 변수들의 순환 인과관계를 포함한 복잡한 관계를 표현하기 위해서 확률 그래프(또는 마코프 확률장) 모델이 사용된다. 이 모델은 확률 변수 사이의 종속성과 독립성을 인과관계에 영향을 받는 것이 아니라, 마코프 블랭킷(blanket)이라고 불리는 이웃 변수들의 값에 직접적으로 영향을 받는다. 확률 그래프 모델에서는 잠재 함수를 이용해 변수들 사이의 관계를 표현한다. 잠재 함수는 데이터의 특성에 따라서 선형, 다항, 비선형 등 다양한 함수를 선택할 수 있지만, 그중에서도 지수함수가 많은 응용분야에서 사용되고 있다.

가우시안 분포를 포함한 많은 확률분포함수가 지수함수로 표현되고, 미분이 용이해 효율적인 모델의 학습이 가능하기 때문이다. 예를 들어 물리학에서 소개돼 최근 딥러닝에서 많은 관심을 받고 있는 제한적 볼즈만 기계(Restricted Boltzmann Machine)는 계층 간 변수의 이항식을 지수로 사용하는 지수함수의 일종이다.

구체적으로 제한적 볼즈만 기계에서는 다수의 이진 변수들이 각 계층에 서로 나누어져 있다는 가정으로, 서로 직접적으로 인접한 계층의 변수들만이 제한적으로 에너지라고 하는 잠재함수를 갖는다. 이 에너지함수는 선호하는 두 변수가 함께 1의 신호를 보일 때 특정 에너지 W가 전체 에너지에 추가되는 것을 가정한다.

이런 볼즈만 기계에서 머신러닝 알고리즘의 역할은 각 계층의 변수들과 학습 데이터가 주어졌을 때 두 변수들의 관계를 표현하는 에너지 매개변수 W를 찾는 것이다. 다양한 모델을 학습하는 머신러닝 알고리즘을 다루는데 있어서 가장 중요한 질문 중 하나는 어떤 모델들이 머신러닝으로 학습이 가능한지, 또 학습이 가능하다면 얼마나 많은 학습 데이터가 필요한지에 대한 질문이다. 2010년에 튜링상을 수상한 레슬리 밸리언트(Leslie Valiant)는 이 질문에 대답하기 위해 PAC(Probably Approximate Correct) 러닝이라는 모델을 제안했다. PAC 러닝은 학습하고자 하는 임의의 모델을 주어진 정확도 α로 학습하는 것이 목표일 때, 주어진 확률(50%보다 많은)로만 정확도 α를 달성한다면 성공한 것으로 간주하는 개념이다.

더불어 밸리언트는 모델의 표현력의 로그에 비례해 더 많은 학습 데이터가 필요함과 동시에 효율적인 학습이 가능한 모델과 알고리즘이 있음을 보였다. PAC 러닝에 대한 연구는 마이클 컨스(Michael Kearns)에 의해 약한(정확도 α가 50%보다 크지만 정확하지는 않은) 학습기를 통해 강한(더 정확도가 높은) 학습기를 학습할 수 있는지에 대한 질문으로 이어졌으며, 오아브 프로인트(Yoav Freund)와 로버트 샤피르(Robert Schapire)에 의해 에이다부스트(Adaboost)가 고안되는 계기가 됐다.

에이다부스트와 같은 부스팅 알고리즘은 이론적으로도 학습이 진행됨에 따라 정확도가 점차적으로 증가하는 것을 보일 수 있을 뿐만 아니라, 여러 응용분야에서 좋은 성능을 내고 있는 랜덤 포레스트(Random Forest), 그레이디언트(Gradient) 부스팅 등 알고리즘들이 개발되는 기초가 됐다.


딥러닝, 이미지 인식 성공 기반 발전 가속
최근에는 다층적 인공신경망인 딥러닝이 이미지를 인식하는 컴퓨터 비전과 음성인식 분야의 성공을 기반으로 많은 발전이 이뤄지고 있다. 인공신경망의 학습 알고리즘은 한 계층을 학습하는 퍼셉트론(Perceptron) 알고리즘과 계층 간 정보(오류)를 전달하는 역전파법(Backpropagation)이 널리 알려졌으나, 기존의 역전파법이 다계층의 네트워크에서는 다계층을 통해 정보를 전달하는 과정에서 소멸돼 정보를 효과적으로 작동하지 못해 복잡한 분류작업에는 한동안 사용되지 못하고 있었다. 2000년대 중반 토론토대 힌튼교수 연구팀 등의 활발한 연구결과에 힘입어 다층 인공신경망의 초기 상태를 제한된 볼즈만 기계를 이용해 특정 데이터를 설명할 수 있도록 선행학습(pre-train) 할 수 있는 방법이 고안됐다.

딥 네트워크라고 불리는 이 모델은 이미지·사물인식 분야에서 기존에 존재하는 모델들을 뛰어 넘으며 인공신경망 모델과 알고리즘의 새로운 연구를 이끌고 있다. 다층 제한 볼즈만 기계(Rectricted Boltzmann Machine)의 학습 알고리즘은 기본적으로는 전통적인 경사 하강법을 통해 이뤄진다. 구체적으로 살펴보면, 주어진 데이터를 제한 볼즈만 기계로 표현할 때의 확률을 매개변수로 미분해 확률을 증가시키는 방식으로 매개변수를 수정해 나가는 방법이다.

선행학습 없이도 정확한 학습 가능 입증
실제로 이 과정 중에는 각 계층 변수들의 한계 확률을 구하는 과정에 깁스 표본법이라는 과정에서 시간을 많이 요하게 되는데, 토론토 연구팀은 실제 데이터의 경우에는 여러 반복을 수행하는 깁스 표본법을 한 단계의 반복으로 줄여 수행하는 방법(Contrastive Divergence)이 계산도 빠르면서 정확도에 큰 영향을 주지 않는다는 것을 실증적으로 보였다. 이를 통해 많은 양의 데이터를 쉽게 선행 학습 할 수 있도록 해 딥 네트워크의 성공을 이끌었다. 더불어 모델이 학습시키는 데이터에 의존적이 되는 과잉적합(overfitting)을 해결하기 위해 주어진 확률로 네트워크에 있는 변수들을 생략하는 방법인 드롭아웃(Drop out)을 제안해 최근 이미지 인식 분야 및 음성인식 성능을 다시 한 번 크게 향상시켰다.

한편, 뉴욕대의 얀 레쿤 교수 연구팀은 각 계층에서 서로 완전히 연결된(fully connected) 신경망 구조 대신, 전문가에 의해 선별적으로 연결되도록 설계된 신경망 구조인 CNN(Convolutional Neural Network)을 제안해 초기 매개변수에 대한 선행학습 없이도 정확한 학습이 가능함을 보였다.

딥러닝은 이런 다계층 인공신경망을 학습하는 알고리즘을 포괄적으로 일컫는 용어로, 최근 개발된 알고리즘들이 주목하고 있는 공통적인 내용은 표현력이 풍부한 다계층 구조에서 역전파법의 과잉적합을 피하면서 적절한 희소성 표현(Sparse Representation)을 찾는 것이다. 최근 보고에 따르면 구글은 순환 인공신경망(Recurrent Neural Network)을 딥러닝 알고리즘으로 학습시켜 자동 언어 번역기를 실험 중이다. 딥러닝의 발전이 사물인식과 음성인식 등을 넘어 머신러닝의 실용적 발전을 어디까지 이끌어 갈지 기대된다.

머신러닝 알고리즘은 데이터를 표현하는 모델과 분리해 생각하기 어렵다. 현재 제한된 볼즈만 기계 등 다층 인공신경망 모델의 성공은 다양한 비정형 데이터를 잘 표현할 수 있는 유연한 모델이 필요하다는 것을 시사한다고 할 수 있다.

한편으로는 딥러닝 머신러닝 알고리즘이 희소성 표현법을 선호하는 방향으로 발전하는 것을 보면, 학습 알고리즘 입장에서는 항상 더 복잡한 모델을 선호하는 것은 아니라는 것을 알 수 있다. 콜모고로프(Kolmogorov)는 중첩 정리(superposition theorem)를 통해 n개의 입력 변수와 1개의 출력 변수가 주어진 임의의 함수를 적절한 선형 비선형 변환을 통해 중간계층에 2n+1개의 변수만을 갖는 3계층 구조로 표현하는 것이 가능하다는 것을 보였다. 이런 측면에서 본다면 계층이 더 추가된 다계층 인공신경망이 특정 모델을 학습하기에 더 적합한 것인지, 혹은 임의의 함수를 학습할 수 있는지 등의 흥미로운 질문이 남아있다고 할 수 있다.

더구나 딥러닝이 이항 지수함수를 가정하고, 서로 인접한 계층 간의 관계만을 가정하는 다소 제한된 모델임을 감안하면, 다양한 머신러닝 모델 및 알고리즘이 계속해 인간을 닮은 지능적인 시스템을 만드는 것을 기대할 수 있겠다.

글 최재식 울산과학기술대 전기전자컴퓨터공학부 교수

▶미래를 여는 테크 플랫폼 '테크엠' 바로가기◀
▶판매공간에서 체험공간으로 변신하는 인터랙티브 리테일 샵
3D프린터는 요리 중, 전기를 사랑한 자전거
인공지능과 딥러닝, 빅데이터 안고 부활하다
▶인터넷의 괴물 사냥꾼들

베스트 클릭

  1. 1 "번개탄 검색"…'선우은숙과 이혼' 유영재, 정신병원 긴급 입원
  2. 2 유영재 정신병원 입원에 선우은숙 '황당'…"법적 절차 그대로 진행"
  3. 3 법원장을 변호사로…조형기, 사체유기에도 '집행유예 감형' 비결
  4. 4 '개저씨' 취급 방시혁 덕에... 민희진 최소 700억 돈방석
  5. 5 "통장 사진 보내라 해서 보냈는데" 첫출근 전에 잘린 직원…왜?