brunch

매거진 AI

You can make anything
by writing

C.S.Lewis

[카카오AI리포트]AI, 긴 겨울을 보내고 꽃을 피우다

Vol 1 : 01. AI 기술 개발의 역사, 머신러닝과 딥러닝

카카오 AI 리포트 Vol 01. 수정본(Revised)으로 업데이트 합니다. 이같은 과정도 논의가 활발해지는데 작은 도움이 됐으면 합니다. 저희 리포트 내용에 대해 상세하게 의견 주신 모든 분들께 감사드립니다. 저희는 관련 부분에 대해 외부 전문가 감수 등 확인 작업을 진행하고 반영했습니다.


[ 수정 사항 ]
1) 기존 본문에 1957년 프랭크 로젠블라트(Frank Rosenblatt)가 제안한 퍼셉트론(Perceptron)을 본격적인 인공신경망(Artificial Neural Network) 연구의 시작으로 보는 견해를 반영했습니다. 다만 이에 앞서 맥쿨록과 월터(McCulloch and Walter)의 1943년 논문[2]에서 이미 인공신경망 개념이 제시됐다고 합니다.

2) AI Winter의 시기에 대해서도 다양한 견해가 있습니다. 저희는 당초 1970년대 이후 AI 연구 열기가 수그러들었고, 2010년 무렵까지 큰 성과가 없었다고 전했고, 1990년대 인터넷 보급 이후 빅데이터 시대가 열리게 됐다고 봤습니다. 다만 AI Winter가 1986년에 끝났으며 1990년대는 AI가 아니라 인터넷의 시대였다는 해석도 제기됐습니다. 감수 결과, 연구자들이 바라보는 AI연구방향을 요약하면 AI 컨셉의 등장(부흥), 방법론의 부재(본문에서의 '논리설계의 어려움', 겨울), 머신러닝 컨셉의 등장(부흥), 성능(정확도)의 한계(겨울), 딥러닝/빅데이터의 등장(부흥, 현재)으로 정리 할 수 있다는 의견을 주셨습니다. 이에 대한 타임라인은 자료[27]을 참고하면 좋을 것 같습니다.

3) 기존 본문에 ‘AI란 생명체의 이같은 지적 활동을 인공적으로 흉내내는 것이다.’ 내용은 책[10]의 내용을 인용구 없이 제시했습니다. 검토 결과, 본문의 앞뒤 맥락상 불필요하여 삭제했습니다.

4) 기존 본문에 IBM의 ‘딥블루’를 ‘If then rule’ 기반한 프로그램으로 소개한 부분을 탐색 알고리즘 기반으로 만든 AI프로그램으로 수정했습니다.

5) 뇌의 신경망으로 신호가 전달되는 방식에 대한 설명은 오해의 여지가 있어 수정했습니다.



감수


신정규 ( jshin@lablup.com )
현소속 : 래블업 대표, 한양대학교 ERICA 컴퓨터공학과 겸임교수
경력 : Google Developer Expert 머신러닝 분야
연구 분야 : 복잡계 뇌과학, 기계학습 및 행위자 기반 모형
최예림 ( yrchoi@kgu.ac.kr )
현소속 : 경기대학교 산업경영공학과 교수
경력 : 네이버 랩스 연구원
연구 분야 : 데이터사이언스, 머신러닝/딥러닝, 휴먼모델링





카카오는 AI에 대한 사회적 관심을 높이는 동시에, 다양한 논의의 재료로 AI가 쓰일 수 있기를 소망하며 월간으로 준비 중입니다. 카카오도 AI 기반 서비스와 비즈니스를 준비하지만, 기술 생태계를 키우고 사회를 바꾸는 것은 모두의 몫이기 때문입니다. 카카오는 현안을 나누고 지혜를 모으는데 조금이라도 거들겠습니다.


2017년 3월 14일 공개된 이번 리포트는 다음 세 가지 내용으로 구성되어 있습니다.


01. AI 기술 개발의 역사, 머신러닝과 딥러닝 (이번글)

02. AI 규제 동향 및 법적, 윤리적 쟁점

03. 로봇 윤리의 변천사


2017년 AI컨퍼런스 소개 

AI관련 팟캐스트 소개


카카오 AI 리포트 Vol. 1 전체글 다운받기


내용 중간의 [ ] 는 뒷부분에 설명 및 관련 문헌의 소개 내용이 있음을 알리는 부호입니다. 예를 들어, [1]에 대한 설명은 '설명 및 참고문헌'의 첫 번째에 해당합니다.




