유신의 "내일의 소프트웨어"

소프트웨어는 피시(PC) 밖에 더 많다. 스마트폰에서, 연구실 시뮬레이션에서, 위험관리 시스템에서…, 소프트웨어가 사회를 움직인다. 그러나 정작 우리는 소프트웨어에 관해 얼마나 많은 이야기를 알고 있을까?

강한 인공지능, 약한 인공지능

(4) 인공지능이란 대체 뭔가?


AI1.jpg » <그림 1> 영화 <프로메테우스>가 낳은 아이콘인 인공지능 로봇 데이빗. 출처/ 영화 <프로메테우스>



마 전 개봉한 영화 <프로메테우스(Prometheus)>에서 외계 생명체만큼이나 사람들의 관심을 끈 것은 인공지능 로봇 데이빗이었습니다. 뛰어난 계산 능력과 무한에 가까운 기억력을 지녔지만 감정을 느끼지 못하기 때문에 서슴치 않고 잔인한 결정을 내리는 데이빗은 우리가 상상하는 인간형 로봇의 전형과도 같습니다. 정말 이런 로봇을 볼 날이 멀지 않은 걸까요? 연구가 시작된 1950년대 중반만 해도, 컴퓨터 과학자들은 인공지능의 가능성에 대해 극도로 낙관적이어서 “앞으로 10년 안에 사람처럼 생각하는 기계가 나타난다”는 선언이 몇 번이나 반복됐습니다. 하지만 60여 년이 지난 지금, 그런 낙관은 찾아보기 힘듭니다. 사실인즉 데이빗과 같은 수준의 인공지능은 지금으로서는 불가능하다고 말하는 것이 맞겠습니다.



지능은 대체 뭔가?

00dot.jpg

인공지능 연구의 큰 걸림돌은, 이상하게 들리겠지만, 정확히 무엇을 어떻게 만들어야 하는지 아무도 모른다는 점입니다. 무언가를 인공으로 만들려면, 일단 자연에 존재하는 대상을 속속들이 이해해야 합니다. 다시 말해 인공지능을 만들려면 우선 지능이 뭔지, 어떻게 동작하는지 이해해야 한다는 것입니다. 하지만 인공지능을 그저 “사람처럼 생각하는 기계”보다 더 자세히 묘사하는 것은 꽤 어려운 일입니다.


종료 문제로 이미 우리에게 친숙한 앨런 튜링은 기계가 “생각할 수 있는지”를 확인하는 검사를 제안했는데, 이것이 바로 유명한 튜링 테스트입니다. 재미있는 것은 이 검사가 ‘서술적’이라기보다는 ‘선언적’이라는 점입니다. 튜링 테스트에 따르면, 인공지능과 대화하는 시험관이 지금 대화하는 상대가 기계인지 사람인지 전혀 구분할 수 없을 때 해당 인공지능이 검사에 합격한 것으로 합니다. 결국 튜링은 기술적인 세부 사항을 논하는 대신 “사람이 전혀 이상한 점을 느낄 수 없다”는 고차원적인 조건을 “생각한다” 의 충분조건으로 삼은 셈입니다.  이후에 진행된 인공지능 연구에서는 사람과 동격으로 자유로운 사고를 할 수 있는 인공지능을 ‘강(强)한 인공지능(strong AI)’라고 부릅니다.



계산주의

00dot.jpg

물론 인공지능 연구자들의 1차 목표는 ‘강한 인공지능’이었습니다. 사람처럼 생각하는 기계! 그런데 학자들답게(?) 이들이 기계에게 처음으로 가르치려고 했던 것은 논리와 기호였습니다. 지능이란 결국 복잡한 계산에 다름아니고, 따라서 계산 능력을 이용해 논리적 추론을 하는 방법을 가르치고 세상만물을 컴퓨터의 메모리에 올바른 기호로 저장(기억)하면 컴퓨터가 자동으로 세상에 대해 “사고” 할 수 있다는 것이 이른바 계산주의입니다.


계산주의자들이 처음에 촛점을 맞춘 “지능”이란 이를테면 다음과 같은 질문에 예/아니오로 답하는 능력입니다.


빨간 상자 위에 노란 상자가 놓여 있다. 노란 상자 위에 파란 상자가 놓여있다. 파란 상자는 빨간 상자보다 위쪽에 있는가?


