Home
Login

4단계: 딥러닝 및 신경망

오픈 소스 딥러닝 교재로, 이론, 코드, 실습을 결합하여 다양한 프레임워크 구현을 지원하며, 입문부터 고급까지 완벽한 딥러닝 학습 경로를 제공합니다.

DeepLearningPyTorchNeuralNetworksWebSiteebookFreeMulti-Language

Dive into Deep Learning (D2L) 과정 상세 소개

과정 개요

**Dive into Deep Learning (D2L)**은 딥러닝을 이해하고 배우기 쉽게 만들기 위해 고안된 오픈 소스 딥러닝 교재입니다. 이 책은 개념, 맥락, 코드를 결합하여 독자들에게 포괄적인 딥러닝 학습 자료를 제공합니다.

과정 배경

몇 년 전만 해도 대기업과 스타트업에서 딥러닝 과학자들이 스마트 제품과 서비스를 개발하는 경우는 드물었습니다. 당시 머신러닝은 일간지 헤드라인을 장식하지 않았고, 우리의 부모님들도 머신러닝이 무엇인지 알지 못했습니다. 머신러닝은 당시 음성 인식 및 컴퓨터 비전을 포함한 소수의 실제 응용 분야에만 산업적 의미가 국한된 학술적인 기초 연구 분야였습니다.

그러나 불과 몇 년 만에 딥러닝은 컴퓨터 비전, 자연어 처리, 자동 음성 인식, 강화 학습 및 생물의학 정보학 등 여러 분야에서 빠른 발전을 이끌며 세상을 놀라게 했습니다. 딥러닝의 성공은 심지어 이론적인 머신러닝과 통계학의 발전까지 촉진했습니다.

교재 특징

1. 다양한 미디어 결합

  • 코드, 수학 및 HTML의 결합: 코드, 수학 공식 및 웹 페이지 콘텐츠를 하나의 플랫폼에 통합
  • 실행 가능한 코드: 대부분의 장에 실행 가능한 코드 예제 포함
  • 실시간 업데이트: GitHub를 통해 빠른 업데이트 및 커뮤니티 기여 지원

2. 학습 방식: 직접 해보면서 배우기

  • 즉각적인 개념 학습: 실제 문제를 해결하는 데 개념이 필요할 때만 관련 개념을 가르침
  • 실습 우선: 학생들이 더 심오한 개념에 대해 걱정하기 전에 첫 번째 모델을 훈련하는 만족감을 먼저 경험하게 함
  • 실제 데이터셋: 각 후속 장에서 실제 데이터셋을 사용하여 몇 가지 독립적인 작업 예제 제공

3. 다중 프레임워크 지원

이 교재는 여러 딥러닝 프레임워크의 구현을 지원합니다:

  • PyTorch (주요 프레임워크)
  • TensorFlow
  • MXNet
  • JAX

내용 구성

교재는 크게 세 부분으로 나눌 수 있습니다:

첫 번째 부분: 기초 및 준비 지식

  • 1장: 딥러닝 소개
  • 2장: 준비 지식 (데이터 저장 및 조작, 수치 연산 등)
  • 3장: 선형 회귀
  • 5장: 다층 퍼셉트론
  • 회귀 및 분류, 선형 모델, 다층 퍼셉트론, 과적합 및 정규화 등 기초 개념 포함

두 번째 부분: 현대 딥러닝 기술

  • 6장: 딥러닝 시스템의 핵심 계산 구성 요소
  • 7-8장: 컨볼루션 신경망 (CNN)
  • 9-10장: 순환 신경망 (RNN)
  • 11장: 어텐션 메커니즘 및 트랜스포머
  • 현대 딥러닝 실무자들이 널리 사용하는 가장 강력하고 범용적인 도구 포함

세 번째 부분: 확장성, 효율성 및 응용 (온라인 제공)

  • 12장: 최적화 알고리즘
  • 13장: 계산 성능
  • 14장: 컴퓨터 비전 응용
  • 15-16장: 언어 표현 모델 사전 훈련 및 자연어 처리 응용

코드 구현 특징

핵심 패키지 및 의존성

교재는 불필요한 중복을 피하기 위해 d2l 패키지를 사용하며, 이 패키지는 가볍고 다음 의존성만 필요합니다:

#@save
import collections
import hashlib
import inspect
import math
import os
import random
import re
import shutil
import sys
import tarfile
import time
import zipfile
from collections import defaultdict
import pandas as pd
import requests
from IPython import display
from matplotlib import pyplot as plt
from matplotlib_inline import backend_inline
d2l = sys.modules[__name__]

PyTorch 구현 의존성

#@save
import numpy as np
import torch
import torchvision
from PIL import Image
from scipy.spatial import distance_matrix
from torch import nn
from torch.nn import functional as F
from torchvision import transforms

TensorFlow 구현 의존성

#@save
import numpy as np
import tensorflow as tf

JAX 구현 의존성

#@save
from dataclasses import field
from functools import partial
from types import FunctionType
from typing import Any
import flax
import jax
import numpy as np
import optax
import tensorflow as tf
import tensorflow_datasets as tfds
from flax import linen as nn
from flax.training import train_state
from jax import grad
from jax import numpy as jnp
from jax import vmap

대상 독자

본 교재는 다음 사람들을 대상으로 합니다:

  • 학생 (학부 또는 대학원)
  • 엔지니어
  • 연구원

딥러닝의 실용적인 기술을 확실하게 습득하고자 하는 사람들을 위한 것입니다.

선수 지식 요구 사항

  • 적절한 선형 대수 지식
  • 미적분학 기초
  • 확률론 기초
  • 파이썬 프로그래밍 기초

학습 자료

온라인 자료

획득 방법

  • 실행 가능한 코드 형식
  • 실물 서적
  • 다운로드 가능한 PDF
  • 웹사이트 온라인 버전

모든 노트북은 D2L.ai 웹사이트와 GitHub에서 무료로 다운로드할 수 있습니다.

교재 장점

  1. 무료 개방: 모든 사람에게 무료로 제공
  2. 기술적 깊이: 응용 머신러닝 과학자가 되기 위한 출발점에 필요한 기술적 깊이 제공
  3. 실행 가능한 코드: 실제 문제 해결 방법을 보여줌
  4. 빠른 업데이트: 저자 및 커뮤니티의 빠른 업데이트 지원
  5. 커뮤니티 지원: 기술 토론 및 질의응답을 위한 상호작용 포럼 제공

혁신적인 특징

  • 통합 워크플로우를 사용하여 출판된 최초의 서적일 가능성
  • 교과서 수준의 설명과 실용적인 튜토리얼의 깔끔하고 실행 가능한 코드 결합
  • GitHub를 사용하여 소스 코드 공유, Jupyter 노트북으로 코드, 방정식 및 텍스트 혼합
  • Sphinx를 렌더링 엔진으로, Discourse를 토론 플랫폼으로 사용

학습 제안

  1. 토론 포럼 계정 등록
  2. 컴퓨터에 파이썬 설치
  3. 장의 하단에 있는 포럼 링크를 통해 도움 및 토론 요청
  4. 직접 해보면서 학습하고, 실행 가능한 코드를 최대한 활용
  5. 커뮤니티 토론에 참여하여 저자 및 더 넓은 커뮤니티와 교류

이 교재는 딥러닝 교육의 중요한 이정표를 나타내며, 학습자에게 포괄적이고 실용적이며 접근하기 쉬운 딥러닝 학습 자료를 제공합니다.