너무 어려워서 높은 벽처럼 느껴졌던 ‘딥러닝(deep learning)’,
이 책과 함께라면 쉽게 시작할 수 있습니다!
『생활코딩 머신러닝 실습편 with 파이썬 텐서플로』는 초등학생부터 어르신까지, 딥러닝이 궁금하고 직접 코딩해보고 싶은 모든 분을 위한 책이다. 복잡한 원리와 수학을 몰라도, 휴대폰 사용법을 익히듯 쉽고 재미있게 딥러닝을 배울 수 있다. 구글의 딥러닝 라이브러리인 텐서플로(TensorFlow)를 활용해 간단한 형태의 딥러닝 모델을 작성한다. 실습은 무료로 사용할 수 있는 구글 코랩(Colaboratory)과 스프레드시트(Google Sheets)를 이용해 이뤄지므로 고성능 컴퓨터가 없어도 충분히 실습할 수 있다.
Contents
[1부] 텐서플로 101
01장: 도입
01 오리엔테이션
__선수 지식
__머신러닝
__머신러닝 알고리즘
__딥러닝 라이브러리
__정리
02 목표와 전략
__딥러닝 입문 강의의 높은 벽
__새로운 배움 전략
03 지도학습의 빅 픽처
__#1 과거의 데이터를 준비합니다
__#2 모델의 구조를 만듭니다
__#3 데이터로 모델을 학습합니다
__#4 모델을 이용합니다
__정리
04 실습 환경: 구글 코랩
__구글 코랩 소개
__코랩 실습 환경 준비
__코랩 노트북 사용해보기
__소스 코드
02장: 표를 다루는 도구 ‘판다스’
01 판다스
__‘변수’의 의미
__판다스
__실습 데이터
02 판다스 실습
__실습 코드와 데이터
__판다스 라이브러리를 임포트
__파일로부터 데이터 읽어오기
__데이터 모양 확인하기
__데이터 칼럼 이름 확인
__독립변수와 종속변수 분리
__각각의 데이터 확인해보기
__전체 코드
03장: 첫 번째 딥러닝 - 레모네이드 판매 예측
01 머신러닝 모델을 만드는 과정
__머신러닝의 흐름
__머신러닝 코드 훑어보기
__머신러닝의 흐름과 코드를 함께 살펴보기
__정리
02 손실의 의미
__fit 함수의 실행 결과
__손실을 계산하는 원리
__학습을 반복하며 손실이 줄어듦을 확인
03 레모네이드 판매 예측 실습
__라이브러리 사용
__데이터를 준비
__모델 만들기
__학습
__모델을 이용하기
__전체 코드
04장: 두 번째 딥러닝 - 보스턴 집값 예측
01 보스턴 집값 예측
__보스턴 주택 가격
__중앙값
__각 열의 의미
02 수식과 퍼셉트론
__모델을 구성하는 코드
__퍼셉트론, 가중치, 편향의 의미
__데이터의 독립변수가 12개, 종속변수가 2개일 때의 모델
03 보스턴 집값 예측 실습
__라이브러리 사용
__과거의 데이터를 준비
__모델의 구조 만들기
__모델을 학습
__모델을 이용
__모델의 수식 확인
__전체 코드
05장: 학습의 실제
01 학습의 실제
__딥러닝 워크북
__실습 준비
__워크북 이용 방법
__초기화
__첫 번째 히스토리
__두 번째 히스토리
__세 번째 히스토리
__정리
06장: 세 번째 딥러닝 - 붓꽃 품종 분류
01 개요
__붓꽃의 품종
__붓꽃 데이터
__코드
02 원핫 인코딩
__원핫 인코딩의 원리
__데이터를 원핫 인코딩하는 코드
__모델을 만드는 코드
03 소프트맥스
__정답을 확률 표현으로 예측
__활성화 함수
__크로스엔트로피
__정확도
__정리
04 붓꽃 품종 분류 실습
__라이브러리 임포트
__과거의 데이터를 준비
__원핫 인코딩
__칼럼 이름 출력
__종속변수, 독립변수
__모델의 구조 만들기
__데이터로 모델을 학습
__모델을 이용
__학습한 가중치
__정리
__전체 코드
07장: 네 번째 딥러닝 - 멀티 레이어 인공 신경망
01 히든 레이어
__인풋 레이어, 아웃풋 레이어, 히든 레이어
__히든 레이어 추가하기
__히든 레이어를 3개 사용한 모델
02 히든 레이어 실습
__보스턴 집값 예측
__모델 구조 확인
__붓꽃 품종 분류
__전체 코드
08장: 데이터를 위한 팁
01 데이터를 위한 팁
__원핫 인코딩이 되지 않는 문제
__NA 값 체크
__전체 코드
09장: 모델을 위한 팁
01 모델을 위한 팁
__보스턴 집값 예측에 배치 노멀라이제이션을 적용
__분류 모델에 배치 노멀라이제이션을 적용
__전체 코드
10장: 1부 정리
[2부] 텐서플로 102
11장: 오리엔테이션
01 오리엔테이션
__이미지 분류 문제
12장: 데이터와 차원
01 데이터와 차원
__용어 지옥
__‘차원’이라는 말의 두 가지 의미
__표의 열 vs. 포함 관계
__정리
13장: 이미지 데이터 이해
01 이미지 데이터 구경하기
__MNIST 이미지
__CIFAR-10 이미지
__사진의 속성
__샘플 이미지
02 이미지 데이터 실습
__라이브러리 사용
__샘플 이미지셋 불러오기
__화면 출력
__차원 확인
__정리
__전체 코드
14장: 다섯 번째 딥러닝 1 - 플래튼 레이어를 활용한 이미지 학습
01 플래튼
__reshape
__모델을 조금 더 살펴보기
__코드 사용법
02 플래튼 레이어를 활용한 이미지 학습 모델 실습
__reshape를 사용한 모델
__Flatten 레이어를 사용한 모델
__정리
__전체 코드
15장: 다섯 번째 딥러닝 2 - Conv2D
01 컨볼루션의 이해
__숫자 이미지의 특징
__컨볼루션 필터와 특징 맵
__컨볼루션 레이어를 적용한 코드
02 필터의 이해
__딥러닝 모형으로 이해
03 컨볼루션 연산의 이해
__컨볼루션 연산의 원리
__실제 계산의 예
04 Conv2D 실습
__노트북 설정
__라이브러리 사용
__데이터 준비
__모델 만들기
__모델을 학습
__모델을 이용
__정답 확인
__모델 확인
__전체 코드
16장: 다섯 번째 딥러닝 3 - MaxPool2D
01 MaxPool2D
__플래튼만을 이용한 모델
__컨볼루션 레이어를 추가한 모델
__풀링 레이어를 사용한 모델
__맥스 풀링의 원리
02 MaxPool2D 실습
__컨볼루션 레이어 모델
__맥스 풀링 모델을 활용한 CNN 모델 완성
__전체 코드
17장: 다섯 번째 딥러닝 완성 - LeNet
01 LeNet
02 LeNet 실습
__라이브러리 로딩
__MNIST를 사용하는 LeNet 모델
__LeNet으로 CIFAR-10을 학습
__정리
__전체 코드
18장: 내 이미지 사용하기
01 내 이미지 사용하기
__notMNIST 이미지셋
__이미지 데이터를 읽어들이기
02 내 이미지 사용하기 실습
__이미지 데이터셋을 읽어 들이기
__독립변수와 종속변수를 변형
__모델 학습
__보충 설명
__전체 코드
19장: 2부 정리
차원
특징 자동 추출기
LeNet
딥러닝의 정상
축하합니다!
Author
이숙번,이고잉
프로그래밍하는 것과 프로그래밍 지식을 강의하는 것을 좋아해서 개발자와 강사를 병행하고 있습니다. 현재 주 3일은 (주)에누마에서 백엔드 개발을 담당하고 있고, 그 외의 시간에는 머신러닝과 프로그래밍 분야 강의 및 비영리단체 오픈튜토리얼스의 멤버로 활동하고 있습니다.
프로그래밍하는 것과 프로그래밍 지식을 강의하는 것을 좋아해서 개발자와 강사를 병행하고 있습니다. 현재 주 3일은 (주)에누마에서 백엔드 개발을 담당하고 있고, 그 외의 시간에는 머신러닝과 프로그래밍 분야 강의 및 비영리단체 오픈튜토리얼스의 멤버로 활동하고 있습니다.