골빈해커의 3분 딥러닝: 텐서플로 코드로 맛보는 CNN, AE, GAN, RNN, DQN (+ Inception)

한빛미디어
4
Free sample

 텐서플로 코드로 맛보는 딥러닝 핵심 개념! 

 

이 책은 신경망 기초부터 CNN, Autoencoder, GAN, RNN, DQN까지 딥러닝의 가장 기본이 되는 모델들을 직접 구현하며 몸으로 익히도록 구성했습니다. 이론을 깊이 파헤치기보다는 다양한 딥러닝 모델의 기초 개념과 기본적인 텐서플로 사용법을 학습하는 데 초점을 두고, 각 모델의 논문에 수록된 복잡한 코드들을 그 핵심이 잘 드러나도록 재구현했습니다. 간결해진 예제들이 여러분을 딥러닝과 텐서플로의 세계로 즐겁고 편안히 모실 것입니다.


이론보다는 실전! 몸으로 먼저 익히는 딥러닝! 

 

“한동안 좌절하던 중, 텐서플로 예제나 한번 돌려보자 싶더군요. 그런데 예제들을 돌려보고 나니 어렵게만 느껴지던 강좌들이 어느 정도 이해되는 것이었습니다! 그래서 깨달았죠. “아, 나 같은 사람은 코드로 먼저 공부하는 게 좋겠다!” … 이 책은 딥러닝/머신러닝을 배우고 싶지만, 수식만 나오면 울렁거려서 책을 덮는 저 같은 프로그래머에게 가장 적합합니다. 더불어 딥러닝/머신러닝을 공부하는 학생이나 연구자, 혹은 이론을 먼저 공부한 개발자 중 텐서플로를 써보고 싶은 분께도 좋은 가이드가 될 것입니다.”

_ ‘서문’ 중에서

 

 

★ 주요 내용

텐서플로 프로그래밍 101기본 신경망 구현텐서보드와 모델 재사용헬로 딥러닝, MNIST이미지 인식의 은총알, CNN대표적 비지도 학습법, Autoencoder딥러닝의 미래, GAN번역과 챗봇 모델의 기본, RNN구글의 핵심 이미지 인식 모델, Inception딥마인드가 개발한 강화학습, DQN
Read more
Collapse

About the author

 (주)야놀자 전략기술연구소장이다. 그 전에는 (주)옐로트래블 기술혁신센터장, 알테어엔지니어링(주) 책임연구원, (주)블로그칵테일 부사장 등을 지냈다. 골빈해커라는 닉네임으로 네트에 살고 있으며, 요즘은 딥러닝으로 골을 채우는 중이다(Loading...42%).

Read more
Collapse
5.0
4 total
Loading...

Additional Information

Publisher
한빛미디어
Read more
Collapse
Published on
Sep 28, 2017
Read more
Collapse
Pages
264
Read more
Collapse
ISBN
9791162249956
Read more
Collapse
Read more
Collapse
Best For
Read more
Collapse
Language
Korean
Read more
Collapse
Genres
Computers / Intelligence (AI) & Semantics
Computers / Internet / General
Computers / Machine Theory
Computers / Neural Networks
Read more
Collapse
Content Protection
This content is DRM protected.
Read more
Collapse

Reading information

Smartphones and Tablets

Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.

Laptops and Computers

You can read books purchased on Google Play using your computer's web browser.

eReaders and other devices

To read on e-ink devices like the Sony eReader or Barnes & Noble Nook, you'll need to download a file and transfer it to your device. Please follow the detailed Help center instructions to transfer the files to supported eReaders.
케라스 코드로 맛보는 딥러닝 핵심 개념! 

간결하고 직관적인 인공신경망 API를 제공하는 케라스는 구글 텐서플로, 마이크로소프트 CNTK, 아마존 MXNET, OpenCL PlaidML, 시애노 등의 딥러닝 엔진에서 지원하는 인기 인공지능 툴입니다. 이 책은 딥러닝 인공신경망 구현에 케라스를 사용합니다. 케라스로 주요 인공신경망인 ANN, DNN, CNN, RNN, AE, GAN, UNET을 구현하는 방법을 알아봅니다. 따라서 인공지능과 딥러닝 인공신경망의 구현에 관심이 있는 누구나 이 책의 대상 독자입니다. 

* 이 책의 ‘3분’은 ‘3분 만에 배운다’는 뜻이 아닙니다. ‘3분 음식처럼 쉽고 유용하게 배운다’는 뜻입니다.


이론보다는 실전! 몸으로 먼저 익히는 <3분> 딥러닝 시리즈! 