"90년대와 2000년대 초 아무도 신경망(Neural Network)을 주제로 논문을 쓰려고 하지 않았어요. 성과가 나지 않는다는 이유였죠. 학생들에게 논문을 쓰게 하려면 손목을 비틀어야 할 지경이었습니다."

 2014년 겨울 캐나다 몬트리올에서 열린 지능정보처리 시스템 학회(Neural Information Processing Systems, NIPS). 요슈아 벤지오(Yoshua Bengio) 몬트리올대 교수가 지난 시절의 고충을 털어놓았다. 인공신경망(Artificial Neural Network) 개념은 이미 1940년대부터 제기된 내용이었지만, 2000년대까지 AI 연구에서 큰 성과를 보여주지 못했다. 오래된 개념이고, 성과도 없다는 이유로 모든 학회나 저널에서 논문 게재를 거절하곤 했다. 1987년 이후 해마다 겨울에 NIPS 학회에 참석했던 전문가들은 이른바 AI 기술의 겨울(AI winter)이었던 오랜 시절을 함께 돌아봤다. 얀 레쿤(Yann LeCun) 뉴욕대 교수, 제프리 힌튼(Geoffrey Hinton) 토론토대 교수, 앤드류 응(Andrew Ng) 스탠퍼드대 교수 등 지금은 ‘AI 사대천왕’으로 꼽히는 이들 모두 그 시절 춥고 어려운 시기를 거쳤다. 현재 레쿤 교수는 페이스북, 힌튼 교수는 구글, 응 교수는 바이두에서 AI 핵심 기술 개발을 위해 모셔간 상태다. 벤지오 교수는 IBM, 구글 등과 공동 연구를 하고 있다[1, 2].


(왼쪽부터) Yann LeCun, Geoff Hinton, Yoshua Bengio, Andrew Ng, at NIPS 2014, 출처 : Andrew Ng's Facebook



인공지능이란?

2016년 알파고와 이세돌의 바둑 대결 이후 AI 붐이 일고 있지만, 전세계적으로 이미 중요한 기술 연구 분야가 된지 오래다 . AI에 대해서 막연하게 SF 영화에 등장하는 가상현실을 상상하지만, 우리는 이미 실생활의 많은 부분에서 AI 기술을 접하고 있다. 로봇청소기, 스마트폰으로 촬영한 사진의 스타일을 변경해주는 어플리케이션, 온라인 게임 플레이에 등장하는 NPC(Non Player Character) 등이 그것이다. SF영화와 소설속에서 등장하는 AI란 과연 무엇을 의미하며, 어떻게 우리의 생활 속에서 이용되고 있는 기술로 발전 하였을까?


지능이란

인간 뿐 아니라 동물을 포함해 생명체들은 다양한 의사 결정을 필요로 한다. 예컨대 굶주린 반려견에게 두 명이 각각 먹을 것을 내밀며 오라고 손짓하는 상황을 상상해보자. 반려견은 누가 주는 먹이를  먹을지 판단하고 행동해야 한다. 반려견은 현재의 상황, 즉 시각과 후각을 자극하는 먹을 것과 자신이 굶주린 상황에 대해서 인식한다. 그리고 두 사람이 자신에게 안전하게 먹이만 줄 것인지, 해를 끼칠 지, 과거의 경험, 혹은 다른 요인을 통해서 판단하고 행동할 것이다. 지능은 이처럼 주어진 환경에서 추론하고 결정하고 행동하는 것을 의미한다.

 

앞의 반려견의 사례 처럼 지적 활동은 다양한 요소들을 포함하고 있다. 코넬 대학의 로버트 스턴버그(Robert Sternberg)[3] 교수는 지능이 다음과 같이 세 가지 요소로 구성되어 있다는 분류 모델을 제시했다. 첫째, 분석적(Analytic)으로 문제를 해결하기 위해 필요한 사항들을 분석하는 능력. 둘째, 통합적(Synthentic)으로 새로운 정보와 과거의 정보를 통합적으로 고려하여 창의적(Creative) 결론에 도달하는 능력. 셋째, 실용적(Practical)으로 결론에 따른 실제 행동을 취하는 것.


[ 지능활동 ]

상황 파악 - 입력된 정보를 바탕으로 현 상태를 파악

추론 및 판단 - 상황을 바탕으로 어떤 결론에 도달

반응 혹은 행동 - 도달한 결론에 맞게 행동


인간 지능을 흉내 내려는 인공지능

 

AI 연구는 “인간의 지적 활동을 기계도 할 수 있을까?”라는 의문에서 출발했다. 영국의 천재 수학자인 앨런 튜링(Alan Turing)은 0과 1을 이용해서 복잡한 계산을 수행할 수 있다는 것을 입증했다. 이것이 바로 계산기계(Computer)의 시초가 되었다. 튜링이 1950년에 발표한 논문 "Computing Machinery and Intelligence”[4]에서 튜링의 일대기를 그린 영화 제목과 같은 “The Imitation Game”을 주제로 기계가 인간의 지능을 흉내(Imitation) 낼수 있는 조건을 제시했다. 튜링이 고안한 방법은 다음과 같다. 판별자인 인간 C가 기계 A가 하는 답변과 인간인 B가 하는 답변을 구별하지 못한다면, 기계 A는 인간의 지능을 가지고 있는 것이 아닐까라고 결론 낼 수 있다는 것이다. 이것을 튜링테스트(Turing Test)라고 부르고, 기계의 지능 여부를 판단하는 방식으로 여전히 사용되고 있다.


1982년 개봉 영화 '블레이드 러너'에서 안드로이드 로봇인 '레이첼'을 튜링테스트 하는 장면



이와 같이 지능적인 기계를 만드는 엔지니어링 및 과학으로서 AI가 학문 연구의 한 분야로 자리잡게 된 것은 1956년 다트머스 AI 컨퍼런스(Dartmouth Artificial Intelligence Conference)[5]에서 존 매카시(John McCarthy)가 AI를 ‘기계를 인간 행동의 지식에서와 같이 행동하게 만드는 것’으로 최초로 정의하면서 부터이다.