이 질문에 답하려면 상자라는 물체와 X가 Y의 “위에 있다”는 관계를 기호로 저장하는 능력, “위에 있다”는 관계가 이행적(transitive)이라는 지식, 그리고 두 개의 이행적 관계를 논리적으로 연결하는 능력 등이 필요합니다. 물론 이것 자체는 지능이라고 보기에는 하찮은 능력입니다. 계산주의자들의 이상은 이런 질문에 답할 수 있는 자그마한 알고리즘을 조합하면 모든 문제를 풀 수 있는 궁극적인 알고리즘, 곧 “지능”에 도달할 수 있다는 것입니다. 계산주의자들에게 사람처럼 생각하는 기계란 예컨데 체스 규칙을 입력하면 사람과 동등한 경기를 할 수 있는 기계입니다1).


불행히도 이들의 이상은 이루어지지 않습니다. 계산주의자들의 인공지능 연구는 논리체계를 프로그래밍으로 다루는 응용 분야에 많은 성과를 남겼지만, 강한 인공지능을 만드는 데에는 실패했습니다. 계산주의에 대한 가장 중요한, 그리고 매우 철학적인 비판은 바로 기계의 기억장치 안에 “세계”를 100퍼센트 “기호”로 구성하는 것은 불가능하다는 지적입니다.


매서추세츠공대(MIT)에서 로봇공학을 연구했던 로드니 브룩스(Rodney Brooks)와 철학자 존 설(John Searle) 등이 1980년대 중후반부터 “주변 환경과 상호작용하는 생물학적 메카니즘을 제외한 채로 인공지능을 이야기할 수 없다”는 비판을 주도했습니다. 브룩스는 “코끼리는 체스를 두지 않는다(Elephants don‘t play chess)”라는 유명한 논문에서 “기호를 통한 논증보다 실제 세계와 상호작용하는 것이 훨씬 더 어렵다”는 주장을 펼칩니다. 결국 인공지능은 완벽하게 만들어진 채로 탄생할 수 없으며, 인간과 마찬가지로 학습 능력을 가지고 태어나 세상과 교류하며 스스로 지능을 채워나가야 하는데, 정말 어려운 부분은 논리가 아니라 학습인 것입니다.



연결주의

00dot.jpg

계산주의가 사실상 실패를 맛본 뒤 인공지능 연구에 등장한 또 하나의 큰 흐름은 바로 연결주의입니다. 지능의 기능을 계산으로 파악하는 데서 시작한 계산주의자와 달리 연결주의자는 지능을 담은 두뇌의 물리적 구조에 주목했습니다. 생물 수업시간에 배웠다시피 인간 두뇌는 수많은 뉴런들이 시냅스를 통해 연결된 신경망입니다. 연결주의자들은 이 구조를 컴퓨터 프로그램을 통해 복제하는 데에서 시작했고, 이렇게 탄생한 것이 바로 인공신경망(Artificial Neural Network)입니다.


인공신경망은 기본적으로 뉴런의 역할을 하는 프로그램 노드(node) 여러 개를 연결한 그물망입니다. 그물망의 한 쪽 끝에는 두뇌가 신경에서 자극을 받듯이 외부에서 입력을 받는 노드들이 있습니다. 그물망으로 연결된 노드 각각은 자기가 받은 입력값에 조금씩 변화를 가한 다음 자기와 연결된 다음 노드로 전달합니다. 그물망의 반대쪽 끝에는 두뇌가 근육에 자극을 보내듯 전달된 값을 외부로 출력하는 노드들이 있습니다. 입력값이 그물망을 통과하면서 여러 개의 노드가 가한 변화에 의해 출력값으로 전환되는 것이 인공신경망의 기본 작동 원리입니다.


AI2.jpg » <그림 2> 자연신경망 (a)와 인공신경망 (b)의 비교. 자연신경망이 감각기관으로부터 받은 입력에 반응해서 근육을 움직이는 출력값을 내놓듯, 인공신경망 또한 주어진 입력값에 반응해서 출력값을 내놓는다. 공을 받는 행위가 훈련을 통해 숙련되듯, 인공신경망도 학습을 통해 기능을 갖춘다. 그림/ 유신


