코딩셰프의 3분 딥러닝, 케라스맛: Keras 코드로 맛보는 ANN, DNN, CNN, RNN, AE, GAN, UNET

· 한빛미디어
3.0
7 reviews
Ebook
384
Pages

About this ebook

케라스 코드로 맛보는 딥러닝 핵심 개념! 

간결하고 직관적인 인공신경망 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장. 케라스 응용

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

Ratings and reviews

3.0
7 reviews

About the author

저자_ 김성진(코딩셰프)

서울대학교 전기컴퓨터공학부에서 박사를 받았고 20년간 삼성전자에 다니면서 코딩 역량을 높여왔습니다. 2011년부터 사이언티픽 컴퓨팅 연구팀을 맡으며 MIT 및 하버드 대학교와 '인공지능 기술을 활용한 기초 과학 분야 혁신'에 대한 공동 연구를 진행했습니다. 2015년에에 하버드 대학교에서 인공지능 활용 인포매틱스 분야에서 포스트닥터 과정을 밟았습니다. 현재는 보스턴에서 바이오메디컬 분야에 딥러닝을 적용하는 연구를 진행하고 있습니다. 또한 페이스북에서 3분 딥러닝 케라스맛 그룹(fb.com/groups/keras.py)을 운영하고 있습니다. 

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 listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.