처음 시작하는 딥러닝

Book description

2010년 신경망 기술이 딥러닝이라는 이름으로 부활하면서 머신러닝 실무자는 물론, 소프트웨어 엔지니어에게도 딥러닝은 필수 소양이 되었습니다. 이 책은 머신러닝을 처음 접하는 데이터 과학자와 소프트웨어 엔지니어에게 실용적인 정보를 제공합니다. 딥러닝의 기초부터 고급 신경망 구조까지 폭넓게 배우고, 딥러닝 모델을 직접 구현하며 빠르게 개념을 익혀봅니다. 이 책은 먼저 그림으로 개념을 설명하고, 코드의 밑바탕이 되는 수학적 원리를 설명합니다. 그다음 파이썬 코드로 신경망을 구현하며 동작하는 방법을 이해해봅니다. 다층 신경망, 합성곱 신경망, 순환 신경망의 간단한 구조부터 복잡한 구조까지 확장해보며 딥러닝 프로젝트에 준비된 개발자로 성장할 수 있습니다.

Table of contents

  1. 지은이·옮긴이 소개
  2. 옮긴이의 말
  3. 이 책에 대하여 (1/2)
  4. 이 책에 대하여 (2/2)
  5. 감사의 말
  6. CONTENTS (1/2)
  7. CONTENTS (2/2)
  8. 신경망 기초 1
    1. 1.1 함수
      1. 1.1.1 수식
      2. 1.1.2 다이어그램
      3. 1.1.3 코드
    2. 1.2 도함수
      1. 1.2.1 수식
      2. 1.2.2 다이어그램
      3. 1.2.3 코드
    3. 1.3 합성함수
      1. 1.3.1 다이어그램
      2. 1.3.2 수식
      3. 1.3.3 코드
      4. 1.3.4 두 번째 다이어그램
    4. 1.4 연쇄법칙
      1. 1.4.1 수식
      2. 1.4.2 다이어그램
      3. 1.4.3 코드
    5. 1.5 조금 더 복잡한 예제
      1. 1.5.1 수식
      2. 1.5.2 다이어그램
      3. 1.5.3 코드
    6. 1.6 입력이 두 개 이상인 함수의 합성함수
      1. 1.6.1 수식
      2. 1.6.2 다이어그램
      3. 1.6.3 코드
    7. 1.7 입력이 여러 개인 함수의 도함수
      1. 1.7.1 다이어그램
      2. 1.7.2 수식
      3. 1.7.3 코드
    8. 1.8 여러 개의 벡터 입력을 갖는 함수
      1. 1.8.1 수식
    9. 1.9 기존 특징으로 새로운 특징 만들기
      1. 1.9.1 수식
      2. 1.9.2 다이어그램
      3. 1.9.3 코드
    10. 1.10 여러 개의 벡터 입력을 갖는 함수의 도함수
      1. 1.10.1 다이어그램
      2. 1.10.2 수식
      3. 1.10.3 코드
    11. 1.11 벡터 함수와 도함수
      1. 1.11.1 다이어그램
      2. 1.11.2 수식
      3. 1.11.3 코드
      4. 1.11.4 역방향 계산
    12. 1.12 두 개의 2차원 행렬을 입력받는 계산 그래프
      1. 1.12.1 수식
      2. 1.12.2 다이어그램
      3. 1.12.3 코드
    13. 1.13 역방향 계산
      1. 1.13.1 다이어그램
      2. 1.13.2 수식
      3. 1.13.3 코드
    14. 1.14 마치며
  9. 신경망 기초 2
    1. 2.1 지도 학습
    2. 2.2 지도 학습 모델
    3. 2.3 선형회귀
      1. 2.3.1 다이어그램으로 나타낸 선형회귀
      2. 2.3.2 좀 더 이해하기 쉬운 다이어그램과 수식으로 나타낸 선형회귀
      3. 2.3.3 편향 더하기
      4. 2.3.4 코드로 살펴보는 선형회귀
    4. 2.4 모델 학습하기
      1. 2.4.1 다이어그램으로 본 도함수 계산 과정
      2. 2.4.2 수식과 약간의 코드로 본 도함수 계산 과정
      3. 2.4.3 전체 코드로 본 도함수 계산 과정
      4. 2.4.4 기울기를 활용해 모델 학습하기
    5. 2.5 학습 데이터와 테스트 데이터
    6. 2.6 모델 성능을 평가하는 코드
      1. 2.6.1 중요도가 가장 높은 특징 분석하기
    7. 2.7 밑바닥부터 만드는 신경망
      1. 2.7.1 1단계: 여러 개의 선형회귀 모형
      2. 2.7.2 2단계: 비선형 함수
      3. 2.7.3 3단계: 또 다른 선형회귀 모형
      4. 2.7.4 다이어그램
      5. 2.7.5 코드
      6. 2.7.6 신경망 모델의 역방향 계산
    8. 2.8 첫 번째 신경망 모델의 학습과 성능 평가
      1. 2.8.1성능이 개선된두 가지 이유
    9. 2.9 마치며
  10. 밑바닥부터 만들어보는 딥러닝
    1. 3.1 딥러닝 정의하기
    2. 3.2 신경망의 구성 요소: 연산
      1. 3.2.1 다이어그램
      2. 3.2.2 코드
    3. 3.3 신경망의 구성 요소: 층
      1. 3.3.1 다이어그램
    4. 3.4 모델의 구성 요소 조립하기
      1. 3.4.1 Layer 클래스 설계
      2. 3.4.2 밀집층 구현하기
    5. 3.5 NeuralNetwork 클래스와 그 외 클래스
      1. 3.5.1 다이어그램
      2. 3.5.2 코드
      3. 3.5.3 Loss 클래스 구현하기
    6. 3.6 딥러닝 구현하기
      1. 3.6.1 배치 학습 구현하기
      2. 3.6.2 NeuralNetwork 클래스 구현하기
    7. 3.7 Optimizer와 Trainer 클래스
      1. 3.7.1 Optimizer 클래스
      2. 3.7.2 Trainer 클래스
    8. 3.8 모든 구성 요소 조합하기
      1. 3.8.1 밑바닥부터 만든 첫 번째 딥러닝 모델
    9. 3.9 마치며
  11. 프레임워크 확장하기
    1. 4.1 신경망에 대한 직관
    2. 4.2 소프트맥스 교차 엔트로피 손실함수
      1. 4.2.1 소프트맥스 함수
      2. 4.2.2 교차 엔트로피 손실함수
      3. 4.2.3 활성화 함수 선택하기
    3. 4.3 실험
      1. 4.3.1 데이터 전처리
      2. 4.3.2 모델
      3. 4.3.3 소프트맥스 교차 엔트로피 손실함수 실험
    4. 4.4 모멘텀
      1. 4.4.1 모멘텀 직관적으로 이해하기
      2. 4.4.2 Opimizer 클래스에 모멘텀 구현하기
      3. 4.4.3 모멘텀을 적용한 확률적 경사 하강법 실험
    5. 4.5 학습률 감쇠
      1. 4.5.1 학습률을 감쇠시키는 여러 방법
      2. 4.5.2 학습률 감쇠 실험
    6. 4.6 초기 가중치 설정
      1. 4.6.1 수식과 코드
      2. 4.6.2 초기 가중치 설정 실험
    7. 4.7 드롭아웃
      1. 4.7.1 정의
      2. 4.7.2 구현하기
      3. 4.7.3 드롭아웃 실험
    8. 4.8 마치며
  12. 합성곱 신경망
    1. 5.1 신경망과 표현 학습
      1. 5.1.1 이미지 데이터를 위한 새로운 구조
      2. 5.1.2 합성곱 연산
      3. 5.1.3 다채널 합성곱 연산
    2. 5.2 합성곱층
      1. 5.2.1 구현에 필요한 정보
      2. 5.2.2 전결합층과 합성곱층의 차이
      3. 5.2.3 합성곱층으로 예측하기: Flatten층
      4. 5.2.4 풀링층
    3. 5.3 다채널 합성곱 연산 구현하기
      1. 5.3.1 순방향 계산
      2. 5.3.2 합성곱 연산의 역방향 계산
      3. 5.3.3 배치 입력 적용하기
      4. 5.3.4 2차원 합성곱
      5. 5.3.5 채널 추가하기
    4. 5.4 Conv2DOperation 연산으로 합성곱 신경망 학습하기
      1. 5.4.1 Flatten 연산
      2. 5.4.2 완성된 합성곱층: Conv2D 클래스
      3. 5.4.3 실험
    5. 5.5 마치며
  13. 순환 신경망
    1. 6.1 근본적인 한계: 분기 처리하기
    2. 6.2 자동 미분
      1. 6.2.1 기울기 누적 코드 작성하기
    3. 6.3 순환 신경망이 필요한 이유
    4. 6.4 순환 신경망이란
      1. 6.4.1 순환 신경망 구현을 위한 첫 번째 클래스: RNNLayer
      2. 6.4.2 순환 신경망 구현을 위한 두 번째 클래스: RNNNode
      3. 6.4.3 두 클래스 결합하기
      4. 6.4.4 역방향 계산
    5. 6.5 RNN 코드
      1. 6.5.1 RNNLayer 클래스
      2. 6.5.2 RNNNode 클래스의 공통 요소
      3. 6.5.3 바닐라 RNNNode 클래스
      4. 6.5.4 바닐라 RNNNode 클래스의 한계
      5. 6.5.5 GRUNode
      6. 6.5.6 LSTMNode
      7. 6.5.7 RNN 기반 문자 수준 언어 모델의 데이터 표현 방법
      8. 6.5.8 기타 언어 모델링 문제
      9. 6.5.9 RNNLayer의 서로 다른 변종 조합하기
      10. 6.5.10 모든 구성요소 결합하기
    6. 6.6 마치며
  14. 파이토치
    1. 7.1 텐서
    2. 7.2 파이토치로 딥러닝 구현하기
      1. 7.2.1 구성 요소: Model, Layer, Optimizer, Loss 클래스
      2. 7.2.2 신경망 구현하기: DenseLayer 클래스
      3. 7.2.3 주택 가격 예측 모델 작성하기
      4. 7.2.4 Optimizer와 Loss 클래스
      5. 7.2.5 Trainer 클래스
      6. 7.2.6 학습 최적화 기법
    3. 7.3 합성곱 신경망 구현하기
      1. 7.3.1 DataLoader와 데이터 변환
      2. 7.3.2 LSTM 구현하기
    4. 7.4 오토인코더를 활용한 비지도 학습
      1. 7.4.1 표현 학습
      2. 7.4.2 레이블 정보가 없을 때의 접근 방법
      3. 7.4.3 오토인코더 구현하기 (1/2)
      4. 7.4.3 오토인코더 구현하기 (2/2)
      5. 7.4.4 비지도 학습을 위한 강력한 실험과 해답
    5. 7.5 마치며 (1/3)
    6. 7.5 마치며 (2/3)
    7. 7.5 마치며 (3/3)
  15. INDEX (1/2)
  16. INDEX (2/2)

Product information

  • Title: 처음 시작하는 딥러닝
  • Author(s): 심효섭, 세스 와이드먼
  • Release date: August 2020
  • Publisher(s): Hanbit Media, Inc.
  • ISBN: 9791162247655