다트머스 AI컨퍼런스 참석한 인공지능 연구의 선구자들


왼쪽 부터, John McCarthy, Marvin Minsky, Allen Newell, Hebert A. Simon


인공지능의 역사


AI가 처음 등장한 다트머스 컨퍼런스는 복잡계이론, 언어처리, 신경망, 입력신호처리, 창의적사고 분야의 다양한 전문가들이 참여한 학술대회였다. 당시 카네기멜론 대학 소속이던 앨런 뉴웰(Allen Newell)과 허버트 A. 사이먼(Herbert A. Simon)[6]은  세계 최초의 AI 프로그램인 논리연산가(Logic Theorist)를 선보였다. 논리연산가는 최초로 기계가 논리적 추론(Logical Reasoning)을 할 수 있다는 것을 보여주었다. 당시, 논리연산가는 1903년 알프레드 노스 화이트헤드(Alfred North Whitehead)와 버트런드 러셀(Bertrand Russell)이 쓴 ‘수학원리’(Principia Mathematica) 두번째 장에 등장한 52개의 정리(Theorem)중 38개를 증명해 보였다. 논리연산가는 이후 AI 연구에 영향을 주는 중요한 개념들을 제시해 주었다[7].


세계 최초의 AI프로그램, 논리연산가(Logic Theorist)


첫째, 추론을 통한 탐색.

논리연산가는 공리(Axiom)로 부터 수학적 정리를 이끌어 내기 위해서, 공리로 부터 출발해 발생가능한 대체, 교환, 분리의 경우들을 모두 찾아 가는 방법을 사용하였다.


둘째, 경험적 방법론(Heuristics) 도입.

발생 가능한 추론들이 다양할 경우 나무의 가지가 너무 많아질 수 있어서 모든 경우를 검색하는 것은 비효율적임을 깨달았다. 여기서 경험적 방법론을 도입하여 효율성을 높여 주었다. 머신러닝에서 특징 설계(Feature Engineering)가 이런 역할을 해준다.


셋째, 정보보처리언어(IPL, Information Processing Language) 개발.

프로그램 처리를 상징적으로 표현한 언어인 IPL은 이후 존 매카시(John McCarthy)가 만든 리습(Lisp) 프로그래밍 언어의 기초가 되었다. 스탠포드와 다트머스, MIT 교수를 역임한 매카시 교수는 AI란 용어를 1955년 ‘지능이 있는 기계를 만들기 위한 과학과 공학’이라는 논문에서 처음 기술했다. 리습(Lisp)은 AI 연구에서 논리적 흐름을 상징적으로 표현하는 중요한 프로그래밍 언어로 활용되었다.


탐색과 추론의 시대

논리연산가(Logic Theorist)에서 제안된 탐색과 추론 방법은 초기 AI 연구에 중요한 개념들을 제시했다. 해결할 할 문제에 대해서 기계가 수행할 일들을 상황별로 대응하는 방식, 이게 바로 탐색(대응)과 추론(상황파악)의 알고리즘이다. 이 알고리즘은 흔히 ‘If then’(가령 ~ 하면, ~ 한다 )이라고도 하는데, 예를 들면 다음과 같다.


[ If then rule ]
  If 어떤 것이 날아 다닌다.  then
    어떤 것은 새다.  


즉, ‘If-then rule’은 컴퓨터가 논리적으로 정보를 처리할 수 있도록 원칙(Rule)을 제공해줘서 답을 찾아 가는 과정이다. 미로를 찾는 알고리즘이나, 체커게임(Checkers)을 하는 알고리즘을 개발하는 것 등이 ‘If-then rule’을 통해 해결할 수 있는 대표적인 문제들이다.



미로찾기 예제

[ 미로찾기 알고리즘 예시 ]
그림과 같이 왼쪽 상단의 입구에서 오른쪽 하단의 입구로 찾아가는 미로가 주어졌을 때 길을 어떻게 찾을 수 있을까? 아래와 같은 룰을 설정해서 미로를 찾을 수 있다.

Step 1 ( 현재 위치 저장 )
  if 현재의 위치가 갈림길(길이 2가지 이상인 경우 )이면  then 위치를 기억한다.

Step 2 ( 이동 )
  지나온 길을 제외하고 길이 남아있는 않은 경우까지 아래를 반복한다.
  if 이동할 길이 있으면 then 길이 있는 방향으로 이동한다. 이동한 길은 기억한다.
  if 지나 온 길만 남은 경우 Step 3로 넘어간다.

Step 3 ( 갈림길로 되돌아 가기 )
  Step 1에서 기억한 위치로 돌아가서 이전에 가지 않은 길로 되돌아 간다.


