ryan***
2018-12-31

부분적이긴 하지만 자율 주행 자동차가 이미 도로위를 다니고 있는 시대이다. 그런데 이것이 꼭 일부 전공자들이나 특정 사람들만의 전유물은 아니라는 것이 놀랍다. 전공자가 아니어도 관심만 있다면 깃 허브에서 파이선으로 작성된 자율주행 코드를 다운받아 미니카와 웹캠을 조합해서 자율주행자동차를 흉내내 볼 수 있다. 이런 붐에 따라 많은 사람들이 캄푸터 과학의 한 분야인 인공지능에 관심을 가지고 뛰어든다. 나역시 그중에 하나였다. 그런데 이게 그냥 쉽게 볼 부분은 아니다. 컴퓨터를 이용해야 하므로 컴퓨터 소프트웨어로 구현하는데 필요한 코딩 능력이 필요하다. 요즘에는 보통 Python을 이용해서 규칙이 간단하긴 하나, 다른 사람들이 작성한 라이브러리를 이해해야 하므로 기초적인 프로그래밍 지식은 필수이다. 그리고 최근에는 비지도학습, 강화학습 등이 대세이긴 하지만 인공지능의 뼈대를 만드는 룰은 여전히 인간이 구축해주어야 한다. 이때 전산논리에 대한 이해가 필수이다. 다음으로 데이터를 분류하고 군집화하는데에 가장 근접한 정답을 추출하는 과정에서 베이지안 통계에 대한 개념과 미적분에 대한 기초적인 이해도 필요는 하다. 이런 기초적인 능력이 갖추어 졌다고 그럴듯한 인공지능 프로그램을 만들 수 있을까? 그렇지 않다. 기존의 기계학습과 달리 최근의 딥러닝으로 불려지는 인공지능 기법들은 정제된 수 많은 데이터를 어떻게 확보하느냐가 가장 큰 문제이다. 누군가 이미 실험한 것을 따라한다면 데이터 역시 준비되어 있지만 이것은 어디까지나 토이 테스트에 지나지 않는다. 이상의 내용이 알파고 이후 인공지능 분야에 관심을 가지고 여러 기술서적을 1년여 동안 뒤적이며, 인공지능 관련 세미나와 CS231n으로 대표되는 여러 온라인 강의를 듣고 느낀 바였다. 이제는 관련 최신 논문을 뒤적거리며 GAN과 같은 최신 기술의 눈길을 주고 기초적인 내용에는 별다른 관심을 주지 않았다.
그러다 우연히 이 책을 읽을 기회가 생겼다. 이 책은 인간의 뇌의 구조부터 지능에 대한 여러 관점을 소개하는 것으로 시작한다. 그리고 이 책을 읽는 독자가 그리는 인공지능에 대한 입장을 정립하는 것부터 시작한다. 입장이라고 하면 어색하나 내가 생각하고 앞으로 개발, 연구하려는 방향성에 대해서 생각해 보는 의미있는 과정이라고 본다. 그 이후부터는 정보의 탐색과 생성을 하는 인공지능 설계과정을 개략적으로 소개하고, 마지막 6,7 장은 인공지능의 여러분야중에 하나인 자연어처리(NLP)분야에서의 인공지능의 활용 방안에 대해서 소개한다. 책을 읽고는 이 책은 분명 제목처럼 아무것도 모르고 시작하기에는 많이 불친절하고 광활하다고 생각되었다. 하지만 나처럼 인공지능에 관심을 가지고 여러 방법으로 학습을 해온 사람에게는 자연어처리 분야의 인공지능 개론서와 같다고 생각한다. 그래서 정말 아무것도 모르는 분들일 경우 책을 덮고 싶을 것이지만 이 책의 1~5장까지는 대충이라고 훓어 보기를 권한다. 기존의 기술서적의 부분적인 개념의 나열보다는 고차원이며, 전공자들이 보는 인공지능 전공서적 개론서보다는 훨씬 친절하고 상세한 책을 당신은 보는 것이다.