연결주의와 인공신경망이 가져온 패러다임의 변화는 바로 “학습”의 역할을 부각하는 것입니다. 노드를 서로 연결만 한다고 해서 신경망이 저절로 지능을 가질 리는 없습니다. 일단 인공신경망을 구성하고 나면 이미 알려진 입력/출력 짝을 여러 개 이용해서 그물망으로 연결된 노드들을 학습시켜야 합니다. 여기서 학습이란 신경망이 출력하는 값과 알려진 출력값이 비슷해질때까지 각각의 노드가 하는 역할을 조금씩 조정하는 것입니다. 신기하게도 학습이 끝나면 신경망은 처음 보는 입력값을 주어도 어느 정도 올바른 출력값을 계산할 수 있게 됩니다.


적절한 학습을 병행하면 인공신경망은 매우 복잡한 문제를 해결할 수가 있습니다. 한데 우리 모두 알고 있다시피 연결주의도 또한 강한 인공지능을 성취하지는 못합니다. 연결주의의 한계로는 크게 두 가지를 꼽을 수 있습니다. 첫째, 인간의 두뇌를 흉내내기에는 우리가 가진 컴퓨터의 성능이 터무니없이 모자랍니다. 얼마 전에 화제가 된 구글의 인공신경망2)이 할 수 있는 일은 강한 인공지능은 커녕 유튜브 동영상에서 고양이 얼굴을 인식하는 것이 전부였지만, 중앙처리장치(CPU) 1만6천개가 필요했습니다. 반면 인간의 두뇌는 1011개의 뉴런과 1014개의 시냅스 연결로 이루어져 있다고 추정합니다. 이런 둘의 규모를 비교하면 정말 우리가 현재 인공으로 구현한 것은 자연에 비해 조족지혈입니다.


둘째, 아이러니하게도 인공신경망은 도대체 그 속을 알 수가 없다는(?) 단점이 있습니다. 아무리 성공적인 인공신경망이라고 해도 사람이 개개의 노드를 들여다보고 “1번 노드는 이러이러한 작용을, 2번 노드는 이러이러한 작용을 한다”라고 관찰한 뒤, “따라서 이 인공신경망이 작동하는 방식은 이러이러하다”라고 일반화할 수가 없습니다. 기능이 각각의 노드에 있지 않고 연결망 전체에 있기 때문입니다. 작동만 하면 되지 왜 일반화를 해야하냐고 반문할 수 있겠으나, 유한한 학습 자료로 훈련시킨 신경망을 신뢰할 수 있는 유일한 방법은 그 작동기제를 일반화하는 분석 뿐입니다. 그렇지 않으면 어느날 듣도보도 못한 입력값이 들어왔을 때 인공신경망이 어떤 엉뚱한 대답을 할 지 전혀 예상할 수 없기 때문입니다.



이미 인간을 능가한 ‘약한 인공지능’

00dot.jpg

과연 여태 인공지능 연구에 쏟아부은 노력은 전부 헛된 것인가? 그렇지는 않습니다. “인간처럼 생각하기”를 목표로 하는 강한 인공지능과 달리, 지능의 범위를 조금 좁혀서 “특정한 문제를 인간처럼 풀기”를 목표로 하는 인공지능 연구 분야를 약(弱)한 인공지능(weak AI), 다른 말로는 좁은 의미의 인공지능(narrow AI), 또는 응용 인공지능(applied AI)이라고 합니다.  


일단 지능의 범위를 인간의 지능 전체가 아닌 특정한 문제를 푸는 작업으로 제약하고 나면, 약한 인공지능의 범주에 속하는 각종 기술은 다양한 분야에서 인간을 넘어서는 능력을 보여줍니다. 현재 알려진 프리셀(FreeCell) 카드게임의 최고 승률은 사람이 아니라 인공지능입니다. 반도체 기판 위에 수백만개의 트랜지스터를 어떻게 배치하는지를 결정하는 것, 벤츠에 장착된 에어백 컨트롤러가 정확한 타이밍에 작동하는지를 테스트하는 것 또한 인공지능의 몫입니다.


인공지능 프로그램이 내놓는 답은 종종 사람이 생각하기 힘든 것인 경우가 있는데, 딱히 더 창조적이어서라기 보다는 지치지 않고 대용량의 자료를 검토/계산할 수 있으며 사람처럼 편견이나 선입견을 가지지 않는다는 데서 기인하는 바가 더 큽니다. 재미있는 것은, 사람이 그냥 보아넘긴 부분을 상호보완해주기 때문에, “사람처럼 생각한” 결과보다는 “사람이 생각하기” 힘든 결과가 더 값진 경우가 종종 있다는 점입니다. 약한 인공지능과 그 실용적인 가치에 있어서는 튜링이 생각한 기준이 잘 부합하지 않는다고 하겠습니다.


과연 약한 인공지능이 “지능”이냐 아니냐 하는 문제는 공학이라기보다는 철학에 더 가까운 문제입니다. 하지만 사람이 직접 해결하려고 하면 엄두가 나지 않는 우리 주변의 많은 복잡한 문제를 컴퓨터들이 대신 풀고 있는 것 또한 사실입니다. 우리는 어떤 의미에선 이미 인공지능과 함께 살고 있습니다.

  • 구글
  • 카카오
  • 싸이월드 공감
  • 인쇄
  • 메일
유신 카이스트 교수, 전산학
소프트웨어 테스팅 연구로 박사학위를 받은 소프트웨어공학 연구자다. 진화 알고리즘과 인공지능 기술, 정보이론 등을 소프트웨어 공학 문제에 접목하는 데에 관심이 많다. 전 영국 런던 유니버시티칼리지 조교수, 현 카이스트 전산학부 조교수
이메일 : shin.yoo@kaist.ac.kr       트위터 : @ntrolls      
블로그 : londonforgeeks.tumblr.com

최신글




최근기사 목록

  • 검증불가능 프로그램, 어떻게 검증할 것인가?검증불가능 프로그램, 어떻게 검증할 것인가?

    내일의 소프트웨어유신 | 2013. 06. 28

    [6] ‘고차변형 테스팅’ 방법3차원으로 초신성의 핵을 시각화하는 컴퓨터 시뮬레이션. 이제는 천체물리학은 물론 과학 여러 분야의 연구 상당 부분이 컴퓨터 내부에서 벌어진다. 그런데 이 시뮬레이션 프로그램에는 과연 오류가 없을까? 초신성의 ...

  • “오류 존재를 보여도 오류 없음을 보일 순 없다”“오류 존재를 보여도 오류 없음을 보일 순 없다”

    내일의 소프트웨어유신 | 2013. 05. 24

    [5] 소프트웨어 테스팅과 ‘부족한 근사값’ 잠깐, 자신이 프로그래머라고 상상해 봅시다. 방금 회사의 다음 프로젝트 중 일부로 사용할 중요한 프로그램 하나를 작성했습니다. 상사에게 이 프로그램을 넘기기 전에 자신이 작성한 프로그램이 ‘제대로...

  • [연재] 해도 해도 끝이 없는 계산[연재] 해도 해도 끝이 없는 계산

    내일의 소프트웨어유신 | 2012. 06. 19

    (3) 소프트웨어가 도무지 해결하지 못하는 세 가지: 두 번째, P=NP? 조금 있으면 여름 휴가철이 다가옵니다. 그런데 산으로 혹은 바다로 떠나는 사람이라면 누구나 여행 전 날 자기도 모르는 사이에 매우 복잡한 수학 문제를 풀고 있다고 하면 ...

  • [연재] 완벽한 백신SW 불가능한 이유, 튜링은 알고 있다[연재] 완벽한 백신SW 불가능한 이유, 튜링은 알고 있다

    내일의 소프트웨어유신 | 2012. 05. 22

    (2) 소프트웨어가 도무지 해결하지 못하는 세 가지: 첫 번째 '종료 문제' 지난해 과학계를 뜨겁게 달군 과학 뉴스 중 하나는 바로 중성미자 입자의 속력이 빛보다 더 빠르다는 어느 관측실험 결과였습니다. 이에 많은 사람들이 놀라움과 의구심을 나...

  • [새연재] PC 파란화면에 무오류 수학의 이상은 흩어지고[새연재] PC 파란화면에 무오류 수학의 이상은 흩어지고

    내일의 소프트웨어유신 | 2012. 04. 17

    (1) 연재를 시작하며 소프트웨어공학(Software Engineering)이라는 이름을 들으면 무엇이 연상되나요? 아마 대부분의 사람들이 “정보기술(IT) 강국” 혹은 “정보화시대” 등을 떠올리리라 생각합니다. 혹 주변에 IT업계에 종사하는 지인이 있는 경우...