책 소개
파이토치로 시작하는 딥러닝 구축과 활용
구글의 음성인식, 인공지능 시스템 개발, 손상된 사진 복원 등 딥러닝 기술은 여러 분야와 실생활에서 다양하게 적용되고 있다. 이 책은 파이썬 기반의 오픈소스 머신러닝 라이브러리인 파이토치를 활용하여 실제로 딥러닝을 구축하고 활용하고자 하는 사람을 위한 입문서다. 인공 신경망에서 쓰이는 기초 개념을 토대로 실제 어떻게 인공지능이 구현되는지 코드 라인별로 상세하게 설명하여 초보자도 쉽게 이해할 수 있도록 구성했으며, 다양한 실습 예제를 통해 프로그램을 만드는 방법부터 머신러닝 기술의 사용법, 결과를 내는 방법까지 소개하고 있다.
초반부에는 파이썬의 기본적인 사용법부터 파이토치 같은 머신러닝을 위한 라이브러리 활용법, 머신러닝에서 사용하는 지도학습 개념 등 머신러닝을 시작하기 전에 알아야 할 것들을 공부하며 기초를 다진다. 또한 이미지 처리를 위한 합성곱 신경망, 시계열 데이터 처리를 위한 순환 형태의 신경망 그리고 앞으로 사용할 함수들을 연습하고 ResNet이나 BI-LSTM 같은 실제로 사용하기 좋은 모델을 제작해 본다. 이전 내용을 토대로 비지도 학습과 지금까지 배운 내용을 접목해 활용할 수 있는 방법도 소개한다. 후반부에는 과적합을 방지하고 성능을 올려주는 방법, 복잡한 결과를 쉽게 알아볼 수 있도록 시각화하는 법 등 실제 머신러닝을 진행할 때 도움이 될 방법들을 알려두며 앞 장의 지도 학습, 비지도 학습과 더불어 전이 학습과 준지도 학습 모델과 메타 학습, 유한차분법을 설명한다.
* 주요 내용
Chapter 1 딥러닝 시작
1장에서는 인공지능을 구현하고 학습하는 방법 중 하나인 딥러닝에 대한 역사와 신경망을 구현하는데 필요한 프로그래밍 언어인 파이썬과 파이토치에 대해 간략히 알아본다.
Chapter 2 파이썬
2장에서는 프로그래밍 언어에서 가장 기본적이고 중요한 변수 타입부터 문법, 시각화, 실행 방법 등 파이썬에 대한 전반적인 내용을 다룬다.
Chapter 3 지도 학습
3장에서는 지도 학습의 개념과 과정을 살펴보고 우리가 다루는 대표적인 문제가 무엇이 있는지 알아본다. 추가적으로 머신러닝 업무에서 가장 기본인 용도에 따라 데이터 세트를 나누는 방법에 대해서 살펴본다.
Chapter 4 파이토치 기본
파이토치의 기본 타입인 텐서를 학습하고 딥러닝 모델을 최적화할 때 필요한 자동 미분법과 효율적으로 학습 데이터를 사용하는 방법에 대해서 배운다.
Chapter 5 인공 신경망
인공 신경망을 구축하고 학습하는데 기본적으로 고려해야 할 기본 구조, 활성화 함수, 손실 함수, 최적화 기법 등 인공 신경망에 대한 전반적인 내용을 다룬다.
Chapter 6 합성곱 신경망
합성곱 연산과 합성곱 신경망 구축에 대해서 다뤄보고 파이토치에서 제공하는 모델에 대해서 알아본다.
Chapter 7 순환 신경망
시퀀스 데이터의 의미를 알아보고 합성곱 신경망과 더불어 가장 많이 사용되는 순환 신경망에 대해서 설명한다.
Chapter 8 비지도 학습
정답이 있는 데이터가 부족한 문제를 해결하기 위한 비지도 학습의 대표적인 신경망인 오토인코더와 생성적 적대 신경망을 다룬다.
Chapter 9 성능 개선
모델을 학습하면서 대표적으로 겪을 수 있는 문제인 과적합, 데이터 불균형, 데이터 부족을 해결하기 위한 방법을 알아본다.
Chapter 10 시각화
모델 자체를 설명하려는 설명 가능한 인공지능에 대해서 이야기하고 대표적인 모델인 CAM를 구현한다. 추가적으로 고차원 형태의 데이터를 시각화할 수 있도록 도와주는 차원 축소 기법에 대해서 알아본다.
Chapter 11 메타 학습
단 몇 장만으로도 학습이 가능한 퓨샷 러닝 방법 중 하나인 MAML을 이용하여 회귀 문제와 분류 문제를 다뤄본다.
Chapter 12 과학적 계산
12장에서는 물리 현상을 표현하는 미분 방정식 풀이를 위한 인공 신경망 예시를 살펴본다.
작가 소개
딥러닝호형
22명의 노벨상 수상자를 배출한 독일 막스플랑크 연구소에서 수치해석과 머신러닝을 연구하고 있다. 주요 연구 분야는 오토파일럿과 같은 비선형 시스템에 대한 효율적인 제어 방법이다. 수학과 데이터 분석을 전공했으며 한국에서는 리서치 엔지니어로서 신제품 개발과 다수의 성능 개선 프로젝트를 완수했다. 8년 전 머신러닝에 입문하여 지금까지 데이터 처리 기법, 성능 예측, 이미지 분류, 비지도 객체 인식, 정규화 방법 개발, 트위터 메시지 분석, 유체 예측 등 다양한 기술을 다뤘다. 이를 바탕으로 2019년부터 유튜브 영상과 온라인 강의를 제작하고 있으며 대학 기술 자문 및 공동 연구도 진행하고 있다.
목 차
Chapter 1 딥러닝 시작
1.1 딥러닝이란
1.1.1 딥러닝의 역사
1.1.2 인공 신경망
1.1.3 최근 동향
1.2 파이썬과 파이토치
Chapter 2 파이썬
2.1 변수, 출력문, 라이브러리
2.1.1 정수형(int)
2.1.2 실수형(float)
2.1.3 문자형(string)
2.1.4 부울형(bool)
2.1.5 출력문(print)
2.1.6 라이브러리(library)
2.2 리스트, 튜플, 딕셔너리
2.2.1 리스트(list)
2.2.2 튜플(tuple)
2.2.3 딕셔너리(dict)
2.3 넘파이
2.3.1 여러 가지 배열
2.3.2 배열의 크기와 변환
2.3.3 조건문을 이용한 인덱스 검색
2.3.4 배열의 기본 연산
2.3.5 배열의 병합
2.3.6 다양한 계산 함수
2.4 조건문과 반복문
2.4.1 if문
2.4.2 for문
2.4.3 while문
2.4.4 break, continue문
2.4.5 try & except문
2.5 함수와 모듈
2.5.1 함수
2.5.2 모듈
2.6 클래스
2.7 그래프 그리기
2.8 폴더 및 파일 관리
2.9 터미널에서 파이썬 실행하기
Chapter 3 지도 학습
3.1 지도 학습이란
3.2 지도 학습의 종류
3.3 데이터 세트 분할
Chapter 4 파이토치 기본
4.1 텐서
4.1.1 여러 가지 텐서
4.1.2 리스트, 넘파이 배열을 텐서로 만들기
4.1.3 텐서의 크기, 타입, 연산
4.1.4 텐서의 크기 변환
4.1.5 텐서에서 넘파이 배열로 변환
4.1.6 단일 텐서에서 값으로 반환하기
4.2 역전파
4.2.1 그래디언트 텐서
4.2.2 자동 미분 ? 선형회귀식
4.3 데이터 불러오기
4.3.1 파이토치 제공 데이터 사용
4.3.2 같은 클래스 별로 폴더를 정리한 경우
4.3.3 정리되지 않은 커스텀 데이터 불러오기
4.3.4 커스텀 데이터와 커스텀 전처리 사용하기
4.3.5 커스텀 데이터와 파이토치 제공 전처리 사용하기
4.3.6 커스텀 전처리와 파이토치에서 제공하는 전처리 함께 사용하기
Chapter 5 인공 신경망
5.1 다층 퍼셉 트론
5.1.1 선형 회귀
5.1.2 집값 예측하기
5.2 활성화 함수
5.2.1 활성화 함수가 필요한 이유
5.2.2 선형 함수
5.2.3 시그모이드(sigmoid) 함수
5.2.4 tanh 함수
5.2.5 ReLU 함수
5.2.6 Softmax 함수
5.2.7 기타 활성화 함수
5.3 손실 함수
5.3.1 MAE
5.3.2 MSE
5.3.3 Cross Entropy Loss
5.3.4 기타 손실 함수
5.4 최적화 기법
5.4.1 확률적 경사하강법(SGD)
5.4.2 다양한 최적화 기법
5.4.3 스케줄링
5.4.4 MADGRAD
5.5 교차 검증
5.5.1 교차 검증을 통한 집값 예측 모델 평가
5.6 모델 구조 및 가중치 확인
5.6.1 모델 구조
5.6.2 모델 변수
Chapter 6 합성곱 신경망
6.1 합성곱 연산과 풀링 연산
6.1.1 이미지 데이터
6.1.2 MLP와 이미지 처리
6.1.3 합성곱 연산과 풀링 연산
6.2 ALEXNET
6.3 RESNET
6.4 다양한 합성곱 신경망
Chapter 7 순환 신경망
7.1 기본 순환 신경망
7.1.1 시계열 데이터
7.1.2 기본 인공 신경망과 순환 신경망
7.1.3 순환 신경망의 다양한 형태
7.1.4 기본 순환 신경망
7.1.5 기본 순환 신경망 구현
7.2 LSTM과 GRU
7.2.1 기본 RNN의 문제
7.2.2 LSTM
7.2.3 GRU
7.3 BI-LSTM
7.3.1 Bi-LSTM 구현하기
Chapter 8 비지도 학습
8.1 비지도 학습이란
8.2 K-평균 알고리즘
8.3 오토인코더
8.3.1 스택 오토인코더
8.3.2 디노이징 오토인코더
8.3.3 합성곱 오토인코더
8.4 생성적 적대 신경망
8.4.1 Vanilla GAN
8.4.2 Deep Convolutional GAN(DCGAN)
8.5 이미지 스타일 변이
8.6 깊은 K-평균 알고리즘
Chapter 9 성능 개선
9.1 과적합
9.1.1 데이터 증식
9.1.2 조기 종료
9.1.3 L2 정규화
9.1.4 드롭아웃
9.1.5 배치 정규화
9.1.6 교란 라벨
9.1.7 교란 값
9.1.8 라벨 스무딩
9.2 데이터 불균형
9.2.1 가중 무작위 샘플링
9.2.2 가중 손실 함수
9.2.3 혼동 행렬
9.3 전이 학습
9.3.1 사전 학습 모델
9.3.2 모델 프리징
9.4 준지도 학습
9.4.1 의사 라벨링
Chapter 10 시각화
10.1 설명 가능한 인공지능
10.1.1 Class Activation Map
10.2 차원 축소 기법
10.2.1 t-distributed Stochastic Neighbor Embedding
10.2.2 주성분 분석
Chapter 11 메타 학습
11.1 메타 러닝과 퓨샷 러닝
11.2 MAML - 회귀문제
11.3 MAML - 분류문제
Chapter 12 과학적 계산
12.1 유한차분법
12.2 은닉 유체 메카니즘
12.2.1 구조 설명
12.2.2 모듈 구성하기(HFM 폴더)
12.2.3 데이터 불러오기
12.2.4 모델 및 연산
12.2.5 모델 학습하기
12.2.6 모델 평가하기
12.2.7 코랩에서 파일 실행하기
부록 딥러닝 정보 습득 방법
역자 소개
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
반품사유 | 반품 배송비 부담자 |
---|---|
단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
고객 부담이 아닙니다. |
진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
---|---|---|---|
어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
결제수단 | 환불시점 | 환불방법 |
---|---|---|
신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
상품군 | 취소/반품 불가사유 |
---|---|
의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |