brunch

라이킷 댓글 1 공유 14 브런치 글을 SNS에 공유해보세요

You can make anything
by writing

- C.S.Lewis -

근본적 한계에 대한 단상들
by Amang Kim Mar 14. 2016

5. 인공지능이 세상을 지배할까?

알파고, 이세돌, 그리고 수학 이야기

이세돌 9단의 바둑 대국을 보면서, 생각나는 단상들이 있어 몇 자 남겨 볼까 한다. 알파고와 이세돌 9단의 대국이 진행되면서 몇 가지 재미있는 현상들이 생겼다: (1) 1980년대부터 2000년대까지 유행했던 인공지능(로봇) 관련 영화들이 다시 유행하기 시작했고, (2) 학부모들은 바둑을 가르치기 시작했고, (3) 사람들은 알파고와 이세돌 9단의 대결을 "인간 대 기계"의 대결 구도로 만들었으며, (4) 조만간 인공지능이 인간적인 감성을 가지게 되고, (5) 머지않아 인공지능이 세상을 지배할 것이라는 공포가 확산..등등... 

Superman III (1983), Source: 인터넷어딘가

내가 여기서 언급하고자 하는 것은 (3)-(5)까지에 대한 이야기이다. 그리고, 결어부터 이야기하자면, 세상이 복잡할수록 기초가 되는 학문을 잘 알고 있어야 하며, 그러한 기초학문이 얼마나 중요한지 알아야 한다.


1. 알파고 이해하기

많은 사람들이 알파고의 알고리듬에 대해서 궁금해하고, 검색도 해보았을 것이다. 인터넷을 통하면 대부분의 자료들을 찾아볼 수 있는데, 이렇게 검색된 문서들은 크게 두 종류이다. 하나는 너무 기술적이라, 전산학 특히 신경망쪽(여기서 신경망이라 함은 머신러닝을 포함)을 전공한 사람이 아니면 사실상 이해가 어렵고, 또 다른 종류는 일반인 그중에 나름 IT에 일가견이 있다 하는 준전문가들이 적은 글들인데, 이게 사실상 보면 말도 안 되게 글을 적은 경우가 많다는 것이다. 알파고를 더 나아가 신경망의 동작을 이해하려면, 그 중간점(즉, 너무 기술적이지도 않으면서, 그렇지만 전체적인 로직의 이해를 도와줄수있는)에서 설명을 해야 한다. 


우선, 알파고는 다음과 같은 학문부류를 알아야 이해할수 있다.


   확률론(Probability), 선형대수 (Linear Algebra);

   신경망(Neural  Network), 전문가시스템(Expert System);

   분산컴퓨팅(Distributed Computing), 시스템구조(System Architect);


이외에 컴퓨터나 네트워크 성능에 관련된 모든 기술들을 알면 도움이 된다. 그리고, 위의 학문 부류는 알파고 뿐만 아니라, 인공지능에 관련한 구현을 하기위해서는 필수적으로 알고 있어야 하는 과목들이다. 머신러닝을 추가할수도 있지만, 신경망을 하게 되면 머신러닝은 자동(?)으로 하는 것이라 생략하겠다. AI의 주축이라 할수 있는 신경망이나 전문가 시스템의 경우, 1980년대 이미 학문적으로 상당한 발전을 이루어졌으며, 이 기술을 이용한 물건(특히, 군사용)들이 나오기 시작 했었다. 자, 당신이 AI전문가는 아니지만, 알파고가 어떻게 동작하는지를 정확하게 이해하고 싶다면,

확률론, 선형대수, 신경망 (조금)

을 알고 있을 필요가 있다. 우선 알아야 할 것은 "신경망 조금"이다. 여기서 "조금"이라 함은 신경망 동작원리이다. 신경망 혹은 AI라고 하는게 아주 복잡할 것같지만, 굉장히 간단하다. 정의하자면:

주어진 자료 묶음(Data Set)을 이용하여, 최적화된(가장 빠른 시간내에, 가장 적은 수의 Iteration에) 행렬(Matrix)을 찾아내는 것

