brunch

You can make anything
by writing

- C.S.Lewis -

월가의 로봇 과학자 퀀트 이야기
by 권용진 Apr 19. 2016

알파고가 세상을 지배할 것이라고?

쉽게 이해하는 머신러닝, 딥러닝, 빅데이터, 인공지능 

얼마 전, 인공지능 알파고 승리 때문에 온 세상이 들썩였다. 머신러닝(Machine Learning, 혹은 기계학습)을 공부하였던 나조차도 알파고 보다는 이세돌의 승리를 점쳐왔다. 바둑을 잘 두지는 못 하지만 바둑기사를 꿈꿨던 동생 덕분에 바둑에 대한 여러 가지를 접했고 이세돌의 대단함은 익히 알고 있었기 때문이다. 알파고의 승리는 여러 가지 면에서 파장을 일으켰다. 구글의 주가는 단에 10%가 상승하였고 이는 기업가치를 무려 58조나 상승시키는 효과를 주었다. 인공지능에 대한 관심은 뜨거워지고 그에 따른 많은 투자와 교육이 생겨나고 있다.


알파고는 이후 인공지능과 똑똑함의 대명사가 됐다.


하지만 마냥 즐거운 반응만 있던 것은 아니다. 인류의 멸망을 점치거나, 기계가 세상을 지배하는 터미네이터, 매트릭스 등을 상상하는 사람도 있었고 로봇으로 대체되는 직업들을 꼽으며 불안에 떠는 사람도 많았다. 인공지능으로 모든 것을 해결할 수 있다는 맹목적인 찬양자도 종종 보였다.


알파고의 승리로 언론 또한 다양한 반응을 쏟아냈다



특이점이 온다.



레이 커즈와일의 책 제목인 이 문구는 최근 인터넷 상에서 유행을 타고 있다. 특이점이란 인공지능이 인류의 지능을 넘어서는 시점으로 기술이 기술을 발전시키는 시점을 말한다. 이때가 되면 기계가 기계를 설계하고 만들면서 기술 발전 속도가 무한대에 가까워진다는 주장이다. 이렇게 되면 인류가 멸망하거나 기계의 지배를 받을 수도 있다고 한다. 알파고의 승리와 더불어 더욱 주목받는 책이다.


하지만 많은 전문가 분들은 지나친 기우라고 이야기를 한다. 나의 생각도 비슷한데, 이는 원리를 잘 모르는 상태에서 '기계의 학습', '인공 신경망', '인공 지능' 등과 같은 단어를 들었을 때의 위화감에서 오는 것이라 생각한다. 실제로 알파고 경기 중계를 보면 "기계가 어떤 생각을 하는지 궁금하다"라던가 "이세돌의 기보를 그새 학습하고 흡수하였다" 같이 사람에 빗대서 언급을 많이 한다. 머신러닝의 원리를 알아보고 이런 오해를 풀어보자.



기존의 인공지능



고등학생 시절, 카이스트 컴퓨터공학과에서 중고등학생들을 모아서 여러 가지 활동을 하는 캠프에 참여한 적이 있다. 하루는 '뿌요뿌요'라는 게임의 인공지능을 만들어서 상대편 프로그램과 대결을 펼친 뒤, 가장 잘 하는 사람에게 상을 주는 이벤트가 있었다. '뿌요뿌요'는 테트리스와 비슷하지만 4개의 같은 색깔 블록이 모이면 터지고 연쇄적으로 터트리면 상대방에게 공격이 가해지는 간단한 퍼즐 게임이었다.



연쇄를 많이 할수록 많은 공격을 가하지만 블록을 너무 쌓다 보면 죽을 위험이 있었기 때문에 나는 간단하게 3 연쇄를 할 수 있는 모양으로 쌓고 터트리고를 반복하는 프로그램을 만들어서 출전하였다. 하지만 빈 공간이 많을 때에도 3 연쇄만 하였고 당장 죽기 직전에도 3 연쇄를 하려다가 패배하기 일쑤였다. 가장 큰 문제는 같은 프로그램으로 10번을 돌리던 100번을 돌리던 똑같은 모양으로 쌓고 똑같이 패배하였다. 나는 빈 공간이 적으면 일단 빈 공간을 만들라는 식으로 프로그램을 고쳤다. 조금 나아지긴 했지만 다른 상황에서 현명하지 못 한 움직임을 하고 패배하였다. 사실 상 인공지능이라 하기도 뭐한, 조건에 따라 움직이는 프로그램이었을 뿐이었다. 초창기에 인공지능은 이런 식으로 일일이 조건을 하나씩 프로그래밍을 하여서 만들었었다. 하지만 모든 조건을 이렇게 일일이 추가할 수도 없고 정확도도 떨어졌다.



