차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍

차근차근 실습하며 배우는 파이토치 딥러닝 프로그래밍

$33.37
Description
딥러닝 원리와 파이토치의 구현을 빠르게 이해하자!
이 책은 최근에 특히 주목받는 딥러닝 프레임워크인 ‘파이토치(PyTorch)’에 관한 입문 서적이다. 이미지 인식을 주 소재로 삼아 파이토치의 장점을 이해하고, 독자가 직접 파이토치 프로그램을 파이썬(Python)으로 구현할 수 있게 돕는 것이 이 책의 목표다.

딥러닝의 학습 원리인 경사 하강법과 파이토치 구현을 복잡한 수식 없이 그림을 통해 구체적으로 이해하도록 했으며, 어떤 개념까지 배웠는지 코스맵을 통해 한눈에 확인할 수 있다. 또한 파이토치가 자동으로 생성한 합성 함수(계산 그래프)를 시각화하는 도구를 활용해 합성 함수의 형태를 이해할 수 있도록 했다.

딥러닝에 필요한 파이썬 기본 문법과 넘파이(Numpy), 매트플롯립(Matplotlib)을 부록에서 설명하므로, 프로그래밍에 익숙하지 않더라도 이 책으로 딥러닝을 시작할 수 있다. 실습 환경으로 클라우드 AI 실행기반인 ‘구글 코랩(Google Colaboratory)’을 사용하므로 웹브라우저에서 무료로 간편하게 실습할 수 있다. 나아가 독자가 코드를 직접 실행시켜 보는 것을 매우 중요하게 생각해서, 구글 코랩의 사용법에 대해서도 자세하게 설명한다.

저자

아카이시마사노리

저자:아카이시마사노리
액센츄어주식회사비즈니스컨설팅본부AI그룹시니어대표.
1985년도쿄대학공학부계수공학과졸업.1987년동대학원석사과정수료.같은해일본IBM에입사해2020년12월에퇴직.2021년3월액센츄어입사.
현재는AI인재육성관련일을주로담당하고있다.
사외강사교토정보대학원대학교객원교수.
저서로《딥러닝을위한수학》《돈되는파이썬인공지능프로그래밍》등이있다.

역자:하승민
일본리츠메이칸대학에서물리학과를졸업하고,동대학원물리학(이학)석사학위를취득했다.머신러닝과딥러닝,프로그래밍을독학하며실무경력을쌓았고,현재는프로메디우스(PromediusInc.)에서AIResearcher로재직중이다.전공은끈이론과등각장론이지만,형식적인물리학이론이나수학이라면대부분좋아하고(특히양자역학과일반상대성이론),최근에는양자컴퓨터와관련된서적을읽으며여가시간을보낸다.옮긴책으로《머신러닝시스템디자인패턴》이있다.

목차

▣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.42차함수의경사계산
__(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.5MSELoss클래스를이용한손실함수
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.5GPU사용하기
__구글코랩상에서설정
__파이토치상에서설정
__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.3CNN의처리개요
__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(StochasticGradientDescent)
__모멘텀(Momentum)
__Adam
10.4과학습의대응방법
__드롭아웃(Dropout)
__배치정규화(BatchNormalization)
__데이터증강(DataAugmentation)
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.6ResNet-18불러오기
11.7최종레이어함수교체하기
11.8학습과결과평가
__초기설정
__학습
__학습결과평가
11.9VGG-19-BN활용하기
__모델불러오기
__모델구조확인
__최종레이어함수교체
__손실계산그래프시각화
__학습
__학습결과평가

▣12장:사용자정의데이터를활용한이미지분류
12.1문제정의하기
12.2이장의중요개념
__데이터다운로드,압축해제,트리구조출력
12.3데이터준비
__tree커맨드인스톨
__다운로드
__압축해제
__Transforms정의
__ImageFolder사용
__데이터셋정의
__데이터로더정의
12.4파인튜닝의경우
12.5전이학습의경우
12.6사용자정의데이터를사용하는경우
__Transforms정의
__데이터셋정의
__데이터로더정의
__훈련·검증데이터이미지출력
__모델정의
__예측결과

출판사 서평

★이책에서다루는내용★

딥러닝에꼭필요한파이썬의개념(컨테이너타입,합성함수,수치미분,객체지향)
파이토치의기본기능(텐서,자동미분,경사계산)
머신러닝(경사하강법,데이터전처리,예측함수,활성화함수)
파이토치를활용한선형회귀및분류
CNN을활용한이미지인식,GPU활용및데이터전처리
최적화함수,과학습의대응방법
사전학습모델활용하기(파인튜닝과전이학습)
사용자정의데이터를활용한이미지분류