[인공지능 4주차 - 응용과학] 4. 머신러닝을 구현하는 관점(3)
마지막으로 소개드릴 관점은 유추주의 기반의 알고리즘으로, 관련 심리학 개념에서 비롯되어 유사성에 근거하여 학습한다는 특징을 가지고 있습니다. 유추주의 알고리즘은 크게 2가지 종류로 나뉘는데, 먼저 소개드릴 알고리즘은 최근접 이웃 알고리즘(nearest-neighboralgorithm)입니다. 예를 들어 어떤 도시가 주어지고, 이 도시가 어느 국가에 속해 있는지 판단하는 프로그램을 작성한다고 생각해봅시다. 최근접 이웃 알고리즘에서는 기존에 국가를 알고 있는 도시 중, 주어진 도시와 가장 가까운 도시를 찾아 그 도시와 같은 국가에 속한 것으로 선택합니다. 거리가 가까울수록 같은 국가에 포함되어 있을 확률이 높을 것이라고 판단하기 때문입니다. 최근접 이웃 알고리즘에 따르면, 기존의 도시들을 기준으로 국경선을 예측하는 방식으로 점과 점의 색깔을 각각 도시와 국가로 표현해서 아래와 같은 그림을 그릴 수 있게 됩니다.
도시의 국가를 판단하는 문제뿐만 아니라, 필기체 숫자를 인식하는 문제나 닮은 얼굴을 찾는 문제 등, 유사성에 대한 정의(도시의 경우, 떨어진 거리가 가까울수록 유사하다)만 내릴 수 있는 문제라면 최근접 이웃 알고리즘으로 접근할 수 있습니다.
최근접 이웃 알고리즘의 장점은 학습에 많은 시간이 걸리지 않는다는 것입니다. 그냥 데이터를 가지고 있으면 끝나는 문제니 까요. 다른 머신러닝 알고리즘들에게 요구되는 학습시간과 비교해본다면 상당히 유용한 부분입니다. 한편, 최근접 이웃 알고리즘의 단점은 판단에 필요한 시간이 오래 걸린다는 겁니다. 만약 도시가 2억 개나 존재한다면 새로운 도시의 국가를 판단하기 위해서는 2억 번의 비교를 수행해야 하는 것이지요.
이런 문제를 해결한 유추주의의 다음 알고리즘은 서포트 벡터 머신(SupportVector Machine, 이하 SVM)입니다. SVM은 학습과정에서 군집을 구분하기 위한 경계선을 그립니다. 아래 그림처럼 파란색과 빨간색의 데이터를 구분하기 위해서 색이 칠해진 세 개의 데이터만 확인하면 경계선을 그릴 수 있습니다. 이때 SVM 알고리즘은 두 집단 간의 간격(Margin)을 최대화하는 경계선을 찾아 그립니다.
최근접 이웃 알고리즘이 판단을 위해 모든 데이터를 확인해야 하는 반면, SVM은 경계선만 알면 되기 때문에 판단 속도가 훨씬 빨라지죠. 또한 SVM은 과적합(Overfitting)이라고 불리는, 학습 데이터에 지나치게 알맞게 학습하여 학습 데이터가 아닌 새로운 데이터에 대해서는 제대로 판단하지 못하는 문제에서도 마진만 충분히 확보된 상태라면 과적합이 심각하지 않습니다. 또한 좌표 차원이 높아지더라도 차원을 이리저리 움직여 직선으로 단순화할 수 있어서 복잡한 문제에서도 알고리즘을 실행시킬 수 있습니다. SVM은 이러한 장점들과 좋은 성능 덕에 딥러닝이 등장하기 이전까지 머신러닝의 세계를 오랫동안 주름잡고 있었습니다.
지금까지 머신러닝의 커다란 다섯 가지 갈래들에 대하여 살펴보았습니다. 물론 이것이 알고리즘의 전부는 아닙니다. 저희가 소개했던 알고리즘 외에도 많은 알고리즘들이 개발되어왔고, 강화 학습과 같이 다른 갈래의 머신러닝도 있습니다. 최근에는 딥러닝과 같은 강력한 머신러닝이 등장하여, 그동안 어렵게만 여겨졌던 많은 문제들을 풀어낼 수 있게 되었습니다.
머신러닝은 우리의 삶을 빠르게 변화시켜갑니다. 인공지능으로부터 내가 좋아하는 글을 추천받고, 출근을 위해 몇 시에 집을 나서야 할지, 어떤 길로 가야 빨리 갈 수 있을지 미리 알 수 있습니다. 터치 한 번으로 스마트폰 안에 있는 수 천 개의 사진들 중 고양이 사진만 골라 뽑아낼 수도 있죠. 이제 인공지능 프로그램은 사람처럼 얘기하기도 합니다. 이렇듯 머신러닝이 우리의 삶 곳곳에 스며드는 과정 자체가 4차 산업혁명이라는 커다란 변화의 흐름에 따라 진행되고 있습니다.
이제까지 세상에 등장한 모든 머신러닝 알고리즘들은 각자 잘 풀 수 있는 문제와, 잘 풀지 못하는 문제를 나눠 가지고 있습니다. 아직까지 모든 문제들을 풀 수 있는 보편적인 머신러닝 알고리즘은 나타나지 않았죠. 전문가들은 그런 보편적인 학습 알고리즘을 '마스터 알고리즘'이라고 부릅니다. 앞서 살펴본 다섯 갈래의 머신러닝 분파에서는 각자의 방식으로 마스터 알고리즘을 만들기 위해 노력하고 있습니다. 지금 단계에서는 미래의 마스터 알고리즘이 어떤 모습일지 쉽게 떠올리기 어렵습니다. 아마 이제까지 발명한 머신러닝 알고리즘들과는 개념 자체가 다른 새로운 알고리즘을 생각해야 될지도 모릅니다. 머신러닝의 최종 목적지이자 세상의 지식을 관통하는 궁극의 알고리즘. 우리는 그런 알고리즘을 찾아낼 수 있을까요? [코싸인 응용과학팀]
[1] wikipedia
[2] opencv.org
[3] 마스터 알고리즘, 페드로 도밍고스, 2016,비즈니스북스