컴퓨터의 성능이 점점 좋아지면서 조건을 하나하나 추가하는 대신에 가능한 모든 경우의 수를 체크해보고 그중에서 가장 최선의 결과를 선택하는 방식이 나타나게 된다. 전 세계 체스 챔피언이 패배하여서 큰 충격을 주었던 1997 IBM의 슈퍼컴퓨터 딥블루 또한 이런 방식으로 만들어졌다.


모든 경우의 수 중에서 최선을 선택하는 컴퓨터를 무슨 수로 이길까? 마치 계산기와 암산 천재를 두고 계산 대결하는 것과 비슷하다.


모든 경우의 수 중 최선만 선택한다




컴퓨터의 빨라진 계산 속도와 여러 가지 알고리즘으로 IT 업계는 비약적인 발전을 이룩하게 된다. 하지만 모든 경우의 수를 계산하는 프로그램도 여러 가지 문제가 있었다. 먼저 답이 없는 문제는 풀 수가 없었다. 그리고 경우의 수가 너무 많은 경우에는 이 방법을 쓸 수가 없었다. 이미지 및 음성 인식, 번역기 등등이 이런 류의 문제이다. 만약 고양이 사진을 구분하는 인공지능을 만든다고 가정해보자. 털이 있고 다리가 네 개면 고양이 일까? 같은 고양이라도 자세나 사진 각도가 제각각일 것이다. 프로그램이 모든 경우의 수를 다 체크할 수 있을까?


구글은 머신러닝을 이용한 이미지 인식 기술을 이용해서 고양이란 단어가 없어도 고양이 사진을 찾아준다.


바둑도 마찬가지다. 바둑의 경우의 수는 우주의 원자수 보다 많아서 모든 경우의 수를 다 계산하려면 현재 컴퓨터로 10^111년이 걸린다고 한다. '딥블루'의 방식으로 바둑 인공지능을 만들면 아마도 인류가 멸망할 때까지 한판도 못 둔다.


바둑의 경우의 수




뇌의 신경망에 대한 연구



컴퓨터로는 모든 경우의 수를 계산할 수 없는데 인간은 대체 어떻게 인지 하는 걸까?


과학자들은 모든 경우의 수를 계산하지 않고 답이 없는 문제도 쉽게 판단하는 인간의 뇌에 대해 궁금해 하기 시작했다. 여러 가지 자극과 그에 따른 뇌의 반응을 관찰하며 연구한 끝에 뇌에 있는 세포인 뉴런이 촘촘히 망을 형성하여서 지적 능력을 가지게 된다는 사실을 밝히게 되었다.




이 뉴런은 어떤 자극을 받았을 때 일정 수치(역치)를 넘어서면 화학 신호를 시냅스를 통해 다음 뉴런에게 보내는 역할을 한다. 그러면 다음 뉴런이 이전 뉴런들에게 받은 신호들을 합쳐서 역치 이상이면 또다시 다음 뉴런에게 보내게 된다. 뉴런마다 역치가 다르기 때문에 이는 정보가 되고 이러한 프로세스를 통해서 결국 마지막에 나온 결과를 통해 판단을 하게 된다.


이러한 구조에 영감을 받아서 1940년경에 인공 신경망이라는 알고리즘이 등장한다. 인공 신경망도 뇌의 뉴런과 비슷한 '퍼셉트론'이라는 유닛을 만들어서 입력이 일정 수치(역치) 이상이면 1을, 아니면 0을 출력하게 만들었다.


뉴런과 퍼셉트론




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



