+ 펴낸 책2019. 7. 22. 21:48


[실무가 훤히 보이는 머신러닝 & 딥러닝]

파이썬 실전 코딩으로 배우는 
한글 자연어 처리, 챗봇 개발, 이미지 분류, 데이터 분석 등 
인공지능 서비스의 이해

마창수, 최재철 지음 | 316쪽 | 26,000원 | 2019년 7월 31일 출간 | 180*235*16 | ISBN 9791189909031

판매처 [교보문고] [YES24] [알라딘] [인터파크] [반디앤루니스+ 전국 교보문고 매장

 

예제 코드 다운로드: https://github.com/onlybooks/AI_begin

정오표: https://www.onlybook.co.kr/entry/AI-begin-errata 
독자문의: support (at) onlybook.co.kr

 

실전 인공지능 기술과 서비스를 설계해 실무에 적용하고

머신러닝과 딥러닝 개발을 직접 구현해보기 위해 

다양한 시각의 이해가 필요한 

기획자, 개발자, 관리자 모두를 위한 포괄적인 입문서!

 

파이썬에 기반을 둔 다양한 인공지능 프레임워크 및 서비스를 활용한 한글 자연어 처리, 이미지 분류, 대화 서비스 챗봇 개발, 텍스트 감정 분석 등 

친절한 알고리즘 이론 학습과 풍부한 실전 코딩 예제가 가득한 책!


[추천의 글]

딥러닝, 자연어 처리, 음성 처리, 챗봇 등 다양한 인공지능 활용분야에 대해 간단한 원리와 쉬운 예제들로 알기 쉽게 설명하는 책입니다. 개인 환경에서뿐만 아니라 인공지능 클라우드 서비스를 활용하는 방법도 소개되어 있어서 입문자 분들도 편하게 따라 해보면서 이해할 수 있도록 잘 구성되어 있습니다. 간단하게 인공지능 서비스를 만들어 보고 싶으신 분들이나, 머신러닝, 딥러닝의 활용에 대해 궁금하셨던 분들이 읽으면 많은 도움이 될 것입니다.

- 공용준 / 카카오 클라우드 파트 리드

 

개발자로서 인공지능, 데이터 분석 등은 더 이상 미룰 수 없는 영역이 되었습니다. 하지만 너무 넓고 깊은 분야이기 때문에 어디서부터 시작해야 하는지 막막할 때가 많았습니다. 이 책을 통해 인공지능의 전반적인 분야에 대해 훑어보고, 파이썬을 기반으로 다양한 알고리즘들을 실습해 볼 수 있습니다. 인공지능이나 자연어 처리, 챗봇 등에 대해서 빠르게 실무에 적용해야 하는 분들에게 이 책은 분명히 큰 도움을 줄 것입니다. 이 책을 시작으로 많은 개발자들이 인공지능의 세계에 빠져 들 수 있기를 바랍니다.

- 김기훈 / SDS ACT 팀 개발자

 

이론적 개념부터 핸즈온 실습을 통한 이해까지, 저자들 특유의 꼼꼼하고 잘 정리된 설명이 큰 도움이 되었습니다. 근래 인공지능 관련 서적이 많이 출간되고 있지만, 이렇게 다양한 프레임워크나 서비스들을 상세하게 제시하는 책은 보지 못했습니다. 마치내가 이 책 한 권으로 다 끝내주마라고 말하는 것 같은, 저자들의 패기와 욕심이 느껴집니다. 처음부터 단계별로 하나씩 다지며 실력을 쌓아가기에도 좋고, 필요한 영역을 발췌해 읽어도 좋습니다. 실질적인 인공지능 서비스 구현을 다양한 각도에서 고민하는 독자의 책꽂이에 꼭 필요한 책이 되리라고 감히 말해봅니다.

- 박소희 / SK주식회사 C&C Aibril TF 수석

 

이 책은 완전 백지상태에서 코딩을 어떻게 시작해야 하는지 혹은 파이썬이 무엇인지가 궁금한 분들보다는, 당장 우리 서비스에 인공지능 기술을 적용해야 하거나 관련 실무 프로젝트에 참여하게 되신 분들이 꼭 봐야 할 필독서입니다. 왓슨(Watson) 국내 도입부터 시작해 다양한 최신 AI 서비스를 수년간 다뤄온 저자들의 필드 경험을 바탕으로, 현장에 진입하기 전에 개발 실무를 위해 갖춰야 할 이론과 실습을 제공합니다. 물론 이 한 권으로 방대한 인공지능 영역을 모두 커버할 수는 없겠지만, 협업시 '나의 1인분'을 보장위한 학습 시작점으로 추천드립니다.

- 박수용 / 신한은행 디지털R&D센터 수석

 

뭔가를 배울 때 이론부터 차근차근 공부한 다음에 응용 부문으로 넘어가는 방법과 일단 응용 부문부터 살펴보고 감을 잡고 나서 이론으로 들어가는 방법이 있습니다. 옳고 그른 공부 방법은 없고 각자 성향에 맞는 공부 방법이 있을 뿐입니다. 이 책은 응용 부문부터 감을 잡을 수 있게 머신러닝과 딥러닝의 다양한 부문을 실제 동작하는 짧은 코드로 설명하는 방법을 택했습니다. 머신러닝과 딥러닝에서 궁금한 부분이 있으면 목차를 살펴 관련 페이지로 건너뛴 다음에 코드를 보고 실행해봅시다. 이렇게 실제로 부딪히다 보면 어느 순간 머신러닝과 딥러닝 시스템이 전반적으로 어떻게 동작하는지 감이 잡히기 시작할 것입니다.

- 박재호 / 온오프라인 전문가 교육 플랫폼 샐러리업(salaryup.io) CTO

 

인공지능에 관한 이모저모를 전체적으로 탭핑(tapping)하는 데 최적의 책입니다. 인공지능 역사에서부터 간단한 머신러닝과 딥러닝 이론 등 관련 생태계를 포괄적으로 다룹니다. 특히 번역서에는 없는 우리말 자연어 처리에 관한 내용도 담고 있으며, 우리나라 개발자들의 관심사를 잘 고려한 구성으로 집필된 국내서라 더 의미가 있습니다. 인공지능 분야에 이제 막 입문하려는 초보자라면 이 책의 예제와 함께 첫걸음을 떼보면 좋을 것입니다. 이미 실무를 수행하고 있는 경험자에게도 인공지능 생태계 전반을 돌아보기에 좋은 책입니다.

- 신진철 / SK플래닛 DMP 개발팀, 데이터 모델링

 

인공지능에 관심을 갖게 된다면 꼭 한번은 마주칠 용어와 알고리즘 그리고 여러 개념에 대해 비교적 폭넓게 다루는 책입니다. 처음부터 끝까지 읽은 다음, 빈 종이에 이 책의 목차를 한번 쭉 적어본다면 인공지능 전반에 대해 큰 테두리를 잡을 수 있을 것입니다. 베타 리더로 참여해 이 책을 훑고 나니, 내가 처음 인공지능을 접했을 때 이런 책이 있었다면 훨씬 더 체계적으로 잘 끼워 맞춰 나가며 공부할 수 있었을 텐데 하는 아쉬움이 들었습니다. 그런 의미에서 인공지능 기술에 첫 발걸음을 내딛는 분들을 위한 입문서로 추천합니다. 자들이 마치 사무실 옆자리에 앉아서 하나 하나 가르쳐주는 선배님과도 같이 친절히 설명해주는 책입니다.

- 임정택 / SK주식회사 C&C AI 솔루션 아키텍트

 

머신러닝과 인공지능을 실무에 어떻게 활용할 수 있을지 다양한 기존 사례와 예제 코드를 통해 독자들을 안내하는 책입니다. 초보자를 위한 적절한 수준의 예시뿐만 아니라 최신 기술 사례까지도 포함하여 실용성이 높습니다. 그중에서도 한글 자연어 처리 부분은 내용이 풍부하며 깊이가 있고, 챗봇 구현 사례도 꽤 흥미롭습니다. 선 뭔가를 구현하고 조립해보면서 머신러닝과 딥러닝, 인공지능에 대한 전체적인 이해도를 높이는 방식으로 학습한다면 이 책의 가치를 충분히 살릴 수 있을 것입니다.

- 최재원 / 아주대학교 교수학습개발센터 데이터 분석가



[이 책의 구성]

‘1, 인공지능 서비스와 기술의 이해에서는 인공지능에 대한 배경과 정의, 머신러닝과 딥러닝에 대한 개념과 인공지능 서비스를 도입하기 위한 여러 가지 도구와 기술 요소를 살펴본다.


‘1, 인공지능이란 무엇인가에서는 인공지능, 머신러닝, 딥러닝에 관한 핵심 사항과 배경 지식을 소개한다. 또한, 인공지능을 활용하는 여러 가지 서비스를 소개한다.

‘2, 인공지능을 적용하기 위한 방법에서는 인공지능 기술을 서비스에 도입하기 위해 여러 가지 도구와 기술 요소를 알아본다.

 

‘2, 머신러닝과 딥러닝에서는 머신러닝 기술의 유형의 특징과 차이점을 살펴보고 지도학습과 비지도학습의 대표적인 알고리즘을 알아본다.


‘3, 머신러닝의 이해와 지도학습을 이용한 분류에서는 본격적으로 머신러닝을 구축해보는 시작 단원으로 의사결정나무와 서포트 벡터 머신 알고리즘을 직접 구현해봄으로써 머신러닝에 필요한 기본 개념을 배운다.

‘4, 비지도학습을 이용한 군집화에서는 비지도학습의 개요를 설명하고, K-평균 알고리즘으로 비지도 학습 문제를 해결하는 방법을 살펴본다.

‘5, 딥러닝을 이용한 이미지 분류에서는 딥러닝을 이용해서 이미지를 처리하는 방법을 배우고, 음식이미지를 인식하는 실습을 통해, 딥러닝의 훈련과정을 이해할 수 있다.

‘6, 텐서플로를 이용한 이미지 객체 추출에서는 딥러닝을 이용해서 이미지 객체를 추출하는 방법을 배운다. 딥러닝 프레임워크인 텐서플로를 사용하는 방법을 익힐 수 있다.

 

‘3, 자연어 처리 기술의 이해에서는 자연 어처리가 무엇인지 개요를 알아보고, 자연어 처리를 배우는 목적에 대해 살펴본 다음, 실전 예제로 자연어 처리 기술을 활용해 텍스트에서 감정을 분석하는 방법을 배운다.


‘7, 한글 자연어 처리에서는 자연어 처리의 정의와 기본적인 지식을 알아보고, 한국어 처리를 위한 형태소 분석에 대해 살펴본다.

8, 워드투벡을 이용한 자연어 처리에서는 기존 자연어를 처리하는 방식에서 최근에 사용하게 된 딥러닝을 이용한 자연어처리 방식에 대해 소개한다. 특히 워드투벡(Word2Vec)이라는 기술에 대해 자세히 살펴본다.

‘9, 텍스트 감정 분석하기에서는 한국어 영화 리뷰를 통해 감정을 판단하는 기술을 배운다. 순환신경망(RNN)과 서포트 벡터 머신을 이용해서 구현하는 방법을 익힌다.

 

‘4, 챗봇 서비스와 구현 기술의 이해에서는 챗봇에 대한 기본적인 개념을 익히고, 클라우드 서비스를 이용해서 만드는 방법과 직접 딥러닝 기술을 이용해서 간단한 대화 서비스를 만드는 방법을 소개한다.


‘10, 챗봇 서비스 기술의 소개에서는 최근 주목받는 챗봇 서비스에 대한 이해와 유형, 다양한 사례를 알아본다. 챗봇을 구성하는 기술도 살펴본다.

‘11, 클라우드 서비스를 이용한 챗봇 개발에서는 클라우드 기반의 왓슨을 이용해서 직접 챗봇을 만들어본다.

‘12, RNN을 이용해 대화 서비스 개발하기에서는 제공하는 클라우드 서비스가 아닌 직접 딥러닝 기술을 이용해서 대화 서비스를 구축해본다.

 

마지막으로 부록에서는 이 책의 예제를 실행하기 위한 주요 실행 환경인 파이썬, 넘파이(NumPy)와 사이파이(SciPy), 케라스(Keras) 설치 방법을 설명한다. 그 밖의 환경 설치 및 구축 방법은 본문에서도 자세히 안내한다.

 

[이 책의 주요 특징]


- 이 책 한 권으로 인공지능 서비스의 다양한 분야를 모두 학습하고 실무 예제를 실습해볼 수 있다.

- 머신러닝과 딥러닝의 주요 알고리즘 이론을 배우고 간단한 서비스를 직접 만들어본다.

- 인공지능의 유형, 사례, 적용 기술 등을 파악해 서비스 기획을 위한 기본기를 갖출 수 있다.

- 인공지능 기술로의 확대 및 실무 적용 관점에서 직접 경험해보고 선택할 수 있다.

- 음성 인식, 자연어 처리, 대화 시스템, 영상 처리 등 다양한 인공지능 기술을 맛볼 수 있다.

- 인공지능을 위한 파이썬 기반 패키지인 파이토치(PyTorch), 젠심(Gensim), 텐서플로(TensorFlow), 케라스(Keras), NLTK 등을 사용한다.

 

[이 책의 독자 대상]


- 인공지능을 활용한 신규 IT 서비스를 고민하고 기술적 이해에 목마른 서비스/솔루션 기획자

- 머신러닝, 딥러닝 영역으로 전문성을 넓히고자 하는 IT 업무 종사자

- 컴퓨터 프로그램 경험이 있고 인공지능을 이용한 개발을 경험해보고 싶은 고등학생, 대학생 및 일반인


[지은이 소개]


마창수


학부에서 정보통신공학을 전공한 뒤 졸업할 무렵 대한민국은 IMF의 위기에 놓여 있었다. IT 분야에 입문해서 직장생활을 하다가 대학원에 진학해 인공지능을 전공하고 졸업할 무렵에는 IT 벤처 붐이 일고 있었지만 아직 인공지능의 봄이 오지는 않은 상황이었다. 20년이 넘는 기간 동안 C/C++, 자바, 파이썬 같은 다양한 언어를 이용해 개발을 해왔고 LBS, 그린(Green) IT, 빅데이터, IoT, AI 등 다양한 신기술 영역에서 엔지니어로 또는 기획 및 관리자로 역할을 수행해왔다. 늘 새로운 아이디어를 기술로 풀어내기 위해 고민하고, 부족한 능력을 경험으로 채우기 위해 노력해 왔다. 최근에는 AI 기반 기술 연구, 솔루션 개발, 사업 발굴 및 확산을 위해 분투 중이다.

저서로는 『과학 영재를 만드는 아두이노 교실 2/e(에이콘출판, 2018), 번역서로 『왓슨을 이용한 인공지능 서비스 입문』(책만, 2017), 『자연어 처리와 컴퓨터 언어학』(에이콘출판, 2019) 등이 있다.

 


최재철

언제나 새로운 것에 도전하기 좋아하는 개발자로서, 수년간 금융권에서 서비스 및 애플리케이션 개발을 담당했다. 현재는 SK에서 인공지능 관련 업무를 하고 있으며, 사내 강사를 겸하고 있다. 관심사는 인공지능 기술을 이용한 서비스 개발과 오픈소스 하드웨어 프로젝트와 3D 프린팅이다. 저서로는 『과학 영재를 만드는 아두이노 교실 2/e(에이콘출판, 2018)이 있다.




[지은이의 말]


이 책은 인공지능을 다양한 관점에서 이해할 수 있도록 안내하고 실무에 적용하기 위한 영감과 경험을 제공하는 데 목적이 있다. 그간 인공지능을 주제로 다양한 책이 출간되었다. 인공지능을 트렌드로 이해하기 위한 시장 분석 서적도 있고, 머신러닝이나 딥러닝 알고리즘을 설명하고 학문적으로 도움을 주는 책도 있다. 또한 파이토치나 텐서플로 같은 인공지능 오픈소스를 기반으로 구현 방법에 집중하는 기술 서적이나 자연어 처리와 챗봇같이 특정 영역을 대상으로 하는 서적 들도 쏟아져 나오고 있다.

 

인공지능과 관련된 이해 관계자들은 주로 알고리즘을 연구하는 석•박사 연구가, 프로그램 개발자뿐만 아니라, 사업을 언제 어떻게 추진할지 결정해야 하는 직책자, 서비스와 솔루션을 설계하고 사업화해야 하는 기획자와 개발 리더, 고객을 설득하고 제안하는 영업 담당자 등 다양한 사람들이 연결되어 있다.

 

인공지능 기술을 연구하고 확산해야 하는 담당자로서, 이러한 다양한 역할의 사람들이 서로 다른 언어, 서로 다른 이해의 깊이로 인해 상호 협력하는 데 많은 어려움을 겪는 것을 보아왔다. 인공지능이라는 공통요소를 공유하지만 각기 다른 역할을 하는 각 분야 담당자들이 좀 더 서로의 영역에 대해 이해하는 데 도움이 되기를 바라는 마음에서 책을 쓰게 되었다.


이 책에서는 인공지능을 활용한 다양한 서비스 유형을 이해하고, 머신러닝과 딥러닝을 포함한 대표적인 기술에 대한 설명과 실습을 통해 엔지니어의 실무를 이해할 수 있다. 또한, 직접 알고리즘을 개발하는 것뿐만 아니라 글로벌 기업들이 제공하는 인공지능 서비스와 활용 분야도 이해할 수 있다. 따라서 이 책에서 설명하는 인공지능 시장과 사례 유형, 학문적 이해, 최신 인공지능 알고리즘 개발, 인공지능 서비스 활용 등의 다양한 옵션 중에서, 각자 상황에 맞게 인력 구성이나 회사 상황, 시기 등을 고려해 최선의 선택을 해야 한다는 점을 독자 여러분이 공감할 수 있기 바란다.


[차례]


[1] 인공지능 서비스와 기술의 이해

[1] 인공지능이란 무엇인가

_1.1 인공지능 기술의 태동과 발전

_1.2 인공지능을 활용한 주요 비즈니스 사례

_1.3 정리

 

[2] 인공지능을 적용하기 위한 방법

_2.1 인공지능 적용 기술의 분류

_2.2 인공지능 개발을 위한 분산 플랫폼 환경

_2.3 인공지능 개발을 지원하는 도구

_2.4 딥러닝과 머신러닝 전용 프레임워크

_2.5 인공지능 개발을 위한 프로그램 언어

_2.6 데이터를 효과적으로 다루기 위한 포맷

_2.7 접근과 사용이 용이한 클라우드 기반 인공지능 서비스

_2.8 정리

 

[2] 머신러닝과 딥러닝

[3] 머신러닝의 이해와 지도학습을 이용한 분류

_3.1 머신러닝의 유형

_3.2 의사결정나무

_3.3 서포트 벡터 머신 알고리즘

_3.4 정리

 

[4] 비지도학습을 이용한 군집화

_4.1 K-평균 알고리즘으로 군집화 개념 이해하기

_4.2 K-평균 직접 구현해 보기

_4.3 붓꽃 데이터로 군집화 실습하기

_4.4 와인 데이터로 군집화 실습하기

_4.5 정리

 

[5] 딥러닝을 이용한 이미지 분류

_5.1 딥러닝 기술의 이해

_5.2 CNN이란

_5.3 손글씨 이미지 인식

_5.4 음식 이미지 인식

_5.5 정리

 

[6] 텐서플로를 이용한 이미지 객체 추출

_6.1 객체 추출 개요

_6.2 객체 인식 사용해보기

_6.3 객체 인식 응용하기

_6.4 객체 인식을 위한 이미지 라벨링 도구

_6.5 정리

 

[3] 자연어 처리 기술의 이해

[7] 한글 자연어 처리

_7.1 자연어 처리의 개요

_7.2 텍스트 데이터 전처리

_7.3 텍스트 데이터의 벡터화

_7.4 한글 자연어 처리 과정

_7.5 한글 형태소 분석기 알아보기

_7.6 한글 형태소 분석기 사용해보기

_7.7 토픽 모델링

_7.8 정리

 

[8] 워드투벡을 이용한 자연어 처리

_8.1 자연어 처리의 꽃, 단어 임베딩 이해하기

_8.2 word2vec을 이용한 실습 해보기

_8.3 word2vec을 이용해 영화 후기 분석하기

_8.4 정리

 

[9] 텍스트 감정 분석하기

_9.1 텍스트 감정 분석이란?

_9.2 케라스를 이용한 감정 분석

_9.3 서포트 벡터 머신을 이용한 감정 분석

_9.4 정리

 

[4] 챗봇 서비스와 구현 기술의 이해

[10] 챗봇 서비스 기술의 소개

_10.1 챗봇이란?

_10.2 챗봇의 주요 서비스 형태

_10.3 챗봇을 구성하는 기술

_10.4 정리

 

[11] 클라우드 서비스를 이용한 챗봇 개발

_11.1 왓슨을 이용한 대화 시나리오 개발

_11.2 슬랙 봇 추가하기

_11.3 챗봇 프로그램 실행하기

_11.4 정리

 

[12] RNN을 이용해 대화 서비스 개발하기

_12.1 딥러닝 기반 개발환경 준비

_12.2 RNN으로 대화 엔진 만들기

_12.3 세탁소 챗봇 서비스 개발하기

_12.4 IoT 제어 챗봇 개발하기

_12.5 정리

 

[부록 A] 파이썬 3 설치하기

A.1 우분투에 설치하기

A.2 OS X에 설치하기

A.3 윈도우에 설치하기

 

[부록 B] 윈도우에서 넘파이와 사이파이 설치하기

B.1 넘파이 모듈 설치

B.2 사이파이 모듈 설치

 

[부록 C] 케라스 설치하기

C.1 가상 개발환경 생성하기

C.2 패키지 추가 설치하기

C.3 주피터 노트북 설치하기




Posted by 책만

댓글을 달아 주세요