HOME / CATALOG / 데이터 사이언스
데이터 사이언스

실전! 파이토치 딥러닝 프로젝트 (ebook)

기본 아키텍처부터 글쓰기/작곡, 스타일 전이, 게임, 클라우드와 분산 훈련까지
지은이 아쉬쉬 란잔 자
옮긴이 김정인
도서 정보
출간일
2023년 7월 10일
쪽수
416쪽
판형
188*240*18mm
ISBN
9791158394479
시리즈
데이터 사이언스 시리즈_076
정가
25,600원
난이도
ERR 오탈자 등록
도서 소개
저자 소개
역자 소개
목차
예제 코드
정오표

도서 소개

파이토치를 활용한 실제 사례를 통해 딥러닝 고급 기법과 알고리즘을 마스터한다!

파이토치(PyTorch)를 활용하면 누구나, 그 어느 때보다 쉽게 딥러닝 애플리케이션을 구축해 AI 혁명에 동참할 수 있다. 이 책은 여러분이 가진 데이터를 최대한 활용해 복잡한 신경망 모델을 구축하는 전문 기술을 익히는 데 도움이 될 것이다.

파이토치의 요점을 정리해서 알아보는 것으로 시작해 이미지를 분류하는 합성곱 신경망(CNN) 아키텍처를 예로 들어 파이토치를 살펴본다. 그런 다음 순환신경망(RNN)과 트랜스포머 아키텍처를 살펴보고 감성분석에 활용한다. 또 생성적 모델을 음악, 텍스트, 이미지 생성 등 다양한 영역에 적용해 봄으로써 생성적 적대 네트워크(GAN) 분야를 탐구한다. 파이토치로 심층 강화학습 모델을 직접 구축하고 훈련시키며, 모델을 운영 환경에 배포하는 전문적인 기술과 팁을 배운다. 대규모 모델을 분산 방식으로 효율적으로 훈련시키고, AutoML을 사용해 신경망 아키텍처를 효과적으로 검색하고, 파이토치와 fast.ai로 모델을 빠르게 프로토타이핑하는 방법을 익힌다.

이 책을 모두 읽은 후에는 파이토치로 복잡한 딥러닝 작업을 수행해 스마트한 인공지능 모델을 구축할 수 있게 될 것이다.

★ 이 책에서 다루는 내용 ★

  • 파이토치로 텍스트 생성 모델과 작곡 모델을 구현
  • 파이토치로 심층 Q-네트워크(DQN) 모델을 구축
  • ONNX(머신러닝 모델용 오픈소스 범용 포맷)를 활용해 범용 파이토치 모델 내보내기
  • fast.ai와 파이토치를 이용해 빠르게 프로토타이핑하는 방법
  • AutoML로 신경망 아키텍처를 효과적으로 검색
  • Captum을 사용해 파이토치에서 작성한 머신러닝(ML) 모델을 쉽게 해석
  • 파이토치를 사용해 ResNet, LSTM, 트랜스포머 모델 등을 설계
  • 파이토치에서 orch.distributed API를 사용해 분산 훈련시키는 방법

 

도서 상세 이미지

저자 소개

아쉬쉬 란잔 자 (Ashish Ranjan Jha)

아쉬쉬 란잔 자는 인도 IIT 루르키(IIT Roorkee) 전기공학부에서 학사를 마치고, 스위스 EPFL에서 컴퓨터 과학 석사 학위를 받고 미국 워싱턴에 위치한 Quantic School of Business에서 MBA를 마쳤다. 그는 모든 학위 과정을 우수한 성적으로 마쳤다. 그는 오라클, 소니, 레볼루트 같은 스타트업에서 머신러닝 엔지니어로 근무했다. 수년간의 경력 외에, 아쉬쉬는 프리랜서 머신러닝 컨설턴트, 저자, 블로거(datashines)로 활동 중이다. 그는 센서 데이터로 차량 유형을 예측하는 것부터 보험 청구 내역에서 사기를 탐지하는 것까지 다양한 프로젝트를 수행했다. 여가 시간에는 오픈소스 ML 프로젝트를 하고 스택오버플로(StackOverflow)와 캐글(Kaggle)에서 활동하고 있다(arj7192).

역자 소개

김정인

현재 기업 빅데이터 전략팀에서 근무하고 있다. 옮긴 책으로는 《강화학습/심층강화학습 특강》 《실전! 텐서플로 2를 활용한 딥러닝 컴퓨터 비전》 《케라스로 구현하는 고급 딥러닝 알고리즘》 《실전! Core ML을 활용한 머신러닝 iOS 앱 개발》 《실전활용! 텐서플로 딥러닝 프로젝트》 《마이크로소프트 봇 프레임워크 프로그래밍》 《애자일 데이터 과학 2.0》 《구글 애널리틱스 완벽 가이드》 《파이썬 데이터 사이언스 핸드북》 《러닝 스칼라》가 있다.