역시나 이론상으론 어렵기 때문에 예를 들어보자. 부리와 날개가 있는지 없는지 여부를 가지고 입력한 동물이 조류인지 아닌지 체크하는 인공 신경망을 만들어보자. 데이터는 다음과 같다고 하자. 1은 참이고 0은 거짓을 표현한다.


동물 데이터, 오리너구리는 참 특이한 동물이다



먼저 간단하게 3개의 뉴런으로 신경망을 구성한다. 각 뉴런의 역치는 1이라고 가정하자.



뉴런과 뉴런 사이 시냅스 가중치(weight)는 처음에 무작위로 설정했다. 여기서는 0.7, 0.2이다. 현재로는 제대로 된 조류 판단을 하지 못 한다. 실제로 그런지 데이터를 입력해보자.




비둘기 데이터인 날개 1, 부리 1을 넣어보았다. 가중치인 0.7과 0.2를 곱해서 합이 0.9가 된다. 이는 역치 1 보다 작기 때문에 아무 신호도 보내지 않는다. 결국 비둘기 데이터를 넣었더니 조류가 아니라고 나왔다! 비둘기는 새가 아니었던 것이다. 이렇게 데이터와 다른 결과가 나오면 가중치를 수정해준다. 1이 나와야 하는데 0이 나왔으므로 가중치들을 증가시켜준다.



만약에 가중치가 1.0, 0.4인데 파리가 들어온다면 어떨까?



날개가 1이고 부리가 0인 파리가 들어오면 조류가 아니라고 출력해야 하는데 조류라고 출력했다. 이러면 날개의 가중치를 줄여준다. 이런 식으로 기존의 데이터를 통해서 가중치를 수정하면서 원하는 결과를 찾는 단계를 학습이라고 한다. 프로그래머가 직접 수정을 하지 않고 데이터를 기반으로 알아서 수정하기 때문이다.



축하한다, 당신은 벌써 첫 인공지능을 만들었다. 최종적으로 만들어진 신경망은 파리를 입력하든 오리너구리를 입력하든 조류를 제대로 구분할 수 있다. 심지어 모르는 동물을 입력하더라도 판단과 예측을 할 수가 있다. 이런 신경망의 뉴런의 개수가 많아지고 복잡하게 연결되면서 복잡한 데이터도 인식하고 판별할 수 있게 되는 것이다.


강아지와 고양이 구분하기. 학습이란 데이터에 맞게 선을 좀 더 잘 그리는것이다



뽀로로 에피소드를 계속 입력한 신경망 (출처 :서울대 장병탁 교수 강의)



사실 이 신경망 이론은 1940년에 제안되긴 했지만 실제로 널리 퍼진 것은 2000년대 이후였다. 많은 수의 뉴런을 학습시키고 복잡한 신경망을 구축하기엔 컴퓨터의 성능이 턱없이 부족했고 데이터를 구하는 일도 만만치 않았기 때문이다. 하지만 컴퓨터의 성능이 좋아지고 스마트폰과 데이터의 홍수 속에서 살아가면서 머신러닝과 인공 신경망 알고리즘이 다시 주목을 받았다. 인공 신경망이 발전에 발전을 거듭해서 다양한 버전이 나오기 시작했는데, 그중에서 인간이 특징, 즉 위에서 부리, 날개와 같은 것들을 지정해주지 않고 데이터 안에서 특징을 알아서 찾게 만든 버전이 바로 요즘 가장 핫하다는 '딥러닝'이다.


즉 위에서 말한 고양이 사진을 무작위로 계속 입력시키면 고양이 사진들의 특징들을 추출해서 그에 맞는 가중치를 가지는 신경망을 형성한다는 것이다. 이렇게 데이터 패턴을 추출하는 머신러닝의 강점을 이용해서 페이스북 얼굴인식, 이메일 스팸 구분, 신용카드 사기 방지, 자동 운전, 범죄 예방 등과 같은 여러 가지 문제에 적용해서 해결하려 노력하고 있다.


다양한 딥러닝 적용 분야




