이 책에서 다루는 내용
◆ 텍스트 생성기로 이야기와 기사를 만드는 방법
◆ 인간 게임에서 딥러닝 시스템이 승리하도록 학습하는 방법
◆ 이미지 분류 시스템으로 사진 속 사물이나 사람을 식별하는 방법
◆ 일상생활에서 확률을 유용하게 활용하는 방법
◆ 머신러닝 기술로 현대 AI에 기여하는 방법
이 책의 대상 독자
딥러닝이 어떻게 동작하는지 관심 있는 사람을 위해 이 책을 썼다. 수학이나 프로그래밍 경험은 필요 없다. 컴퓨터 전문가나 기술자일 필요도 전혀 없다. 딥러닝의 알고리듬 대부분이 그리 복잡하거나 이해하기 어렵지 않다는 것에 놀랄지도 모른다. 이들은 대개 단순하고 우아하며 대형 데이터베이스를 통해 수백만 번 반복해 힘을 얻게 된다. 순수하게 지적 호기심을 충족시키고 싶은 사람이나 딥러닝을 다루는 다른 사람과 교류하는 사람이 읽기에도 좋다. AI를 이해하면 좋은 이유 중 하나는 AI를 활용할 수 있다는 것이다. 이 책을 통해 일을 더 잘하고 취미를 더 깊게 즐기고 주변 세상을 더욱 완전하게 이해할 수 있도록 도와주는 인공지능 시스템을 구축할 수 있을 것이다.
이 책의 구성
1장, '머신러닝 개요’에서는 큰 그림을 보면서 머신러닝이 어떻게 동작하는지에 대한 발판을 마련한다.
2장, ‘필수 통계’에서는 데이터에서 패턴을 찾고 설명할 수 있게 해준다.
3장, ‘성능 측정’에서는 측정할 방법을 신중하게 선택해 알고리듬이 “잘못”된 상황은 실제로 무엇을 의미하는지 설명할 수 있다.
4장, ‘베이즈 규칙’에서는 기댓값(expectations)과 지금까지 확인한 결과들을 모두 고려해 알고리듬이 올바른 결과를 제공할 수 있는 우도(likelihood)에 대해 살펴본다.
5장, ‘곡선과 표면’에서는 학습 알고리듬을 다루는 데 도움이 되도록 곡선과 표면이 어떻게 생겼는지 설명한다.
6장, ‘정보 이론'에서는 정보를 표현하고 수정하는 아이디어로 다양한 유형의 정보를 정량화하고 측정할 수 있게 해준다.
7장, ‘분류’에서는 컴퓨터가 데이터 조각에 특정 클래스나 범주를 할당하는 문제를 해결하기 위한 기본 아이디어를 살펴본다.
8장, ‘훈련과 테스팅’에서는 실제로 활용할 수 있는 딥러닝 시스템의 구축을 위해 성능을 테스트한다.
9장, ‘과적합과 과소적합’에서는 훈련 시 사용한 데이터를 외워 처음 본 데이터 처리를 더 못하는 문제가 어디에서 발생하는지, 어떻게 영향을 줄일 수 있는지 알아본다.
10장, ‘데이터 준비’에서는 학습할 많은 데이터를 제공해 딥러닝 시스템을 훈련한다. 가능한 한 효과적으로 학습하고자 이 데이터를 어떻게 준비해야 하는지 알아본다.
11장, ‘분류기’에서는 데이터를 분류하기 위한 구체적인 머신러닝 알고리듬을 알아본다. 이러한 방법들은 딥러닝 시스템을 훈련시키고자 시간과 노력을 투자하기 전에 데이터를 파악하는 좋은 방법이다.
12장, ‘앙상블’에서는 아주 간단한 학습 시스템을 훨씬 더 강력한 복합 시스템으로 결합시키는 방법을 다룬다.
13장, ‘신경망’에서는 인공 뉴런과 이것들을 어떻게 연결해서 네트워크를 만드는지 살펴본다. 이러한 네트워크들은 딥러닝의 기반을 구성한다.
14장, ‘역전파’에서는 신경망을 실용적으로 만드는 핵심 알고리듬은 데이터에서 학습할 수 있게 훈련시키는 방법을 다룬다.
15장, ‘옵티마이저’에서는 심층 네트워크를 훈련하는 두 번째 알고리듬의 성능 향상을 효과적으로 수행하기 위한 다양한 방법을 알아본다.
16장, ‘컨볼루션 신경망’에서는 영상과 같은 공간 데이터를 처리할 수 있는 강력한 알고리듬과 그것들이 어떻게 사용되는지 알아본다.
17장, ‘실제 컨볼루션 신경망’에서는 공간 정보를 다루는 기술을 어떻게 활용할 수 있는지 자세히 알아본다.
18장, ‘오토인코더’에서는 대규모 데이터 세트를 단순화하고 노이즈를 제거해 손상된 이미지를 정제하는 방법을 다룬다.
19장, ‘순환 신경망’에서는 텍스트와 오디오 클립 같은 시퀀스를 작업할 때 필요한 특별한 도구를 살펴본다.
20장, ‘어텐션과 트랜스포머’에서는 텍스트를 해석하고 생성하도록 설계된 알고리듬을 알아본다.
21장, ‘강화학습’에서는 컴퓨터가 제공하기를 원하는 답을 모르는 문제를 유연하게 해결하는 방법을 살펴본다.
22장, ‘생성적 적대 신경망’에서는 갖고 있는 데이터의 새로운 인스턴스를 창조하거나 생성하는 생성기를 훈련시킬 수 있는 강력한 방법을 알아본다.
23장, ‘창의적인 애플리케이션’에서는 사이키델릭한 이미지를 만들고, 예술가의 시그니처 스타일을 사진에 적용하고, 어떤 작가의 스타일로든 새로운 텍스트를 생성하기 위한 딥러닝 도구를 적용해본다.
지은이의 말
황금 램프를 문지르고 있다고 상상해보자. “지니, 내 세 가지 소원으로 사랑하는 사람, 거대한 부, 길고 건강한 삶을 줘.”라고 말한다. 이제 집에 들어왔다고 상상해보자. “집아, 주변에 차를 불러주고, 사라에게 점심에 시간이 있는지 물어보고, 이발 일정을 예약하고, 라떼를 만들어줘. 아, 그리고 델로니어스 몽크(Thelonious Monk)를 연주해줘.”라고 말한다. 이 두 가지 상황에서 당신은 거대한 힘을 가진 영혼에게 당신의 말을 듣고, 이해하고, 욕망을 채워 달라고 요구한다. 첫 번째 시나리오는 천 년 전으로 거슬러 올라가는 판타지다. 두 번째 시나리오는 인공지능 덕분에 오늘날 흔히 볼 수 있는 현실이다. 어떻게 이런 마법의 지니를 발명했을까? 오늘날 세상을 바꾸는 AI의 혁명은 세 가지 발전의 결과다.
첫째, 컴퓨터는 매년 더 커지고 빨라지고 있으며 이미지 생성을 위한 특수한 목적이 있는 칩은 이제 AI 기술에도 힘을 실어주고 있다. 둘째, 사람들은 새로운 알고리듬을 계속 개발하고 있다. 놀랍게도 오늘날 AI를 지원하는 알고리듬 중 일부는 수십 년 동안 사용돼 왔다. 이들은 누구나 알고 있는 것보다 더 강력했고 빛을 발할 수 있는 충분한 데이터와 컴퓨팅 성능을 기다리고 있었다. 더 새롭고 강력한 알고리듬은 빠른 속도로 이 분야를 발전시키고 있다. 오늘날 사용하는 가장 강력한 알고리듬 중 일부는 딥러닝이라고 하는 AI 범주에 속하며, 이 기술이 책에서 강조할 기술이다. 셋째, 가장 중요한 것은 이러한 알고리듬이 학습할 수 있는 방대한 데이터베이스가 있다는 것이다. 알고리듬은 소셜 네트워크, 스트리밍 서비스, 정부 기관, 신용카드 회사, 심지어 슈퍼마켓에서도 수집할 수 있는 모든 정보를 측정하고 저장한다. 웹상의 공개 데이터도 방대하다. 2020년 말 현재, 온라인에서 무료로 사용할 수 있는 40억 시간 이상의 비디오, 170억 개 이상의 이미지, 스포츠 역사부터 날씨 패턴, 지방 자치단체의 기록에 이르기까지 이러한 주제에 해당하는 엄청난 양의 텍스트가 있는 것으로 추정된다.실제로 이러한 데이터베이스는 새로운 머신러닝 시스템에서 가장 가치 있는 구성 요소로 간주되는 경우가 많다. 돈이 있는 사람은 누구나 컴퓨터를 살 수 있고, 이들이 실행하는 알고리듬은 연구 저널, 책, 오픈소스 저장소에서 공개적으로 이용할 수 있다. 조직이 자신을 위해서만 사용하거나 최고 입찰자에게 판매하기 위한 데이터다. 데이터베이스는 새로운 석유, 새로운 금이라고 해도 과언이 아니다.
다른 급진적인 기술과 마찬가지로 AI는 인류에게 큰 이점을 기대하는 장밋빛 치어리더와 세상을 구성하는 사회와 문화의 파괴만을 보는 어두운 파멸의 예측기(predictors)를 갖고 있다. 어떤 게 맞는가? 이 새로운 기술의 위험과 이점을 어떻게 판단할 수 있을까? 언제 AI를 허용해야 하고 언제 금지해야 할까? 신기술을 신중하게 다루는 가장 좋은 방법은 이를 이해하는 것이다. 이 기술이 어떻게 작동하는지, 그 힘과 한계의 본질을 알 때 어디에 어떻게 사용해 살고 싶은 미래를 만들어야 하는지 결정할 수 있다. 이 책은 딥러닝이 무엇이고 어떻게 작동하는지 이해하고자 집필했다. 여러분이 딥러닝의 강점과 약점을 알면 문화와 사회에 미치는 실제적이고 잠재적인 영향을 이해할 수 있는 더 나은 위치에 있게 될 것이다. 또한 권력을 쥔 사람과 조직이 이러한 도구를 언제 사용하는지 확인한 후 이 도구를 공공의 이익을 위해 사용하고 있는지, 아니면 사적인 이익을 위해 사용하고 있는지를 직접 판단할 수 있다.
옮긴이의 말
해가 지날수록 풀기 힘든 문제를 AI로 풀어보고자 노력하는 사람들을 많이 만난다. 문제의 본질을 고민하고, 여러 아이디어로 실험해보고, 피처를 새로 만들어보고, 네트워크 구조를 바꿔보고, 데이터를 더 모아보고, 잘못된 데이터가 없는지 또 검사해보고, 실험을 실패하고 다시 시도하는 등 고군분투하는 사람이 늘고 있다. 또한 AI나 ML 팀이 아닌 다른 부서에 AI나 머신러닝 지식을 전달하고 발표해야 하는 자리도 늘어나고 있다. 업무의 효율을 높이기 위해서는 AI를 적용해야 하고, 다른 회사와의 협업이나 사업 기회를 만드려면 연구 개발 조직이 아닌 부서에도 AI와 머신러닝 지식이 요구된다.
이 책은 마주치자마자 덮어 버리고 싶은 수식과 개발자가 아니면 굳이 알고 싶지 않은 코드를 제거하고 그림만으로 머신러닝, 딥러닝 이론을 설명한 책이다. 거부 반응 없이 머신러닝과 딥러닝에 최대한 가깝게 갈 수 있도록 저자가 많은 공을 들였다. 부족한 역자로 인해 저자의 노력이 사라지지 않도록 최선을 다해 번역했다. 아무쪼록 이 책이 머신러닝과 딥러닝에 입문할 때 수식과 코드 때문에 겁먹어 포기하지 않고, 이 분야의 이론을 전반적으로 훑어보고 이해하는 데 많은 도움이 됐으면 한다.
김창엽
6년 전, 인간과 AI가 바둑 대결을 할 때만 해도 “AI가 이런 것도 가능해?”라며 탄복한 기억이 있다. 여러 해가 지난 지금은 “AI가 이런 것도 못해?”라는 생각이 들 때가 있다. 일상에서 사용하는 냉장고나 공기청정기, 스피커와 같은 가전에서도 이제는 AI를 찾기 어렵지 않아 기대감이 높아졌기 때문일 것이다. AI는 어느새 일상에 뿌리 깊게 자리한 기술이 됐다. 하지만 AI에 대해 과연 얼마나 알고 있을까? 개발자를 비롯한 많은 사람이 작동 원리를 완벽히 이해하진 못할 것이다. 모든 기술이 그렇듯 단순히 제공하는 기능을 사용하기보다는 작동 원리를 이해함으로써 더욱 편리하게 사용할 수 있다. 배경을 없애는 기능을 사용하고자 사진을 찍을 때 하얀 바탕을 배경으로 찍는다든가, 녹음 파일의 잡음을 제거하고자 녹음할 때는 격리된 곳으로 이동하는 식으로 말이다. AI를 더 깊이 있게 알면 더 효과적으로 사용하게 되고 나아가 직접 개발하고 개선시키고 싶을 것이다.
AI 기능을 개선하려면 이 분야의 지식에 한 발짝 더 다가가야 한다. 그래야 상황에 맞는 알고리듬을 선택하고 원하는 결과를 얻을 수 있을 것이다. 이런 면에서 이 책이 큰 의미가 있다고 생각한다. 이 책은 단순히 기술의 설명만을 늘어놓지 않고 AI 분야의 작동 원리를 알기 쉽게 풀어 설명하고 있다. 삶과 지식을 윤택하게 만들어주는 교양서일 뿐만 아니라 이 분야의 기술자에게는 다른 무언가를 개발하고 개선시킬 수 있게 하는 토르의 망치와 같은 책이 될 것이다. 기술의 겉모습에 집중하지 말고 번개와 같은 기술의 속성을 이해하면서 망치를 휘둘러보자. 훨씬 더 강력할 것이다.
소재현