ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 중력파 탐색에 머신러닝 활용하기 (上)
    과학 2018. 10. 25. 14:34
    반응형

    ‘거미가 지능을 가지고 있다는 것을 증명하시오’


    학부시절 철학과 강의를 듣던 도중에 교수님께서 이런 제안을 문득 하셨습니다. 만약 거미가 지능을 가지고 있다는 것을 증명하는 레포트를 작성하여 제출하면, 이 수업에 출석을 한번도 하지 않고, 시험을 보지 않아도 A+ 학점을 주겠다는 아주 대담한 제안이었습니다. 이 달콤한 제안에 강의실은 일순간에 술렁이기 시작했고, 저마다의 생각과 논리를 이야기하며 전의에 불타기 시작했습니다. 그 중에 타란튤라를 기르고 있던 친구는 집으로 돌아가자마자 거미의 행동을 관찰하며 지능의 증거를 찾기 시작했고, 저는 도서관으로 가서 동물의 행동에 관한 서적들을 뒤적이기 시작했습니다. 


    그러나 전의에 불타던 강의실은 2주가 지나면서 점점 사그라 들기 시작했습니다. 거미의 지능이 없다는 것은 쉽게 증명할 수 있을 것 같은데, 지능을 가지고 있다는 것을 증명하는 것은 좀처럼 쉽지 않았기 때문이었습니다. 도대체 철학 수업에서 거미가 지능을 가지고 있다는 것을 증명 하라는 과제를 낸 이유가 무엇이었을까요? 이 질문이 함의하고 있는 숨은 의도는 무엇일까요? 교수님은 학생들이 이 과제를 어떻게 이해하고 해결하기를 기대한 것 일까요?


    ‘거미는 지능이 없다’를 증명하기는 쉽다고 생각했던 핵심적인 이유는, 거미의 행동에 그 어떤 창조적인 행동을 찾지 못했기 때문입니다. 그저 나무 위를 움직이고, 거미줄을 치고, 사냥을 하고, 먹이를 먹고, 소화를 시키는 등의 일련의 모든 행동들이 프로그래밍화 된 기계처럼 패턴화되어있고, 일정하게 행동하는 것처럼 보였기 때문입니다. 이런 관점에서 보자면 거미는 단지 유전자에 기록된 행동 패턴에 따라 사냥을 하고 위험을 인지하고 회피하는 등의 행동을 하는, 지능이 없는 기계적인 동물이 되는 것입니다.


    이러한 관점을 인간에게 적용해 보면 어떻게 될까요?


    저는 오늘 아침 일어나며 눈을 왼손으로 비볐는지 오른손으로 비볐는지, 양말은 왼발부터 신었는지 오른발부터 신었는지 기억하지 못합니다. 그런데 샤워를 할때는 이부터 닦았는지 머리부터 감았는지는 정확히 알고 있습니다. 인간의 행동은 굳이 사고하지 않아도 될 만큼 루틴화 되어 있고 정형화 되어 있기 때문에, 아침에 일어나서 출근 준비를 하고 출근을 해서 일을 하다가 퇴근하여 잠자리에 들기까지 모두 프로그래밍이 가능합니다. 때문에 외계인이 이러한 인간의 행동을 관찰하고 있다면, 인간은 유전자에 프로그래밍 되어있는 행동 패턴에 따라 기계적으로 행동하기를 반복하는, ‘지능이 없는 생명체’라는 결론을 내릴지도 모릅니다.  


    그러나 우리는 인간이 양자역학 이론을 발전시키고, 상대성이론을 정립하는 등의 사례로부터 인간은 지능을 가지고 있다고 말 할 것입니다. 이렇게 보면 인간은 어떤 면에서는 지능이 없는것 같지만, 어떤 면에서는 지능을 가지고 있는것만 같습니다. 이 간극은 어디서 나오는 것일까요?


    지능의 유무를 판별하는 기준은 새로운 지식의 창조에만 국한되지 않습니다. 그것은 지능이 만들어낸 최고의 결과물이지, 지능 그 자체의 판별 기준이 될 수는 없기 때문입니다. 그렇기 때문에 이 도발적이면서도 대담한 과제를 해결하기 위해서는 ‘지능이란 무엇인가?’에 대한 핵심적 접근, 혹은 최소한의 기준이 무엇이어야 하는지에 대한 개념 정립이 요구되고 있었습니다. 


    여기서 제가 주목 한 것은 사물의 판별을 가능하게 하는 ‘추상화’ 였습니다.



    어릴적 풍경화를 그리면 항상 흰 도화지에 삼각형의 초록색 모형을 세 개 정도 배경에 그리고, S자 모양의 파란색 선을 굵게 그리고, 그 옆에 갈색 직사각형 위에 동그랑 원을 얹은 도형을 몇 개 그리고는 했습니다. 그리고 저는 이 그림을 산이 보이는 들판에 강이 흐르고 나무가 자라고 있는 풍경화라고 이야기하곤 했습니다. 지금까지의 경험을 통틀어 살면서 이런 풍경은 본적이 없습니다. 저렇게 생긴 나무도, 산도 보지 못했습니다. 그러나 우리는 모두 이 그림이 강을 그리고 나무를 그리고 산을 그린 풍경화라는 것을 모두 알고 인지합니다.


    승용차와 트럭, 버스, 승합차, 지게차, 포크레인 등 다양한 종류의 자동차가 있지만 우리가 이 모두를 통틀어 자동차라고 이해하고 판단하는 것은, 사륜 운송수단에 대한 개념의 추상화가 가능하기 때문입니다. 사물에 대한 추상화로부터 사물에 대한 인지 능력이 발생하고, 그 개념을 언어화 시키면서 우리는 지식의 창조가 가능하게 되었습니다. 언어화된 개념은 다시한번 추상화되고, 그 추상화의 끝에 다달아 수학으로 표현된 자연의 묘사까지 가능 하게 되었습니다. 따라서 추상화는 지능의 기초이자 기본 단계라고 볼 수 있고, 또 그렇게 판단하였던 것입니다.


    이 기준에 따라 거미의 지능 문제로 되돌아가면 문제는 간결해 집니다. 거미가 거미줄을 치는 과정에서, 거미줄을 칠 장소를 결정하고 행동하는데에는 공간과 사물을 사전에 인지하는 것이 중요합니다. 유전자에 거미줄을 치는 과정이 프로그래밍 되어있다고 하여도, 그것을 설치하는데에 시대를 불문한 모든 장소에 대한 데이터가 포함되어 있지는 않을 것이기 때문에, 공간 인지는 추상적으로만 가능하며, 따라서 거미는 초보적인 지능을 가지고 있다고 판단할 수 있게 됩니다. 그리고 사냥과 위험회피, 포식자의 인지 역시 이 과정의 반복을 통해 경험을 학습되고 점차 성장해 나가게 될 것입니다.



    인간의 추상화 능력을 모사할 수 있을까?


    최근 우리는 인공지능의 바다 속에서 살고있습니다. 구글의 자율 주행 자동차나, 페이스북의 얼굴 인식, 아마존의 음성 인식 등, 데이터가 있는 곳이라면 어디든지 빠지지 않고 인공지능이라는 말을 씁니다. 매일 스마트폰의 잠금을 해제하기 위해 얼굴을 보여주고, 아마존의 첫페이지는 검색 내역과 주문 내역을 바탕으로 상품을 추천해 주기도 하며, 이미 인공지능 기술은 일상 속 곳곳에 들어와 있기도 합니다. 이렇게 갑자기 인공지능의 시대를 맞이하게 된 이유가 무엇 일까요?


    인간의 사고를 컴퓨터를 통해 모사하고자 했던 시도는 오래전부터 있어왔지만 그다지 성공적이지는 못했습니다. 앞서서 거미의 지능이 없다는 것을 증명하기 위해 사용했던 논증 방식처럼, 설정한 모든 변수공간에 대응 모형값을 대입하여 모든 경우의 수에 대해 직접 프로그래밍하는 방식이었기 때문입니다. 그런 방식 때문에, 1950년대 처음 인공지능이라는 용어가 생긴 이래로 약 30년간의 기간동안, 인공지능의 구현은 고난과 좌절의 연속이었습니다.


    우리는 사물을 인지하고 판단할 때, 색깔, 느낌, 질감, 감정 등의 불연속적인 개념에 기반하여 판단하지, 사물의 형태와 좌표와 같은 수치화된 형식 모델에 기반하여 판단하지 않습니다. 기존의 모델은 체스 게임과 같이 간단한 규칙을 가진 게임에서, 빠른 연산능력을 보유한 컴퓨터와 함께 가능한 모든 변수에 대한 확률계산 결과를 적용하는 식의 인공지능을 개발하기에는 유용하지만, 인간의 인지 능력을 모사 하기에는 태생적 한계가 분명했습니다.


    이러한 한계를 인지하고 등장 한 개념이 인공신경망과 기계학습 기법입니다. 인공신경망 기계학습 모델이 기존의 모델과 다른 근본적인 차이점은, 인간의 프로그래밍 없이 데이터를 기반으로 스스로 학습하여 데이터의 속성을 설명하고 만족시키는 모형, 규칙, 패턴 등을 구축해 낸다는 것입니다.




    이것은 어릴적 그린 나무 아닌 나무 그림을 보고도 누구나 나무라고 인지하는 것과 같습니다. 갈색의 직사각형 위에 올려진 초록색의 타원을 기하학적으로 수치화하여 파악하지 않고, 그림 전체에서 이것을 구분하고 분류하여, ‘나무’라는 하나의 개념에 포함시키는 과정과 유사합니다. 이렇게 하나의 개념으로 분류되면 그 다음부터는 같은 데이터가 주어졌을 때 복잡한 연산과정 없이 곧바로 그 속성을 판별하게 되는데, 이것이 바로 머신러닝이 가지는 강점이자 가능성입니다.


    그렇다면 머신러닝은 이런 초보적인 지능을 어떻게 모사하는 것일까요? 여기에 다양한 모델들이 있는데, 대표적으로 서포트벡터머신과 랜덤 포레스트, 인공신경망 그리고 최근 활발하게 응용 중인 딥러닝에 대해 간단하게 서술하도록 하겠습니다.


    서포트 벡터 머신(Support Vector Machine)




    대상을 먼저 파악하고 개념화 시키기 위해서는, 가장먼저 개념화 하고자 하는 대상과, 그 개념에 포함되지 않는 대상을 서로 분류하고 분리하는 과정이 선행되어야 합니다. 이유는 매우 단순합니다. 자동차와 배가 찍힌 사진을 보며 우리가 배를 보고 자동차라고 말하지 않기 때문입니다. 이렇게 서로 다른 객체를 각기 분리하여 분류하는 가장 간단한 모델이 바로 SVM 입니다.


    이 모델은 두 개로 나뉜 데이터 클레스가 주어지면, 근접한 데이터들 사이의 유사성을 측정하여, 가장 큰 유사도의 차이를 갖는 경계를 찾아서 둘 사이를 나누는 경계 모형을 유추하는 모델입니다. 이 모델의 장점은 그림과 같이 깨끗하게 분류되어 있는 두 데이터들을 나눌때는 매우 좋은 퍼포먼스를 보이지만, 둘 사이가 섞여있는 지저분한 데이터를 만나면 낮은 퍼포먼스는 보인다는 점입니다.


    랜덤 포레스트 (Random Forest)


    대상을 분류하여 그 특성을 파악하는 또 다른 방법은 여러사람에게 스무고개를 해 보는 것입니다. 예를 들어 사과를 분류하기 위해 누군가에게는 맛에 대해, 누군가에게는 향애 대해, 누군가에겐 형태에 대해, 누군가에게는 스티브잡스에 관한 질문을 합니다. 여기서 각각의 사람들이 하나의 클래스가 되고, 그 클래스 안에 포함되어 있는 질문에 대한 예/아니오가 결정 트리가 됩니다. 이 모델은 그 단순함과 정확성 때문에 가장 오랜기간동안 머신러닝 기법으로 응용되어왔던 방법 중 하나로, 방대한 데이터에도 대응되며 훈련과 예측이 간단하다는 많은 강점을 가지고 있습니다. 이러한 모델을 의사결정트리(Decision tree)이라고 부릅니다.


    여기서 한층 더 발달한 모델이 바로 랜덤 포레스트로, 대중의 집단 지성 지성을 묘사하는 모델입니다. 앞선 개별 의사결정트리의 클래스들을 각기 훈련하여 도출된 예측을 바탕으로, 개별 트리들의 예측을 투표에 붙입니다. 그리고 그 투표에서 가장 많은 선택을 받은 트리를 최종 예측 결과로 삼습니다. 이 모델은 각 클래스들 중 가장 뛰어난 클래스가 예측해내는 결과 정확도 보다, 전체 클래스들이 각기 예측한 결과에서 다수결 채택된 예측 결과의 정확도가 더 높다는 특징을 가지고 있습니다. 이러한 특성들을 바탕으로 스팸 매일 식별이나, 의료기록을 바탕으로한 질병 분석, 금융사기 검출, 콜센터 통화량 예측, 주식 수익예측 등 다양한 방면에서 널리 쓰이는 가장 강력한 머신러닝 모델 중 하나 입니다.


    인공신경망 (Artificial Neural Network, ANN)


    인공신경망은 말 그대로 생물학적 뇌의 뉴런 연결 구조를 모방하기 위해 만들어진 개념으로, 1940년대에 진척되었던 인간 신경망 연결에 대한 연구 성과에 힘입어 본격적으로 그 가능성이 논의되기 시작했습니다. 그 대표적인 연구 결과 중 하나가, 1949년에 헵에 의핸 발견된 헵의 학습규칙으로, 인간의 뇌에서 학습이 일어날 때 마다 각 뉴런 간의 연결상태에 변화가 발생한다는 연구 결과였습니다. 이것은 기존의 인공신경망 구축을 위한 노력에 많은 영감을 안겨 주었고, 1958년에 이르러 헵의 학습규칙을 반영한 인공신경망 모형인 퍼셉트론(Perceptron)이 고안되었습니다.


    퍼셉트론의 구조는 비교적 간단합니다. 퍼셉트론의 각 수상돌기 A, B, C.. 는 축색돌기말단 까지 연결되어 있고, 이들 각각의 연결에 가중치가 부여되어 있는 형태를 가지고 있습니다. 따라서 각각의 수상돌기에 입력신호들은 각기 다른 연결 가중치값 w를 가지고, 이 가중치가 포함된 전체 수상돌기들의 신호와 편향값을 함께 계산합니다. 그리고 만일 이 값의 크기가 최종 축색돌기말단에서의 일정 역치값 보다 크다면 이 뉴런은 작동하고, 그렇지 않으면 작동하지 않습니다. 


    이것은 우리의 감각 수용기와 유사합니다. 우리가 사과와 배를 바라보면, 대상의 색에 대한 정보와 크기, 모양 등의 이미지 정보들이 뉴런에 평행하게 작용되어 전달됩니다. 여기서 사과를 판별하는 기준을 모두 만족하는 정보가 모이면 이 사과를 판별하는 뉴런은 발동하여 사과를 인지하게 되고, 배는 연결 가중치의 합이 역치에 미달하여 작동하지 않게 되는 것입니다. 그리고 이 판별의 정확도는 다수의 입력 정보들로 각각의 연결 가중치를 조정하는 훈련을 거치며 학습해 나가며 발전하게 됩니다.


    이러한 퍼셉트론은 많은 작업들에서 성공적이었지만 한 가지 치명적인 문제가 존재 했습니다. 그 대표적인 것이 배타적 논리합 문제입니다. 가령, ‘나는 학교까지 버스나 지하철을 탈것이다’ 라고 말한다면 우리는 버스나 지하철 중 하나 만 탈 것이라고 이해할 것입니다. 그러나 퍼셉트론 모델은 이것을 분별해내기 어려운 한계를 지니고 있습니다. 두 선택지 중 하나 만이 참이라면, 버스나 지하철 중 하나에 가중치를 두어 통학결정뉴런을 작동시킬 텐데, 만일 환승을 통해 둘 다를 선택하는 사례가 주어진다면 항상 뉴런의 역치 보다 높은 연결값이 주어져서 제대로된 학습이 이루어지지 않게 되기 때문입니다.


    이 같은 문제 때문에 퍼셉트론 모델은 오랜 기간동안 외면받아 오다가, 1980년대 중반에 이르러 역전파 알고리즘을 적용한 다층 퍼셉트론 모델이 제시되면서 관심이 되살아나기 시작했습니다.



    다층 퍼셉트론(Multi-Layer Perceptron)은 입력층(Input Layer)과 은닉층(Hidden Layer), 출력층(Output Layer)으로 구성된 다층 연결망 모델로, 각각의 뉴런들이 구현하는 연결망을 통해 인공지능을 구현하고자 하는 접근 방식입니다. 이렇게 다층의 신경망을 구축함으로써 각 시냅스의 활성화는 이전의 입력값으로 부터 계산된 과거의 맥락에 대한 정보까지 학습할 수 있게 되어 보다 큰 표현 자유도를 가지게 되는 것이 특징입니다.


    이것은 우리의 시각피질에서 이미지를 인지하는 방법과도 유사합니다. 1981년도에 노벨신경생리학상을 수상한 휴벨과 웨젤의 고양이 시야 특성에 관한 실험이 이를 잘 보여주고 있습니다. 이 실험에서 그들은 고양이의 시각피질에 특정 방향의 선에 반응하는 단순한 세포가 있으며, 그 아래 더 복잡한 형태를 탐지하기 위한 복합 세포와 과복합 세포들로 차례로 전파되며 사물을 인지한다는 것을 보여주었습니다.


    따라서 이 모델은 단순한 처리 과정들이 서로 얽히고 연결되어 보다 더 복잡한 인식과 연상을 가능하게 하는, 지능의 창발적 특성을 모사한 것과도 같습니다. 그 덕분에 이미지로부터 패턴을 인지하거나, 사람의 얼굴과 표정을 인식하는 등의 추상적인 개념의 학습이 가능하게되어, 언어번역기 개발이나 음성인식 가상 비서, 신약개발 분야, 금융 자산 운영 등과 같은 많은 분야에서 폭넓게 활용되고 있습니다.


    딥러닝 (Deep Learning)


    최근 머신러닝에 대한 폭발적인 관심과 발전을 이끌고 있는 것이 바로 딥러닝입니다. 딥러닝은 단순하게 설명하자면, 2~3개 이상의 은닉층을 가진 심층 신경망을 말하며, 기존의 심층신경망 모델들이 안고있던 기울기 소실문제와 과적합 문제, 연산 효율 문제 등의 난점을 극복하며 제기된 모델입니다.


    때문에 딥러닝은 손글씨나 얼굴 이미지를 인지하는 등의 보다 추상적인 개념의 학습에 유용하여 많은 분야에 널리 활용되고 있습니다. 그 대표적인 응용 사례가 영상 인식 분야에 널리 활용되고 있는, 합성곱 신경망(Convolution Neural Network, CNN) 입니다.


    합성곱 신경망 (Convolution Neural Network, CNN)


    합성곱 신경망 모델은 영상 데이터 처리를 위해 특수한 연결 구조를 가지도록 고안된 다층 신경망으로, 다층퍼셉트론의 입력층과 은닉층 사이에 특징추출망을 추가한 형태를 가지는 것이 특징입니다. 



    이렇게 설계한 이유는 입력되는 이미지 데이터의 경우 해상도에 따라 수백에서 수백만에 이르는 속성값들이 입력되기 때문에 모든 신경망을 학습하기에는 계산해야할 가중치 모수가 너무 많기 때문이고, 다른 하나는 입력되는 이미지 전체의 데이터를 하나하나 판단하기보다는 단순한 나열이나 국소적 패턴을 파악하여 학습하는 것이 보다 효율적이기 때문입니다. 가령, 숫자 6을 판단하기 위해서는 이미지 전체의 픽셀로부터 학습하여 판단하는 것보다 동그라미와 직선의 조합으로 만들어 진다고 학습 하는 편이 보다 자연스럽도 효과적인것과 같습니다.


    여기서 특징추출망은 영상이나 음성에 담긴 데이터의 기하학적 구조를, 특징적인 부분으로 단순화시켜 데이터의 차원을 줄이는 역할을 합니다. 이렇게 차원이 줄어든 데이터는 하나의 속성맵을 만들어내고, 이 저차원의 핵심 정보들을 입력받아 분류 모형을 학습하고, 최종출력 값으로 모형값을 산출하게 됩니다.


    적대적 생성 신경망 (Generative Adversarial Network ,GAN)


    적대적 생성 신경망은 딥러닝 모델 중에 가장 흥미로운 모델 중 하나 입니다. 앞선 모델들이 이미지가 주어졌을 때 각 대상들의 분류를 위한 분별 학습 모델이었다면, 적대적 생성 신경망은 두 개의 신경망 시스템을 구축하여 두 시스템이 서로 경쟁하며 학습할 수 있도록 만든 방식입니다.



    예를 들어 위조지폐범과 이 위조범을 잡는 경찰이 있다고 생각해 봅시다. 위조지폐범은 경찰을 피해서 보다 완벽한 위조지폐를 만들려고 할 것이고, 경찰은 이 위조지폐의 유통을 막기 위해 노력할 것입니다. 처음에 이 위조지폐범은 컬러 복사기를 이용해 지폐를 위조하여 사용하려 하고, 경찰은 이를 아주 쉽게 발각하여 위조지폐범을 검거합니다. 그러면 위조지폐범은 이전의 실패를 거울 삼아 보다 정교한 위조지폐를 만들어 내는데, 이를 검거 해야 할 경찰의 무능과 부패로 이를 인지하지 못하게 됩니다. 이렇게 위조지폐의 유통을 경찰이 막지 못하게 되면, 기존의 경찰을 경질하고 새로운 유능한 경찰을 선발하여 위조지폐 수사를 다시 시작 하게 됩니다. 보다 유능해진 경찰은 이전의 위조범을 체포하게 되고, 다시 위조범은 보다 더 정교한 위조지폐를 만듭니다.


    위에서 예로든 위조지폐범이 적대적 생성 신경망 모델의 생성자(Generator) 신경망이고, 경찰이 판별자(Discriminator) 신경망입니다. 이 모델의 특징은 두 시스템이 서로 경쟁하며, 경찰의 능력의 향상 만이 아니라 위조범의 능력까지 발전시킨다는 점입니다. 왜 위조범의 위조능력까지 향상시키는 것 일까요?


    생성자의 핵심은 생성자가 이미지에 포함되어 있는 숨은 속성과 패턴을 파악하여 입력값을 창조하거나 복원해 낼 수 있다는 것입니다. 이를 통해 사람의 얼굴을 실제와 똑같이 재현해 내기도 하고, 이 얼굴에 안경을 쓴 모습을 창조해 내거나, 이미지의 낮은 해상도를 보충하여 향상시키는 등의 작업을 가능하게 만든 재미있는 모델입니다.

    반응형

    댓글

Designed by Tistory x Aptunus