HOME > Detail View

Detail View

텐서플로우 2와 케라스를 이용한 고급 딥러닝 : DL, GAN, VAE, 심층 RL, 비지도 학습, 객체 감지 및 분할 등 적용

Material type
단행본
Personal Author
Atienza, Rowel 이재광, 李載廣, 1956-, 역 방영규, 역
Title Statement
텐서플로우 2와 케라스를 이용한 고급 딥러닝 : DL, GAN, VAE, 심층 RL, 비지도 학습, 객체 감지 및 분할 등 적용 / Rowel Atienza 지음 ; 이재광, 방영규 옮김
Publication, Distribution, etc
파주 :   DK Road Books :   DK 로드 북스,   2021  
Physical Medium
xxi, 568 p. : 삽화, 도표 ; 24 cm
Series Statement
Expert insight
Varied Title
Advanced deep learning with TensorFlow 2 and Keras : apply DL, GANs, VAEs, deep RL, unsupervised learning, object detection and segmentation, and more (2nd ed.)
ISBN
9791196965655
Bibliography, Etc. Note
참고문헌과 색인수록
Subject Added Entry-Topical Term
Machine learning Neural networks (Computer science) Semantic networks (Information theory) Deep learning
000 00000cam c2200205 c 4500
001 000046125266
005 20220819131508
007 ta
008 220819s2021 ggkad b 001c kor
020 ▼a 9791196965655 ▼g 93560
035 ▼a (KERIS)BIB000015826161
040 ▼a 011001 ▼c 011001 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 006.31 ▼2 23
085 ▼a 006.31 ▼2 DDCK
090 ▼a 006.31 ▼b 2021z61
100 1 ▼a Atienza, Rowel
245 1 0 ▼a 텐서플로우 2와 케라스를 이용한 고급 딥러닝 : ▼b DL, GAN, VAE, 심층 RL, 비지도 학습, 객체 감지 및 분할 등 적용 / ▼d Rowel Atienza 지음 ; ▼e 이재광, ▼e 방영규 옮김
246 1 9 ▼a Advanced deep learning with TensorFlow 2 and Keras : ▼b apply DL, GANs, VAEs, deep RL, unsupervised learning, object detection and segmentation, and more ▼g (2nd ed.)
260 ▼a 파주 : ▼b DK Road Books : ▼b DK 로드 북스, ▼c 2021
300 ▼a xxi, 568 p. : ▼b 삽화, 도표 ; ▼c 24 cm
490 1 0 ▼a Expert insight
504 ▼a 참고문헌과 색인수록
630 0 0 ▼a TensorFlow
650 0 ▼a Machine learning
650 0 ▼a Neural networks (Computer science)
650 0 ▼a Semantic networks (Information theory)
650 0 ▼a Deep learning
700 1 ▼a 이재광, ▼g 李載廣, ▼d 1956-, ▼e▼0 AUTH(211009)119344
700 1 ▼a 방영규, ▼e
830 0 ▼a Expert insight
945 ▼a ITMT

Holdings Information

No. Location Call Number Accession No. Availability Due Date Make a Reservation Service
No. 1 Location Main Library/Monographs(3F)/ Call Number 006.31 2021z61 Accession No. 511054302 Availability Available Due Date Make a Reservation Service B M

Contents information

Book Introduction

최근 4차 산업혁명 시대를 맞이하여 인공지능을 포함한 빅데이터, 로봇, 자율주행자동차,
드론, 5G 등의 기술 발전에서 소프트웨어에 대한 중요성이 점점 더 높아지고 있다. 특히 소프트웨어를 이용한 인공지능(AI) 분야에 대한 적용 및 활용 기술의 개발이 활발하게 이루어지고 있다.

따라서 인공지능, 기계 학습, 심층 학습, 강화 학습 분야의 기술 개발을 위해 파이썬 등과 같은 다양한 프로그램 언어들이 개발되어 사용되고 있는데, 그중에서 심층 학습은 컴퓨터 비전, 음성 인식, 자연어 처리 및 이해 분야에서 놀랄만한 발전을 거듭해 왔다.

앞으로도 심층 학습은 비전 기반의 감지 및 인식, 자율 주행, 에너지 절약, 신약 개발, 금융 및 마케팅 분야의 애플리케이션에서 심층 학습 알고리즘이 많이 적용될 것으로 예상하고 있다. 따라서, Tensorflow와 Keras를 이용한 고급 심층 학습 프로그래밍을 익히고자 하는 국내 개발자들에게 많은 도움이 될 좋은 책이라 생각되어 번역하게 되었다.

이 책을 통해 Tensorflow 2에서 Keras API를 이용하여 구현한 코드를 샘플을 차례대로 배우게 되면 개발자가 구현하고자 하는 애플리케이션 개발에 적용할 수 있는 능력을 키울 수 있을 것으로 판단된다

최근 4차 산업혁명 시대를 맞이하여 인공지능을 포함한 빅데이터, 로봇, 자율주행자동차,
드론, 5G 등의 기술 발전에서 소프트웨어에 대한 중요성이 점점 더 높아지고 있다. 특히 소프트웨어를 이용한 인공지능(AI) 분야에 대한 적용 및 활용 기술의 개발이 활발하게 이루어지고 있다. 따라서 인공지능, 기계 학습, 심층 학습, 강화 학습 분야의 기술 개발을 위해 파이썬 등과 같은 다양한 프로그램 언어들이 개발되어 사용되고 있는데, 그중에서 심층 학습은 컴퓨터 비전, 음성 인식, 자연어 처리 및 이해 분야에서 놀랄만한 발전을 거듭해 왔다.
앞으로도 심층 학습은 비전 기반의 감지 및 인식, 자율 주행, 에너지 절약, 신약 개발, 금융 및 마케팅 분야의 애플리케이션에서 심층 학습 알고리즘이 많이 적용될 것으로 예상하고 있다. 따라서, Tensorflow와 Keras를 이용한 고급 심층 학습 프로그래밍을 익히고자 하는 국내 개발자들에게 많은 도움이 될 좋은 책이라 생각되어 번역하게 되었다.
이 책을 통해 Tensorflow 2에서 Keras API를 이용하여 구현한 코드를 샘플을 차례대로 배우게 되면 개발자가 구현하고자 하는 애플리케이션 개발에 적용할 수 있는 능력을 키울 수 있을 것으로 판단된다. 이 책에는 다음과 같은 내용이 차례대로 설명되어 있다.

• 심층 학습의 기본 개요로서 최적화, 정규화, 손실 함수, 레이어와 네트워크의 핵
심 개념
• 심층 신경망 구조인 Resnet와 DensNet, 함수형 API
• 입력 데이터의 잠재 표현을 다루는 오토인코더 네트워크 구조
• 생성적 적대 신경망(GAN)의 기본 개념과 DCGAN, CGAN
• 향상된 GAN에서 개선된 알고리즘과 WGAN, LSGAN, ACGAN
• 풀어진 GAN, 교차-도메인 GAN
• 변분 오토인코더에 대한 기본 개념과 와 CVAE, β-VAE
• 심층 강화 학습과 Q-learning 기본 개념
• 강화 학습에서 의사결정을 위해 정책을 학습하는 신경망
• 객체 감지, 시멘틱 분할, 상호 정보를 이용한 비지도 학습
위의 내용을 텐서플로우 2의 kerasAPI 또는 tf.keras로 구현한 코드도 함께 제시되어 있다.
따라서 기본 개념과 실제 코드 구현을 통하여 학습하게 되면 실제 개발자가 해결하고자 하는 문제들에 대해서도 적용이 가능할 것으로 생각된다. 나름은 전문 용어들을 표준에 맞추어 번역하려고 노력하였지만 부족한 점이 많으리라 생각된다. 혹 미흡한 부분을 지적해 주시면 다음 기회에 더 좋은 내용이 되도록 노력하겠다. 이 책을 통하여 기계 학습 및 심층 학습을 이용한 애플리케이션 알고리즘 개발에 조금이나마 도움이 되었으면 한다.

| 이 책의 대상 |
이 책은 심층 학습의 고급 주제들을 더 깊이 이해하길 원하는 기계 학습 엔지니어들과 학생들을 대상으로 한다. Keras로 구현한 코드로 각 설명을 보충하였다. 특히, 텐서플로우 2의 Keras API 또는 tf.keras를 이용하였다. 이 책은 이론을 Keras 코드로 구현하는 방법에 대해 이해하길 원하는 독자들을 위한 것이다. 이론을 이해하는 것 외에도, 코드 구현은 기계 학습을 실제의 문제들에 적용함에 있어 어려운 작업 중 하나이다.

■이 책의 특징
1장. “Keras와 함께 고급 심층 학습 소개”에서는 최적화, 정규화, 손실 함수, 기본적인 레이어들 및 네트워크의 핵심 개념과 tf.keras로 이에 대한 구현을 다룬다. 이 장은 심층 학습과 순차형 API를 이용하는 tf.keras에 관한 리뷰를 제공한다.

2장. “심층 신경망”에서는 tf.keras의 함수형 API를 다룬다. 널리 사용되는 두 개의 심층 신경망 아키텍처인 ResNet과 DensNet을 설명하고 함수형 API를 이용하여 tf.keras로 구
현한다.

3장. “오토인코더”에서는 입력 데이터의 잠재 표현을 다루는데 일반적으로 사용되는 오토인코더(autoencoder)라고 하는 네트워크의 구조를 다룬다. 오토인코더의 두 가지 예제 어플리케이션인 노이즈 제거와 채색을 설명하고 tf.keras로 구현한다.

4장. “생성적 적대 신경망(GAN)”에서는 최근 심층 학습의 발전된 중요한 기법 중 하나이다. GAN은 실제처럼 보이는 합성된 데이터를 생성하는데 사용된다. 이 장은 GAN의 기
본 개념을 설명한다. GAN의 두 가지 예제인 DCGAN과 CGAN을 설명하고 tf.keras
로 구현한다.

5장. “향상된 GAN”에서는 기본 GAN을 개선한 알고리즘을 다룬다. 이 알고리즘은 GAN 훈련의 어려운 점을 해결하고 합성 데이터의 품질을 개선한다. WGAN, LSGAN 및 ACGAN을 설명하고 tf.keras로 구현한다.

6장. “풀어진 표현 GAN”에서는 GAN으로 생성된 합성 데이터의 속성을 제어하는 방법에 대해 설명하다. 잠재 표현을 풀면 속성을 제어할 수 있다. 표현을 푸는 두 기법인 InfoGAN과 StackedGAN을 설명하고 tf.keras로 구현한다.

7장. “교차-도메인 GAN”에서는 일반적으로 교차-도메인 변환이라고 알려진, 하나의 도메인에서 다른 도메인으로 이미지를 변환하는 GAN의 실제적인 어플리케이션을 다룬다. 교차-도메인 GAN으로 널리 사용되는 CycleGAN을 설명하고 tf.keras로 구현한다. 이 장은 채색 및 스타일 변환을 수행하는 CycleGAN을 설명한다.

8장. “변분 오토인코더(VAE)”에서는 DL에서 또 하나의 중요한 주제를 설명한다. GAN과
유사한 VAE는 합성 데이터를 생성하는데 사용되는 생성 모델이다. GAN과는 달리, VAE는 변분 추론에 적합한 디코딩이 가능한 연속의 잠재 공간에 중점을 둔다. VAE와 이것의 변형인 CVAE 및 β-VAE를 설명하고 tf.keras로 구현한다.

9장. “심층 강화 학습”에서는 강화 학습과 Q-learning의 기본 개념을 설명한다. 이산 행동 공간에 대한 Q-learning을 구현하는 두 가지 기법인 Q-table 업데이트와 Deep Q-Networks (DQN)를 설명한다. OpenAI Gym 환경에서 파이썬을 이용한 Q-learning과 tf.keras의 DQN의 구현을 보여준다.

10장. “정책 경사 방법”에서는 강화 학습에서 의사 결정을 위해 정책을 학습하는 신경망을 사용하는 방법에 대해 설명한다. 네 가지 방법인 REINFORCE, 기준치를 갖는 REINFORCE, Actor-Critic 및 Advantage Actor-Critic을 설명하고 tf.keras와 OpenAI Gym 환경에서 구현한다. 이 장에서 보여주는 예제는 연속의 행동 공간에 대한 정책 경사 방법을 설명한다.

11장. “객체 감지”에서는 컴퓨터 비전, 객체 감지 또는 식별 그리고 이미지의 위치 파악에 대한 가장 일반적인 어플리케이션 중 하나를 설명한다. SSD라고 하는 멀티-스케일
객체 감지 알고리즘의 핵심 개념을 설명하고 tf.keras를 이용하여 단계별로 구현한다.
데이터셋 수집과 레이블링에 대한 기법을 예를 들어 설명한다. 그 후, 데이터셋을 이용하여 tf.keras로 SSD의 훈련과 평가를 구현한다.

12장. “시멘틱 분할”에서는 컴퓨터 비전, 시멘틱 분할 또는 이미지에서 각 픽셀에 대해 객체 클래스를 식별하는 것에 관한 또 다른 일반적인 어플리케이션을 설명한다. 분할의 기본 개념을 설명한다. 그 다음에, 좀 더 자세히 시멘틱 분할을 설명한다. FCN이라고 하는 시멘틱 분할 알고리즘의 구현 예제를 tf.keras를 이용하여 구축하고 평가한다. 이전 장에서 수집된 동일한 데이터셋을 이용하지만 시멘틱 분할을 위해 다시 레이블링 한다.

13장. “상호 정보를 이용한 비지도 학습”에서는 DL이 인간의 레이블링에 깊이 의존한다면, 왜 발전하지 못하는지 살펴본다. 비지도 학습은 인간의 레이블링을 필요로 하지 않는
알고리즘에 중점을 둔다. 비지도 학습을 이루기 위한 효과적인 기법 중 하나는 상호
정보(MI, Mutual Information)의 개념에 대한 이점을 활용하는 것이다. MI를 최대화 하도록, tf.keras를 이용하여 비지도 클러스터링/분류를 구현하고 평가한다.


Information Provided By: : Aladin

Author Introduction

로웰 아티엔자(지은이)

로웰 아티엔자는 필리핀 딜리만의 필리핀대학교 전기전자공학부 부교수다. Dado and Maria Banatato 연구소 인공지능 분야의 교수장이기도 하다. 로웰은 필리핀대학교를 졸업한 후로 지능형 로봇에 매료됐다. AI가 탑재된 네 발 달린 로봇을 만들어 싱가포르 국립대학교에서 공학 석사 학위를 받았다. 오스트레일리아 국립대학교에서 인간과 로봇의 상호작용을 위한 시선 위치 추적 기술을 연구해 박사 학위를 마쳤다. 현재는 AI와 컴퓨터 비전을 연구하고 있다. 그의 꿈은 지각하고 이해하고 추론할 수 있는 유용한 기계를 만드는 것이다. 필리핀 과학기술부(DOST), 필리핀 삼성 연구소, 고등 교육 위원회 산하 필리핀-캘리포니아 고등 연구소(CHED-PCARI)로부터 지원을 받아 그 꿈을 이루려고 노력 중이다.

이재광(옮긴이)

한남대학교 컴퓨터공학과 교수

방영규(옮긴이)

• 강원대학교 전자공학과 석사 • 현재 음성인식 관련 업체에서 스마트 tv, 가상 비서 및 다수의 프로 젝트 참여 중 • 역서: -텐서플로우2와 케라스를 이용한 고급딥러닝 -새롭게 배우는 텐서플로우 2.0 -파이토치 1.X로 시작하는 딥러닝

Information Provided By: : Aladin

Table of Contents

1장 Keras를 이용한 고급 심층 학습 소개
1. 왜 Keras가 완벽한 심층학습 라이브러리 인가? 4
Keras와 텐서플로우 설치하기 5
2. MLP, CNN, RNN 8
MLP, CNN, 그리고 RNN의 차이점 8
3. 멀티레이어 퍼셉트론(MLP) 9
MNIST 데이터셋 10
MNIST 숫자 분류기 모델 13
MLP와 Keras를 이용하여 모델 구축하기 17
정규화 20
출력 활성화 및 손실 함수 21
최적화 24
성능 평가 29
모델 요약 30
4. 합성곱 신경망(CNN) 33
합성곱 35
풀링(Pooling) 연산 37
성능 평가 및 모델 요약 38
5. 순환 신경망(RNN) 40
6. 요점 정리 46
7. 참고자료 47

2장 심층 신경망
1. 함수형 API 52
두 개의 입력과 하나의 출력을 갖는 모델 생성하기 55
2. 심층 잔차 네트워크(ResNet) 62
3. ResNet v2 73
4. 조밀하게 연결된 합성곱 네트워크(DenseNet) 77
CIFAR10으로 100-레이어 DenseNet-BC 구축하기 81
5. 요점 정리 84
6. 참고자료 85

3장 오토인코더
1. 오토인코더의 원리 90
2. Keras를 이용한 오토인코더 구축하기 93
3. 노이즈 제거 오토인코더(DAE) 104
4. 자동 채색 오토인코더 110
5. 요점 정리 118
6. 참고자료 119