머신러닝과 딥러닝에 대한 오해와 진실


 인공신경망은 데이터를 잘 구분할 수 있는 선들을 긋고 이 공간들을 잘 왜곡해 합하는 것을 반복하는 구조라고 할 수 있습니다.(출처 : http://slownews.kr/41461)


정리하자면, 머신러닝과 딥러닝을 이용한 인공지능은 정교하게 데이터를 분류하고 예측해주는 프로그램일 뿐이다. 기존의 데이터(=경험)를 이용해서 분류할 때 이용하는 가중치를 업데이트하고 (=학습) 이를 이용해서 데이터 분석을 한다. 이는 애니악이 최초의 컴퓨터로써 등장했을 때나 인터넷이 처음으로 보급된 것과 같은 엄청난 기술적 혁명임이 분명하다. 나조차도 알파고의 승리나 페이스북에서 친구의 얼굴을 알아서 인식해주는 모습을 보면서 몇 번이고 놀라움을 감추지 못 했다. 그러나 기계가 생각을 하고 스스로 공부를 하여서 진화하는 매트릭스의 스미스 요원 같은 형태를 상상하는 건 지나친 비약이 아닐까 싶다.


알파고도 마찬가지로 도구로서 정교한 데이터 분석을 통해 이기는 수의 패턴을 추출하고 이를 분류하여서 가장 최적적인 수를 출력한 것이다. 단지 굉장히 복잡하고 방대한 계산인 만큼 1200개의 다중 코어를 이용한 병렬 처리를 하였는데, "이세돌은 1200명의 기사와 싸운 것과 마찬가지이다" 식의 해석은 참 재밌다고 생각한다. 나중에 컴퓨터 성능이 좋아져서 싱글코어로도 계산이 가능해지면 1200명이 하나로 합체 한 것일까?




딥러닝으로 모든 문제를 해결할 것이라는 견해도 있다. 그러나 딥러닝은 만능이 아니다. 머신러닝은 과거 데이터를 이용해서 분류나 예측을 하는 것이기 때문에 기존에 일어나지 않았던 사건이나 데이터가 나타나면 원하는 데로 작동하지 않을 수 있다. 또한 제대로 된 학습이 이루어지려면 잘 분류된 데이터가 필요로 한데 우리 현실에서 맞딱뜨리는 데이터는 바둑판처럼 간단하지가 않다. 사회의 축소판이라 불리는 증권 시장에서도 퀀트 트레이더들을 필두로 딥러닝 적용에 대해 활발히 시도하고 있지만 복잡한 데이터와 과거 데이터로는 예측 불가한 상황들 때문에 여전히 어려운 부분이다.


결국 머신러닝, 인공지능, 딥러닝은 컴퓨터가 처음 생겨났을 때와 같은 새로운 도구의 출현 쪽으로 보는 것이 더 타당하다. 컴퓨터가 처음 나왔을 때 많은 직업들이 사라지고 많은 새로운 직업이 생겨났다. 이젠 거의 대부분의 사람이 컴퓨터를 자유자재로 다루고 컴퓨터 없이는 일상생활이나 직장 생활이 불가능할 정도가 됐다. 마찬가지로 앞으로는 누구나 쏟아지는 데이터를 이용하는 시대가 올 것이다. 컴퓨터를 누가 어떻게 사용하느냐에 따라 결과가 천차만별이듯이 머신러닝과 데이터 과학을 어떻게 활용하느냐에 따라 결과가 달라질 것이다. 이러한 시대의 변화에 발맞춰 데이터 시대를 준비하는 자세를 가져야 하겠다.


마지막으로 예전에 재밌게 보았던 그네타기를 학습하는 동영상을 첨부하며 이 글을 마친다.

https://www.youtube.com/watch?v=Yr_nRnqeDp0





감사하게도 카카오톡 채널에 소개되었습니다. 더 열심히 하겠습니다 :)


keyword
magazine 월가의 로봇 과학자 퀀트 이야기
6년차 퀀트 트레이더. 《인공지능 투자가 퀀트》의 저자
블록체인 연구소 및 퀀트 헤지펀드 Entropy Trading Group 대표
www.entropy-trading.com
댓글

    매거진 선택

    키워드 선택 0 / 3 0
    브런치는 최신 브라우저에서 최적화 되어있습니다. IE chrome safari