새로운 프로그래밍 언어나 라이브러리를 학습하는 가장 좋은 방법은 무엇일까요? <3분> 시리즈는 긴 설명을 읽기보다는 직접 코드를 입력해가면서 배우게 해 쉽고 재미있습니다.

독자 옆에 앉아 빠르게 ‘함께 코딩해가며’ 설명한다는 느낌이 들도록 했습니다. 코드는 설명 흐름에 맞춰 필요한 만큼씩 보여주며, 전체 코드를 마지막에 제시합니다. 이론은 큰 그림을 이해할 정도로만 알려드리고, 코드도 세세한 부분까지 설명하지는 않습니다. 

우선은 큰 그림과 동작하는 코드를 손에 넣으신 후, 케라스 사용법 문서와 저자가 만든 케라스 깃허브를 참고해 코드를 주물러보며 케라스와 친해져보세요. 

각 절의 마지막에는 주석이 거의 없는 전체 코드가 등장합니다. 주~욱 훑어보며 배운 걸 정리하고 제대로 이해했는지 점검해보시기 바랍니다. 각 코드 블록에 해당하는 본문 설명의 위치를 숫자로 연결해뒀으니 특정 코드가 이해되지 않을 때 활용하시기 바랍니다. 


주요 내용

- 케라스 시작하기

- 케라스로 구현하는 ANN(인공신경망)

- 케라스로 구현하는 DNN(심층신경망)

- 케라스로 구현하는 CNN(합성곱신경망)

- 케라스로 구현하는 RNN(순환신경망)

- 케라스로 구현하는 AE(오토인코더)

- 케라스로 구현하는 GAN(생성적 적대 신경망)

- 케라스로 구현하는 UNET(유넷)

- 케라스 응용하기

 

이 책의 구성

이 책은 케라스를 이용해 딥러닝 인공신경망을 만들어 인공지능을 구현합니다. 1장은 케라스를 시작하는 데 필요한 기초를 다룹니다. 2장부터는 최신 인공지능 구현 방법인 주요 인공신경망을 예제로 이용해 다룹니다. 2장~5장에서 다루는 ANN, DNN, CNN, RNN은 지도학습 방식의 인공지능입니다. 6장과 7장에서 다루는 AE와 GAN은 비지도학습 방식이고 8장의 UNET은 고급 지도학습 방법입니다. 9장은 8장까지 배운 내용을 응용하고 확장하는 방법을 다룹니다. 

예제는 쉽게 인공지능 구현 방법을 익히고, 추후 실무에 쉽게 재사용할 수 있게 하는 데 주안점을 두어 작성했습니다.  


_0장. 프롤로그

인공지능과 딥러닝 인공신경망의 개요를 알아봅니다. 그리고 인공신경망을 구현하는 케라스를 간단히 소개합니다.  


_1장. 케라스 시작하기

케라스는 인공지능을 파이썬으로 구현하는 라이브러리입니다. 케라스를 설치하는 방법과 간단한 인공신경망을 구현하는 예제를 다룹니다. 


_2장. 케라스로 구현하는 ANN(인공신경망)

ANN(artificial neural network)은 두뇌의 신경망을 흉내 낸 인공지능 기술입니다. ANN은 입력 계층, 은닉 계층, 출력 계층으로 구성되어 있습니다. 초기에는 기술적인 한계로 은닉 계층을 한 개만 포함하여 주로 총 3개 계층으로 ANN을 구성했습니다. 이 장에서는 ANN 구성에 필요한 요소를 이해하고 예제를 살펴보며 ANN 구현 방법을 익힙니다.


_3장. 케라스로 구현하는 DNN(심층신경망)

DNN(deep neural network)은 은닉 계층을 여러 개 쌓아서 만든 인공신경망입니다. 다수의 은닉 계층을 이용하는 DNN은 ANN에 비해 더 우수한 성능을 내며 적용 분야도 다양합니다. 이 장에서는 DNN의 구성에 필요한 요소를 이해하고 케라스로 구현하는 방법을 익힙니다.


_4장. 케라스로 구현하는 CNN(합성곱신경망)

CNN(convolutional neural network)은 영상 처리에 많이 활용되는 합성곱(convolution)을 이용하는 신경망 기술입니다. 합성곱에 사용되는 필터들은 학습을 통해 이미지 내의 특징점들을 자동으로 추출해냅니다. CNN은 이런 과정을 통해 기존에 수작업으로 찾던 특징점을 스스로 찾게 됩니다. 이 장에서는 CNN의 원리를 이해하고 케라스로 구현하는 방법을 알아봅니다.  