4장 생성적 적대 신경망(GAN)
1. GAN의 개요 123
GAN의 원리 125
2. Keras로 DCGAN 구현하기 131
3. 조건부(conditional) GAN 142
4. 요점 정리 153
5. 참고자료 153

5장 향상된 GAN
1. Wasserstein GAN 158
거리 함수 158
GAN의 거리 함수 161
Wasserstein 손실 사용하기 164
Keras를 이용한 WGAN 구현 169
2. Least-squares GAN(LSGAN) 177
3. 보조 분류기(Auxiliary Classifier) GAN(ACGAN) 182
4. 요점 정리 196
5. 참고자료 196

6장 풀어진 표현 GAN
1. 풀어진 표현 200
InfoGAN 202
Keras로 InfoGAN 구현 206
InfoGAN의 생성자 출력 218
2. StackedGAN 221
Keras로 StackedGAN 구현 222
StackedGAN의 생성자 출력 240
3. 요점 정리 244
4. 참고자료 244

7장 교차-도메인 GAN
1. CycleGAN의 기본 개념 248
CycleGAN 모델 251
Keras를 이용한 CycleGAN 구현 258
CycleGAN의 생성자 출력 276
MNIST의 CycleGAN 및 SVHN 데이터셋 279
2. 요점 정리 286
3. 참고자료 287

8장 변분 오토인코더(VAEs)
1. VAE의 기본 개념 292
변분 추론 294
핵심 방정식 294
최적화 296
재매개변수화 기법 297
디코더 테스트 298
Keras의 VAE 298
CNN을 이용한 AE 308
2. 조건부 VAE (CVAE) 315
3. ? -VAE -풀어진 잠재 표현을 갖는 VAE 323
4. 요점 정리 327
5. 참고자료 327

9장 심층 강화 학습
1. 강화 학습(RL)의 기본 개념 332
2. Q 값 335
3. Q-learning 예제 337
파이썬에 의한 Q-Learning 343
4. 비결정론적 환경 351
5. 시간차 학습(Temporal-difference learning) 352
OpenAI Gym에서 Q-learning 352
6. 심층 Q-Network(DQN) 359
Keras에서 DQN 363
Double Q-learning (DDQN) 371
7. 요점 정리 375
8. 참고자료 376

10장 정책 경사 방법
1. 정책 경사 정리 380
2. 몬테 카를로(Monte Carlo) 정책 경사(REINFORCE) 방법 383
3. 기준치를 갖는 REINFORCE 방법 387
4. Actor-Critic 방법 393
5. Advantage Actor-Critic(A2C) 방법 397
6. Keras를 이용한 정책 경사 방법 401
7. 정책 기울기 방법들의 성능 평가 420
8. 요점 정리 427
9. 참고자료 427

11장 객체 감지
1. 객체 감지 432
2. 앵커 박스 435
3. 정답 앵커 박스 442
4. 손실 함수 450
5. SSD 모델 아키텍처 454
6. Keras에서 SSD 모델 아키텍처 458
7. Keras에서 SSD 객체 459
8. Keras에서 SSD 모델 464
9. Keras에서 데이터 생성기 모델 468
10. 예제 데이터셋 472
11. SSD 모델 훈련 473
12. 비-최대값 억제(NMS) 알고리즘 475
13. SSD 모델 검증 479
14. 요점 정리 487
15. 참고자료 487

12장 시멘틱 분할
1. 분할 492
2. 시멘틱 분할 네트워크 495
3. Keras의 시멘틱 분할 네트워크 498
4. 예제 데이터셋 505
5. 시멘틱 분할 검증 507
6. 요점 정리 511
7. 참고자료 512

13장 상호 정보를 이용한 비지도 학습
1. 상호 정보 516
2. 상호 정보와 엔트로피 518
3. 이산 확률 변수의 상호 정보 극대화에 의한 비지도 학습 521
4. 비지도 클러스터링을 위한 인코더 네트워크 525
5. Keras에서 비지도 클러스터링 구현 529
6. MNIST를 이용한 검증 542
7. 연속 확률 변수의 상호 정보 최대화에 의한 비지도 학습 543
8. 이변량 가우시안의 상호 정보 추정 545
9. Keras에서 연속 확률 변수를 이용한 비지도 클로스터링 552
10. 요점 정리 561
11. 참고자료 562

New Arrivals Books in Related Fields

大坪直樹 (2022)