알고리즘으로 문제를 해결하는 시대의 대표적인 두 가지 방법은 ‘깊이우선탐색’(Depth First Search)과 ‘너비우선탐색’(Breadth First Search)이 있다. 깊이우선탐색이란 현재 주어진 문제에서 발생가능한 상황들 중 한 가지를 선택해 깊이있게 해결방법까지 분석해가는 방법이다. 위에서 예제로 제시한 미로찾기 알고리즘은 깊이우선탐색의 예이다. 이에 비해 너비우선탐색은 문제에서 발생가능한 모든 상황을 고려하며 가능성을 넓혀 나가는 것이다. 이렇게 알고리즘을 통한  AI연구의 성과는 인간 체스게임 챔피언과 컴퓨터 체스프로그램과 대결로 이어지게 된다. 1997년 IBM에서 만든 ‘딥 블루’(Deep Blue)는  당시 세계챔피언인 러시아의 카스파로프(Kasparov)와의 체스 경기에서 승리하게 된다[8].


이처럼 초기 AI 기술 연구는 컴퓨터가 주어진 문제를 해결할 수 있도록 인간이 직접 룰을 지정해주는 방식으로 진행됐다. 문제 해결 방법을 논리적으로 설계하고 컴퓨터가 수행할 수 있도록 프로그래밍 하면 지능을 발전시킬 수 있을 것으로 기대했다. 하지만 다양한 데이터를 종합해서 추론하는 좀더 복잡한 문제는 ‘논리 설계의 어려움’ 으로 시도조차 하지 못하게 되었다. 이런 한계속에 1970년 이후 AI 연구 열기가 사그라들면서, 일명 AI의 겨울(AI winter)이 시작됐다[9,10].


시간이 흘러 서서히 AI연구에 반전의 기회가 찾아오고 있었다. 1990년대 인터넷이 보급되기 시작하면서 웹상에 방대한 정보가 쏟아졌다[11]. 또한, 이렇게 생성되는 정보를 대용량으로 보관할 수 있는 하드디스크(HDD) 의 가격이 급격하게 낮아졌다[12]. 이른바 ‘빅 데이터’ 시대가 시작된 것이다.  


머신러닝(Machine Learning), 기계가 스스로 학습 한다.


AI 연구의 1차 붐 시대는 ‘If-then rule’을 활용한 탐색과 추론을 통한 지능 향상이 목적이었다. 디지털화된 지식과 정보가 빠르게 늘어나는 시대에는 컴퓨터에 지식을 반영하면, 지능을 향상시킬 수 있지 않을까라는 아이디어가 생겨났다. 이렇게 등장한 AI가 전문가 시스템(Expert System)이다. 가령, 의학 분야의 전문가인 의사들은 의학 관련 전문지식을 통해 환자를 진단하고 치료하는 결정을 하게 된다. 전문가 시스템도 이러한 접근 방법에서 고안되었다. 전문가 시스템은 지식 기반(Knowledge Base)에 지식과 정보를 저장하고, 추론 엔진(Inference Engine)에서 기존의 지식을 통해 새로운 지식을 추론하는 두 가지 시스템으로 구성된다. 전문가 시스템은 1970년대 처음 고안되어서 1980년대 크게 유행하게 된다. 궁금한 질문에 대해서 답을 할 수 있는 컴퓨터 시스템을 만들 수 있을까? 이 질문에 답하고자 전문가 시스템을 기반으로 개발된 IBM 왓슨(Watson)은 2011년 미국의 퀴즈쇼 제퍼디(Jeopardy)에 출연해 인간 챔피언들을 이기고 우승을 차지한다.


IBM의 Watson프로그램의 Jeopardy 경기, 왼쪽 Ken Jennings, 오른쪽 Brad Rutter


단순히 책을 보는 것과, 책 속의 내용을 이해하는 것은 다르다. 막 한글을 깨우친 아이에게 칸트(Immanuel Kant)의 ‘순수이성비판’ 책을 읽도록 하면 어떻게 될까? 즉, 컴퓨터에게 지식을 저장하는 것과 컴퓨터가 그 지식을 이해하는 것은 완전히 다른 영역이다. 이를 해결하기 위해 등장한 것이 바로 ‘머신러닝’이다.


보통 인간은 어떤 문제를 해결한 경험을 토대로 그 다음에 등장하는 문제를 이전보다 개선된 방법으로 해결하려고 노력하게 된다. 머신러닝은 경험적으로 문제를 해결하는 방법을 컴퓨터에 적용한 것이다. 컴퓨터에게 특정 과제(T, Task)를 해결 하면서 그 성과를 측정(P, Performance measure)하는 경험(E, Experience)을 하게 한다. 그야말로 기계를 학습시켜 과제(T) 수행에 대한 측정(P)이 개선되도록 지속적 경험(E)을 수행하는 구조다[13].

예들 들면, 야구 경기 승리 전략을 학습하는 머신러닝 프로그램을 가정해 보자. 여기서 과제(T)는 야구 경기를 승리 하는 것. 성과 측정(P)은 득점을 많이 하고 실점을 최소화 하는 것 즉, 득-실 차이를 최대로 하는 것이 될 것이다. 여기서의 경험(E)은 실제 야구 경기를 수행하는 것이다. 프로그램은 경기에서 발생하는 다양한 상황인 투수의 방어율, 그 날의 컨디션, 수비 능력,  타자의 타율, 주루 능력 등 수 많은 조건에 따라서 경험(E)을 훈련하게 된다.



머신러닝에서 사용하는 3가지 학습방법 [14]


지도학습 (Supervised Learning)


