- 딥러닝 언어 모델 중 하나인 GPT-3는 다이얼 역할을 하는 매개변수가 1,750억 개나 있습니다. 인간의 뇌는 약 1,000 억 개의 뉴런을 갖고 있다고 하니 단순히 개수로만 따지면 이미 인공 신경망이 인간의 두뇌보다 더 복잡한 셈입니다. 물론 인공 신경망의 매개변수와 인간 두뇌의 뉴런이 같은 역할을 한다고 보기는 어렵습 니다. 게다가 뉴런을 연결하는 접합부인 시냅스는 100조 개나 있습 니다. 이 때문에 일각에선 매개변수도 100조 개는 되어야 인간과 비슷한 성능을 갖출 것이라고 주장하는 학자들도 있습니다. 물론 언젠가는 이 수치에 도달하는 거대한 인공 신경망이 등장하겠지만 중요한 점은 수많은 매개변수 중에서 한두 개쯤 작동 원리를 알아낼 수 는 있어도 모든 매개변수의 작동 원리를 이해하는 것은 불가능에 가 깝다는 겁니다.
인공지능 연구 초기에는 시스템이 왜 그런 결정을 내리게 됐는지 이유를 설명할 수 있어야 한다는 해석 가능성 Interpretability을 매우 중 요하게 생각했습니다. 이 때문에 논리적인 절차를 분석해 결정한 이유를 알아낼 수 있는 if-then 규칙 기반 시스템이 대세를 이뤘죠. 그러나 마이크로소프트의 연구소장 크리스 비숍Chris Bishop, 1959~ 은능 숙한 엔지니어가 인공지능의 추론 과정을 분석한다 해도 이제 의미 없는 일일 가능성이 높다고 얘기합니다. 왜냐하면 지금의 인공지능은 더 이상 인간이 해석할 수 있는 규칙을 거쳐 결론에 도달하는 것 이 아니기 때문이죠. 과거에 규칙 기반은 이해가 쉬웠지만 성능은 실망스러웠습니다. 지금처럼 뛰어난 성능을 내기 위해서라면 해석이 어려운 약점 정도는 받아들일 수 있다는 거죠.
- 2009년 구글의 인공지능 연구 디렉터인 피터 노빅 Peter Norvig. 1956~도 <믿을 수 없는 데이터의 효과 The Unreasonable Effectiveness of Data> 라는 유명한 논문에서 “많은 데이터를 가진 간단한 모델이 적은 데 이터를 가진 정교한 모델보다 더 뛰어나다"라고 주장했습니다. 머신 러닝의 대가인 스탠퍼드대학교의 앤드루 응Andrew Ng, 1976~ 교수 또 한 이 점을 동일하게 강조합니다. 이제는 데이터 중심으로 접근해 야 훨씬 더 좋은 성능을 낼 수 있다는 거죠.
2012년에 빅데이터는 거품 논란이 일었고, 꿰지 못한 서 말의 구 슬에 가까웠지만 오늘날 인공지능이 주목받고 있는 데는 빅데이터의 역할이 매우 큽니다. 인공지능의 성공은 데이터 증가의 성공이라 해 도 과언이 아닐 정도죠. 데이터의 양이 증가하자 '믿을 수 없는 데이 터의 효과'가 나타나 놀랄 정도로 정확도를 높일 수 있었습니다. 빅 데이터가 아니었다면 이룰 수 없는 성과였죠.
- 2015년 가을에는 구글이 텐서플로TensorFlow라는 프로그램을 공개 했습니다. 구글 내부에서 사용하던 딥러닝 라이브러리를 오픈소스 로 공개한 것으로, 복잡한 신경망을 쉽게 구현할 수 있고 확장성도 뛰어나 공개 이후 폭발적인 인기를 끌게 됩니다. 뒤이어 페이스북에서 파이토치PyTorch라는 딥러닝 프로그램을 오픈소스로 공개했으며, 매우 직관적인 방식으로 복잡한 모델도 이해하기가 쉬워서 연구 자들이 논문을 쓸 때 가장 많이 활용하는 프로그램이 되었죠. 지금은 두 프로그램을 이용한 수많은 딥러닝 응용 서비스가 나와 있습니다. 이 책에서 살펴볼 알파고, 스마트 스피커, 기계번역, 챗봇 같은 서비 스 또한 모두 텐서플로 또는 파이토치로 구현합니다. 이 모든 것이 오픈소스의 힘이죠. 지금은 고등학생도 쉽게 딥러닝 애플리케이션을 만들 수 있을 정도로 쉽고 편리한 무료 오픈소스 프로그램들이 많이 나와 있습니다.
- 먼저 정책망을 살펴봅시다. 정책망은 사람이 만든 기보를 이용 해 학습합니다. 학습에 사용한 데이터는 KGS라는 바둑 사이트에서 가져왔으며, 6단 이상인 고수의 기보만 사용했습니다. 얼핏 생각하 기에 9단 기사의 데이터를 사용하면 가장 바람직하겠지만 그러기에 는 데이터의 수가 너무 부족했습니다. 알파고 개발팀은 데이터의 수 가 충분하면서 좋은 기보의 수준을 6단으로 정한 거죠. 각 데이터는 바둑판의 상태와 해당 상태에서 실제로 다음번 바둑알을 둔 곳의 위 치를 함께 쌍으로 구성되었고, 정책망은 약 16만 회의 게임에서 총 3,000만 수를 가져와 학습했습니다. 학습을 마친 정책망은 바둑판의 현재 상태 정보를 입력값으로 했을 때 361개의 바둑 칸 중 어디에 돌 을 내려놓을지 확률을 계산해 리턴합니다. 즉 361명의 후보 중 당첨 가능성이 가장 높은 후보를 골라내는 것과 비슷하죠.
- 이렇게 했을때 정확도는 57% 정도라고 합니다. 정답을 가려놓고 “상대는 어디에 둘 것 같니?"라고 물어봤을 때 정답을 맞힐 확률이 57% 정도 된다는 얘기죠? 아주 높은 수치는 아닌데, 이게 꼭 나쁜 것만은 아닙니다. 제아무리 고수라 할지라도 그가 두는 모든 수가 항 상 최고라고는 할 수 없기 때문입니다. 즉 알파고는 인간 고수의 방 법을 절반 정도 배운 셈이라 볼 수 있습니다. 이때 알파고의 수준은 5단 정도에 불과했습니다. 6단 이상의 데이터로 학습했는데 최종 결 과물은 오히려 5단인 이유는 바둑 기사들의 기풍 때문입니다.
예를 들면, 이창호 기사는 치밀한 계산에 기반한 수비 바둑을 구 사하는 반면, 이세돌 기사는 공격적이고 창의적으로 바둑을 둡니다. 이처럼 워낙 다양한 플레이어의 전략이 뒤섞이면 오히려 전체적인 실력은 더 떨어집니다. 게다가 바둑의 모든 국면을 학습할 수는 없기 때문에 학습하지 않은 국면을 마주했을 때는 실력이 현저히 떨어집 니다. 그래서 알파고는 이를 보완할 수 있는 다양한 방법을 찾아나섰 니다.
우선, 각각의 상황에 따라 정책망 3가지를 만들었습니다. 첫째 망 은 바로 앞서 살펴본 사람의 기보를 이용해 학습한 정책망(이하 '기보 학습 정책망)입니다. 둘째 망은 '롤아웃 정책망입니다. 롤아웃 정책 망은 기보학습 정책망과 비슷하지만 훨씬 작고 가벼운 망입니다. 훨 씬 작게 만들었기 때문에 첫 번째 망보다 약 1,500배 정도 빨리 수를 둘 수 있습니다. 즉 첫째 망이 한 번 착점할 시간에 롤아웃 정책망은 1,500번을 착점할 수 있는 거죠. 당연히 성능은 떨어집니다. 첫째 망 도 정확도가 57%로 높은 편이 아닌데, 롤아웃 정책망은 고작 24%에 불과합니다. 하지만 계산 속도가 빠르기 때문에 탐색을 빠르게 진행할 때 많은 도움이 됩니다. 뒤에서 몬테카를로 트리 탐색 알고 리즘을 적용할 때 롤아웃 정책망이 얼마나 유용한지 다시 한번 살펴 보도록 하겠습니다. 이제 마지막으로 남은 망은 바로 알파고의 핵심 인 스스로 대국하며 강화학습을 수행한 정책망(이하 '강화학습 정책망' 입니다.
이 망은 알파고끼리 대국을 치르면서 스스로 실력을 향상하는 망 입니다. 무작위로 바둑을 두게 되면 제대로 된 대국 경험을 쌓기 가 힘드므로 시작은 기보학습 정책망을 활용합니다. 즉 미리 사람 의 기보를 이용해 학습한 정책망을 이용해 어느 정도 기본 실력을 쌓게 한 다음 스스로 바둑을 두면서 계속해서 실력을 향상하는 거 죠. 실력을 향상하는 기준은 간단합니다. 경기에서 이기면 승리한 측의 모든 수의 점수가 더욱 강화되는 형태입니다. 그래서 강화학습 Reinforcement Learning- 으로 부르는 것이죠. 
- 또 다른 종류의 망은 바로 가치망입니다. 가치망은 앞서 살펴본 정책망과 구조가 조금 다릅니다. 훨씬 더 단순하죠. 가치망은 현재 국면에서 승패 여부를 예측하는 망입니다. 앞서 소개한 정책망들이 361개의 바둑 칸 중 수를 둬야 할 한 지점을 골라내는 신경망이라면 가치망은 오로지 승리할 가능성만을 계산합니다. 확률로 표현해서 50%가 넘는다면 승리할 가능성이 높은 국면이고, 50%가 넘지 않는다면 패배할 가능성이 높은 국면인 거죠. 알파고는 여러 정책망 중에서 가장 실력이 좋았던 강화학습 정책망끼리의 대국을 활용했 습니다. 서로 3,000만 번의 대국을 두게 하고, 각 경기에서 한 장면 씩 3,000만 장면을 추출해 해당 국면 이후에 누가 이겼는지를 학습 했습니다. 만약 74%라는 확률이 나왔다면 현재 국면에서 강화학습 정책망끼리 대국을 벌이면 승리할 확률이 74%라는 얘기입니다.
이처럼 승리할 가능성이 높은지, 패배할 가능성이 높은지를 확률 로 표현한 것이 바로 가치망이며, 이는 알파고의 가장 혁신적인 성 과 중 하나입니다. 알파고는 강화학습을 활용해 지금까지의 바둑 인 공지능이 감히 만들어내지 못한 게임의 판도를 판단할 수 있는 정교 한 방법을 마침내 찾아낸 거죠.
- 이제 레이더와 라이다의 장단점을 비교해서 정리해봅시다. 전 자파를 이용하는 레이더는 장거리 측정이 가능하고, 물체 내부까지 도 감지할 수 있습니다. 날씨의 영향도 거의 받지 않죠. 하지만 물체 의 거리나 방향, 모양이나 구조는 제대로 파악하기가 어렵습니다. 반면 빛을 이용하는 라이다는 정확하게 물체를 인식하고 밀도 있게 표 현해낼 수 있지만 거친 날씨에 영향을 받고, 장거리 측정은 정확도가 현저히 떨어집니다.
- GPS가 터널에 들어가면 작동하지 않는 것처럼 당시 라이다에도 치명적인 문제가 있었습니다. 불과 30m 앞까지만 감지할 수 있었던 거죠. 이 말은 스탠리가 고속으로 주행하기는 어렵다는 얘기였습니다. 당시 대회에는 지그재그 형태의 도로가 많았기 때문에 무턱대고 속도를 높일 수 없는 환경이었지만 그렇다고 항상 안전한 속도로만 주행하면 승리를 장담하기 어려웠죠. 스탠퍼드 레이싱팀 은 스탠리가 라이다의 범위를 넘어서는 구간을 파악할 방법을 찾기 시작합니다. 그리고 정답은 의외로 쉽게 찾을 수 있었습니다. 인간처럼 바라보면 되는 거였죠. 바로 카메라였습니다. 카메라는 라이다보다 훨씬 더 멀리 볼 수 있었습니다. 그래서 라이다가 주행 가능한 도로를 식별하고 카메라가 멀리까지 보면서 장애물이 없다고 판단하면 그 길은 안전한 거였죠. 이런 식으로 스탠리는 시야를 80m까지 확장 할 수 있었고, 주행 속도를 최대 72km까지 높일 수 있었습니다."
- 크롤러의 본래 목표는 색인을 만드는 것입니다. 색인은 문서를 검색에 적합하도록 만들어 검색을 빠르게 수행하는 역할을 한다고 했 죠. 그런데 크롤러의 뛰어난 성능 덕분에 여러 분야에서 크롤러를 활 용하고 있습니다. 다음과 같은 분야가 대표적이죠'
* 가격 비교 사이트에서 여러 제품에 대한 가격 정보를 제공할 수 있 도록 데이터를 수집합니다.
* 데이터 마이닝에 활용할 수 있도록 공개된 회사 메일 또는 주소를 수집합니다.
* 웹 분석 도구가 분석할 수 있도록 조회 수나 링크 정보 같은 웹 페이지의 다양한 메타 정보를 수집합니다.
* 정보 허브에 뉴스 사이트 등의 데이터를 수집하여 제공합니다.

- 2010년대 들어 드디어 딥러닝이 주목받기 시작합니다. 먼저 구문 기반으로 분석하는 방식에 딥러닝을 적용해봅니다. 그리고 우리나 라의 조경현 교수가 몬트리올대학교에서 박사 후 과정 중에 성공적 인 결과를 내죠. 이때부터 바야흐로 딥러닝을 본격적으로 기계번역 에 도입합니다. 이후에는 구문 단위를 넘어 아예 문장 전체에 딥러닝 을 적용하죠. 이를 신경망 기반 기계번역 Neural Machine Translation이라고 합니다.
그렇다면, 신경망 기반 기계번역은 어떻게 작동할까요? 앞서 단어 기반에서 구문 기반으로 확장하면 보다 자연스러운 문장이 나온다고 얘기한 바 있습니다. 신경망 기반은 한발 더 나아가 문장 전체를 마 치 하나의 단어처럼 통째로 번역해서 훨씬 더 자연스러운 번역이 가 능하게 했습니다. 인공 신경망이라는 풍부한 모델과 이를 견인할 수 있는 방대한 데이터를 확보하면서 이것이 가능해졌습니다. 사실 문 장을 통째로 번역해냈기 때문에 번역 과정 자체는 훨씬 더 단순해졌 습니다. 필요한 건 방대한 데이터뿐이었죠.
- 2004년 무렵 구글은 처음으로 번역 서비스를 제공했습니다. 이때 만 해도 직접 번역 엔진을 만들지 않고 시스트란의 제품을 사용했죠. 그러나 2006년에 통계 기반의 기계번역 서비스를 출시한 후부터는 직접 개발하면서 꾸준히 번역기의 성능을 높였습니다. 무엇보다 검색 서비스를 운영하며 엄청나게 많은 데이터를 수집한 구글은 이를 이용해 고품질의 번역 서비스를 단기간 내에 개발할 수 있었죠. 통계 기반을 도입하고부터는 문장이 많을수록 정교하게 확률을 계산할 수 있기 때문에 빅데이터 플랫폼을 갖추고 있는 구글에게 매우 유리했 습니다.
구글은 유엔과 유럽의회의 회의록을 활용했습니다. 유럽의회에만 10년 동안 23개 언어로 번역된 13억 7,000만 단어의 데이터가 있었 기 때문에 좋은 번역 엔진을 만들기에 충분했죠. 게다가 대용량 자 료를 저장하고 처리하는 일은 구글의 장기였습니다. 4장에서 살펴봤 듯이, 구글은 검색엔진을 구축하면서 수백 조개의 문서를 색인하는 등 대용량 데이터를 처리하는 데 풍부한 노하우가 있었죠. 이즈음부터 앞서 나가기 시작한 구글은 2016년 인공 신경망 기반 번역 서비스를 출시하고, 현재는 무려 109개 언어의 번역을 지원하는 세계 최대 규모의 번역 서비스로 성장했습니다. 
- GPT-2와 GPT-3의 연이은 성공에 힘입어 국내에서도 언어 생성 모델을 구축하려는 시도가 잇따르고 있습니다. 대표적으로 네이버에 서 구축한 하이퍼클로바 HyperCLOVA가 있죠. 하이퍼클로바는 GPT-3 보다도 더 많은 2,040억 개의 매개변수를 채택하고 GPT-3보다 6,500배 더 많은 한국어 데이터를 학습했습니다. 영어가 학습 데이터의 대부분을 차지하는 GPT-3와 달리, 하이퍼클로바의 학습 데이 터는 한국어 비중이 97%에 달하죠. 네이버는 한국 기업답게 한국어에 최적화한 언어 모델을 구축했고, GPT-3의 쓰임새가 다양한 것처럼 하이퍼클로바도 국내 서비스의 다양한 분야에 쓰일 채비를 하고 있습니다.
- 실제로 유튜브가 2016년에 공개한 추천 시스템 논문에 따르면, 유 튜브의 추천 시스템은 다양한 특징을 결합한 딥러닝 모델이었습니 다. 그전까지는 유튜브도 행렬 인수분해를 사용했는데 2016년을 전 후해 딥러닝 모델을 점차 도입한 거죠. 여기에는 평가 정보 외에도 고객의 성별, 거주국, 시청 기록, 이전 노출 목록, 마지막 시청 후 경 과 시간 같은 고객 정보를 비롯해 영상 길이, 조회수, 영상 제작 시 점 등 영상에 대한 다양한 정보까지 입력값으로 활용하여 최종 결과 를 예측해냈습니다. 뿐만 아니라 편향을 줄이기 위해 유튜브 이외의 영상을 시청한 이력도 확인했습니다. 앞서 사용자가 유튜브에서 시 청하는 영상 중 70%는 알고리즘이 추천한 영상이라고 했죠. 따라서 유튜브 영상만으로 시청 기록을 학습하면 70% 확률로 추천한 영상 을 다시 학습하는 문제가 생깁니다. 이 같은 편향을 줄이기 위해 유 튜브는 유튜브 밖에서 시청한 이력도 모두 활용한 거죠. 이처럼 유튜 브는 편향까지 없애기 위해 수많은 정보를 종합적으로 고려했고 그 결과가 우리에게 막 시청을 마친 영상 뒤에 올라옵니다.
유튜브는 초창기에 영상을 추천하는 데 어떤 가치를 극대화할지 고민을 거듭했다고 합니다. 초기에는 조회 수를 올리는 데만 방향 이 맞춰져 있었죠. 그러다 보니 크리에이터들이 유익한 영상보다는 온통 자극적인 섬네일을 만들어내는 데 치중했습니다. 영상을 클릭 한 사람들이 낚인 걸 알고 즉시 빠져나와도 이미 조회 수는 올라간 뒤였죠.
이후 유튜브는 사람들이 오래 시청하는 영상을 추천하도록 보상함수를 개선했다고 밝힙니다. 뿐만 아니라 이어 보기'에도 매우 높은 가중치를 부여했죠. 보상은 기존처럼 '많이 클릭' 하는 게 아니라 '덜 클릭하고, 더 오래 보는' 영상에 집중되었고, 실제로 영상의 품질 을 높이는 데 많은 도움이 되었습니다!
또한 유튜브는 신선도를 무척 강조합니다. 4장에서 '최신 문서'의 중요성을 강조한 것처럼 새로 올라온 영상일수록 고객의 관심이 높 기 때문이죠. 뉴스, 영화, 유튜브 모두 소위 '신상'이 매우 중요한 콘 텐츠입니다. 하지만 새로운 영상은 영상에 관한 아무런 정보가 없는 콜드 스타트Cold Start 문제에 봉착합니다. 콜드 스타트는 말 그대로 차갑게 시작한다는 건데요. 새로 올라온 영상일수록 조회 수도 없고 인기가 있을지 알아낼 만한 정보가 거의 없기 때문에 추천 영상에 올 라가기가 매우 어렵습니다. 올림픽에 육상 선수를 내보내야 하는데, 고객들은 무엇보다 새로운 영상을 좋아합니다. 하지만 새로울수록 정보가 부족하기 때문에 추천이 더 어려워지는 역설적인 상황에 놓입니다. 추천 시스템은 이 문제를 해결해야 하죠. 마치 점쟁이처럼 영상의 몇 가지 특징만 가지고 불특정 다수에게 추천할 수 있어야 합 니다. 정말 어려운 일이죠.
영상뿐만 아니라 고객도 마찬가지입니다. 신규 고객의 관심사를 예측하기도 정말 어려운 일이죠. 넷플릭스도 초창기에 그리고 왓챠 도 가입을 하면 굳이 선호하는 영화를 몇 가지 택하도록 합니다. 신 규 고객의 선호도를 미리 파악하여 정교한 추천을 시작하기 위해서 죠. 아무런 고객 정보가 없다면 무엇을 추천해야 좋을지 도무지 감을 잡기가 어렵습니다. 로맨스를 좋아하는 고객에게 갑자기 공포 영화 를 추천하면 그 서비스에 첫인상이 좋지 않을 겁니다.
- 이외에도 추천 시스템은 고객이 기존 취향의 울타리 안에만 갇히 지 않도록 노력합니다. 협업 필터링이 어느 정도 관심사를 확장하는 효과를 내긴 하지만 이 또한 성향이 비슷한 고객만 구독하게 된다면 다른 성향의 고객이 좋아하는 콘텐츠는 알 길이 사라지죠. 보수적인 성향의 사용자가, 보수적인 취향을 지닌 사람만 구독하면 항상 비슷한 우파 영상을 추천받게 되겠죠. 이는 진보적인 성향도 마찬가지입니다. 결국 서로가 단절되고, 우물 안 개구리처럼 편견을 강화할 뿐 입니다. 이는 사회적으로 매우 위험한 문제로 번질 수도 있습니다. 그래서 뜻밖의 발견serendipity 이 중요합니다. 멋진 영어 단어이자 설레는 표현이기도 하죠. 여기에는 2가지 조건이 충족되어야 합니 다. 지금까지 본 적 없는 것이지만 희한하게도 마음에 들어야 하죠. 다시 말해 나에게 편하고 익숙한 구역 바깥에 있어야 하지만 또 아예 엉뚱하지는 않아야 합니다. 참, 어렵죠. 하지만 사람들이 "알 수 없는 알고리즘이 여기로 이끌었다"라고 자주 감탄하는 것은 그래도 이 2가지 조건을 종종 만족하고 있다는 거겠죠?



'IT' 카테고리의 다른 글

웹 3.0 사용설명서  (2) 2023.03.17
최소한의 IT언어  (2) 2023.02.24
IT 잡학사전  (2) 2022.11.10
인터넷 때문에  (0) 2022.08.20
처음 읽는 양자컴퓨터 이야기  (0) 2022.07.07
Posted by dalai
,