무언가 배우는데 3분이 아까운 분들이 케라스를 통해 딥러닝 분야에 축적된 기술들을
바로 바로 사용해보고 적용해 볼 수 있도록 구성되어 있습니다.
전체적인 구성은 깔끔하고 군살 없이 설명되어 있지만 원리적인 측면이 궁금하신 분들은 다른 책도 함께 참고하셔야 합니다.
업무에 당장 적용가능한 딥러닝 기술들을 찾아 활용해 보시려는 분들께 추천드리지만,
기초가 없다면 이 책이 어렵게 느껴지실 수 있으니 참고하세요.
케라스 코드로 맛보는 딥러닝 핵심 개념!
간결하고 직관적인 인공신경망 API를 제공하는 케라스는 구글 텐서플로, 마이크로소프트 CNTK, 아마존 MXNET, OpenCL PlaidML, 시애노 등의 딥러닝 엔진에서 지원하는 인기 인공지능 툴입니다. 이 책은 딥러닝 인공신경망 구현에 케라스를 사용합니다. 케라스로 주요 인공신경망인 ANN, DNN, CNN, RNN, AE, GAN, UNET을 구현하는 방법을 알아봅니다. 따라서 인공지능과 딥러닝 인공신경망의 구현에 관심이 있는 누구나 이 책의 대상 독자입니다.
* 이 책의 ‘3분’은 ‘3분 만에 배운다’는 뜻이 아닙니다. ‘3분 음식처럼 쉽고 유용하게 배운다’는 뜻입니다.
0장. 프롤로그
__0.1 인공지능과 인공신경망
__0.2 케라스 소개
1장. 케라스 시작하기
__1.1 우분투에 케라스 설치하기
__1.2 윈도우에 케라스 설치하기
__1.3 케라스 사용
__1.4 마치며
2장. 케라스로 구현하는 ANN(인공신경망)
__2.1 ANN 원리
__2.2 필기체를 구분하는 분류 ANN 구현
__2.3 시계열 데이터를 예측하는 회귀 ANN 구현
__2.4 마치며
3장. 케라스로 구현하는 DNN(심층신경망)
__3.1 DNN 원리
__3.2 필기체를 분류하는 DNN 구현
__3.3 컬러 이미지를 분류하는 DNN 구현
__3.4 마치며
4장. 케라스로 구현하는 CNN(합성곱신경망)
__4.1 CNN 원리
__4.2 필기체를 분류하는 CNN 구현
__4.3 컬러 이미지를 분류하는 CNN 구현
__4.4 마치며
5장. 케라스로 구현하는 RNN(순환신경망)
__5.1 RNN 원리
__5.2 문장을 판별하는 LSTM 구현
__5.3 시계열 데이터를 예측하는 LSTM 구현
__5.4 마치며
6장. 케라스로 구현하는 AE(오토인코더)
__6.1 AE의 원리
__6.2 완전 연결 계층을 이용한 AE 구현
__6.3 합성곱 계층을 이용한 AE 구현
__6.4 마치며
7장. 케라스로 구현하는 GAN(생성적 적대 신경망)
__7.1 GAN의 원리
__7.2 확률분포 생성을 위한 완전 연결 계층 GAN 구현
__7.3 필기체를 생성하는 합성곱 계층 GAN 구현
__7.4 마치며
8장. 케라스로 구현하는 UNET(유넷)
__8.1 UNET 원리
__8.2 UNET을 이용한 컬러 복원 처리
__8.3 마치며
9장. 케라스 응용
__9.1 이미지 데이터 수 늘리기
__9.2 미리 학습한 모델 사용하기
__9.3 실전에서 유용한 케라스 고급 기능들
__9.4 전문 사용자를 위한 케라스 확장 기능
__9.5 마치며
이론보다는 실전! 몸으로 먼저 익히는 <3분> 딥러닝 시리즈!
새로운 프로그래밍 언어나 라이브러리를 학습하는 가장 좋은 방법은 무엇일까요? <3분> 시리즈는 긴 설명을 읽기보다는 직접 코드를 입력해가면서 배우게 해 쉽고 재미있습니다.
독자 옆에 앉아 빠르게 ‘함께 코딩해가며’ 설명한다는 느낌이 들도록 했습니다. 코드는 설명 흐름에 맞춰 필요한 만큼씩 보여주며, 전체 코드를 마지막에 제시합니다. 이론은 큰 그림을 이해할 정도로만 알려드리고, 코드도 세세한 부분까지 설명하지는 않습니다.
우선은 큰 그림과 동작하는 코드를 손에 넣으신 후, 케라스 사용법 문서와 저자가 만든 케라스 깃허브를 참고해 코드를 주물러보며 케라스와 친해져보세요.
각 절의 마지막에는 주석이 거의 없는 전체 코드가 등장합니다. 주~욱 훑어보며 배운 걸 정리하고 제대로 이해했는지 점검해보시기 바랍니다. 각 코드 블록에 해당하는 본문 설명의 위치를 숫자로 연결해뒀으니 특정 코드가 이해되지 않을 때 활용하시기 바랍니다.
★ 주요 내용
★ 이 책의 구성
이 책은 케라스를 이용해 딥러닝 인공신경망을 만들어 인공지능을 구현합니다. 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장. 케라스 응용
케라스를 이용하여 실제 문제에 인공지능을 활용할 때 생기는 문제를 효율적으로 처리하는 고급 기능을 다룹니다. 종종 학습에 필요한 데이터가 충분하지 못한 경우가 있습니다. 이런 경우는 학습 데이터 수를 늘려주거나 기존에 학습된 인공신경망을 재활용해야 합니다. 이 장에서는 인공지능 기술의 실전 활용을 위해 필요한 이미지 늘리기와 기존 망 재사용하기 방법을 익힙니다.
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2022-04-11 | 다운로드 |
안드레아스 뮐러 , 세라 가이도
타리크 라시드
김성필
김승연 , 정용주
김진중(골빈해커)