_5장. 케라스로 구현하는 RNN(순환신경망)

RNN(recurrent neural network)은 계층의 출력이 순환하는 인공신경망입니다. 재귀를 이용해 자기 계층의 출력 정보를 입력 신호로 다시 사용해 신경망의 성능을 높입니다. 특히 문자열, 음성 등 시계열 정보의 예측에 많이 활용됩니다. 이 장에서는 RNN의 기본 개념을 이해하고 예제를 구현해봅니다.  


_6장. 케라스로 구현하는 AE(오토인코더)

AE(autoencoder)는 비지도학습 인공신경망입니다. 비지도학습은 레이블 정보가 없는 데이터의 특성을 분석하거나 추출하는 데 사용됩니다. 비지도학습의 대표적인 방식인 AE의 목적은 입력 데이터의 특징점을 효율적으로 찾는 겁니다. 이 장에서는 AE의 원리를 이해하고 케라스로 구현하는 방법을 익힙니다.


_7장. 케라스로 구현하는 GAN(생성적 적대 신경망)

GAN(generative adversarial network)은 경쟁을 통한 최적화를 수행하는 생성적 인공신경망입니다. GAN 내부의 두 인공신경망이 상호 경쟁하면서 학습을 진행합니다. 두 신경망 중의 하나는 생성망이고 다른 하나는 판별망입니다. 이 장에서는 GAN의 개념을 소개하고 케라스로 구현하는 방법을 다룹니다.   


_8장. 케라스로 구현하는 UNET(유넷)

UNET(U-shaped network)은 저차원과 고차원 정보를 모두 사용하여 이미지의 경계를 비롯한 특징을 추출하는 인공신경망입니다. 차원 정보만 이용해 고차원으로 복원해나가는 AE와 달리 고차원 특징점도 함께 이용해 디코딩을 진행해 이미지의 특징 추출에 용이합니다. 이 장에서는 UNET의 개념을 이해하고 구현 방법을 익힙니다.    


_9장. 케라스 응용

케라스를 이용하여 실제 문제에 인공지능을 활용할 때 생기는 문제를 효율적으로 처리하는 고급 기능을 다룹니다. 종종 학습에 필요한 데이터가 충분하지 못한 경우가 있습니다. 이런 경우는 학습 데이터 수를 늘려주거나 기존에 학습된 인공신경망을 재활용해야 합니다. 이 장에서는 인공지능 기술의 실전 활용을 위해 필요한 이미지 늘리기와 기존 망 재사용하기 방법을 익힙니다. 

 머신러닝 기초 이론, 실전 예제, 문제 해결까지 한번에

이 책은 구글과 라쿠텐 머신러닝 개발자가 초보자 눈높이에서 머신러닝의 핵심 이론과 실용적인 예제를 제시합니다. 머신러닝 입문자가 이론을 바탕으로 강력한 성능을 내는 머신러닝 시스템을 구현하고 사용할 수 있도록 하는 것이 이 책의 목표입니다.

1부에서는 ‘머신러닝 기초 지식’, 2부에서는 ‘머신러닝 주요 모델’, 3부에서는 ‘머신러닝 시스템 구현’을 알려줍니다. 이론과 실무 예제와 해결 방법까지 모두 담고 있어 입문자뿐 아니라 이미 머신러닝을 현업에서 다루면서 체계적으로 실력을 다잡고자 하는 중고수에게도 최고의 선택이 될 겁니다.


★ 이 책에서 다루는 내용

이 책은 머신러닝 입문자가 알아야 하는 머신러닝의 전반적인 내용을 다룹니다. 여러분은 머신러닝이 왜 쓸모 있고 어떤 모델과 문제가 있는지, 실무에서 어떻게 사용하는지, 머신러닝의 다양한 문제를 어떻게 해결할 수 있는지, 프로그램 코드를 어떻게 만드는지 알게 될 겁니다.

 

[1부 머신러닝 기초 지식]

머신러닝과 딥러닝이 무엇이고 어떤 분류와 어떤 개념이 있는지 알아봅니다. 1부의 기본 개념은 3부의 실습에서 유용하게 사용되므로 정확히 알고 가는 것이 좋습니다.

 

-1장 머신러닝 시작하기

머신러닝의 큰 그림을 이해하는 데 도움이 되는 내용을 소개합니다. 머신러닝과 딥러닝이 무엇인지, AI와 다른 관련 분야들과는 어떠한 관계를 갖고 있으며 어떻게 분류하는지 설명합니다.

 

- 2장 머신러닝의 주요 개념