목차

  • [01부] 파이토치 개요
    • ▣ 01장: 파이토치를 이용한 딥러닝 소개
      • 딥러닝 되짚어보기
        • 활성화 함수
        • 최적화 스케줄
      • 파이토치 살펴보기
        • 파이토치 모듈
        • 텐서 모듈
      • 파이토치로 신경망 훈련하기
      • 요약
    •  
    • ▣ 02장: CNN과 LSTM 결합하기
      • CNN과 LSTM으로 신경망 만들기
        • 텍스트 인코딩 데모
      • 파이토치로 이미지 캡션 생성하기
        • 이미지 캡션 데이터셋 다운로드
        • 캡션(텍스트) 데이터 전처리
        • 이미지 데이터 전처리
        • 이미지 캡션 데이터 로더 정의하기
        • CNN-LSTM 모델 정의하기
        • CNN-LSTM 모델 훈련하기
        • 훈련된 모델로 이미지 캡션 생성하기
      • 요약
    •  
  • [02부] 고급 신경망 아키텍처
    • ▣ 03장: 심층 CNN 아키텍처
      • 왜 CNN이 막강한가?
      • CNN 아키텍처의 발전
      • LeNet을 처음부터 구현하기
        • 파이토치로 LeNet 구성하기
        • LeNet 훈련하기
        • LeNet 테스트하기
      • AlexNet 모델 미세 조정하기
        • 파이토치로 AlexNet 미세 조정하기
      • 사전 훈련된 VGG 모델 실행하기
      • GoogLeNet과 Inception v3 살펴보기
        • Inception 모듈
        • 1×1 합성곱
        • 전역 평균 풀링
        • 보조 분류기
        • Inception v3
      • ResNet과 DenseNet 아키텍처
        • DenseNet
      • EfficientNet과 CNN 아키텍처의 미래
      • 요약
    •  
    • ▣ 04장: 심층 순환 신경망 아키텍처
      • 순환 신경망의 발전
      • 순환 신경망 유형
        • RNN
        • 양방향 RNN
        • LSTM
        • 확장된 LSTM과 양방향 LSTM
        • 다차원 RNN
      • 적층 LSTM
        • GRU
        • 그리드 LSTM
        • 게이트 직교 순환 유닛
      • 감성 분석을 위해 RNN 훈련하기
        • 텍스트 데이터셋 로딩 및 전처리
        • 모델 인스턴스화 및 훈련
      • 양방향 LSTM 만들기
        • 텍스트 데이터셋 로딩과 전처리
        • LSTM 모델 인스턴스화 및 훈련
      • GRU와 어텐션 기반 모델
        • GRU와 파이토치
        • 어텐션 기반 모델
      • 요약
    •  
    • ▣ 05장: 하이브리드 고급 모델
      • 언어 모델링을 위한 트랜스포머 모델 만들기
      • 언어 모델링
        • 트랜스포머 모델 아키텍처
      • RandWireNN 모델 구현
        • RandWireNN 모델의 이해
        • 파이토치로 RandWireNN 개발
      • 요약
    •  
  • [03부] 생성 모델과 심층 강화학습
    • ▣ 06장: 파이토치를 활용한 음악, 텍스트 생성
      • 파이토치로 트랜스포머 기반 텍스트 생성기 만들기
        • 트랜스포머 기반 언어 모델 훈련
        • 언어 모델 저장 및 로딩
        • 언어 모델로 텍스트 생성하기
      • 텍스트 생성기로 사전 훈련된 GPT-2 사용하기
        • GPT-2로 바로 사용할 수 있는 텍스트 생성기 구현하기
        • 파이토치를 사용한 텍스트 생성 전략
      • 파이토치에서 LSTM으로 미디 음악 생성하기
        • 미디 음악 데이터 로딩
        • LSTM 모델 정의 및 훈련 방법
        • 음악 생성 모델 훈련 및 테스트
      • 요약
    •  
    • ▣ 07장: 신경망 스타일 전이
      • 이미지 간 스타일 전이하는 방법
      • 파이토치에서 신경망을 이용한 스타일 전이 구현하기
        • 콘텐츠와 스타일 이미지 로딩
        • 사전 훈련된 VGG19 모델 로딩 및 조정
        • 신경망 스타일 전이 모델 구축
        • 스타일 전이 모델 훈련
        • 스타일 전이 모델 실험
      • 요약
    •  
    • ▣ 08장: 심층 합성곱 GAN
      • 생성 네트워크와 판별 네트워크 정의
        • DCGAN 생성 모델과 판별 모델
      • 파이토치로 DCGAN 훈련하기
        • 생성 모델 정의
        • 이미지 데이터셋 로딩
        • DCGAN 훈련 루프
      • GAN을 이용한 스타일 전이
        • pix2pix 아키텍처
      • 요약
    •  
    • ▣ 09장: 심층 강화학습
      • 강화학습 개념
        • 강화학습 알고리즘 유형
      • Q-러닝
      • 심층 Q-러닝
        • 두 개의 분리된 DNN 사용
        • 경험 재현 버퍼
      • 파이토치에서 DQN 모델 만들기
        • 메인 CNN 모델과 타깃 CNN 모델 초기화
        • 경험 재현 버퍼 정의
        • 환경 설정
        • CNN 최적화 함수 정의
        • 에피소드 관리 및 실행
        • 퐁 게임을 위한 DQN 모델 훈련
      • 요약
    •  
  • [04부] 운영 시스템에서의 파이토치
    • ▣ 10장: 파이토치 모델을 운영 환경에 이관하기
      • 파이토치에서 모델 서빙
        • 파이토치 모델 추론 파이프라인 생성
        • 기본적인 모델 서버 구축
        • 모델 마이크로서비스 생성
      • 토치서브를 활용한 파이토치 모델 서빙
        • 토치서브 서버 실행 및 사용
      • 토치스크립트와 ONNX를 활용해 범용 파이토치 모델 내보내기
        • 토치스크립트의 유틸리티
        • 토치스크립트로 모델 추적하기
        • 토치스크립트로 모델 스크립팅
        • C++에서 파이토치 모델 실행하기
        • ONNX를 이용해 파이토치 모델 내보내기
      • 클라우드에서 파이토치 모델 서빙
        • AWS에서 파이토치 사용하기
        • 구글 클라우드에서 파이토치 모델 서빙
        • 애저에서 파이토치 모델 서빙
      • 요약
      • 참고 문헌
    •  
    • ▣ 11장: 분산 훈련
      • 파이토치를 이용한 분산 훈련
        • 일반 방식의 MNIST 모델 훈련
        • 분산 방식의 MNIST 모델 훈련
      • CUDA로 GPU상에서 분산 훈련
      • 요약
    •  
    • ▣ 12장: 파이토치와 AutoML
      • AutoML로 최적의 신경망 아키텍처 찾기
        • Auto-PyTorch로 최적의 MNIST 모델 찾기
      • Optuna로 초매개변수 찾기
        • 모델 아키텍처 정의 및 데이터셋 로딩
        • 모델 훈련 방식과 최적화 스케줄 정의
        • Optuna의 초매개변수 탐색 실행
      • 요약
    •  
    • ▣ 13장: 파이토치와 설명 가능한 AI
      • 파이토치에서 모델 해석 가능성
        • 필기체 숫자 분류 모델 훈련 – 복습
        • 모델의 합성곱 필터 시각화
        • 모델의 특징 맵 시각화
      • Captum을 이용한 모델 해석
        • Captum 설정
        • Captum의 해석 도구
      • 요약
    •  
    • ▣ 14장: 파이토치로 빠르게 프로토타이핑하기
      • fast.ai를 이용해 몇 분 안에 모델 훈련 설정하기
        • fast.ai를 설정하고 데이터 로딩하기
        • fast.ai를 이용한 MNIST 모델 훈련
        • fast.ai를 이용한 모델 평가 및 해석
      • 파이토치 라이트닝을 이용한 모델 훈련
        • 파이토치 라이트닝에서 모델 구성 요소 정의
        • 파이토치 라이트닝을 이용한 모델 훈련 및 평가
      • 요약

예제 코드

정오표

  • 28쪽, 예제 코드의 밑에서 2번째 줄

    print('epoch: {} [{}/{} ({:.0f}%)]\t training loss: {:.6f}'.format(
        epoch, b_i / len(train_dataloader), loss.item()))

    ==>

    print('epoch: {} [{}/{} ({:.0f}%)]\t training loss: {:.6f}'.format(
        epoch, b_i, len(train_dataloader), b_i / len(train_dataloader), loss.item()))
  • 29쪽, 페이지 하단 예제 코드의 4~6번째 줄

    transform=transforms.Compose([transforms.ToTensor(),
        transforms.ToTensor(),
        transforms.Normalize((0.1302,), (0.3069,))]))

    ==>

    transform=transforms.Compose([transforms.ToTensor(),
        transforms.Normalize((0.1302,), (0.3069,))]))
  • 32쪽, 페이지 상단 예제 코드의 4번째 줄

    plt_imshow(sample_data[0][0], cmap='gray', interpolation='none')

    ==>

    plt.imshow(sample_data[0][0], cmap='gray', interpolation='none')
WHERE TO BUY · 정가 25,600원
WHERE TO BUY · 정가 25,600원