케라스 2.x 프로젝트 [실전 딥러닝 모델 구축과 훈련 9가지 프로젝트]
- 원서명Keras 2.x Projects: 9 projects demonstrating faster experimentation of neural network and deep learning applications using Keras (ISBN 9781789536645)
- 지은이주세페 시아부로(Giuseppe Ciaburro)
- 옮긴이김정중
- ISBN : 9791161753966
- 35,000원
- 2020년 02월 28일 펴냄 (절판)
- 페이퍼백 | 464쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 데이터 과학
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
주위에서 쉽게 접할 수 있는 부동산 모델링, 질병 분류, 품질 예측, 물품 인식, 리뷰 분석, 주식 변동성 전망, 필기 이미지 생성, 로봇 제어, 뉴스 분류와 같은 문제를 해결하는 딥러닝 모델을 케라스로 구축하고 훈련하는 방법을 다룬다. 이를 통해 기본 신경망, 합성곱 신경망, 순환 신경망, 오토 인코더 및 생성적 적대 네트워크의 개념을 익힐 수 있고 실제 문제를 케라스로 해결하는 방법을 익힐 수 있다.
이 책에서 다루는 내용
■ 데이터에 회귀를 적용하는 방법과 회귀 알고리즘의 작동 방식
■ 분류 방법에 대한 기본 개념 및 케라스 환경에서 구현하는 방법
■ 심층 신경망을 이용한 콘크리트 품질 예측
■ 합성곱 신경망을 이용한 패션 물품 인식
■ 순환 신경망을 사용한 영화 리뷰 정서 분석
■ 장단기 메모리를 이용한 주식 변동성 전망
■ 오토 인코더를 사용한 숫자 필기 이미지의 재구성
■ 심층 강화학습을 이용한 로봇 제어
■ 로이터 뉴스와이어 주제 분류
이 책의 대상 독자
최소한의 코드로 빠르게 지능적인 프로그램을 작성하기를 원하는 데이터 과학자, 머신러닝 엔지니어, 딥러닝을 배우고 싶어하는 사람, 혹은 AI 엔지니어라면 이 책이 가장 적합할 것이다.
이 책의 구성
1장, ‘케라스 시작하기’에서는 케라스를 설치하고 구성하는 방법, 케라스 라이브러리를 사용하는 방법을 배우며, 케라스 구조의 기본 개념을 살펴본다. 텐서플로를 케라스의 텐서 조작 라이브러리로 사용하는 방법과 케라스 백엔드를 텐서플로(기본 옵션)에서 테아노 및 CNTK로 전환하는 방법도 확인할 수 있다. 마지막으로 케라스 모델의 여러 유형을 이해하고 순차 레이어에서 사용되는 모델 클래스와, 함수형 API 레이어에서 사용되는 모델 클래스를 알아본다.
2장, ‘회귀분석 모델링을 이용한 부동산 모델링’에서는 다양한 유형의 회귀 분석 기법을 살펴보면서, 회귀 분석법을 데이터에 적용하고 회귀 알고리즘이 어떻게 동작하는지 알아본다. 그리고 케라스 레이어를 사용해 데이터에 수식을 맞추기 위해 여러 선형 회귀 방법을 사용하는 것을 알아본다. 또한 모델의 성능을 평가하는 방법을 배우고, 성능을 향상시키기 위해 모델을 조정하는 방법을 알아본다.
3장, ‘신경망을 이용한 심장 질환 분류’에서는 분류 문제의 기본 개념을 다룬다. 케라스를 사용한 심장 질환 분류의 실제 사례를 살펴보며, 분류 방법의 기본 개념과 케라스 환경에서 분류 방법을 구현하는 방법을 다룬다. 분류 방법의 기본 개념을 이해하고, 케라스 환경에서 이를 구현하는 방법도 배운다. 신경망 분류 분석을 위해 데이터를 가져오고 구성하는 방법과 실제 사례를 이용해 케라스 분류 모델을 구현하는 방법을 알아본다.
4장. ‘심층 신경망을 이용한 이용한 콘크리트 품질 예측’에서는 다층 신경망(Multilayer Neural Network, MNN)의 기본 개념과 케라스 환경에서 이를 구현하는 방법을 다룬다. CNN, RNN, DBN 및 제한된 볼츠만 기계(RBM)와 같은 다양한 다층 신경망의 예를 살펴볼 것이다. 콘크리트 혼합물에 사용된 성분에 따라 압축 강도를 계산할 수 있는 모델을 구현하는 방법을 배운다. 마지막으로 모델의 성능을 향상시키기 위해 이상치를 제거하는 방법을 살펴본다.
5장, ‘합성곱 신경망을 이용한 패션 물품 인식’에서는 뇌의 시각 피질의 구조에서 영감을 받은 CNN의 뉴런 사이의 연결 패턴을 다룬다. 뇌의 이 부분(시각 피질)에 존재하는 뉴런이 수용 영역라고 불리는 좁은 관찰영역에서 자극에 어떻게 반응하는지 볼 것이다. 서로 다른 뉴런들의 수용 영역은 시야 전체를 덮기 위해 부분적으로 겹쳐져 있다. 수용 영역에서 일어나는 자극에 대한 단일 뉴런의 반응은 합성곱 연산에 의해 수학적으로 근사화될 수 있다. 이 장에서 CNN은 패턴 인식 문제를 해결하기 위해 훈련된다.
6장, ‘순환 신경망을 사용한 영화 리뷰 정서 분석’에서는 정보의 양방향 흐름이 존재하는 신경 모델인 RNN을 다룬다. 즉, 피드포워드 네트워크에서의 신호 전파는 입력에서 출력까지 한 방향으로만 연속적으로 이뤄지는 반면에, 순환 신경망은 그렇지 않다. 순환 신경망에서 이전 레이어 다음의 신경 레이어, 동일한 레이어에 속하는 뉴런 사이, 심지어 특정 뉴런과 그 자체 사이에서도 신호가 전파될 수 있다. RNN을 사용해 언어 인식 문제를 해결한다.
7장, ‘장단기 메모리를 이용한 주식 변동성 전망’에서는 전망 기법의 기본 개념을 다룬다. 전망 지평선과 몇 가지 예측 방법을 분석하고 시계열 데이터도 다룰 것이다. 시계열은 연속적인 순간이나 시간 간격으로 수행되는 현상에 대한 연속된 관찰 값으로 구성된다. 시계열에서 경향, 계절성, 주기 및 잔차 등 여러 구성 요소를 확인할 수 있다. 실용적인 예제로 시계열에서 계절성을 제거하는 방법을 배우게 된다. 시계열을 나타내기 위해 가장 많이 사용되는 모델인 AR, MA, ARMA 및 ARIMA을 다룬다. 각각에 대해 기본 개념을 분석하고 모델의 수식을 제공한다. 마지막으로 시계열 분석을 위한 케라스 LSTM 모델을 제안한다. 실용적인 예를 사용해 LSTM 유형의 RNN 모델에서 시계열 회귀 문제를 다루는 방법을 알아본다.
8장, ‘오토 인코더를 사용한 숫자 필기 이미지의 재구성’에서는 오토 인코더를 살펴본다. 오토 인코더는 입력을 작은 차원으로 만드는 신경망이며, 얻어진 결과는 입력 자체를 재구성하는 데 사용할 수 있다. 오토 인코더는 인코더와 디코더의 두 서브넷으로 구성된다. 인코더 및 디코더는 거리 함수에 대해 미분할 수 있으므로, 인코딩/디코딩 함수의 파라미터는 확률적 그래디언트를 사용해 재구성 손실을 최소화하도록 최적화할 수 있다. 필기로 쓰여진 숫자 이미지를 재구성하는 데 오토 인코더를 사용한다.
9장, ‘심층 강화학습을 이용한 로봇 제어 시스템’에서는 강화학습의 기본 개념과 이 기법을 사용해 기계 시스템을 제어하는 방법을 소개한다. 우선 로봇 제어를 간략히 요약한 다음 강화학습 알고리즘을 구현하는 데 도움이 되는 OpenAI Gym 라이브러리를 소개한다. 여기에는 공통 인터페이스를 사용하는 벤치마킹 문제들과 사람들이 결과를 공유하고 알고리즘 성능을 비교할 수 있는 웹사이트를 포함한다. 이 라이브러리에 포함된 여러 환경을 둘러보고, 어떻게 설치하는지 알아본다. 마지막으로 카트폴 시스템을 이용해 Q-러닝과 딥 Q-러닝 알고리즘을 구현해볼 것이다.
10장, ‘케라스로 로이터 뉴스와이어 주제 분류’에서는 자연 언어로 작성되거나 말해진 정보를 자동으로 처리하는 과정인 자연어 처리(NLP, Natural Language Processing)를 다룬다. 인간 언어는 기본적으로 애매한 특성이 있어서 특히 어렵고 복잡하다. 케라스 레이어를 사용해 로이터의 뉴스 주제를 분류하는 모델을 구축한다. 로이터가 46개의 주제로 분류한 로이터의 11,228개 뉴스 와이어 데이터셋을 이용한다. 이 데이터셋은 케라스에서 불러올 수 있으며, 각 뉴스는 단어 인덱스의 시퀀스로 인코딩된다.
11장, ‘다음은 무엇인가?’에서는 이 책에서 다룬 내용과 이 단계 이후의 내용을 요약한다. 배운 기법들을 다른 프로젝트에 적용하는 방법, 즉 케라스 딥러닝 모델을 구축하고 배포해서 실제 문제에 적용하는 방법과 데이터 과학자들이 자주 사용하는 기타 공통 기법을 살펴본다. 딥러닝 모델 구축과 배포와 관련된 실제 문제들과 딥러닝 기법을 향상시키는 데 필요한 추가 자원과 기술을 더 잘 이해할 수 있을 것이다.
목차
목차
- 1장. 케라스 시작하기
- 케라스 개요
- 케라스 백엔드 옵션
- 텐서플로
- 테아노
- CNTK
- 설치
- 선택가능한 패키지들
- 백엔드 엔진 설치
- 케라스 설치와 설정
- 케라스로 모델 피팅하기
- 케라스 순차 모델 구조
- 케라스 함수형 API 모델 구조
- 요약
- 2장. 회귀 분석 모델링을 이용한 부동산 모델링
- 회귀 문제 정의
- 회귀의 기본 개념
- 회귀의 여러 유형
- 선형 회귀 모델 만들기
- 다중 선형 회귀 개념
- 케라스를 이용한 회귀 분석을 위한 신경망
- 탐색 분석
- 데이터 분할
- 신경망 케라스 모델
- 다중 선형 회귀 모델
- 요약
- 회귀 문제 정의
- 3장. 신경망을 이용한 심장 질환 분류
- 분류 문제의 기초
- 다양한 분류의 종류
- 분류 알고리즘
- 나이브 알고리즘
- 가우스 혼합 모델
- 판별 분석
- K 최근접 이웃 방법
- 서포트 벡터 머신
- 베이지안 결정 이론
- 베이즈 정리
- 분류 알고리즘
- 케라스 신경망을 이용한 패턴 인식
- 탐색 분석
- 파이썬에서 누락된 데이터 처리하기
- 데이터 크기 조절
- 데이터 시각화
- 케라스 이진 분류기
- 탐색 분석
- 요약
- 4장. 심층 신경망을 이용한 콘크리트 품질 예측
- ANN의 기본 개념
- ANN의 구조
- 학습 패러다임
- 지도 학습
- 비지도 학습
- 반지도 학습
- 신경망의 구조 이해
- 가중치 및 바이어스
- 활성화 함수 유형
- 단위 스텝 활성화 함수
- 시그모이드
- 하이퍼볼릭 탄젠트
- 정류된 선형 유닛
- 다층 신경망
- 케라스에서 다층 신경망 구현
- 탐색 분석
- 데이터 시각화
- 데이터 크기 조절
- 탐색 분석
- 케라스 심층 신경망 모델 구축
- 이상치를 제거를 통한 모델 성능 향상
- 요약
- ANN의 기본 개념
- 5장. 합성곱 신경망을 이용한 패션 물품 인식
- 컴퓨터 비전 개념 이해
- 합성곱 신경망
- 합성곱 레이어
- 풀링 레이어
- 정류된 선형 유닛
- 완전 연결 레이어
- CNN의 구조
- 일반적인 CNN 구조
- LeNet-5
- AlexNet
- ResNet
- VGG Net
- GoogleNet
- 객체 인식을 위한 CNN 구현
- 탐색 분석
- 데이터 크기 조절
- 탐색 분석
- CNN 모델에서 케라스 사용하기
- 모델 결과 탐색
- 요약
- 6장. 순환 신경망을 이용한 영화 리뷰 정서 분석
- 정서 분석 기본 개념
- 정서 분석 기법
- 정서 분석을 위한 다음 과제
- 어휘 및 의미 분석
- 순환 신경망
- 완전 순환 신경망
- 재귀 신경망
- 홉필드 재귀 신경망
- 엘만 신경망
- 장 단기 메모리 네트워크
- RNN을 사용해서 영화 리뷰에서 정서 구분하기
- IMDB 영화 리뷰 데이터셋
- 탐색 분석
- 케라스 반복 신경망 모델
- 모델 결과 탐색
- 요약
- 전망의 기본 사항
- 전망 지평선
- 전망 방법
- 정량적 방법
- 정성적 방법
- 시계열 분석
- 시계열에 대한 고전적 접근법
- 경향 요소 추정
- 계절성 요소 추정
- 시계열 모델
- 자동 회귀 모델
- 이동 평균 모델
- 자동 회귀 이동 평균 모델
- 자동 회귀 통합 이동 평균 모델
- 케라스의 LSTM
- 주식 변동성 전망을 위한 LSTM 구현
- 탐색 분석
- 데이터 크기 조절
- 데이터 분할
- 케라스 LSTM 모델
- 요약
- 이미지 인식의 기본 개념
- 이미지 디지털화
- 이미지 인식
- 광학 문자 인식
- 문제 접근법
- 생성 신경망
- 제한된 볼츠만 기계
- 오토 인코더
- 가변 오토 인코더
- 생성적 적대 네트워크
- 적대적 오토 인코더
- 케라스 오토 인코더 모델
- 필기 숫자 이미지를 재구성하기 위한 오토 인코더 케라스 레이어 구현
- MNIST 데이터셋
- 최소 최대 정규화
- 케라스 모델 구조
- 모델 결과 탐색
- 요약
- 로봇 제어 개요
- 로봇의 세 가지 원칙
- 짧은 로봇 연대표
- 1세대 로봇
- 2세대 로봇
- 3세대 로봇
- 4세대 로봇
- 자동제어
- 로봇 이동을 제어하기 위한 환경
- OpenAI Gym
- 강화학습 기초
- 에이전트 - 환경 인터페이스
- 강화학습 알고리즘
- 동적 프로그래밍
- 몬테카를로 방법
- 시간차 학습
- 케라스 DQNs
- Q-러닝
- 딥 Q-러닝
- 케라스-RL 라이브러리
- 로봇의 이동을 제어하는 DQN
- OpenAI Gym 설치 및 방법
- 카트폴 시스템
- Q-러닝 방법
- 심층 Q-러닝 방법
- 요약
- 자연어 처리
- NLP 단계
- 형태학 분석
- 구문 분석
- 의미 분석
- 실용 분석
- 자동 처리 문제
- NLP 적용 분야
- 정보 검색
- 정보 추출
- 질의 응답
- 자동 요약
- 자동 번역
- 정서 분석
- NLP 방법
- 문장 분할
- 토큰화
- 품사 태깅
- 얕은 파싱
- 이름 붙여진 객체 인식
- 구문 분석
- 의미론적 역할 표시
- 자연어 처리 도구
- 자연어 도구 키트
- 스탠포드 NLP 그룹 소프트웨어
- 아파치 오픈 NLP
- GATE
- NLP 단계
- 자연어 툴킷
- NLTK 시작하기
- 말뭉치
- 브라운 말뭉치
- 단어와 문장 토큰화
- 품사 태그
- 어간 추출 및 표제어 추출
- 어간 추출
- 표제어 추출
- NLTK 시작하기
- 문장에 레이블을 붙이기 위한 DNN 구현
- 탐색 분석
- 데이터 준비
- 케라스 심층 신경망 모델
- 요약
- 딥러닝 방법
- 딥 피드포워드 네트워크
- 합성곱 신경망
- 순환 신경망
- 장단기 기억
- 제한된 볼츠만 기계
- 딥 신념 네트워크
- 생성적 적대 네트워크
- 자동화된 머신러닝
- 오토케라스
- 구글 클라우드 ML 엔진
- 애저 머신러닝 스튜디오
- 아마존 웹 서비스
- 미분 가능 신경 컴퓨터
- 유전 프로그래밍과 진화 전략
- 유전자 알고리즘 소개
- 적합도 함수
- 선택
- 돌연변이
- 유전자 알고리즘 소개
- 역강화학습
- 요약