머신러닝의 주요 개념을 설명합니다. 이론적인 부분을 최대한 쉽고 실용적으로 설명했습니다. 이 장을 읽고 나면 머신러닝을 도입했을 때 문제를 어떻게 바라보고 어떻게 표현하며 어떻게 해결 방법을 찾는지, 그리고 예측에 어떻게 사용하는지에 대해 알 수 있습니다. 이들 개념은 성능에 커다란 영향을 끼치므로 어렵더라도 읽어보기 바랍니다.

 

[2부 머신러닝 주요 모델]

머신러닝 주요 모델의 이론과 개념을 실제 적용 사례와 함께 설명합니다. 회귀, 군집화 등 머신러닝의 모델에 대해 어느 정도 알고 있지만 바탕이 되는 이론이나 적용할 수 있는 문제가 무엇인지에 대해 구체적으로 알고 싶으면 2부를 꼭 읽어보세요. 특히 8장은 실제로 이론을 적용했을 때 발생하는 다양한 문제를 해결하는 방법을 소개합니다.

 

- 3장 데이터와 문제

문제의 종류와 데이터에 대해 이해해야 머신러닝을 제대로 수행할 수 있습니다. 데이터와 문제의 종류를 소개하여 머신러닝으로 해결할 수 있는 문제를 이해하는 데 도움을 줍니다.

 

- 4장 구매 이력 데이터를 이용한 사용자 그룹 만들기

수치 항목으로 구성된 구매 이력 데이터로 사용자 그룹을 만드는 문제를 다룹니다. 수치 데이터를 이용하는 대표적인 모델인 회귀와 군집화를 좀 더 자세히 알아봅니다.

 

- 5장 문서 분석 시스템 만들기

문서를 분석하는 다양한 방법에 대해 설명합니다. 문서를 주어진 카테고리에 맞게 분류하는 방법, 숨겨진 토픽을 찾는 방법, 문법을 분석하는 방법, 문서에서 고유명사를 추출하는 방법 등 이론적인 기반을 소개합니다. 또한 최신 유행하는 임베딩 학습으로 문서를 분석하는 방법도 소개합니다.

 

- 6장 영화 추천 시스템 만들기

넷플릭스, 유튜브 등의 서비스는 사용자가 좋아할 만한 영상을 어떻게 찾아낼까요? 추천 시스템의 기본 이론에 대해 알아봅니다.

 

- 7장 이미지 인식 시스템 만들기

이미지의 내용을 어떻게 인식하는지에 대해 설명합니다. 비슷한 사진 찾기, 이미지에 들어 있는 주요 물체를 찾는 인식 기법에 대해 설명합니다. 또한 최신 기법인 신경망을 이용한 이미지 분류에 대해서도 살펴봅니다.

 

- 8장 머신러닝의 다양한 문제점 해결하기

머신러닝을 최초로 구현했을 때부터 바로 좋은 성능을 보인다면 정말 운이 좋은 겁니다. 같은 방법을 사용하더라도 여러 가지 상황에 따라 좋은 성능이 나오지 않을 수 있습니다. 대부분의 경우에는 몇 가지 문제만 해결해도 엄청난 성능 향상을 얻을 수 있습니다. 모델의 다양한 문제점을 해결하는 방법, 까다로운 데이터를 처리하는 방법, 속도 향상을 위한 방법 등을 알아

봅니다.

 

[3부 머신러닝 시스템 구현]

3부에서 설명한 이론을 실제로 구현하는 방법과 라이브러리를 이용하는 방법을 소개합니다. 모델을 실제로 적용하는 방법을 더 빨리 알고 싶다면 2부보다 3부를 먼저 읽어도 됩니다.

 

- 9장 머신러닝 소프트웨어 소개

머신러닝 태스크에 사용되는 프로그래밍 언어와 각 언어에서 사용하는 대표적인 머신러닝 라이브러리 및 딥러닝 프레임워크를 소개합니다. 이 책에서 주로 사용할 라이브러리는 사이킷런과 텐서플로입니다. 이 두 라이브러리의 기본적인 사용법에 대해서도 알아봅니다.

 

- 10장 구매 이력 데이터를 이용한 사용자 그룹 만들기 - 실전

4장에서 소개한 ‘구매 이력 데이터를 이용한 사용자 그룹 만들기’를 실제로 구현해봅니다. 데이터와 프로그래밍 코드를 함께 살펴보면서 다양한 군집화 구현에 대해 살펴봅니다.

 

- 11장 문서 분석 시스템 만들기 - 실전