지도학습은 입력된 데이터에 대한 판단 결과가 명확히 주어진 경우 사용하는 방법이다.  아이들이 사물을 하나씩 익혀 나가는 과정을 보면, 사물을 실제 접하기 전에 그림책을 먼저 보는 경우가 많다. 한 아이가 자동차 종류에 대한 그림책을 보면서 승용차, 버스, 트럭에 대해서 알게 되었다. 이제 밖에 나가서 지나가는 차들을 보면서, “이건 승용차, 저건 버스” 라고 배운 지식을 활용하게 된다. 갑자기 도로에 견인차가 지나가게 되면, 아이는 이전에 배운 트럭과는 다른 모습을 보면서 “저건 트럭인가요?” 하고 묻게 될 것이다.


비지도학습 (Unsupervised Learning)

 

비지도학습은 입력된 데이터에 대한 판단 결과가 명확하게 주어지지 않은 경우 사용한다. 답이 정해져 있지 않기 때문에 하나의 결과를 도출할 수 없기에 주로 군집분류(Clustering)에 사용하는 방법이다. 가령, 서울로 출퇴근 하는 사람들의 이동 경로 데이터만을 알고 있는 경우, 기계가 스스로 학습하면서 이들의 사는 지역, 출근 지역을 구분하게 된다. 군집분류 예제 중 하나는 아이리스(Iris data set) 꽃 분류 문제다[15]. 아이리스 꽃 분류 문제는 150개의 꽃 이미지를 꽃받침(Sepal)의 길이와 폭, 꽃잎(Petal)의 길이와 폭 등 네 가지 특징을 이용해서 총 세 종류의 꽃(Iris Setosa, Iris Versicolour, Iris Virginica)으로 군집분류하는 것이다. (실제 데이터에는 꽃 종류 이름이 주어져서 지도학습으로도 사용되지만, 특징만 가지고 꽃의 종류를 군집분류 하는 비지도학습으로 많이 사용된다.) 지도학습은 입력된 자료 A에 대해서 A이다 라는 답(Label)을 주고 A가 A임을 알 수 있도록 스스로 학습 하는 것이다. 이에 비해 비지도학습은 A와 B의 두가지 입력된 자료가 있는데 이 둘이 A인지 B인지 모르고 단지 둘의 차이를 스스로 학습해서 ‘다르다’라고 군집분류하는 것이다.  


강화학습 (Reinforcement Learning)


강화학습이란 주어진 문제의 답이 명확히 떨어지지는 않지만, 결과에 따라서 보상(Reward)과 손실(Penalty)이 주어진다면 이를 통해 보상을 최대화 하는 방향으로 진행하도록 모델을 학습하는 방식이다. 입력된 데이터에 대한 답이 명확하게 주어지지 않는다는 점에서 비지도학습과 유사하지만, 결과를 통해 피드백을 받아 이를 학습에 반영한다는 것이 기존의 학습방식과 다르다. 강화학습은 주로 게임을 플레이 하거나 전략적인 판단을 통해 방향을 설정할 때 활용되는 방식이다. 강화학습으로 해결할 수 있는 쉬운 예제를 들면 ‘퐁’ 게임을 학습하는 경우를 생각할 수 있다. 퐁 게임은 양쪽의 바(Bar)를 상하로 움직이면서 공을 받아 내는 게임이다. 공을 받아치지 못하면 상대방이 득점을 하게 된다. 머신러닝으로 퐁 게임을 학습 하는 경우 플레이 결과에 따라서 받게되는 보상(Reward)이 주어지게 된다. 기계학습은 이렇게 주어진 보상을 프로그램이 최대로 달성할 수 있도록 이루어지게 된다[16].


강화학습 방법으로 학습 가능한 Pong Game


특징 설계가 필요한 머신러닝

빅데이터 시대가 도래하고 SVM(Support Vector Machine), RBM(Restricted Boltzmann Machine)같은 방법론이 발전하면서 머신러닝은 AI연구 분야를 주도하게 된다. 하지만, 머신러닝의 발전에도 한계가 있었는데 바로 ’특징 설계’(Feature Engineering)의 문제다.

가령 머신러닝을 이용해 사람 얼굴 이미지 인식을 하는 경우 검은색은 머리고, 눈은 동그랗고, 얼굴의 윤곽은 이미지의 밝기 차이로 구분하는 등 각각의 특징을 통해 다른 사물과 사람 얼굴을 분류하게 된다. 일반적으로 볼 수 있는 사람들의 얼굴로 학습을 진행한 기계에 녹색으로 페이스 페인팅(Face Painting)을 한 사진을 입력한다면 우리는 금방 사람의 얼굴이라고 생각하지만, 기계는 사전에 분류된 얼굴색의 특징과 다르기 때문에 분류에 실패하게 된다.

