모두의 인공지능 기초
이번 글에서는 인공지능 기술의 발전을 살펴볼 예정입니다. 먼저 내용을 요약한 인공지능의 역사에 대한 간단한 소개 영상(by EBS)을 하나 보고 시작해 보겠습니다.
이제부터 나름 간략(? 스압주의..)하게나마 인공지능의 역사를 인공지능 기초 교과서의 내용으로 한 번 빠르게 훑어보겠습니다. 참고로 인공지능의 역사는 딥러닝 단원에서 다시 한번 다룰 예정입니다.
인공지능(Artificial Intelligence)이라는 용어는 1956년 다트머스 회의에서 존 매카시가 제안했습니다. 당시 인공지능이 뜬금없이 갑자기 등장한 것은 아닙니다. 두 가지의 이유를 들 수 있는데요, 첫 번째는 컴퓨터의 발명입니다. 좀 더 자세하게 배경을 살펴보자면 2차 세계대전을 겪으면서 독일군의 암호를 해독하기 위해 수많은 경우의 수를 살펴보는 기계가 발명이 됩니다. 영국의 앨런 튜링은 자신의 의도대로 코딩(당시는 전선의 배열이었겠죠)을 하면 그대로 실행시켜주는 기계를 보면서 '기계도 생각을 할 수 있지 않을까?'라는 생각을 합니다. 그것을 확인하는 방법으로 '튜링 테스트'를 제안하기까지 하죠.
두 번째는 1940년대에 학계에 있었던 인공두뇌의 개발에 대한 가능성입니다. 뉴런의 신경 전달 방식을 본 따 인공 신경을 만들고, 그 신경들을 그물망처럼 연결하면 기초적인 뇌의 기능을 구현할 수 있다는 것을 미국의 일리노이 의대의 정신과 교수였던 맥컬록과 피츠가 이론적으로 증명했습니다. 이러한 발전 배경 속에서 존 매카시는 동료 6명에게 미국의 다트머스 대학에서 약 2개월 동안 '인공지능'에 대해서 연구할 것을 제안하죠. 그 연구 모임을 다트머스 회의라고 부릅니다.
사실 다트머스 회의에서 많은 성과가 있었던 것은 아닙니다. 최초의 인공 신경망은 다트머스 회의에서 탄생한 것이 아니라 코넬 대학의 심리학자였던 프랭크 로젠블랫(이름을 하도 다양하게 번역을 해서.. 전 로젠블럿이라고 지금까지 불렀습니다만)이 발명했습니다. 로젠블랫은 이론적으로 가능한 인공 신경망을 실제로 구현한 후 '퍼셉트론'이라고 불렀습니다. 퍼셉트론은 사람의 간섭이나 지도 없이도 도형을 인식하는 등 성과를 보였고 사람들은 열광을 했죠. (이 내용은 II-7. 딥러닝의 개념과 활용 시간에 좀 더 배웁니다.)
그러나 수학자 마빈 민스키와 페펄트가 퍼셉트론이 가지고 있는 한계를 증명을 했습니다. 다시 말해 퍼셉트론은 매우 제한된 영역에서만 기능을 할 수 있으며 일상생활의 대부분의 문제는 다룰 수 없다는 것이 판명되었습니다. 그러자 인공지능의 기대감은 나락으로 떨어졌습니다. 투자금은 모두 회수되었고 연구는 중단되었죠. 이를 '1차 인공지능의 겨울'이라고 부릅니다.
인공신경망으로 실패했던 사람들은 다른 방법을 다시 찾아보기 시작했습니다. 사람들은 어떻게 판단을 내리는지 살펴보며 '지식'을 바탕으로 판단을 내릴 수 있을 것이라고 생각했습니다. 지식을 컴퓨터에 입력하기 위해 '지식을 어떻게 표현할까?'에 대해 연구를 했습니다.
학자들은 지식을 규칙으로 표현했습니다. 그리고 입력한 정보들을 바탕으로 새로운 정보를 구하는 '추론'에 대해서 연구했습니다. 그런 연구 끝에 '전문가 시스템'이 만들어졌습니다. 실제 1970년 초 스탠포드 대학에서는 Mycin이라는 전문가 시스템을 구축했습니다. 이 시스템은 전염성 혈액 질환의 환자를 진단하고 처방하는 기능이 있었는데 약 500여 가지의 규칙이 포함되었다고 합니다.
그러나 전문가 시스템은 결과적으로 실패합니다. 크게 4가지의 요인을 들 수 있는데요,
- 규칙으로 설명하기 어려운 것들이 많음. (목소리, 형태 등과 같은 음성, 이미지 등)
- 전문가들이 규칙에 대해서 가지는 다양한 이견. 규칙이 있어도 합의에 이르기 어려운 경우도 많음.
- 규칙이 수정되거나 추가, 삭제될 때 시스템의 유지, 보수가 어려움.
- 비용은 많이 들지만 (전문가들은 비쌉니다..) 효과는 그다지.. 가격적 매리트 없음.
비록 전문가 시스템은 완벽하게 성공을 거두지 못했지만 명확하게 표현되고 법칙이 쉽게 바뀌지 않는 영역에서는 지금도 유용하게 활용됩니다. 대표적으로 맞춤법 검사를 예시로 들 수 있습니다. 하지만 사람들은 전문가 시스템의 한계를 직면하면서 다시 인공지능에 대한 기대가 차갑게 식고 맙니다. 이를 '2차 인공지능의 겨울'이라고 부릅니다.
딥블루는 IBM에서 만들었던 인공지능입니다. 실제 모양은 아래와 같은데 키가 약 2m에 달하는 슈퍼컴퓨터입니다.
이 슈퍼컴퓨터는 1997년 5월 11일 당시 체스 세계 챔피언이었던 카스파로프를 이깁니다. 6번의 대국에서 2승 3무 1패를 기록하는데요, 당시 딥블루는 세계에서 259번째로 성능이 뛰어난 컴퓨터였다고 합니다.
딥블루는 모든 경우의 수를 살펴보는 방법을 통해 체스를 진행해나갔습니다. 무작정 살펴봤다가는 무한루프 랙(...)에 걸릴 수 있으므로 효율적으로 경우의 수들을 검색하는 방법이 필요했습니다. 탐색은 크게 '맹목적 탐색'과 '경험적 탐색' 2가지를 들 수 있습니다. 데이터 구조 과목에서 배우는 깊이 우선 탐색, 너비 우선 탐색 등은 맹목적 탐색에 해당합니다. 이 방법들은 시간이 너무 많이 걸리기 때문에 경험과 정보를 활용하는 '경험적 탐색(휴리스틱 탐색)'으로 맹목적 탐색의 한계를 극복합니다. 탐색에 대한 내용들은 II-4. 탐색 단원에서 다룰 예정입니다.
당시 딥블루는 기계학습에까지 이르지는 못했습니다. 따라서 알파고와 같은 임팩트는 전혀 없이 그저 '놀란만 한 뉴스' 정도로 소개되었습니다.
2016년에 고3 담임을 하고 있었는데 당시 인공지능과 이세돌 9단이 바둑을 둔다는 소식을 들었습니다. 아니.. 이세돌이 누굽니까. 바둑 역사상 가장 직관적인 수를 잘 찾고 기가 막힌 묘수, 감각적인 느낌에서 역사상 최고라는 찬사를 받던 천재 기사였거든요. 기존 바둑계를 이끌었던 두터움과 끝내기의 달인 이창호 9단, 날렵한 행마의 조훈현과는 다르게 기존의 바둑 틀에 얽매이지 않았던, 때로는 이론에 어긋나더라도 과감하게 시도하는... 그런 직관의 끝판왕 이세돌 9단과 인공지능이 바둑을 둔다고요?
당시 저는 이세돌 9단의 완승을 확신했습니다. 왜냐면... 저에게 인공지능은 '딥블루' 시절에 머물러 있었기 때문입니다. 그러나 다들 잘 아시다시피... 알파고가 4승 1패로 완승을 거둡니다. 그것도 압도적인 내용으로.. 도대체 1997년에서 2016년까지 20년이 흐르는 동안 무슨 일이 있었을까요? 크게 3가지의 이유를 들 수 있습니다.
① 딥러닝의 완성
제프리 힌튼 교수는 1986년 다중 퍼셉트론을 연구한 끝에 학습에 성공을 거두었습니다. 그러나 학습이 늘 성공을 거둔 것은 아니며 미분 폭발, 과적합 등과 같은 사례를 잘 해결하지 못했습니다. 그로부터 약 20여년의 시간이 더 흘러 여러 연구(RBM 모델, DBN 모델)를 거친 끝에 딥러닝을 완성할 수 있었습니다. 알파고는 학습 능력이 있었기 때문에 딥블루와 달리 사전에 미리 기보를 학습(지도학습)하였고, 집을 많이 남겨서 승리하는 방향(강화학습)으로 인공지능을 신경망을 활용했습니다. 몬테카를로 알고리즘으로 확률적으로 경우의 수를 살펴보기도 했죠. 딥러닝이 완성된 것은 2012년 제프리 힌튼 교수에 의해서라고 할 수 있지만 본격적으로 일반인들에게 공개된 것은 이 때라고 해도 과언이 아닐 겁니다.
② 초고속 인터넷의 구축 : 분산 처리
예전 딥블루는 슈퍼컴퓨터였죠. 한대에 여러 칩들을 우르르..(약 2m 높이에 1.4톤의 무게로, 32개 마이크로프로세서에 16개씩, 총 512개 프로세서를 장착..ㄷㄷ) 그런데 알파고는 한 대의 슈퍼컴퓨터가 아니라 1202대의 컴퓨터를 네트워크로 연결해서 연산을 했습니다. 예전에는 이런 처리를 하고 싶어도 통신망이 구려서 못했지만 시대가 달라졌죠. 이제 '알파고 코드 빼라'라는 방식이 안 통합니다. 한 대의 컴퓨터가 멈춰도 다른 컴퓨터들이 연산을 나누어 처리합니다. 좀 더 자세한 내용은 뉴스를 참고해보세요.
③ HW의 발달
20년 동안 컴퓨터는 정말 놀랄 만큼 발달했습니다. 1997년만 하더라도 586이라고 불리던 펜티엄이 막 보급되던 시대였는데 20년 후에는 6세대 스카이 레이크 CPU가 나오고.. 비교가 안 되는 사양이었죠. 게다가 그래픽의 연산을 처리하는 GPU가 발전되었는데 이 GPU는 위에서 언급한 분산 처리에 가장 효과적입니다. 암호화폐 채굴 같은 곳에 그래픽 카드가 많이 쓰이는 이유가 수많은 계산을 CPU 혼자 하는 게 아닌 GPU에 나누어하는 것이 더 효과적이기 때문입니다. 1997년에는 그런 장비가 없었죠..
그때부터 일반인들도 인공지능의 놀라운 능력에 주목합니다. 그리고 곧 4차 산업혁명이라는 바람을 타고 인공지능, IOT, 자율주행 등의 기술들이 우르르 일상 속으로 들어옵니다. IOT도, 자율주행도 모두 DATA에 의존하는 인공지능이 핵심적인 역할을 차지하고 있죠.
현재의 인공지능은 해마다, 달마다 다릅니다. 작년에 열심히 인공지능 글을 쓰고 있을 때, 초고를 쓸 때와 퇴고를 할 때 검색되던 뉴스가 너무 달라져서 깜짝 놀리기도 했었어요..;
이렇게 달라지는 이유는 다양합니다. 가장 큰 이유로 인터넷상에서 생성되는 데이터도 증가하고, 데이터를 모아둘 수 있는 클라우드 환경도 발전한 것을 들 수 있습니다. (클라우드 환경이 생소할 수 있는데 데이터 센터에 자료를 저장해놓고 온라인으로 자유롭게 꺼내 쓰는 시스템이라고 정리할 수 있습니다. 구글 드라이브, 네이버 마이박스, 웹하드 등이 그 예시입니다.)
그리고 위 그림에서 생소한 단어들이 쏟아지는데요..;;
- 비지도 학습 : 컴퓨터에게 사람이 하나하나 설명하면서 가르치지 않아도 인공지능이 알아서 학습하는 방식입니다. 이 내용은 II-6 단원 기계학습의 개념과 활용에서 주로 다룰 예정입니다. 비지도학습을 쉽게 볼 수 있는 예시로 아이폰의 사진 자동 분류를 들 수 있습니다. (비지도 학습의 군집화)
- GPT-3 : 언어 인공지능의 예시 정도로만 알아둡시다! 자세한 소개는 차이나는 클라스 영상 추천!
- GAN : 적대적 생성 신경망(Generative Adversarial Networks)라고 하는데요, 두 가지 모델을 만들어서 하나는 가짜를 만들어내는 생성 모델, 하나는 진품과 생성 모델이 만드는 가짜를 판별하는 판별 모델을 각각 만든 후 서로가 서로를 계속 학습하게 만듭니다. 결국 생성 모델이 이길 때(진짜와 가짜가 구분되지 않을 때)까지 학습은 계속되고, 결국 모방이 완벽하게 이루어집니다. 차이나는 클라스 영상 추천드려요. ^^
이와 같은 인공지능에 딥러닝이 활용되고 있습니다. 이런 예시들을 보면 마치 딥러닝이 인공지능의 완성처럼 보이기도 해요. 하지만 인공지능 중에서 만능은 없습니다. 데이터의 특성, 목적, 활용 방법에 따라 알고리즘을 잘 골라야죠. 딥러닝은 학습에 시간도, 데이터도, 비용도 매우 많이 들어가므로 무조건 쓰는 것은 무리가 따릅니다.
인공지능은 한순간에 뚝! 떨어진 것이 아닙니다. 인공지능의 발전을 통해 수많은 시도와 실패, 실패를 극복하는 수많은 아이디어 등을 볼 수 있습니다. 게다가 인공지능과 컴퓨터의 역사가 거의 비슷하다는 것도 눈여겨볼만하죠.
사실 이 내용들은 한 번에 다 외우거나 기억하기는 어렵고.. 모르는 내용들과 용어가 쏟아지며 각 내용들이 정리가 잘 안 되기 때문에 낯설기도 해요. 여러 번 보면 서서히 익숙해집니다. ^^
그래서 요약하자면..
- 1950년대 : 용어 탄생. 처음 인공지능도 만들어짐. 그러나 한계 때문에 망함..;
- 1970년대 : 지식 잘 집어넣자. 전문가 시스템 탄생. 그러나 한계 때문에 망함..;
- 1997년 : 딥블루 등장. 인공지능이 탐색을 통해 성공한 듯 보이나 학습이 안됨. 한계..
- 2016년 : 알파고 등장. 이 놈은 찐이네. 인공지능 대단한데?
- 현재 : 뭐든 다할 것처럼 보여요. 딥러닝이 큰 역할 하는 중.
이 정도로 정리할 수 있습니다. (아니..글은 길게 써놓고 달랑 5줄??)
다음 글에서는 '4차시 : 인공지능의 사회적 영향'에 대해서 살펴보겠습니다.