이라 할수 있다. 왜 행렬이냐고? 행렬이 가장 시스템적 연산(컴퓨터를 이용한)이 용이하기 때문이다. 바로 그러한 이유때문에 전산/컴퓨터를 학부때 전공하면 2학년 즈음 듣는 전공 필수 과목이 선형대수학인거고. 그리고, 이 과목에서 배우는 것이 바로 행렬 연산 방법을 배우는 것이다. 처음엔 unit matrix (대각선으로 1인 기초 행렬)로 시작했던 행렬이 데이터 묶음(입력 데이터와 출력데이터)에 따른 연산을 거치면서, 최적화된 행렬을 생성하게 되고, 이렇게 계산된 최적화 행렬은 새로운 데이터(즉, 우리가 답을 알고자 하는 데이터)를 넣었을 때, 단 한번의 행렬 연산으로 최적화 된 답을 내어 놓게 되는 것이다. 이렇게 unit matrix에서 최적화된 매트릭스를 만들어 가는 과정이 바로 머신러닝이다. 이러한 머신러닝에서 가장 중요한 것 가운데 하나가 행렬을 최적화 하기위해 필요한 데이터 묶음인 것은 자명하다 하겠다. 


그런데, 일반인들이 알파고를 이해하는데 가장 중요한 점은 "무엇"이 입력이고, "무엇"이 출력이냐는 거다. 우선, 알파고에서의 

입력은 현재 놓여진 돌들의 상태 이며, 출력은 (다음) 착수가능한 점들에 대한 확률

이다. 이 정의가 별게 아니라고 생각 하는 사람들이 많을지도 모르겠다. 일부 블로그나 기사에서도 위의 부분을 언급하기도 했다. 하지만, 이 정의가 알파고의 동작을 이해하는데 있어서는 가장 핵심이 되는 내용이라는거다. 나는 이세돌9단과 알파고의 대전을 해설하는 많은 해설자의 해설을 들으면서, 피식하면 웃었던 적이 한두 번이 아니다. 만약 해설자들이 위의 정의를 정확하게만 알고 있었더라도, "왜 그렇게 두었는지 모르겠네요?" 내지는 "알파고의 특별한 수인가요?" "판세의 불리한 수인데요?"와 같은 엉뚱한 소리는 하지 않았을텐데 말이다.


즉, 알파고는 매 착수마다 주어진 데이터(기보 기록들)들을 가지고 각 착수점에 대한 확률들을 계산하고, 그중에 확률이 가능 높은 곳에 착수를 한다는 거다. 즉, 알파고의 계산량은:


착수할 수 있는 빈점 x 정확한 확률 계산

이라 할수 있다. 빈 바둑판을 생각해보자. 알파고가 생각해야 할 것은 361(19x19) 각각의 착수점에 대한 확률이다. 이게 계산할 가지수(착수할수 있는 빈점)는 많지만, 확률 자체는 아주아주 낮거나, 아주 아주 높거나 해서 그리 정확하지 않아도 된다는 거다. 정확하지 않아도 된다는 의미는 한계점을 두어 반올림 내지 버림을 해서 확률을 계산해도 된다는 의미임) 심지어, 출력부분을 생각하지 않고도 가장 좋은 착수점을 찾을수 있다 (아무리 초보라도 네 귀퉁이에 첫수를 두는 데이터는 없을테니까). 그리고, 판이 거의 끝나갈때(즉, 바둑판에 돌들이 많이 찼을 때) 또한 계산량이 많이 줄어 든다. 물론, 정확도를 위해 한점 한점에 대한 계산량은 많아 질 것이지만, 착수할수 있는 경우의 수(빈곳에만 착수가 가능하므로)가 줄어 들기 때문에 전체 계산량은 역시 줄어들게 된다. 바둑판이 절반즈음 찼을 때는 어떨까? 이때는 착수할수 있는 빈점도 많고, 각 점마다 정확한 계산을 해야 한다. 최선 점과 차선점의 확률 간격이 크지 않기 때문에 정확한 계산을 하지 않으면, 이길 가능성이 가장 높은 곳에 착수를 할수 없기 때문이다. 그리고, 이러한 "가능성"을 이해하기 위해서는 확률론에 대해서 알 필요가 있다. 다시 한번 말하지만, 

알파고는 이길 "가능성"이 높은 곳에 착수를 하지, "이길 곳"에 착수를 하는 것이 아니다.

