컬러판으로 돌아온 아마존 인공지능 분야 부동의 1위 도서
이 책은 지능형 시스템을 구축하려면 반드시 알아야 할 머신러닝, 딥러닝 분야 핵심 개념과 이론을 이해하기 쉽게 설명한다. 사이킷런, 케라스, 텐서플로를 이용해 실전에서 바로 활용 가능한 예제로 모델을 훈련하고 신경망을 구축하는 방법을 상세하게 안내한다. 장마다 제공하는 연습문제를 풀며 익힌 내용을 확인하고 응용할 수도 있다. 머신러닝을 배우고 싶지만 어디서부터 시작해야 할지 막막하다면, 이 책이 인공지능 마스터로 가는 길에 좋은 친구가 될 것이다. 2판은 텐서플로 2를 반영하고 비지도 학습, 자연어 처리, 생성적 적대 신경망(GAN) 등 최신 기법을 추가했다.
※ 본 2판은 사이킷런과 텐서플로 2와 케라스를 최신 버전을 사용한 예제 코드를 제공한다. 1부(머신러닝)에는 비지도 학습을 다루는 1개 장이 추가되었고, 2부(신경망과 딥러닝)에는 최신 딥러닝 기법이 방대하게 수록되었습니다. 부록에는 특수한 데이터 구조와 텐서플로 그래프에 관해 다루는 2개 장이 추가되었다. 시각적 편의를 위해 전면 컬러로 인쇄했다.
★ 2판에서 달라진 점
-
더 많은 비지도 학습 기법(군집, 이상치 탐지, 밀도 추정, 혼합 모델 등), 심층 신경망을 훈련하기 위한 다양한 방법(자기 정규화 네트워크 등), 추가적인 컴퓨터 비전 기법(Xception, SENet, YOLO를 사용한 객체 탐지, R-CNN을 사용한 시맨틱 분할 등), 합성곱 신경망(CNN)을 사용하여 시퀀스 다루기(WaveNet 등), CNN과 트랜스포머, 순환 신경망을 사용한 언어 처리, 생성적 적대 신경망(GAN)을 다룹니다.
- 추가적인 라이브러리와 API(케라스, Data API, 강화 학습을 위한 TF-Agents), 분산 전략 API를 사용해 대규모 TF 모델을 훈련하고 배포하기, TF 서빙, TF Addons/Seq2Seq, TensorFlow.js를 다룹니다.
- 최근 중요한 딥러닝 연구 결과를 설명합니다.
- 모든 텐서플로 관련 장에서 텐서플로 2를 사용하고 가능하면 텐서플로의 케라스 API 구현(tf.keras)을 사용합니다.
- 사이킷런, 넘파이, 판다스, 맷플롯립, 그 외 다른 라이브러리 최신 버전에 맞게 코드 예제를 업데이트 했습니다.
★ 목적과 접근 방식
이 책은 여러분이 머신러닝을 거의 모른다고 가정하고, 데이터로부터 스스로 학습하는 프로그램을 실제로 구현하는 데 필요한 개념, 직관, 도구를 알려주는 것을 목표로 합니다.
선형 회귀처럼 가장 단순하고 널리 쓰이는 기법부터 시장을 선도하는 딥러닝 기법까지 다채로운 지식과 경험을 담았고, 당장 제품화에 사용할 수 있는 다음의 세 가지 파이썬 프레임워크를 활용했습니다.
- 사이킷런(Scikit-Learn): 다양한 머신러닝 알고리즘을 효율적으로 구현했으며 사용하기도 쉬워 머신러닝을 처음 배우기에 가장 좋은 도구입니다.
- 텐서플로(TensorFlow): 수치계산을 데이터 플로 그래프를 이용하여 분산 처리해주는, 더 복잡한 라이브러리입니다. 연산을 수천 대의 GPU 서버에 분배하여 대규모 신경망을 효율적으로 학습시키고 운영할 수 있습니다.
- 케라스(Keras): 고수준 딥러닝 API입니다. 매우 쉽게 신경망을 훈련하고 실행할 수 있습니다. 케라스는 텐서플로, 시애노(Theano), 마이크로소프트 코그니티브 툴킷(Microsoft Cognitive Toolkit) 위에서 작동합니다. 텐서플로는 자체적인 케라스 API 구현을 tf.keras란 이름으로 포함하며, tf.keras는 텐서플로의 고급 기능을 지원합니다.
주요 내용
1부 머신러닝
- 한눈에 보는 머신러닝
- 머신러닝 프로젝트 처음부터 끝까지
- 분류
- 모델 훈련
- 서포트 벡터 머신
- 결정 트리
- 앙상블 학습과 랜덤 포레스트
- 차원 축소
- 비지도 학습*
2부 신경망과 딥러닝
- 케라스를 사용한 인공 신경망*
- 심층 신경망 훈련하기
- 텐서플로를 사용한 사용자 정의 모델과 훈련*
- 텐서플로에서 데이터 적재와 전처리하기*
- 합성곱 신경망(CNN)을 사용한 컴퓨터 비전
- 순환 신경망(RNN)과 CNN을 사용한 시퀀스 처리하기*
- RNN과 어텐션을 사용한 자연어 처리*
- 오토인코더와 GAN을 사용한 표현 학습과 생성적 학습*
- 강화 학습*
- 대규모 텐서플로 모델 훈련과 배포*
신규 추가 부록
- 부록 F 특수한 데이터 구조*
- 부록 G 텐서플로 그래프*
별표(*)를 표시한 장은 완전히 새로 쓰였거나, 50% 이상 개정되었습니다.
1부에서는 대부분 사이킷런을 기반으로 하고 2부에서는 텐서플로와 케라스를 사용합니다.
추천사
“이번 2판에서는 내지가 전부 흑백이 아닌 컬러로 전환되면서 시각적으로도 아주 큰 향상이 있었고, 비지도 학습, GAN 등 다루는 주제가 늘어났습니다. 그리고 책에서 다루는 소프트웨어도 텐서플로 2.x과 케라스로 업데이트되면서 분산 트레이닝이나 배포, 구글 클라우드와의 연동 관련 내용이 추가되었습니다. TFLite, TensorFlow.js 등 텐서플로 자체에 추가된 새로운 요소에 관한 내용도 추가되어 머신러닝 관련 이론과 실무 양쪽 영역에서 꼭 필요한 최신 정보를 제공합니다.
번역자에 관해서도 꼭 언급하고 싶습니다. 박해선 님은 머신러닝 관련 번역자로서 여러 책을 번역하셨고, ML GDE(Google Developer Expert)로서 오픈 소스 텐서플로 문서의 번역 작업에도 많은 노력을 기울여 국내 개발자에게 큰 신뢰를 받는 분입니다. 이렇게 좋은 책을 이렇게 좋은 분이 번역했다는 것은 독자로서는 아주 커다란 행운이 아닐 수 없습니다. 부디 이 책을 통해 더욱 많은 개발자분들이 머신러닝에 가까이 다가서기를 기원합니다!”
_ 권순선, Global ML Ecosystem Programs Lead, 구글
“이 책은 판다스, 사이킷런 기반의 머신러닝 핵심 레시피와 텐서플로 2.0 기반의 딥러닝 핵심 레시피를 모두 소개하며, 기본적인 이론 및 배경까지 알기 쉽게 설명합니다. 이론 설명과 코드 구현의 적절한 균형을 이룬 책입니다. 특히, 실제 프로덕션에 적용하기 위한 분산 훈련 및 텐서플로 서빙을 하나의 챕터를 할애하여 상세하게 설명하므로 데이터 사이언티스트와 머신러닝 엔지니어라면 반드시 정독해야 하는 책입니다.”
_ 김대근, AWS 데이터 사이언티스트
“'핸즈온'이라는 제목답게 코드에 큰 비중을 두었고, 이론은 핵심 중심으로 압축해 기술한 책입니다. 심화 이론은 관련 논문을 인용해 보충합니다. 실전에서도 사용 가능한 수준의 완전한 코드를 쉽게 연습해볼 수 있는 매우 좋은 책입니다.”
- 김주현, SK 주식회사
“초보자부터 실무자까지 머신러닝 분야를 공부하는 사람이라면 꼭 봐야 하는 필독서입니다. 물 흐르듯 자연스러운 설명이 이 책의 강점입니다. 풍부한 그림과 수식, 핵심 이론을 반영한 코드 예제가 실무에서 인공지능을 개발하는 여러분을 도와줄 것입니다. 최신 기술까지 담아낸 국내 최고의 머신러닝 바이블로 추천합니다.”
_ 백혜림, 연세대학교 지능형신호처리연구실 석사과정
“이번 2판에는 정말 좋은 내용이 많이 추가되었습니다. 개인적으로 제일 만족스러운 부분 2곳이 있습니다. ‘텐서플로에서 데이터 적재와 전처리하기(13장)’와 ‘대규모 텐서플로 모델 훈련과 배포(19장)’입니다. 13장은 다양한 데이터 전처리하는 방식을 설명하고, 프로토콜 버퍼를 활용하는 방법도 설명합니다. 19장은 모델을 학습하고 Serving을 어떻게 하는지, 구글 클라우드 플랫폼의 AI Platform 활용하기 등이 나와 실무에서 사용하시는 분에게 큰 도움이 될 것입니다. 1판을 구입하셨어도, 2판을 구입하시는 것을 추천드립니다!”
_ 변성윤, 쏘카 머신러닝 엔지니어
“『핸즈온 머신러닝』은 머신러닝의 바이블과 같습니다. 어려운 이론과 복잡한 수식을 그림으로 풀어 설명하고 다양한 예제를 소개하며 머신러닝에 대한 두려움을 극복하게 해줍니다. 힘든 첫걸음을 떼던 제게 1판은 큰 도움이 되었습니다. 이번 2판은 다양한 신경망과 자세한 설명으로 내용이 더욱 풍부해졌습니다. 머신러닝 공부에 어려움을 겪고 계신 분과 여러 신경망을 구현해보고 싶으신 분에게 추천하고 싶습니다.”
_ 이고은, 단국대학교 응용컴퓨터공학과 학부생
“인공지능을 공부한다면 꼭 읽어야 하는 유명 도서입니다. '핸즈온'이라는 이름처럼 개념과 이론 위주가 아닌, 손으로 코딩해볼 수 있는 내용으로 잘 구성되어 있습니다. 개념에서 실무까지, 머신러닝을 한 권으로 공부하기 충분한 책으로 추천합니다.”
_ 이석곤, 엔컴 개발자
“머신러닝 입문자에게 라이브러리 사용 능력 습득과 기저에 깔린 개념에 대한 이해는 필수입니다. 이 책은 독자에게 두려움을 줄 수 있는 내용을 개념 중심으로 간결하고, 이해하기 쉽게, 빠짐없이 전달합니다. 컴퓨터 앞에 앉아 따라하며 보기도 좋지만, 여행을 떠나는 기차 안에서 한 줄 한 줄 읽으며 보기에도 무리가 없는 책입니다. 원서와 번역서가 출판되는 시점 사이에 텐서플로와 케라스는 2.1 버전을 출시했습니다. 이 시간의 간극을 역자의 꼼꼼한 번역으로 충실히 메웠습니다. 기초 개념을 잡고 이 책을 보시면 실무로 들어가기에 부족함이 없을 것입니다.”
_ 이제현, 한국에너지기술연구원 선임연구원
“실무에 최적화된 기본서입니다. 인공지능 영역마다 필수로 알아야 하는 이론과 논문, 실전에 도입 가능한 코드는 여타 국내 머신러닝 서적에서는 볼 수 없는 수준입니다. 만약 인공지능 '실무'를 하는 데 딱 한 권의 책만 참고할 수 있다면, 망설임 없이 이 책을 추천합니다.”
_ 장대혁, 주니어 AI 개발자(SIKALEO)
“실무에서 사용하기 위한 머신러닝 학습과 관련해 책을 한 권만 추천해 달라고 부탁을 받는다면, 저는 큰 고민 없이 이 책을 추천할 것 입니다. 이 책은 이미지 프로세싱부터 자연어 처리에 이르기까지 딥러닝을 포함한 머신러닝 전반을 다루면서도 이론과 구현 모두를 아주 알기 쉽게 설명합니다. 1판도 훌륭했지만 2판은 완전히 다른 책이라고 봐도 무방할 정도로 좋은 내용들이 많이 추가 되었으며 예제 코드들도 모두 업데이트되었습니다. 게다가 역자이신 박해선 님 덕분에 한국 독자를 위한 다양한 내용이 추가되어, 이 책은 원서를 뛰어넘는 가치를 지니고 있다고 생각합니다.”
_ 정도현, AWS 테크니컬 트레이너
“1판 애독자로서 2판이 나와 정말 기쁩니다. 2판에서는 심층 신경망의 학습법, 종류, 최신 트렌드, 대규모 모델의 훈련과 배포 등의 내용이 추가 및 수정되었습니다. 어려운 내용이 많음에도 각 개념과 내용을 아주 꼼꼼하고 친절하게 설명합니다. 가장 마음에 드는 부분은 개념을 예제 코드를 통해 바로바로 설명해준다는 것입니다. 예제 코드에는 간단한 텐서플로 사용법부터 실무에 적용할 수 있는 어려운 내용까지 담겨 있습니다. 개념을 이해하고 실습을 쭉 따라하면 자연스럽게 실력이 늘게 됩니다. 머신러닝 전문가를 꿈꾼다면 이 책이 든든한 지원군이 되어줄 것입니다. 책의 완성을 위해 노력해주신 베타 리더분들과 역자 박해선 님께 감사드립니다.”
_ 최영철, 포항공과대학 인공지능연구원 연구원
“1판에서 다룬 일반적인 머신러닝과 딥러닝 기법에 더해 이번 개정판에는 텐서플로 2.0, 데이터 전처리, StyleGAN, 강화 학습 TF-Agents 등의 최신 연구성과와 기술이 포함되었습니다. 탄탄한 이론을 바탕으로, 이해하기 쉬운 설명과 매끄러운 번역은 물론 서빙, 클라우드, 분산전략 등 제품화를 고려한 관련 Eco 기술의 활용법을 포함합니다. 모바일이나 tensorflow.js에 모델을 배포하는 방법에 이르기까지, 실무에서 발생할 수 있는 거의 모든 경우의 수에 대한 고민과 해결책이 이 한 권의 책에 모두 담겨있습니다.”
_ 허민, 한국외국어대학교 정보지원처