Top

케라스로 배우는 신경망 설계와 구현 [CNN, RNN, GAN, LSTM 다양한 신경망 모델 설계와 구현]

  • 원서명Hands-On Neural Networks with Keras: Design and create neural networks using deep learning and artificial intelligence principles (ISBN 9781789536089)
  • 지은이닐로이 푸르카이트(Niloy Purkait)
  • 옮긴이김연수
  • ISBN : 9791161753782
  • 40,000원
  • 2020년 02월 21일 펴냄
  • 페이퍼백 | 576쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 데이터 과학

책 소개

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약

인공지능 개발의 핵심인 뉴럴 네트워크의 다양한 모델을 소개한다. 수식과 알고리즘을 기반으로 뉴럴 네트워크의 특징을 설명하고, 케라스를 활용해 직접 뉴럴 네트워크를 구축한다. CNN, RNN, 장단기 메모리(Long Short-Term Memory) 네트워크, 오토인코더, GAN을 깊게 학습하면서 머신러닝, 딥러닝, 인공지능에 관한 폭넓은 지식을 얻을 수 있다. 다양한 뉴럴 네트워크 모델을 결합하고, 실예제를 다루면서 예측 모델링과 함수 근사화(function approximation)를 통해 얻을 수 있는 가치를 이해하게 될 것이다.

이 책에서 다루는 내용

■ 예측적 데이터 모델링의 근본적인 특성과 워크플로우
■ 뉴럴 네트워크를 사용해 다양한 타입의 시각 및 언어 신호 처리
■ 네트워크가 데이터를 학습하는 수학적, 통계적 기반 지식 이해
■ CNN, LSTM, GAN과 같은 다양한 뉴럴 네트워크의 설계 및 구현
■ 다양한 아키텍처를 활용해 인식 태스크를 해결하고 시스템에 지능 내재
■ 합성 데이터를 생성하고 증강 전략을 활용한 네트워크로 모델 개선
■ 인공지능 분야의 최신 학술 정보와 상업적 개발 정보 습득

이 책의 대상 독자

케라스를 활용해 새로운 뉴럴 네트워크 아키텍처를 공부하고자 하는 머신러닝 개발자, 딥러닝 연구자 및 AI 학습자를 대상으로 한다.

이 책의 구성

1장, ‘뉴럴 네트워크 개요’에서는 데이터의 근본적인 특성과 구조, 다양한 형태를 직관적으로 사고할 수 있는 방법을 알아본다. 기본 데이터 타입, 발전된 데이터 구조(이미지, 비디오, 오디오, 텍스트, 센서 및 멀티미디어 데이터)를 다루는 방법은 물론, 이와 같은 다양한 데이터 구조에서 정보를 추출하는 추상적 기반에 관해 다룬다.
2장, ‘뉴럴 네트워크 깊이 들여다보기’에서는 뉴럴 네트워크의 기반이 되는 수식 배경을 깊이 있게 살펴본다. 그 후 케라스를 사용해 머신러닝 프로젝트의 산출물을 반복적으로 개선할 수 있는 빠른 개발 사이클을 활용해 좀 더 생산적으로 경쟁 우위를 가질 수 있는지 알아본다.
3장, ‘신호 처리: 뉴럴 네트워크를 활용한 데이터 분석’에서는 완전한 예제를 사용해 뉴럴 네트워크를 잘 동작하도록 하는 데 필수적인 변환(transformation) 및 표준화(normalization)를 소개한다.
4장, ‘컨볼루셔널 뉴럴 네트워크’에서는 다양한 컨볼루셔널 레이어 및 풀링 레이어를 다룬다. 뉴럴 네트워크는 이 레이어를 사용해 여러분의 PC에 저장된 이미지, 데이터베이스 및 센서로 입력받는 정보를 처리한다. 그 후 CNN과 연계된 파이프라인 처리에 관한 정보를 알아보고, 최신 객체 인식 API와 모델을 활용해 실질적인 실험을 수행해본다.
5장, ‘순환 뉴럴 네트워크’에서는 순환 네트워크의 다양한 기반 이론과 튜링 완료 알고리즘의 의미를 소개한다.
6장, ‘장단기 기억 네트워크’에서는 LSTM 네트워크로 알려진 RNN의 특정 형태에 관해 좀 더 깊이 알아보고, 생태계에서 영감을 받아 구현된 다양한 뉴럴 네트워크 아키텍처를 알아본다.
7장, ‘DQN을 활용한 강화학습’에서는 강화학습 네트워크의 기반 아키텍처를 자세히 설명하고, 케라스의 핵심 및 확장 레이어를 구현해 원하는 산출물을 얻는 방법을 알아본다.
8장, ‘오토인코더’에서는 자동 인코더 뉴럴 네트워크의 기능을 활성화하는 데 필요한 관련 지식과 아이디어를 자세히 소개한다.
9장, ‘생성적 네트워크’에서는 일반적으로 가변 오토인코더(Variational Autoencoders)나 생성적 대립쌍 네트워크(GAN, Generative Adversarial Network)와 같은 모델을 사용한 합성 데이터 생성 및 조작에 관련된 유스케이스에 관해 살펴본다.
10장, ‘현재와 미래 개발에 관한 고찰’에서는 뉴럴 네트워크를 활용한 표상(representation) 학습과 전달에 관해 알아본다. 또한 양자 컴퓨팅과 같은 AI 영역에서의 패러다임을 비롯해 미래의 잠재적인 개발 분야에 대해서도 개괄적으로 다룬다.

저자/역자 소개

지은이의 말

뉴럴 네트워크란 인공지능(AI, Artificial Intelligence), 딥러닝(Deep Learning)과 관련된 상이한 영역에 존재하는 다양한 문제를 해결하고자 사용하는 수학적 기능이다. 이 책에서는 뉴럴 네트워크의 핵심 개념을 소개한다. 다양한 뉴럴 네트워크 모델을 서로 결합하고, 실제 유스케이스를 다루면서 예측 모델링과 함수 근사화(function approximation)를 통해 얻을 수 있는 가치를 잘 이해하게 될 것이다. 실세계의 학습 데이터셋을 활용해서 컨볼루셔널 뉴럴 네트워크(CNN, Convolutional Neural Networks), 순환 뉴럴 네트워크(RNN, Recurrent Neural Networks), 장단기 기억(LSTM, Long short-Term Memory Networks) 네트워크, 오토인코더(Autoencoder) 및 생성적 대립쌍 네트워크(GAN, Generative Adversarial Networks)에 관해 학습한다.
최신 뉴럴 네트워크 아키텍처를 활용해 컴퓨터 비전, 자연어 처리(NLP, Natural Language Processing)와 같이 인식 태스크의 기반이 되는 기본 아이디어는 물론 세부적인 구현 방법도 학습한다. 이들 태스크를 조합해서 강력한 추론 시스템을 설계함으로써 모델의 생산성을 크게 개선할 수 있을 것이다. 이 책은 뉴럴 네트워크의 내부 동작을 직관적으로 좀 더 잘 이해하는 데 필요한 이론적 관점과 기술적 관점의 주제를 모두 다룬다. 다양한 공통 유스케이스(지도 학습, 비지도 학습, 자기 지도 학습 태스크를 포함)를 다루면서 많은 종류의 네트워크 아키텍처에 관해 학습한다. CNN을 사용한 이미지 인식, LSTM을 활용한 자연어 처리, Q-네트워크를 사용한 강화학습 등이 이에 포함된다. 각각의 아키텍처를 자세히 다루고, 산업 표준 레벨의 프레임워크를 활용해 간단하게 각 아키텍처를 구현해본다.
이 책을 읽으면서 학습을 마치고 나면 대표적인 딥러닝 모델과 프레임워크는 물론이고 딥러닝을 실세계의 시나리오에 적용하는 것과 같은 성공적인 변화의 시작을 위해 여러분이 선택할 수 있는 모든 사항에 친숙해질 것이다.

