차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍
도서명:차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍
저자/출판사:아카이시,마사노리/위키북스
쪽수:508쪽
출판일:2022-08-18
ISBN:9791158393441
목차
▣ 00장: 미리보기 & 이미지 인식 시작하기
1. 이 책의 목적
2. 이 책을 읽는 법
3. 구글 코랩 사용법
4. 실습 따라하기
__초기설정
__학습 데이터 불러오기
__훈련용 이미지 데이터 확인
__검증용 이미지 데이터 확인
__모델 구축
__학습
__결과 확인
__공통 함수(fit 함수)의 내부 구조
5. 이 책의 구성
__기초편
__머신러닝 실전편
__이미지 인식 실전편
[1부] 기초편
▣ 01장: 딥러닝에 꼭 필요한 파이썬의 개념
1.1 이 장의 중요 개념
1.2 컨테이너 타입 변수에 주의
1.3 ‘합성 함수’를 파이썬으로 구현하기
1.4 ‘미분’과 파이썬의 ‘수치 미분’ 구현하기
1.5 커스텀 클래스 정의하기
__객체 지향의 기초 개념
__클래스 정의하기
__인스턴스 생성하기
__인스턴스의 속성으로 접근
__draw 함수의 호출
__Circle1 클래스 정의하기
__Circle1 인스턴스 생성과 속성의 확인
__draw 함수의 호출
__Circle2 클래스 정의하기
__Circle2 인스턴스 생성과 draw 함수의 호출
__Circle3 클래스의 구현
__Circle3 인스턴스 생성과 draw 함수 호출
1.6 인스턴스를 함수로 사용하는 방법
▣ 02장: 파이토치의 기본 기능
2.1 이 장의 중요 개념
2.2 텐서
__라이브러리 임포트
__다양한 계수의 텐서 만들기
__정숫값을 갖는 텐서 만들기
__view 함수
__그 밖의 속성
__item 함수
__max 함수
__넘파이 변수로 변환
2.3 자동 미분 기능
__(1) 경사 계산용 변수의 정의
__(2) 텐서 변수 간의 계산
__(3) 계산 그래프 시각화
__(4) 경사 계산
__(5) 경삿값 가져오기
__(6) 경삿값의 초기화
2.4 2차 함수의 경사 계산
__(1) 경사 계산용 변수 정의
__(2) 텐서 변수로 계산
__(3) 계산 그래프 시각화
__(4) 경사 계산
__(5) 경삿값 가져오기
__(6) 경삿값의 초기화
2.5 시그모이드 함수의 경사 계산
__(1) 시그모이드 함수의 정의
__(2) 텐서 변수로 y값의 계산
__그래프 출력
__최종 결과를 스칼라값으로 변환
__(3) 계산 그래프 시각화
__(4) 경사 계산, (5) 경삿값 가져오기
▣ 03장: 처음 시작하는 머신러닝
3.1 문제 정의하기
3.2 이 장의 중요 개념
3.3 경사 하강법 이해하기
3.4 경사 하강법의 구현 방법
__예측 계산
__손실 계산
__경사 계산
__파라미터 수정
3.5 데이터 전처리
__데이터 변환
3.6 예측 계산
3.7 손실 계산
3.8 경사 계산
3.9 파라미터 수정
3.10 반복 계산
3.11 결과 평가
3.12 최적화 함수와 step 함수 이용하기
__최적화 함수 튜닝
▣ 04장: 예측 함수 정의하기
4.1 머신러닝 알고리즘의 전체상과 예측 함수
4.2 신경망의 개념과 파이토치 프로그래밍 모델의 관계
4.3 파이토치 프로그래밍에 필요한 용어 정의
4.4 예측 함수의 내부 구조
4.5 외부에서 본 예측 함수의 거동
4.6 파이토치 머신러닝 프로그램의 전체상
4.7 활성화 함수의 목적
[02부] 머신러닝 실전편
▣ 05장: 선형 회귀
5.1 문제의 정의
5.2 이 장의 중요 개념
5.3 선형 함수(nn.Linear)
__1입력 1출력
__2입력 1출력
__2입력 3출력
5.4 커스텀 클래스를 이용한 모델 정의
5.5 MSELoss 클래스를 이용한 손실 함수
5.6 데이터 준비
5.7 모델 정의
__변수 정의
__머신러닝 모델(예측 모델)의 클래스 정의
__인스턴스 생성
__모델 내부의 변숫값 표시
__parameters 함수의 호출
__모델의 개요 표시
__손실 함수와 최적화 함수의 정의
5.8 경사 하강법
__입력값 x와 정답 yt의 텐서 변환
__① 예측 계산
__② 손실 계산
__계산 그래프 시각화
__③ 경사 계산
__④ 파라미터 수정
__경사 하강법의 전체상
__반복 계산
5.9 결과 확인
5.10 중회귀 모델로 확장
5.11 학습률의 변경
▣ 06장: 이진 분류
6.1 문제 정의하기
6.2 이 장의 중요 개념
6.3 정확도(Accuracy)
6.4 훈련 데이터와 검증 데이터 분할
6.5 시그모이드 함수
6.6 교차 엔트로피 함수
6.7 데이터 준비
__데이터 불러오기
__데이터 추출
__훈련 데이터와 검증 데이터 분할
__산포도 출력
6.8 모델 정의
6.9 경사 하강법
__최적화 알고리즘과 손실 함수의 정의
__머신러닝 프로그램의 전체상
__입력 데이터와 정답 데이터의 텐서 변환
__초기화 처리
__메인 루프
6.10 결과 확인
▣ 07장: 다중 분류
7.1 문제 정의하기
7.2 이 장의 중요 개념
7.3 여러 개의 분류기
7.4 가중치 행렬
7.5 소프트맥스 함수
7.6 교차 엔트로피 함수
7.7 다중 분류 모델에서 예측 함수와 손실 함수의 관계
7.8 데이터 준비
__데이터 추출
__훈련 데이터와 검증 데이터 분할
__산포도 출력
7.9 모델 정의
__입력 차원수와 출력 차원수 확인
__모델 정의
__모델 내부 파라미터 확인
__최적화 알고리즘과 손실 함수의 정의
7.10 경사 하강법
__데이터의 텐서 변수화
__손실의 계산 그래프 시각화
__예측 라벨을 얻는 방법
__반복 계산
7.11 결과 확인
__손실 및 정확도 확인
__학습 곡선
__모델 출력 확인
__가중치 행렬과 바이어스 값
7.12 입력 변수의 4차원화
▣ 08장: MNIST를 활용한 숫자 인식
8.1 문제 정의하기
8.2 이 장의 중요 개념
8.3 신경망과 딥러닝
8.4 활성화 함수와 ReLU 함수
8.5 GPU 사용하기
__구글 코랩 상에서 설정
__파이토치 상에서 설정
__GPU 디바이스 확인
__GPU 사용 규칙
8.6 데이터 전처리
8.7 미니 배치 학습법
8.8 데이터 준비 1 (Dataset을 활용해 불러오기)
__데이터 입수
8.9 데이터 준비 2 (Transforms를 활용한 데이터 전처리)
__스텝 1. ToTensor 사용하기
__스텝 2. Normalize 사용하기
__스텝 3. Lambda 클래스를 사용해 1차원으로 텐서 변환하기
8.10 데이터 준비 3 (데이터로더를 활용한 미니 배치 데이터 생성)
8.11 모델 정의
8.12 경사 하강법
__예측 계산
__손실 계산
8.13 결과 확인
8.14 은닉층 추가하기
__모델 정의
__경사 계산 결과
[03부] 머신러닝 실전편
▣ 09장: CNN을 활용한 이미지 인식
9.1 문제 정의하기
9.2 이 장의 중요 개념
9.3 CNN의 처리 개요
__CNN의 전체상
__합성곱 처리
__풀링 처리
9.4 파이토치에서 CNN을 구현하는 방법
__CNN의 전체 구성
__nn.Conv2d와 nn.MaxPool2d
__합성곱 처리와 풀링 처리 시뮬레이션
__nn.Sequential
__nn.Flatten
9.5 공통 함수 사용하기
__eval_loss(손실 계산)
__fit(학습)
__evaluate_history(학습 로그)
__show_images_labels(예측 결과 표시)
__torch_seed(난수 고정)
9.6 데이터 준비
__Transforms 정의
__데이터셋 정의
__데이터로더 정의
__검증 데이터를 이미지로 표시
9.7 모델 정의(전결합형)
9.8 결과(전결합형)
__학습
__평가
9.9 모델 정의(CNN)
__forward 함수의 구조
__nn.Sequential 클래스 사용
__가장 앞의 nn.Linear 함수의 입력 차원수
__모델의 개요 표시
9.10 결과(CNN)
__모델 초기화와 학습
__평가
▣ 10장: 튜닝 기법
10.1 이 장의 중요 개념
10.2 신경망의 다층화
10.3 최적화 함수
__SGD(Stochastic Gradient Descent)
__모멘텀(Momentum)
__Adam
10.4 과학습의 대응 방법
__드롭아웃(Dropout)
__배치 정규화(Batch Normalization)
__데이터 증강(Data Augmentation)
10.5 공통 함수의 라이브러리화
10.6 층을 깊게 쌓은 모델 구현하기
__클래스 정의
__인스턴스 생성
__학습
10.7 최적화 함수 선택
10.8 드롭아웃
10.9 배치 정규화
10.10 데이터 증강 기법
▣ 11장: 사전 학습 모델 활용하기
11.1 이 장의 중요 개념
11.2 사전 학습 모델
11.3 파인 튜닝과 전이 학습
11.4 적응형 평균 풀링 함수(nn.AdaptiveAvgPool2d 함수)
11.5 데이터 준비
11.6 ResNet-18 불러오기
11.7 최종 레이어 함수 교체하기
11.8 학습과 결과 평가
__초기 설정
__학습
__학습 결과 평가
11.9 VGG-19-BN 활용하기
__모델 불러오기
__모델 구조 확인
__최종 레이어 함수 교체
__손실 계산 그래프 시각화
__학습
__학습 결과 평가
▣ 12장: 사용자 정의 데이터를 활용한 이미지 분류
12.1 문제 정의하기
12.2 이 장의 중요 개념
__데이터 다운로드, 압축 해제, 트리 구조 출력
12.3 데이터 준비
__tree 커맨드 인스톨
__다운로드
__압축 해제
__Transforms 정의
__ImageFolder 사용
__데이터셋 정의
__데이터로더 정의
12.4 파인 튜닝의 경우
12.5 전이 학습의 경우
12.6 사용자 정의 데이터를 사용하는 경우
__Transforms 정의
__데이터셋 정의
__데이터로더 정의
__훈련·검증 데이터 이미지 출력
__모델 정의
__예측 결과