머신러닝 분류 성능은 사전에 정의된 특징(Feature)과 특징의 중요성을 나타내는 가중치(Weight)를 어떻게 주는냐에 따라 좌우된다. 이렇게 특징을 사전에 정의하는 것은  학습하고자 하는 영역(Domain) 마다 다르게 나타난다. 머신러닝 성능을 높이기 위해서 이미지, 영상, 음성, 텍스트 등 각각의 도메인 별로 특징 설계는 어려운 과제 중 하나였다. 리처드 코엘료(Richert Coelho)가 기술한 책 ‘Building Machine Learning Systems with Python’에서 ‘특징 설계’에 관한 챕터를 보면, "잘 선택된 특징으로 만든 간단한 알고리즘이 그다지 잘 선택되지 못한 특징의 최신 알고리즘 보다 좋은 결과가 나온다"고 하고 있다. 결국 머신러닝 성능은 얼마나 효과적인 특징을 찾아내느냐에 따라 달려있다고 할 수 있다. 따라서 머신러닝으로 학습을 할 경우 데이터의 영역(Domain)에 따라서 데이터의 특징 설계를 할 수 있는 전문가들이 필요하다.



딥러닝 (Deep Learning)

인간 뇌의 정보처리 방식을 흉내낸다


2012년 ‘이미지넷’(ImageNet)의 이미지 인식 경연대회에서 AI 연구 분야의 흐름을 바꾸는 일이 벌어졌다. 이미지넷은 인터넷의 각 이미지에 이름표를 달아주는 크라우드 소싱프로젝트다. 2010년 부터  ‘Imagenet Large Scale Visual Recognition Challenge’(ILSVCR)[17]라는 경연대회를 통해 전세계의 연구 그룹들이 각자의 이미지 인식 기술을 겨루고 있다. 대회 중의 한 분야는 이미지 인식을 통해 1000개의 사물을 구분하는 것이다. 참여 팀들은 알고리즘 기술을 통해 하나의 이미지에 다섯 개의 사물 명칭(Label)을 제시하고 이를 평가하여 정확도를 측정한다.


2012년도 대회에서 토론토대학교의 제프리 힌튼 교수팀의 ‘SuperVision’은 ‘Large, Deep Convolutional Neural Network’이라는 알고리즘을 이용해 이미지를 인식했다. 딥러닝 알고리즘의 일종인 CNN을 사용한 힌튼 교수팀은 기존의 방법론을 뛰어넘는 혁신적인 성과를 보여주었다. 2011년도의 1위팀과 2위팀의 오류률 차이는 1위(25.7%)와 2위(31.0%) 에서 2012년도 'SuperVision'은 16.4% 로 2위팀의 26.1%와의 큰 차이로 우승하게 된다[18,19].


인간의 뇌는 뛰어난 정보처리 시스템이다. 시각, 후각, 촉각, 청각, 미각 등 다양한 감각 기관으로 입력된 정보를 종합적으로 판단해 즉각적인 반응을 내놓게 된다. 수 많은 뉴런들의 연결로 구성되어 있는 뇌의 구조를 ‘신경망'(Neural Network)이라고 한다. 하나의 뉴런은 다양한 뉴런들과 연결되어있고, 시냅스(Synapse)를 통해 신호를 주고 받으며 정보를 전달하게 된다. 뉴런에 임계치(Threshold) 이상의 신호가 입력되면, 그 뉴런은 활성화(Activation)되면서 시냅스를 통해 신호를 전달하고 임계치를 넘지 않은 경우 뉴런이 활성화 되지 않아 신호가 전달되지 못한다. 딥러닝은 뇌의 정보 전달 방식과 유사하게 신경망 구조를 여러 층으로 깊이(Deep)있게 구성하여 학습을 진행하는 것이다.



Deep Neural Network 구조 [20]



가령 여러 사진에서 고양이 이미지를 인식하는 학습을 진행한다고 가정해보자[21]. 기존 머신러닝 방법론에서는 특징 설계를 통해서 다른 동물과 고양이의 얼굴을 잘 구분할 수 있는 특징을 사전에 추출(Feature Extraction)하고 추출된 특징을 바탕으로 분류하며 학습을 진행한다. 하지만, 딥러닝은 정보를 구분할 수 있는 최소한의 단위, 이미지의 경우 픽셀 데이터를 입력하면, 입력된 값과 출력된 결과물의 오차가 최소화 되는 방향으로 네트워크가 스스로 학습한다. 중간에 특징 추출 과정이 사라지고 입력과 출력의 데이터만 주어지면 학습을 할 수 있기 때문에 ‘End to End’(E2E) 학습이라고도 부른다.


‘인공신경망’(Artificial Neural Network)의 역사는 1940년대까지 거슬러 올라 간다. 프랭크 로젠블라트(Frank Rosenblatt) 코넬대 교수는 입력신호를 연산해서 출력하는 퍼셉트론(Perceptron)이라는 개념을 1957년에 제시했다. 퍼셉트론은 비선형연산에 대해선 작동하지 않는 한계로 금방 잊혀졌지만, 1980년대 퍼셉트론을 다층구조(Multi-layer)로 연결하면, 비선형연산도 가능하다는 사실이 발견됐다. 그러나 다시 ‘AI 겨울' 동안 관련 연구에서 완전히 배제됐다. 당시에는 어쩔 수 없는 시대적 한계가 있었다.


첫째, 층을 깊이(Deep) 있게 쌓아야 AI의 성능이 개선되지만, 계산할 양이 많아 지게 되고 이는 당시의 컴퓨팅 능력으로 극복하기 힘든 한계였다.

둘째, 층이 깊어 진다는 것은 층간의 연결 변수들이 증가한다는 것을 의미하는데 이는 학습을 통해 찾아야 할 미지수가 늘어나는 것을 의미한다. 우리는 중학교때, 변수가 두 개 x, y 인 연립 방정식에 대해서 배운다. 즉 두 개의 변수를 찾기 위해선 두 개의 방정식이 필요한 것처럼 찾아야할 변수가 늘어날수록 입력해야할 데이타가 많이 필요하다.

시간이 약이 되었을까? 2000년대에 이 두가지 문제가 해결되기 시작한다. 빅데이터 시대를 맞이하여 데이터는 넘쳐나기 시작했고, 컴퓨터 H/W의 성능 개선 뿐 아니라 병렬연산, GPU연산 등의 방법이 등장하면서 연산속도가 극적으로 개선되었다. 2012년 힌튼 교수팀 ‘SuperVision’이 사용한 모델은 65만개의 뉴런과 6000만 개의 변수, 6억3000만 개의 네트워크 연결로 구성되었다.

  


  딥러닝(Deep Learning) ‘Deep’의 의미는?

딥러닝(Deep Learning)의 ‘Deep’은 다양한 측면의 의미를 가지고 있다. 대부분의 AI연구자들에게는 인공신경망의 은닉층(Hidden Layer)이 2개층 이상인 경우 Deep(깊은)이라고 생각한다. 이러한 정의는 2개층 이상으로 신경망을 구성할 때, 성공적인 학습과 예측을 수행한다는 것을 의미한다. 실제 2012년 ‘SuperVision’팀이 사용한 신경망은 7개의 은닉층을 가지고 있었다. 최근 이미지 인식 연구에서 마이크로소프트 연구팀 ‘ResNet’ 모델은 무려 150개의 은닉층을 사용해서 예측 정확도를 높였다(오류율 3.57%)[22]. 또 다른 의미로 딥러닝(Deep Learning)은 ‘심화학습’을 뜻하기도 한다. 인공신경망 학습에서는 인간이 수행하는 특징설계가 필요치 않기 때문에 기계가 스스로 입력된 데이터의 특징을 찾기 위한 학습 과정을 거친다. 이러한 과정을 심화학습이라고 표현할 수 있다. 인공신경망 연구가 AI의 겨울을 끝내고 새로운 도약의 시기를 맞이할 수 있었던 이유는 데이터, 연결, 하드웨어 개선 등 여러가지 변수가 함께 새로운 시대를 열었기 때문이다.


인공지능 기술의 현재  


우리는 2016년 이세돌을 이긴 알파고를 AI의 대명사로 생각하고 있다. 딥러닝 방법론이 AI 연구에서 뛰어난 성과를 보이기 시작한 이후 다양한 분야에서 인간지능에 도달했거나 혹은 인간을 뛰어넘는 AI들이 출연하고 있다.


인간을 넘어서는 AI시대가 오고 있다.

최근 카네기멜론 대학 연구팀에서 만든 AI 프로그램은 ‘텍사스 홀덤 포커 게임’에서 세계챔피언을 이겼다[23]. 텍사스 홀덤 게임은 미국에서 가장 많이 즐기는 포커 게임으로 매년 수십억원의 상금이 걸린 세계 대회가 열리고 있다. 포커는 운이 승패를 좌우하는 경향이 크다. 하지만 텍사스 홀덤 포커 대회는 여러번의 경기를 통해 가장 많은 게임 칩을 획득한 참가자가 우승하는 방식이다. 즉, 한번의 게임 승패 보다 전체적인 게임 운영 전략이 중요한 요소로 작용한다. 이기는 게임의 베팅을 높이고 지는 게임의 베팅을 낮추는 식의 전략적 판단이 필요한 것이다. 이러한 게임에서 AI가 세계 챔피언을 이겼다는 것은 특정 분야의 전략적 의사 결정까지도 일정 수준을 뛰어 넘었다는 의미다.

페이스북에 사진을 올려보면, 얼굴을 자동으로 인식, 이 사람이 맞는지 물어보며 자동 태그하는 기능을 경험할 수 있다. 페이스북이 2014년에 선보인 딥페이스(DeepFace)라는 기술로 사진에서 사람을 인식해 누구인지 알려주는 서비스다. 2015년 구글은 페이스넷(FaceNet)이라는 얼굴 인식 시스템을 발표 했는데 연구 결과 99.96%의 인식률을 보여준다고 한다. 인간이 사진을 보고 사람을 구분하는 정확도가 평균적으로 97.53%임을 감안하면 인간보다 훨씬 높은 수준을 달성한 것이다. 특히, 인간의 경우 사진이 흐리거나, 조명이 너무 밝거나 어둡거나, 사진의 각도가 달라지게 되면서 얼굴의 일부분만 보이는 경우 오류를 범하기 쉽지만, AI는 대부분 높은 정확도로 얼굴을 인식하고 있다[24,25].


당뇨망막병증(Diabetic Retinopathy, DR)은 당뇨병의 합병증으로 발생하는 병으로 망막의 미세혈관 손상으로 실명에 이르게 되는 병이다. 전세계적으로 발생하는 실명의 원인 중 가장 높은 비중을 차지하고 있는 질병이다. 초기에 진단된 DR은 치료를 통해서 악화를 막을 수 있다. 기존에 고도로 훈련된 안과전문의들이 망막을 스캔한 사진을 직접 관찰하면서 진단했다. 구글 연구팀은 2016년 11월 AI가 97~98% 수준으로 DR을 진단할 수 있다는 논문을 발표했다. 구글은 AI를 훈련시키기 위해서 수년간 미국 전역의 병원에서 약 12만개의 안구 이미지를 분석했다. 이 기술은 DR의 초기 진단을 좀더 쉽고 편하게 이용할 수 있게 해주면서 많은 환자들을 치료할 수 있을 것으로 기대 되고 있다[26].


우리가 인지하지 못한 사이 이미 많은 분야에서 AI는 인간에 가깝거나 인간을 넘어서는 능력을 보이고 있다. 1997년도에 AI와 경쟁하여 체스를 이긴 마지막 인간이 러시아의 카스파로프(Kasparov)였다면, 바둑을 이긴 마지막 인간은 이세돌이 될 것이다. 이미 다양한 분야에서 인간의 감각기관중 시각, 청각을 대체하기 위해 AI가 사용되어 인간 수준의 지각 능력을 보여주고 있다. 또한, 복잡한 계산과 전략적 추론에서조차도 인간의 능력을 넘어서고 있다.

앞으로 우리는 ‘카카오AI리포트'를 통해 다양한 분야의 AI 사례들을 소개할 예정이다.




글 | 정수헌 noah.jung@kakaocorp.com
천체물리학자가 되기를 꿈꾸며 물리학을 공부했다. 하지만 금융 분석에 더욱 흥미를 느끼고 증권사에서 퀀트 애널리스트로 일했다.  한때 모바일게임 개발도 하고 다양한 경험을 쌓았다. 지금은 AI 기술을 대중들에게 쉽게 전달하기 위해 고민하고 있다.





[1] 참고 : http://www.thetalkingmachines.com/blog/?offset=1445518380000

[2] 논문 : McCulloch and Walter (1943): A logical calculus of the ideas immanent in nervous activity

[3] 논문 : Sternberg, R. J. (1985): Beyond IQ: A triarchic theory of human intelligence

[4] 논문 : A. M. Turing (1950) Computing Machinery and Intelligence. Mind 49: 433-460

[5] 참고 : https://www.dartmouth.edu/~ai50/homepage.html

[6] 참고 : 사이먼은 78년 노벨경제학상 수상가이고 뉴웰은 수학자로서 사이먼의 제자

[7] 참고 : http://history-computer.com/ModernComputer/Software/

[8] 참고 : http://stanford.edu/~cpiech/cs221/apps/deepBlue.html

[9] 책 : Russell, Norvig. Artificial Intelligence a Modern Approach 3rd Edition. Prentice Hall, 2010.

[10] 책 : 마쓰오 유타카. 인공지능과 딥러닝. 동아 엠앤비. 2016.

[11] 책 : Abbate, Janet. Inventing the Internet, Cambridge: MIT Press, 1999.

[12] 참고 : Harddisk Cost / MB - HDD 저장공간당 가격 http://www.mkomo.com/cost-per-gigabyte

[13] 책 : Mitchell, T. Machine Learning. McGraw Hill, 1997.

[14] 참고 : 앤드류 응 교수, 스탠퍼드 강연. https://forum.stanford.edu/events/2011/2011slides/plenary/2011plenaryNg.pdf

[15] 참고 : http://www.cs.upc.edu/~bejar/apren/docum/trans/09-clusterej-eng.pdf

[16] 참고 : http://karpathy.github.io/2016/05/31/rl/

[17] 참고 : http://cs.stanford.edu/people/karpathy/cnnembed/cnn_embed_1k.jpg

[18] 참고 : 2012년 이미지넷 결과, http://image-net.org/challenges/LSVRC/2012/analysis

[19] 논문 : ImageNet Classification with Deep Convolutional Neural Networks - Krizhevsky et al. 2012. NIPS

[20] 참고 : Deep Neural Network 구조.  http://stats.stackexchange.com/questions/234891/difference-between-convolution-neural-network-and-deep-learning

[21] 참고 : 구글의 ICML 2012 년 이미지 인식 발표 자료. https://static.googleusercontent.com/media/research.google.com/en//archive/unsupervised_icml2012.pdf

[22] 참고 : http://kaiminghe.com/icml16tutorial/icml2016_tutorial_deep_residual_networks_kaiminghe.pdf

[23] 참고 : http://www.digitaltrends.com/computing/texas-holdem-libratus-ai-defeats-humans/

[24] 참고 : http://www.dailymail.co.uk/sciencetech/article-3003053/Google-claims-FaceNet-perfected-recognising-human-faces-accurate-99-96-time.html

[25] 참고 : 2016년 기준 이미지 인식률, Facebook DeepFace (97.35%) 인간 (97.53%) Google (99.96% )

[26] 참고 : https://research.google.com/teams/brain/healthcare/

[27] 참고 : https://www.slideshare.net/LuMa921/deep-learning-the-past-present-and-future-of-artificial-intelligence

Deep Learning - The Past, Present and Future of Artificial Intelligence[27]


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari