000 | 00000cam c2200205 c 4500 | |
001 | 000046113344 | |
005 | 20220728130702 | |
007 | ta | |
008 | 220413s2022 ulkad 001c kor | |
020 | ▼a 9791162245415 ▼g 93000 | |
035 | ▼a (KERIS)BIB000016155024 | |
040 | ▼a 247009 ▼c 247009 ▼d 211009 | |
082 | 0 4 | ▼a 006.31 ▼2 23 |
085 | ▼a 006.31 ▼2 DDCK | |
090 | ▼a 006.31 ▼b 2022z12 | |
100 | 1 | ▼a 김성진 ▼0 AUTH(211009)146265 |
245 | 1 0 | ▼a 케라스로 구현하는 딥러닝 : ▼b 예제를 따라 하며 배우는 딥러닝 인공신경망 : ▼b in TensorFlow 2 / ▼d 김성진 지음 |
260 | ▼a 서울 : ▼b 한빛미디어, ▼c 2022 | |
300 | ▼a 486 p. : ▼b 천연색삽화, 도표 ; ▼c 23 cm | |
500 | ▼a 색인수록 | |
945 | ▼a ITMT |
소장정보
No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
---|---|---|---|---|---|---|---|
No. 1 | 소장처 과학도서관/Sci-Info(1층서고)/ | 청구기호 006.31 2022z12 | 등록번호 121259822 | 도서상태 대출중 | 반납예정일 2023-10-04 | 예약 예약가능 | 서비스 |
컨텐츠정보
책소개
예제를 따라 하며 배우는 딥러닝 인공신경망. 이 책은 케라스로 인공신경망을 구현하는 방법을 알려준다. 복잡한 수식 없이 실무에 적용할 수 있는 실용적인 예제로 다양한 딥러닝 모델(ANN, DNN, CNN, RNN, AE, GAN, UNET, RL, QAI)을 다룬다. 인공신경망의 기본 개념부터 심화 기능, 강화학습, 양자인공지능까지 다양한 딥러닝 알고리즘을 맛볼 수 있다. 코드로 딥러닝에 대한 감을 익히고 빠르게 결과물을 만들고 싶은 분께 추천한다.
코드로 빠르게 배우는 개발자용 딥러닝 입문서
『케라스로 구현하는 딥러닝』은 인공지능의 한 가지 방식만을 깊이 다루기보다는 누구나 인공지능을 쉽게 익힐 수 있도록 다양한 기초 방법을 실습하여 딥러닝의 큰 그림을 그릴 수 있도록 만들었다.
저자가 독자 옆에 앉아 빠르게 ‘함께 코딩해가며’ 설명한다는 느낌이 들도록 했으며, 코드는 설명 흐름에 맞춰 필요한 만큼씩 보여준다. 조각 코드로 공부한 다음 마지막에 전체 코드를 제시하여 한 번 더 정리할 수 있다. 이론은 큰 그림을 이해할 정도로 설명하고, 코드도 세세한 부분까지 설명하지는 않는다. 큰 그림과 동작하는 코드를 손에 넣은 후, 케라스 사용법 문서와 저자가 만든 케라스 깃허브를 참고해 코드를 주물러보며 케라스와 친해질 수 있다.
★이 책의 구성
이 책은 기본 편(0~8장)과 심화 편(9~11장)으로 구성되어 있다. 기본 편에서는 기본적인 인공신경망을 이해하고 구현하는 내용을 학습한다. 심화 편에서 응용을 포함하여 심화된 인공신경망 활용 방법을 알아본다.
<기본 편>
0장. 프롤로그
인공지능과 딥러닝 인공신경망의 개요를 알아본다. 그리고 인공신경망을 구현하는 케라스를 간단히 소개한다.
1장. 케라스 시작하기
케라스는 인공지능을 파이썬으로 구현하는 라이브러리이다. 케라스를 설치하는 방법과 간단한 인공신경망을 구현하는 예제를 다룬다.
2장. 케라스로 구현하는 ANN
ANN(인공신경망)은 두뇌의 신경망을 흉내 낸 인공지능 기술이다. ANN은 입력 계층, 은닉 계층, 출력 계층으로 구성된다. 이 장에서는 ANN 구성에 필요한 요소를 이해하고 예제를 살펴보며 ANN 구현 방법을 익힌다.
3장. 케라스로 구현하는 DNN
DNN(심층신경망)은 은닉 계층을 여러 개 쌓아서 만든 인공신경망이다. 다수의 은닉 계층을 이용하는 DNN은 ANN에 비해 더 우수한 성능을 내며 적용 분야도 다양하다. 이 장에서는 DNN의 구성에 필요한 요소를 이해하고 케라스로 구현하는 방법을 익힌다.
4장. 케라스로 구현하는 CNN
CNN(합성곱신경망)은 영상 처리에 많이 활용되는 합성곱을 이용하는 신경망 기술이다. 합성곱에 사용되는 필터들은 학습을 통해 이미지 내의 특징점을 자동으로 추출한다. CNN은 이런 과정을 거쳐 기존에 수작업으로 찾던 특징점을 스스로 찾게 된다. 이 장에서는 CNN의 원리를 이해하고 케라스로 구현하는 방법을 알아본다.
5장. 케라스로 구현하는 RNN
RNN(순환신경망)은 계층의 출력이 순환하는 인공신경망이다. 재귀를 이용해 자기 계층의 출력 정보를 입력 신호로 다시 사용해 신경망의 성능을 높인다. 특히 문자열, 음성 등 시계열 정보의 예측에 많이 활용된다. 이 장에서는 RNN의 기본 개념을 이해하고 예제를 구현한다.
6장. 케라스로 구현하는 AE
AE(오토인코더)는 비지도학습 인공신경망이다. 비지도학습은 레이블 정보가 없는 데이터의 특성을 분석하거나 추출하는 데 사용한다. 비지도학습의 대표적인 방식인 AE의 목적은 입력 데이터의 특징점을 효율적으로 찾는다. 이 장에서는 AE의 원리를 이해하고 케라스로 구현하는 방법을 익힌다.
7장. 케라스로 구현하는 GAN
GAN(생성적적대신경망)은 경쟁을 통한 최적화를 수행하는 생성적 인공신경망이다. GAN 내부의 두 인공신경망이 상호 경쟁하면서 학습을 진행한다. 두 신경망 중의 하나는 생성망이고 다른 하나는 판별망이다. 이 장에서는 GAN의 개념을 소개하고 케라스로 구현하는 방법을 다룬다.
8장. 케라스로 구현하는 UNET
UNET(유넷)은 저차원과 고차원 정보를 모두 사용하여 이미지의 경계를 비롯한 특징을 추출하는 인공신경망이다. 차원 정보만 이용해 고차원으로 복원해나가는 AE와 달리 고차원 특징점도 함께 이용해 디코딩을 진행해 이미지의 특징점 추출에 용이하다. 이 장에서는 UNET의 개념을 이해하고 구현하는 방법을 익힌다.
<심화 편>
9장. 케라스 확장 기능
케라스를 이용하여 실제 문제에 인공지능을 활용할 때 생기는 문제를 효율적으로 처리하는 고급 기능을 다룬다. 종종 학습에 필요한 데이터가 충분하지 못한 경우가 있다. 이런 경우는 학습 데이터 수를 늘려주거나 기존에 학습된 인공신경망을 재활용해야 한다. 이 장에서는 인공지능 기술의 실전 활용을 위해 필요한 이미지 늘리기와 기존 망을 재사용하는 방법을 익힌다.
10장. 케라스로 구현하는 RL
RL(강화학습)은 행동 정책을 학습하는 인공신경망이다. 강화학습은 최고의 보상을 얻기 위해 인공지능 에이전트가 적절한 행동을 스스로 결정할 수 있도록 만드는 방식으로 바둑, 게임, 로봇 제어 등에 활용되고 있다. 이 장에서는 RL의 개념을 이해하고 예제를 통해 구현 방법을 배운다.
11장. 케라스로 구현하는 QAI
QAI(양자인공지능)는 양자컴퓨터를 이용하여 구현하는 인공지능이며 양자컴퓨터는 양자 효과를 활용하는 컴퓨팅 환경이다. 양자컴퓨터는 양자중첩과 양자얽힘 현상을 이용하여 계산을 빠르게 할 수 있다. 이 장에서는 QAI에 대한 기본 내용을 배우고 양자 프로그래밍 방법을 익힌다.
★ 대상 독자
실습 중심으로 딥러닝에 대한 감을 익히고 빠르게 결과물을 내고 싶은 개발자에게 추천한다. 더불어 인공지능, 인공신경망 구현에 관심이 있다면 누구나 이 책의 대상 독자이다.
정보제공 :

저자소개
김성진(지은이)
초등학교 때 프로그래밍으로 도 대회에서 대상을 수상했다. 그때 열정을 살려 서울대학교 컴퓨터공학부에서 박사 학위를 받고 21년간 삼성전자에 다니면서 프로그래밍 역량을 높였다. 2015년에 미국으로 건너가 하버드 대학교에서 인공지능 소재 탐색 분야의 박사후연구원으로 근무했다. 2018년부터는 LG전자에서 인공지능 분야에 수석연구위원(상무)을 지냈고, 최근 인공지능을 스페이스 분야까지 확장하는 뷰메진의 CTO로 영입되었다. 페이스북에서 『케라스로 구현하는 딥러닝』 커뮤니티(fb.com/groups/keras.py)를 운영하고 있다.

목차
〈기본 편〉 0장. 프롤로그 __0.1 인공지능과 인공신경망 ____0.1.1 인공지능의 역사 ____0.1.2 머신러닝과 딥러닝 ____0.1.3 인공신경망 개요 __0.2 케라스 소개 ____0.2.1 케라스 2의 주요 특징 1장. 케라스 시작하기 __1.1 우분투에서 케라스 설치하기 ____1.1.1 아나콘다 파이썬 배포판 설치 ____1.1.2 아나콘다를 이용한 케라스 설치 ____1.1.3 케라스에서 GPU 사용을 위한 CUDA/cuDNN 설치 __1.2 윈도우에서 케라스 설치하기 ____1.2.1 아나콘다 파이썬 배포판 설치 ____1.2.2 아나콘다를 이용한 케라스 설치 __1.3 주피터 설치하기 __1.4 케라스 사용하기 ____1.4.1 실습 내용 소개 ____1.4.2 텍스트 모드 실습 ____1.4.3 주피터 모드 실습 __1.5 케라스 기능 __1.6 마치며 2장. 케라스로 구현하는 ANN __2.1 ANN 원리 ____2.1.1 ANN 개념 ____2.1.2 ANN 구조 ____2.1.3 ANN 활용 ____2.1.4 ANN 구현 방법 및 단계 __2.2 필기체를 구분하는 분류 ANN 구현 ____2.2.1 분류 ANN을 위한 인공지능 모델 구현 ____2.2.2 분류 ANN에 사용할 데이터 가져오기 ____2.2.3 분류 ANN 학습 결과의 그래프 구현 ____2.2.4 분류 ANN 학습 및 성능 분석 __2.3 결과 데이터를 예측하는 회귀 ANN 구현 ____2.3.1 회귀 ANN 모델링 ____2.3.2 학습과 평가용 데이터 가져오기 ____2.3.3 회귀 ANN 학습 결과 그래프 구현 ____2.3.4 회귀 ANN 학습 및 성능 분석 __2.4 마치며 3장. 케라스로 구현하는 DNN __3.1 DNN 원리 ____3.1.1 DNN 개념과 구조 ____3.1.2 경사도 소실 문제와 ReLU 활성화 함수 ____3.1.3 DNN 구현 단계 __3.2 필기체를 분류하는 DNN 구현 ____3.2.1 기본 매개변수 설정 ____3.2.2 DNN 모델 구현 ____3.2.3 데이터 준비 ____3.2.4 학습 및 성능 평가 __3.3 컬러 이미지를 분류하는 DNN 구현 ____3.3.1 데이터 가져오기 ____3.3.2 DNN 모델링 ____3.3.3 학습 효과 분석 ____3.3.4 학습 및 성능 평가 __3.4 마치며 4장 케라스로 구현하는 CNN __4.1 CNN 원리 __4.2 필기체를 분류하는 CNN 구현 ____4.2.1 분류 CNN 모델링 ____4.2.2 분류 CNN을 위한 데이터 준비 ____4.2.3 분류 CNN 학습 효과 분석 ____4.2.4 분류 CNN 학습 및 성능 평가 __4.3 컬러 이미지를 분류하는 CNN 구현 ____4.3.1 분류 CNN 패키지 가져오기 ____4.3.2 분류 CNN 모델링 ____4.3.3 분류 CNN을 위한 데이터 준비 ____4.3.4 분류 CNN의 학습 및 성능 평가를 위한 머신 클래스 ____4.3.5 분류 CNN의 학습 및 성능 평가 수행 __4.4 마치며 5장 케라스로 구현하는 RNN __5.1 RNN 원리 ____5.1.1 RNN의 개념과 구조 ____5.1.2 LSTM 구조 및 동작 __5.2 문장을 판별하는 LSTM 구현 ____5.2.1 라이브러리 패키지 가져오기 ____5.2.2 데이터 준비 ____5.2.3 모델링 ____5.2.4 학습 및 성능 평가 __5.3 시계열 데이터를 예측하는 LSTM 구현 ____5.3.1 라이브러리 패키지 가져오기 ____5.3.2 코드 실행 및 결과 보기 ____5.3.3 학습하고 평가하기 ____5.3.4 LSTM 시계열 데이터 회귀 모델링 ____5.3.5 데이터 가져오기 __5.4 마치며 6장 케라스로 구현하는 AE __6.1 AE 원리 __6.2 완전 연결 계층을 이용한 AE 구현 ____6.2.1 완전 연결 계층 AE 모델링 ____6.2.2 데이터 준비 ____6.2.3 학습 효과 분석 ____6.2.4 완전 연결 계층 AE의 동작 확인 ____6.2.5 학습 및 성능 평가 __6.3 합성곱 계층을 이용한 AE 구현 ____6.3.1 합성곱 AE 모델링 ____6.3.2 데이터 준비 및 학습 효과 분석 ____6.3.3 합성곱 AE 결과 시각화 ____6.3.4 합성곱 AE 학습 및 성능 평가 __6.4 마치며 7장. 케라스로 구현하는 GAN __7.1 GAN 원리 ____7.1.1 GAN의 목적과 개념 ____7.1.2 GAN의 구조 ____7.1.3 GAN의 동작 원리 ____7.1.4 GAN의 동작 사례 __7.2 확률분포 생성을 위한 완전 연결 계층 GAN 구현 ____7.2.1 패키지 가져오기 ____7.2.2 데이터 생성 클래스 만들기 ____7.2.3 GAN 모델링 ____7.2.4 머신 구현하기 ____7.2.5 코드 수행과 결과 보기 __7.3 필기체를 생성하는 합성곱 계층 GAN 구현 ____7.3.1 공통 패키지 가져오기 ____7.3.2 사용자 정의 손실 함수 만들기 ____7.3.3 합성곱 계층 GAN 모델링 ____7.3.4 합성곱 계층 GAN 학습하기 ____7.3.5 합성곱 계층 GAN 수행하기 __7.4 마치며 8장 케라스로 구현하는 UNET __8.1 UNET 원리 __8.2 UNET을 이용한 컬러 복원 처리 ____8.2.1 패키지 가져오기 ____8.2.2 UNET 모델링 ____8.2.3 데이터 준비 ____8.2.4 UNET 처리 그래프 그리기 ____8.2.5 UNET 학습 및 결과 확인 __8.3 마치며 〈심화 편〉 9장 케라스 확장 기능 __9.1 이미지 데이터 증강하기 ____9.1.1 응용 코드 구현 ____9.1.2 세부 모듈 구현 __9.2 미리 학습한 모델 사용하기 ____9.2.1 응용 코드 구현 ____9.2.2 세부 모듈 구현 __9.3 간단한 신규 계층 만들기 ____9.3.1 Lambda 계층이란? ____9.3.2 파이썬 Lambda 기능 이용 ____9.3.3 Lambda 계층 전용 함수 이용 ____9.3.4 백엔드 함수 이용 ____9.3.5 엔진 전용 함수 이용 ____9.3.6 케라스의 확장 기능 이용 __9.4 학습 가능한 신규 계층 만들기 ____9.4.1 관련 패키지 가져오기 ____9.4.2 새로운 계층의 클래스 만들기 ____9.4.3 사용 데이터 준비하기 ____9.4.4 신규 계층이 포함된 모델링 만들기 ____9.4.5 모델의 학습과 성능 평가 __9.5 케라스의 확장된 기능 이용하기 ____9.5.1 텐서플로 가져오기와 내장 케라스 사용하기 ____9.5.2 완전 연결층 인공신경망 모델링 ____9.5.3 데이터 준비 ____9.5.4 학습 진행 및 효과 분석 단계 ____9.5.5 주 함수 구현 및 실행 __9.6 마치며 10장. 케라스로 구현하는 RL __10.1 강화학습 원리 ____10.1.1 강화학습의 정의 및 주요 용어 ____10.1.2 강화학습 최적화 기본 방법 __10.2 정책 반복법을 이용하는 강화학습 사례 ____10.2.1 Gym을 이용한 강화학습 환경 구성하기 ____10.2.2 무작위 행동에 따른 상태, 보상 그리고 종료 여부 관찰하 기 ____10.2.3 반환값 구하기 ____10.2.4 가치함수 구하기 ____10.2.5 행동가치함수 구하기 ____10.2.6 새로운 정책 구하기 ____10.2.7 새로운 정책 사용하기 __10.3 Q-Learning을 이용하는 강화학습 사례 ____10.3.1 패키지 가져오기 및 초기화 ____10.3.2 주어진 정책에 따른 시행 함수 만들기 ____10.3.3 Q-learning 만들기 ____10.3.4 Q-learning 실행하기 __10.4 딥러닝 기반 Q-Learning을 이용하는 강화학습 ____10.4.1 관련 패키지 가져오기 ____10.4.2 Q 함수를 위한 뉴럴넷 구성하기 ____10.4.3 텐서플로 기능을 이용한 Q 함수 뉴럴넷 학습 코드 작성 ____10.4.4 객체지향 방식으로 Q 함수 뉴럴넷 모델을 학습시키기 ____10.4.5 추가 Q 함수 뉴럴넷 모델을 이용한 학습 ____10.4.6 시도와 동시에 학습이 진행되게 만들기 __10.5 마치며 11장. 케라스로 구현하는 QAI __11.1 양자컴퓨팅과 양자인공지능의 기초 ____11.1.1 양자비트 상태 표현과 측정 ____11.1.2 단일 양자비트 연산자 ____11.1.3 다중 양자비트 표현 및 연산 ____11.1.4 블로흐 구면과 지정 양자상태 회전 __11.2 양자컴퓨팅 알고리즘 구현 ____11.2.1 기본 양자회로 만들기 ____11.2.2 입력을 반전시키는 양자회로 ____11.2.3 두 상태를 중첩하는 양자회로 ____11.2.4 두 개 양자비트를 입력으로 하는 CNOT 연산 ____11.2.5 벨 상태 만들기 __11.3 양자인공지능 알고리즘 구현 ____11.3.1 매개변수가 있는 가변양자회로 알고리즘 ____11.3.2 하이브리드 양자인공지능 학습하기 __11.4 마치며