▣ 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 정의 __데이터셋 정의 __데이터로더 정의 __훈련·검증 데이터 이미지 출력 __모델 정의 __예측 결과