5장에서 살펴본 다양한 ‘문서 분석 시스템’을 구현해봅니다. 스팸문자 분류기와 문서 내용을 간추리는 데 사용되는 토픽을 찾는 방법, 한국어 처리와 임베딩 학습을 통한 문서 분석 방법을 알아봅니다.

 

- 12장 영화 추천 시스템 만들기 - 실전

6장에서 설명한 ‘영화 추천 시스템’을 구현해봅니다. 실제 데이터와 프로그래밍 코드를 살펴보면서 협업 필터링 구현 방법에 대해 소개합니다.

 

- 13장 이미지 인식 시스템 만들기 - 실전

7장에서 살펴본 이미지 관련 기술을 이용해 ‘이미지 인식 시스템’을 만듭니다. 기본적인 이미지 데이터를 다루는 방법과 얼굴 사진 분류 및 딥러닝을 이용한 손글씨 분류를 구현해봅니다.

고등학교 수학으로 살펴보는 딥러닝 개념

딥러닝 모델의 바탕은 수학입니다. 따라서 수학 전공자 수준만큼은 아니더라도 딥러닝에서 사용하는 수학 이론의 큰 그림을 이해해야 실제 딥러닝 모델을 제대로 설계해서 개발할 수 있습니다.

이 책은 신경망을 구현하는 데 사용하는 수학 이론을 그림 중심으로 설명합니다. 또한 엑셀을 이용해 수학 이론의 구현 결과를 살펴볼 수 있습니다. 딥러닝 관련 라이브러리를 사용해본 경험은 있지만, 수학에 바탕을 둔 딥러닝 모델 구현을 어려워한다면 이 책을 읽고 원하는 딥러닝 모델을 구현하는 토대를 쌓기 바랍니다.


수포자도 부담 없이 살펴볼 수 있는 딥러닝 수학 입문 

딥러닝 관련 자료를 읽다가 수학에 관한 두려움을 갖게 된 사람이 많습니다. 지금은 거의 잊었던 각종 수학 이론이 생소한 기호로 표현되면서 외계어처럼 다가오기 때문인지도 모릅니다. 하지만 한정된 지면에 다양한 개념을 함축적으로 표현하려다 보니 어렵게 느껴질 뿐입니다. 설명 방식을 조금만 달리한다면 충분히 알 수 있는 내용입니다. 

이 책은 딥러닝 관련 서비스를 개발하거나 딥러닝 기초 이론에 관심 있는 사람이 신경망 기반의 딥러닝 수학 이론을 쉽게 이해할 수 있도록 쓴 책입니다. 고등학생도 이해할 수 있는 수식 및 다양한 그림을 이용해 신경망의 동작 원리부터 딥러닝에 주로 사용하는 경사하강법과 오차역전파법의 원리를 친절하게 설명합니다. 또한 엑셀 파일을 간단히 조작해 설명한 내용을 직관적으로 이해할 수 있도록 했습니다. 평소에 수학이 어렵다고 느껴져서 딥러닝 공부를 포기한 경험이 있거나 딥러닝의 기초를 처음부터 탄탄하게 다지고 싶다면 이 책으로 두려움을 이겨내길 바랍니다. 


★ 이 책의 특징 

1. 숫자 이미지를 식별하면서 신경망 이해합니다 

숫자 이미지를 식별하는 예를 이용해 신경망의 원리를 설명합니다. 다양한 그림과 비유를 이용해 이해하기 쉽도록 구성했습니다. 

2. 수학을 잊은 분들께 친절하게 설명합니다 

수학을 잊었더라도 걱정할 필요가 없습니다. 수열, 행렬, 벡터, 미분, 편미분, 경사하강법 등 신경망에서 사용하는 수학 이론을 친절하게 설명합니다. 

3. 엑셀을 이용한 신경망 주요 수학 이론을 계산합니다 

미리 준비한 엑셀 예제를 이용해 실제 신경망의 계산을 살펴봅니다. 엑셀을 몰라도 이 책에서 제시하는 대로만 잘 따라 하면 신경망의 동작 방식을 엿볼 수 있습니다. 어려운 함수나 기능을 사용하지 않고도 계산할 수 있습니다. 



★ 대상 독자 

- 딥러닝과 신경망을 처음 공부하는 입문자 

- 딥러닝 관련 개발을 공부한 후 한 단계 레벨업하려는 개발자

©2019 GoogleSite Terms of ServicePrivacyDevelopersArtistsAbout Google|Location: United StatesLanguage: English (United States)
By purchasing this item, you are transacting with Google Payments and agreeing to the Google Payments Terms of Service and Privacy Notice.