가능성이 높다는 것과 반드시 이기는 곳과는 엄청난 차이가 있다. 이는 마치 컴퓨터가 무한대를 모사할수는 있지만 무한대 자체를 나타낼수 없는 것과 같은 이치 이다 (이전글 참조). 그리고, 여기서 중요한 점은 이러한 가능성은 데이터를 통해서 계산이 된 값이기 때문에 이번 대국에서 지던 이기던 "이길 확률" 자체는 크게 영향을 받지 않는다는 거다 (또 다른 이전 글 참조). 알파고가 해설자들의 예측과 달리 두었다는 것은 현재 돌들이 놓인 상태에서 그 다음 착수점 두었을 때 이길 확률이 해설자들이 생각했던 점에서의 이길 확률보다 크거나 같았기 때문이지, 그 이상도 그 이하도 아니다. 알파고가 특별한 기풍이 있어어도 아니요, 특별한 손맛이 있어서는 더더욱 아니다. 다만, 인간이 흔히 두지 않는 수일 뿐이지.


2. 기계가 인류를 정복할 가능성

기계(혹은 인공지능)가 인간 생활을 지금보다 더 변화를 시킬 것이며, 분석만을 하는 많은 직업군들이 사라질 것이며, 지금보다 훨씬 더 많은 부분을 기계에 의존하게 될 것이라는 것은 자명하다. 하지만, 기계가 자신의 의지와 자아를 가지고, 독립적으로 인류에 반하는 행동을 취할 가능성은 적어도 아직까지는 불가능하다 하겠다. 우선, 이게 가능하기 위해서는 "자아" 자체에 대한 측정과 계량화(혹은 데이터화)가 가능해야 한다. 하지만, 현재의 기술로는 신체에 일어나는 효과 자체에 조차도 정확한 측정 조차 현재로서는 불가능하다. 예를 들어 이런거다. 음주 측정을 왜하는가? "취한" 사람을 가려 내기 위해서 일 것이다. 하지만, 우리는 음주측정 할때 "혈증 알콜 농도"를 측정 한다. 하지만, 이러한 혈중 알콜농도가 그사람이 정말 취한 것인지 취했다면 몇 %나 취한 것인지는 알길이 없다. 우리가 그렇게 정한 것은 혈중 알콜 농도가 취한 정도에 영향을 미친다는 것과 어느정도의 양에서 어떤 행동나오는지에 대한 "모사"를 수용한 것 뿐이다. 관찰을 하고 정도를 판단하는데 있어서는 이정도만 있어도 충분하지만, 이걸 구현(그게 딥러닝이 되었건 Policy기반이 되었건)하는건 그리 만만한 일 아니다. 또 다른 예는 또 있다. 여러분이 아주 감명 깊게 본 영화의 한 장면이 있다고 하자. 기억을 할때는 "대충"해도 된다. 그렇지만, 그걸 그릴때(묘사)할 때는 그리 만만치 않을 것이다. 노래도 마찬가지고 들어본적은 있지만 모르는 노래들... 알고는 있지만, 정확하게는 모르는... 감정이 되었건, 자아가 되었건, 이런 것들을 그냥 생각에는 알고는 있지만, 실제로 구현할려고 하면 만만치가 않다는 것 조금만 생각해보면 감이 잡힐 것이다. 즉, 기계가 인간을 정복할수 있을 만큼, 혹은 그전에 자아를 가질만큼의 기술이 되기 위해서는 그것(자아 혹은 감정) 자체에 대한 결과물 먼저 나와야 한다. 그리고 이 분야는 컴퓨터나 전자공학분야가 아닌 다른 분야의 기술들을 필요로 한다. 아무리 많은 데이터를 입수, 분석할수 있다고 하여도

존재하지 않는 데이터는 모을 수도 없고, 분석할수도 없다


3. 알파고가 남긴 것

이번 알파고가 가지는 가장 큰 의미는 무한하다고 여겨졌던 또 하나의 영역이 기술의 발전으로 인해 "유한"의 영역으로 들어 왔다는 점이라 하겠다. 바둑은 19x19에서 벌어지는 유한한 게임이다. 이는 예전에도 그랫고 지금도 그렇다. 다만, 과거에는 이 유한한 게임이 무한한 게임으로 생각 했었고, 많은 사람들이 무한하다고 믿었었다. 하지만, 알파고를 통해서 이제는 바둑이 더 이상한 무한한 게임이 아니라는걸 극명하게 보여줬다. 


얼마나 많은 사람들이 사실과 달리 판단하고, 그러한 고정관념으로 세상을 살아가는지를.. 알파고가 이번 대국에서 남긴 것은 그렇게 정확했다고 생각했던 인간의 판단이 얼마나 편협 할수 있는지를 적나라하게 보여주는 계기가 아니였나 싶다.

  




 











keyword
magazine 근본적 한계에 대한 단상들
여러가지(?) 하는 사람
댓글

    매거진 선택

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