지은이 소개

닐로이 푸르카이트(Niloy Purkait)

기술 및 전략 전문 컨설턴트다. 현재 네덜란드에 거주 중이며, 네덜란드 국내 및 국제 기업을 대상으로 컨설팅을 제공한다. 전문 분야는 인공지능을 포함한 통합 솔루션으로, 끊임없이 변하는 혼란스러운 비즈니스 환경에서 고객이 가야 할 길을 제시하는 데 자부심이 있다.
틸버그대학교(Tilburg University)에서 전략 경영 학사를 전공하고, 미시건대학교(Michigan University)에서 데이터 과학을 수료했다. 신호 처리, 클라우드 컴퓨팅, 머신러닝 및 딥러닝과 같은 분야에서 IBM이 발급하는 고급 산업 레벨 자격 인증을 받았다. 관련 분야에서 지속적으로 학위를 취득하고 있으며, 스스로를 ‘인생 학습자’라고 부른다.

옮긴이의 말

인공지능이라는 용어가 처음 등장한 때는 1950년대입니다. 다른 과학 기술과 달리 그 실체를 알기 어려웠기에 공상 과학 소설이나 영화에서는 다양한 형태로 인공지능의 모습을 그립니다. 영화 ‘터미네이터’(1984)에서 등장한 인공지능 스카이넷(Skynet)은 자신이 세상을 지배하기 위해 인류를 말살시키려 하고, 영화 ‘매트릭스’(1998)에서 인공지능은 인류를 지배하고, 고치 안에 인간을 가둬 에너지원으로 착취하기도 합니다. 영화 ‘바이센테니얼 맨’(1999)에서는 인간의 감정을 닮고 싶어 하는 인공지능을 그렸으며, ‘에이 아이’(2001)에서도 인간이 되고 싶어 하는 아이 로봇의 모습을 그렸습니다. 그러나 대부분의 소설이나 영화에서는 인간과 인공지능의 대립, 인간의 지능을 훨씬 뛰어넘은 인공지능의 무서움을 그리며 인류에게 고민을 안겼습니다. 하지만 기술의 속도는 예상만큼 빠르지 않았습니다. ‘터미네이터’에서 1984년에 만들어진 스카이넷이 지구를 점령하게 되는 해는 2029년이지만, 지난 몇 년 동안 인공지능이나 로봇 기술의 발전은 그만큼 발전하지 않았습니다. 1980년대 이후 사람의 신경을 본 떠 만든 인공지능 신경망, 즉 뉴럴 네트워크(Neural Network)의 연구가 활발히 이뤄졌지만, 그러한 연구 결과가 기술적인 형태로 나타나지는 않았습니다. 인공지능은 사람이 정교하게 만들어낸 수많은 데이터를 학습한 후에야 지능처럼 보이는 일부 결과물(체스 경기 등)을 만들어냈습니다. 1990년대 중반 가전제품에 퍼지 이론(Fuzzy theory), 카오스 이론(Chaos theory), 유전자 알고리즘(Generic algorithm) 등이 적용되기는 했지만, 그 정도나 범위는 너무나 제한적입니다. 심지어 로봇은 2000년대 중-후반이 되기까지도 사람의 몇 가지 움직임을 흉내내는 정도에 지나지 않았습니다.
2006년 토론토 대학의 죠프리 힌튼(Geoffrey Hinton) 교수는 딥러닝(deep learning)의 개념을 처음 제안합니다. 그의 이론과 기존의 한계를 뛰어넘은 컴퓨팅 능력(하드웨어와 클라우드 컴퓨팅), 막대한 양의 데이터에 힘입어 1990년대 혹한기를 맞았던 인공지능은 다시 싹을 틔우게 됩니다. 그리고 엄청난 속도로 발전합니다. 2012년, 사람이 사전 작업을 하지 않아도 컴퓨터가 이미지를 분석해 사물을 구별할 수 있게 되는 결과가 발표됩니다. 예를 들면 고양이가 어떤 특징을 갖는지 모르지만, 수많은 고양이의 사진을 보여줌으로써 컴퓨터가 고양이의 특징을 찾아내고 판단하게 된 것입니다. 그리고 인공지능은 이미지/영상 인식 분야에서 사람을 뛰어넘는 능력을 갖게 됩니다. 2016년, 구글 딥마인드(DeepMind)가 개발한 인공지능인 알파고(AlphaGo)는 인간에 앞서기까지 앞으로 10년은 족히 필요할 것이라던 모든 전문가의 예상을 거들떠보지도 않는 듯 이세돌 9단에게 5전 4승 1패로 승리를 거둡니다.
이 책은 인공지능 개발의 핵심이 되는 뉴럴 네트워크의 다양한 모델을 다룹니다. 수식과 알고리즘을 기반으로 뉴럴 네트워크의 특징을 설명하고, 케라스(Keras)를 활용해 직접 뉴럴 네트워크를 구축해봅니다. 컨볼루셔널 뉴럴 네트워크(CNN, Convolutional Neural Networks), 순환 뉴럴 네트워크(RNN, Recurrent Neural Networks), 장단기 메모리(Long Short-Term Memory) 네트워크, 오토인코더(autoencoder), 생성적 대립쌍 네트워크(GAN, Generative Adversarial Networks)를 학습하면서 머신러닝, 딥러닝, 인공지능에 관한 폭넓은 지식과 경험을 얻을 수 있을 것입니다. 실제 데이터를 뉴럴 네트워크를 사용해 처리하는 과정에서 미래 데이터 처리에 대한 통찰력도 얻을 수 있을 것입니다. 인공지능이 종국에 만들어 내는 세상은 어떠한 모습일지, 그리고 그 속에서 우리들이 어떤 역할을 하고, 무슨 가치를 찾아내야 할 것인지 고민하고 기대할 수 있게 될 것입니다.

옮긴이 소개

김연수

대학 졸업 후 일본의 모 자동차 기업 산하의 한국 내 연구소에서 근무하게 되면서 소프트웨어 개발을 시작했다. 여러 기업에서의 다양한 포지션을 거쳐 지금은 글로벌 기업에서 업무 생산성 향상을 지원하기 위한 학습과 실험을 꾸준히 하고 있다. 최근의 관심사는 좋은 지식의 전달, 회사에 속하지 않고도 지속할 수 있는 삶, 그리고 ‘Why Not Change the World’라는 가치관을 실현하는 것이다.

목차

목차
  • 1부. 뉴럴 네트워크 기본
  • 1장. 뉴럴 네트워크 개요
    • 목표 정의
    • 도구 확인
      • 케라스
      • 텐서플로
    • 뉴럴 학습 기본
      • 뉴럴 네트워크
      • 두뇌 관찰
    • 데이터 과학 기본
      • 정보 이론
      • 엔트로피
      • 교차 엔트로피
      • 데이터 처리 특성
      • 데이터 과학에서 머신러닝으로
      • 머신러닝의 함정
    • 요약
    • 더 읽을거리

  • 2장. 뉴럴 네트워크 깊이 들여다보기
    • 퍼셉트론: 생리학적 뉴런에서 인공지능 뉴런으로
    • 퍼셉트론 구축
      • 입력
      • 가중치
      • 총화
      • 비선형성
      • 바이어스의 역할
      • 출력
    • 오차를 활용한 학습
      • 평균 제곱 오차 손실 함수
    • 퍼셉트론 훈련
      • 손실 정량화
      • 모델 가중치 함수로서의 손실
    • 역전파
      • 기울기 계산
      • 학습률
    • 퍼셉트론 확장
    • 단일 레이어 네트워크
      • 텐서플로 플레이그라운드
      • 패턴 계층 확인
      • 한 걸음 더
    • 요약

  • 3장. 신호 처리: 뉴럴 네트워크를 활용한 데이터 분석
    • 신호 처리
      • 표상적 학습
      • 무작위 기억 회피
      • 숫자를 활용한 신호 표현
    • 숫자를 활용한 이미지 표현
    • 뉴럴 네트워크에 데이터 입력
    • 텐서 예제
      • 데이터의 차원
      • 패키지 임포트
      • 데이터 로드
      • 차원 확인
    • 모델 구축
      • 케라스 레이어
      • 가중치 초기화
      • 케라스 활성화 함수
      • 모델 시각화
    • 모델 컴파일
      • 모델 피팅
    • 모델 성능 평가
      • 정규화
    • 케라스를 활용한 가중치 정규화 구현
    • 가중치 정규화
    • 케라스를 활용한 드롭아웃 정규화 구현
      • 드롭아웃 정규화 실험
      • 복잡성과 시간
      • MNIST 요약
    • 언어 처리
      • 감정 분석
    • 인터넷 영화 리뷰 데이터 세트
      • 데이터 세트 로딩
      • 셰이프 및 타입 확인
    • 단일 학습 인스턴스 확인
      • 리뷰 디코딩
      • 데이터 준비
    • 원핫 인코딩
    • 특징 벡터화
    • 라벨 벡터화
    • 네트워크 구축
      • 모델 컴파일
      • 모델 피팅
      • 검증 데이터
    • 콜백
      • 조기 중단 콜백과 히스토리 콜백
      • 모니터링 지표 선택
    • 모델 예측 접근
    • 예측 조사
      • IMDB 요약
      • 연속된 변수 예측
      • 보스턴 주택 가격 데이터 세트
      • 데이터 로딩
      • 데이터 탐색
    • 특징별 표준화
      • 모델 생성
      • 모델 컴파일
      • 훈련 및 테스트 오차 플로팅
      • k-폴드 검증을 활용한 접근 방식 검증
    • 사이킷-런 API를 활용한 교차 검증
    • 요약
    • 연습 문제

  • 2부. 고급 뉴럴 네트워크 구조
  • 4장. 컨볼루션 뉴럴 네트워크
    • CNN
    • 시각의 탄생
    • 생리학적 시각 이해
    • 공간 불변성
    • 뉴런의 수용 필드
    • 뉴런 계층 구현
    • 근대 CNN의 탄생
    • CNN 설계
      • 덴스 레이어와 컨볼루셔널 레이어
    • 컨볼루션 오퍼레이션
      • 이미지의 공간 구조 보존
      • 수용 필드
      • 필터를 활용한 특징 추출
      • CNN에서의 오차 역전파
      • 여러 필터 사용
      • 스트라이드
      • 특징이란?
    • 필터를 활용한 특징 추출 시각화
    • 복잡한 필터
    • 컨볼루션 오퍼레이션 요약
    • 풀링 레이어 이해
      • 풀링 오퍼레이션의 종류
    • 케라스를 활용한 CNN 구현
      • 데이터 확인
      • 데이터 셰이프 확인
      • 데이터 표준화
      • 임포트
    • 컨볼루셔널 레이어
      • 필터 수와 크기 정의
      • 입력 텐서 패딩
      • 맥스 풀링 레이어
    • 덴스 레이어를 활용한 분류
    • 모델 요약
      • 모델 컴파일
    • 모델 정확성 확인
    • 미소 식별 과정의 문제
      • 블랙박스 내부
      • 뉴럴 네트워크의 실패
      • ConvNet 학습 시각화
      • 중간 레이어의 뉴럴 활성화 맵 시각화
      • 입력 이미지 예측
    • 케라스의 기능적 API
    • 레이어 채널수 확인
      • 활성화 맵 시각화
    • 돌출
    • ResNet50을 사용한 돌출 맵 시각화
    • 로컬 디렉토리에 저장된 이미지 로딩
    • 케라스의 시각화 모듈
    • 레이어 검색
    • 연습 문제
    • 경사 가중치 클래스 활성화 매핑
    • keras-vis를 활용한 클래스 활성화 시각화
    • 미리 훈련된 모델 활용
    • 출력 클래스별 최대 활성 값 시각화
    • 모델 수렴
    • 여러 필터 인덱스를 활용한 몽환적 분위기 연출
    • CNN의 문제점
    • 뉴럴 네트워크의 환각
    • 요약

  • 5장. 순환 뉴럴 네트워크
    • 시퀀스 모델링
    • RNN을 사용한 순차 모델링
      • 전략 선택
      • 기본 RNN 아키텍처
    • 다양한 종류의 순차 프로세싱 태스크
      • RNN의 학습
      • 일반적인 RNN 레이어
      • 피드포워드
    • 타입 스텝별 활성화 계산
      • 활성화 방정식 정리
      • 타임 스텝별 출력 예측
      • 단방향 정보 흐름의 문제
      • 장기 의존성 문제
    • 시간에 따른 역전파
      • 시간에 따른 역전파 시각화
    • 경사 폭발 및 소멸
      • 기울기 레벨에 관한 고려
      • 클리핑을 활용한 경사 폭발 방지
      • 메모리를 활용한 경사 소멸 방지
    • GRU
      • 메모리 셀
      • 업데이트 미수행 시나리오
      • 업데이트 수행 시나리오
      • 타임 스텝 사이의 타당성 보존
      • 타당성 게이트 방정식
    • 케라스를 활용한 문자 레벨의 언어 모델 구축
      • 셰익스피어의 햄릿 로딩
      • 문자 사전 구축
      • 훈련 시퀀스 준비
      • 예제 시퀀스 출력
      • 훈련 데이터 벡터화
    • 문자 모델링 통계
      • 문자별 확률 모델링
      • 임곗값 샘플링
    • 확률 통제의 목적
      • 그리디 샘플링
      • 확률 표본 샘플링
    • 다양한 RNN 모델 테스팅
      • 커스텀 콜백을 사용한 텍스트 생성
      • 다양한 모델 테스팅
    • SimpleRNN 구현
      • RNN 레이어 스택
    • GRU 구현
      • 양방향 GRU 구현
    • 실제 데이터의 순차적 처리
      • 순차적인 데이터 재정렬을 통한 장점
    • 케라스의 양방향 레이어
      • 순환 드롭아웃 구현
    • 출력값 시각화
      • 무거운 GRU 모델의 출력값 시각화
    • 요약
    • 더 읽을거리
    • 연습 문제

  • 6장. 장단기 기억 네트워크
    • 복잡한 시퀀스 처리
      • 메모리 분해
    • LSTM 네트워크
    • LSTM 해부
      • 가장 유사한 모델과의 비교
      • GRU 메모리
      • LSTM 메모리 셀
      • 활성화 함수와 메모리 별도 처리
    • LSTM 메모리 블록
      • 망각 게이트의 중요성
      • 차이 개념화
      • LSTM 살펴보기
    • 정보 흐름 시각화
      • 셀 상태 계산
    • 경쟁 메모리 계산
    • 타임 스텝별 활성화 값 계산
    • LSTM의 변종 모델과 그 성능
    • 핍홀 연결 이해
    • 타이밍과 카운팅의 중요성
      • 다른 구조적 차이 탐구
    • 지식 활용
    • 주식 시장 데이터 모델링
      • 데이터 임포트
      • 정렬 및 트렌드 시각화
      • 데이터프레임을 텐서로 변환
      • 데이터 분할
      • 훈련 및 테스팅 인스턴스 플롯
      • 윈도우 방식 표준화
    • 데이터 노이즈 제거
    • 지수 평활법 구현
      • 곡선 시각화
      • 한 걸음 앞선 예측 수행
      • 단순 이동 평균 예측
      • 지수 이동 평균 예측
    • 한 걸음 앞선 예측 수행의 문제
    • 관찰 값 시퀀스 생성
      • 데이터 셰이프 정리
      • 임포트
      • 뉴럴 네트워크 베이스라인
      • 피드포워드 네트워크 구축
      • 순환 베이스라인
    • LSTM 구현
      • LSTM 스택
      • 헬퍼 함수 활용
      • 모델 훈련
      • 결과 시각화
    • 마무리
    • 요약
    • 연습 문제

  • 7장. DQN을 사용한 강화학습
    • 보상과 만족
      • 새로운 학습 평가 방법
    • 강화학습을 활용한 머신의 조건 형성
      • 신용도 할당 문제
    • 탐색 착취 딜레마
    • 일반적 인공지능지능
    • 환경 시뮬레이션
      • 상태, 행동, 보상
    • 자율 주행 택시
      • 태스크 이해
      • 환경 렌더링
      • 관찰 공간 참조
      • 행동 공간 참조
      • 환경과의 상호작용
      • 무작위로 환경 해결
    • 즉시 보상과 미래 보상 사이의 트레이드오프
    • 미래 보상 할인
    • 마르코프 결정 프로세스
    • 정책 함수 이해
    • 상태 가치 평가
    • 행동 품질 평가
    • 벨만 방정식 활용
    • 반복적인 벨만 방정식 업데이트
    • 뉴럴 네트워크를 사용하는 이유
    • Q-학습에서의 정방향 경로 수행
    • Q-학습에서의 역방향 경로 수행
      • 반복적 업데이트를 딥러닝으로 대체
    • 케라스를 활용한 심층 Q-학습
      • 임포트
      • 전처리 기법
      • 입력 파라미터 정의
      • 아타리 게임 상태 프로세서 구현
      • 네트워크 구현
      • 풀링 레이어 미사용
      • 실시간 학습의 문제
      • 재생 메모리에 경험 저장
    • 탐색과 착취의 균형
      • 입실론-그리디 탐색 정책
    • 심층 Q-학습 에이전트 초기화
      • 모델 훈련
      • 모델 테스트
      • Q-학습 알고리즘 요약
    • 이중 Q-학습
    • 경쟁 네트워크 아키텍처
    • 연습 문제
      • Q-학습의 한계
      • 정책 경사를 활용한 Q-학습 개선
    • 요약

  • 3부. 뉴하이브리드 모델 아키텍처
  • 8장. 오토인코더
    • 왜 오토인코더인가?
    • 자동적인 정보 인코딩
    • 오토인코더의 한계
    • 오토인코더 해부
    • 오토인코더 훈련
    • 오토인코더 종류
    • 네트워크 크기와 표현력
    • 오토인코더에서의 정규화
    • 희소 오토인코더를 활용한 정규화
      • 노이즈 제거 오토인코더를 활용한 정규화
      • 수축적 오토인코더를 활용한 정규화
      • 케라스를 활용한 얕은 오토인코더 구현
    • 데이터 확인
      • 데이터 전처리
      • 모델 구축
    • 검증 모델 구현
      • 별도 인코더 네트워크 정의
      • 별도 디코더 네트워크 정의
    • 심층 오토인코더 설계
      • 임포트
      • 데이터 이해
      • 데이터 임포트
    • 기능적 API를 사용한 오토인코더 설계
      • 모델 구현
      • 모델 훈련
      • 결과 시각화
    • 심층 컨볼루셔널 오토인코더
    • 모델 컴파일 및 훈련
    • 결과 테스트 및 시각화
    • 노이즈 제거 오토인코더
    • 노이즈 제거 네트워크 훈련
      • 결과 시각화
    • 요약
    • 연습 문제

  • 9장. 생성적 네트워크
    • 콘텐트 복제와 생성
    • 잠재 공간 표상 이해
      • 컨셉 벡터 식별
    • 생성적 네트워크 깊이 들여다보기
      • 통제된 무작위성과 창의성
    • 무작위성을 활용한 출력 증강
    • 잠재 공간으로부터의 샘플링
      • 확률 분포 학습
    • 생성적 네트워크의 종류
    • 가변 오토인코더
    • 케라스를 활용한 VAE 설계
      • 데이터 로딩과 전처리
    • VAE의 인코딩 모듈 구현
      • 잠재 공간 샘플링
    • 디코더 모듈 구현
      • 커스텀 가변 레이어 정의
      • 모델 컴파일 및 확인
    • 잠재 공간 시각화
    • 잠재 공간 샘플링과 출력 생성
      • VAE 결론
    • 생성적 대립쌍 네트워크
      • GAN을 활용한 유틸리티 및 실제 응용
    • GAN 깊이 살펴보기
      • GAN 최적화의 문제점
    • 케라스를 활용한 GAN 설계
      • 데이터 준비
      • 인스턴스 시각화
      • 데이터 전처리
    • 생성자 모듈 설계
    • 판별자 모듈 설계
    • GAN 합치기
      • 훈련용 헬퍼 함수
      • 출력 표시용 헬퍼 함수
    • 훈련 함수
      • 훈련 함수 인자
    • 판별자 라벨 정의
      • GAN 초기화
      • 배치별 판별자 훈련
    • 배치별 생성자 훈련
      • 에폭별 결과 평가
    • 훈련 세션 실행
      • 훈련 진행 중 테스트 손실 해석
      • 에폭별 결과 시각화
    • GAN 결론
    • 요약

  • 4부. 앞으로의 길
  • 10장. 현재와 미래 개발에 관한 고찰
    • 전이 학습을 활용한 표상 공유
      • 케라스에서의 전이 학습
      • 미리 학습된 모델 로딩
      • 모델의 중간 레이어 획득
      • 모델에 레이어 추가
      • 데이터 로딩 및 전처리
      • 네트워크 훈련
      • 연습문제
    • 실험의 결론
    • 표상 학습
      • DNA와 기술
    • 현재 뉴럴 네트워크의 한계
      • 기계를 위한 표상 엔지니어링
      • 전처리 및 데이터 취득
      • 데이터 평활성
    • 희소 표상 학습
    • 하이퍼파라미터 튜닝
    • 자동 최적화 및 진화 알고리즘
      • 참고 문헌
    • 다중 네트워크 예측과 앙상블 모델
    • 인공지능지능과 뉴럴 네트워크의 미래
      • 전역 벡터 접근법
      • 분산된 표상
      • 하드웨어 문제
    • 앞으로의 길
    • 전통적인 컴퓨팅에서의 문제
    • 양자 컴퓨팅의 등장
      • 양자 중첩
      • 큐비트와 전통적인 컴퓨터의 비트
    • 양자 뉴럴 네트워크
      • 더 읽을거리
    • 기술과 사회
    • 미래에 대한 고찰
    • 요약

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

[p.109: 3행]

[p.109 : 코드 끝에서 2행]

[P.116 : 코드 1행]
model.complie(optimizer='resprop'...
->
model,complie(optimizer=rmsprop'...

[p143 : 코드 4행]
model.add(Dense(6,activation='relu', inputshape=(12000)))
->
model.add(Dense(6,activation='relu', input
shape=(12000,)))

[p.144 : 코드 2행]
model.compile(optimizer=keras.optimizers.RMSprop(1r=0.001)
->
model.compile(optimizer=keras.optimizers.RMSprop(lr=0.001)

[p.156 : 코드 2행]
from keras.datasets import bostonhousing.loaddata()
->
from keras.datasets import boston_housing

[p.157 : 코드 1행]