인공 신경 회로망(ANN)의 완성, 딥 러닝
1편, 로봇 저널리즘(Robot Journalism)의 활약(https://brunch.co.kr/@bang1999/145)
2편, 이미 수준에 오른 인공지능의 작곡 능력(https://brunch.co.kr/@bang1999/147)
3편, 17세기 화가 렘브란트의 최신작을 접하다(https://brunch.co.kr/@bang1999/148)
4편, 창의성을 키우는 방법, TRIZ & SIT(https://brunch.co.kr/@bang1999/150)
(4편에 이어)
컴퓨터 용어 중에 알고리즘(Algorithm)이란 단어가 있습니다. 많이 들어보셨죠? 하지만 그 뜻이 무엇인지 정확히 설명해 보라면 답하기 어려울 겁니다. 알고리즘이란 ‘컴퓨터가 작동하기 위해 반드시 필요한 명령들로 구성된 일련의 절차 혹은 순서도’라 보시면 되는데요, 아주 간단한 예시이긴 하지만 아래 그림을 보시면 ‘아, 이거~’ 하실 겁니다.^^
그렇죠? 컴퓨터는 이런 알고리즘을 이용, 상황을 받아들이고 문제를 분석 그리고 해결까지 하게 됩니다. 위의 알고리즘은 지극히 단순하지만, 실제적으로 발생하는 수백, 수천가지의 상황을 여기에 추가하면 컴퓨터는 훨씬 더 어렵고 복잡한 일을 할 수 있게 되죠. 어떤 경우에는 인간의 머리로는 계산하기 불가능한 천문학적 수치까지도 짧은 시간 동안에 뽑아낼 수 있고요. 하지만 여기에는 분명하고 확연한 한계점이 존재합니다. 어떠한 알고리즘이라도 최종적으로는 인간이 설계하고 수정, 보완해 나가야 한다는 점이죠. 즉, 컴퓨터는 인간의 보조 도구로써만 기능할 수 있다는 겁니다. 인간의 머리와 손길이 닿지 않는다면 컴퓨터는 그저 바보 상자나 다름없다고 볼 수 있습니다.
그렇다면 혼자 알아서 문제해결까지 척척 해내는 인공지능은 어떻게 만들어지는 걸까요? 단순 컴퓨터와 인공지능의 차이점은 우리가 흔히 머신 러닝(Machine Learning, 기계 학습)이라 부르는 활동을 할 수 있느냐 여부로 나누어지게 되는데요, 머신 러닝을 다른 말로 바꾼다면 ‘기계 스스로 학습을 하는 것’이라 할 수 있습니다. 이 머신 러닝을 통해 컴퓨터는 비로소 인간의 두뇌에 가까워지기 시작하죠. 그렇다면 인공지능은 어떤 식으로 머신 러닝을 하는 걸까요? 분명 컴퓨터는 인간이 만든 알고리즘에 의해 움직인다 했는데 말이죠. 다음의 인용구를 읽어보면 어느 정도 감이 잡히실 겁니다.
컴퓨터가 방대한 데이터를 분석한 뒤 여기서 알아낸 통계적 관계를 바탕으로 스스로 프로그램을 작성하는 기법인 머신 러닝(기계 학습)은 빅데이터 속에 숨어 있는 모든 가치를 추출하는 과정에서 가장 효과적인 방법에 속한다. 머신 러닝은 보통 두 단계로 진행된다. 우선 알려져 있는 데이터로 알고리즘을 훈련시킨 뒤 새로운 데이터를 투입하여 유사한 문제를 해결시키는 것이다. 널리 퍼진 머신 러닝의 한 사례로는 스팸 메일 필터가 있다. 이 알고리즘은 과거에 스팸 또는 정상 메일로 분류된 수백만 통의 이메일을 처리하는 훈련을 받았을 것이다. 그 결과 대다수의 정크 메일이 자동적으로 걸러짐과 동시에 시간이 가면서 더 많은 사례를 겪음에 따라 소프트웨어는 스스로를 계속 개선해나간다. 같은 원리에 바탕을 둔 머신 러닝 알고리즘은 아마존닷컴에서는 책을, 넷플릭스에서는 영화를, 매치닷컴에서는 이성을 골라 추천해주기도 한다. 머신 러닝의 힘을 가장 생생히 보여준 사례 중 하나로는 구글이 도입한 온라인 번역 시스템이 있다. 여기서 구글이 적용한 알고리즘은 ‘로제타의 돌 접근 방식’이라고 할 만한 방식을 쓰는데, 여러 개의 언어로 번역된 수백 만 페이지의 텍스트를 분석하고 비교하는 것으로 문제를 해결한다. 구글의 개발팀은 우선 UN 공식 문서로 작업을 시작한 뒤 웹에까지 시선을 돌렸다. 웹이야말로 구글의 검색 엔진이 데이터에 굶주린 기계 학습 알고리즘에게 무수한 예문을 쏟아부을 수 있는 정보의 바다였다.
-- <로봇의 부상(마틴 포드 지음)> 중에서 --
<로봇의 부상>의 저자인 마틴 포드가 말하는 것처럼, 현재 가장 많이 쓰이는 인공 지능의 머신 러닝 방법은 빅 데이터를 활용하는 겁니다. 처음엔 인간이 설계한 알고리즘에 의해 문제를 해결하지만, 그 이후부터는 수 많은 데이터를 처리, 분석 그리고 비교하며 보다 더 나은 답을 찾아내는거죠. 그리고 그러한 답이 옳은 것이라 판단(빅 데이터 속에 답이 있다 할 수 있는데요, 수 백만가지 경우의 수 중에서 절대 다수가 동일한 패턴을 보인다면 인공지능은 그것을 답이라 보는거죠)되면 자신의 알고리즘을 변경, 개선해 나가는 겁니다. 소위 인공 지능으로써의 활동을 시작하는 것이죠.
위에 들은 예처럼, 구글에서는 인공지능을 활용, 웹 문서를 방문자의 언어로 번역할 수 있는 온라인 번역 시스템을 구축해 놓았습니다. 이는 전 세계 무려 10억 8천만개에 이르는 웹사이트 내의 문서를 교과서처럼 활용, 인공지능이 스스로 자신의 알고리즘을 계속 개선시켜 나갈 수 있기 때문에 가능한 일이라 할 것입니다. 물론 번역 품질면에서는 아직 부족한 것이 사실이긴 하지만, 채 1초도 되지 않는 시간에 문서 하나를 뚝딱 번역해 내는 능력과 점점 빨라지고 있는 머신 러닝의 속도를 감안한다면, 어느 시점부터 우리는 굳이 외국어를 배우지 않아도 인공지능이 알아서 해석까지 다 해주는 그런 세상을 만나게 될 것입니다.
사실 인공지능에 대한 연구는 꽤 오래 전부터 시작되었습니다. 1900년대 초중반 컴퓨터(당시는 컴퓨터라기보단 큰 계산기라고 봐야겠죠?)가 최초로 만들어지고 활용되기 시작하면서 과학자들은 인공지능을 꿈꾸었다고 해도 과언은 아니었죠. 그러면서 동시에 컴퓨터를 인간의 뇌처럼 만들 수 있다면 컴퓨터가 혼자서 사고(思考)하고 움직일 수 있을 것이라 생각했고, 그 결과 고안해 낸 것이 바로 ‘인공 신경 회로망(ANN, Artificial Neural Network)’였습니다.
인간의 뇌에는 무려 1,000억개의 신경세포 즉, 뉴런(Neuron)이 있다고 알려져 있습니다. 2개 이상의 뉴런이 연결되는 것을 시냅스(Synapse)라고 부르는데, 신경계(Nervous System)에서는 무려 100조 개가 넘는 시냅스가 존재하고 있죠. 이 시냅스를 통해 인간은 자율적 생각은 물론, 창의성까지 발휘할 수 있는 겁니다. 과학자들은 여기에 착안했죠. 인공적으로 뉴런 네트워크를 만들어 낼 수 있다면, 인공지능도 얼마든지 가능할 것이라고요. 그렇게 시작된 첫 번째 시도가 1940년대 후반이었습니다. 하지만 인공지능의 개발은 마음 먹은대로 진행되지 않았죠. 여러 가지 문제가 있었지만 가장 큰 이유는 속도때문이었습니다. 너무 느렸던거죠. 하나의 문제를 입력하고 그것이 해결되어 나올 때까지 며칠이 걸린다면, 게다가 그 문제가 인간이라면 5초 내에 풀 수 있는 것이라고 한다면, 인공지능이 무슨 필요가 있을까요? 그저 크고 비싼 장난감에 불과할 뿐이었겠죠.
딥 러닝(Deep Learning)과 빅 데이터(Big Data)의 콜라보레이션
기술상의 문제로 오랫 동안 답보 상태에 멈춰있던 인공 뉴런 네트워크는 2000년을 넘어오며 드디어 빛을 보기 시작합니다. IT 기술의 발달로 속도가 눈부실 정도로 빨라진데다가, 네트워트를 구성하는 새로운 기술이 발견되었기 때문이었죠. 이 새로운 기술은 인공 뉴런을 단일 평면상에 배치하는 것이 아닌, 여러 겹의 다층으로 구성함으로써 동시 다발적으로 네트워크가 작동하도록 만든 신개념의 기술이었습니다. 과학자들은 이 기술에 ‘딥 러닝(Deep Learning)’이란 이름을 붙였죠. 머신 러닝을 인공지능의 시작 단계라고 본다면, 이 딥 러닝은 인간지능이 본격적으로 인간처럼 생각할 수 있도록 만들어 주는 기반을 마련한 것이라 볼 수 있습니다. 이 기술을 통해 인공지능은 앞으로 나아가기 위한 추진력을 얻었다고 해도 과언은 아닐 겁니다.
여기에 더해 빅 데이터는 인공지능에 날개를 달아준 격이라 할 수 있습니다. 단순한 머신 러닝만 가지고는 배우고 익히는데 한계를 가질 수 밖에 없었던 인공지능이 딥 러닝을 장착함으로써 비로소 엄청난 정보의 바다를 수영장 노닐 듯 유유히 헤엄쳐 다닐 수 있게 된 것이죠. 2012년 구글에서는 딥 러닝 기술을 적용하기 위해 1만 6천대의 컴퓨터와 10억 개 이상의 신경 네트워크를 구성함으로써, 유튜브에 등록된 수 억개의 동영상 중에서 따로 고양이만을 인식해 내는데 성공했다고 합니다. 페이스북 또한 2013년말 딥 러닝 기술을 활용, ‘딥 페이스’란 얼굴인식 소프트웨어를 개발하여 전세계 사람들의 얼굴을 97.25%(인간의 경우는 97.53%)의 정확도로 구분해 낼 수 있게 되었는데요, 이때 사용된 사람들의 얼굴 이미지는 그들이 보유한 엄청난 수의 페이스북의 사진을 활용했겠지요? 이러한 예는 딥 러닝과 빅 데이터의 콜라보레이션이 만들어 낸 멋진 작품이라 할 수 있을 겁니다.
(6편에서 계속)
Mail : bang1999@daum.net
Cafe : http://cafe.naver.com/ecolifuu(경제/인문 공부, 독서)