품목정보
출간일 | 2019년 08월 13일 |
---|---|
쪽수, 무게, 크기 | 320쪽 | 170*232*30mm |
ISBN13 | 9791186710524 |
ISBN10 | 1186710527 |
출간일 | 2019년 08월 13일 |
---|---|
쪽수, 무게, 크기 | 320쪽 | 170*232*30mm |
ISBN13 | 9791186710524 |
ISBN10 | 1186710527 |
『이토록 쉬운 딥러닝을 위한 기초 수학 with 파이썬』은 '수학 기초와 파이썬으로 배우는 머신러닝과 딥러닝 기초’라고 할 수 있는 책이다. 저자는 기초 수학을 설명한 후 여기서 파생하는 머신러닝과 딥러닝의 주요 개념인 회귀, 신경망, 경사하강법, 합성곱 신경망, 순환 신경망, 강화 학습 등을 설명하고 각 개념을 구현하는 파이썬 코드도 함께 소개하였다. |
Chapter 1. 딥러닝을 배우기 전 알아 둬야 할 머신러닝과 신경망 이야기 Q 생각해보기 1.1 어떤 동작을 ‘똑똑’하다고 할까 1.1.1 일반적인 시스템 개발과 인공지능 시스템 개발의 차이 1.1.2 데이터를 ‘학습’한다는 의미 1.1.3 지금까지의 인공지능 연구와 성과 1.2 머신러닝의 사고방식 1.2.1 지도 학습, 비지도 학습, 강화 학습 1.2.2 머신러닝의 장점과 한계 1.2.3 가볍게 살펴보는 머신러닝 사례 1.3.3 작은 크기의 신경망부터 구성 1.3 신경망 1.3.1 신경망과 딥러닝 1.3.2 신경망의 동작 살펴보기 1.4 파이썬 기초 1.4.1 개발 목적에 적합한 프로그래밍 언어 선택하기 1.4.2 파이썬의 특징 1.4.3 파이썬 개발 환경 설치 1.4.4 파이썬의 숫자 타입과 산술 연산자 1.4.5 변수, 리스트, 튜플 1.4.6 조건문과 반복문 1.4.7 함수, 클래스, 객체 1.4.8 스크립트 파일 사용 1.4.9 라이브러리 사용 연습 문제 ①, ② Chapter 2. 수열, 통계, 확률 근거에 따라 결정하는 방법 Q 생각해보기 2.1 대량의 데이터를 다루는 수열과 집합 2.1.1 수열 표현과 점화식 2.1.2 수열의 합과 시그마 2.1.3 수열을 다루는 리스트와 리스트 내포 2.1.4 집합 2.1.5 평균, 분산, 표준편차 2.1.6 데이터의 표준값 2.1.7 데이터의 분포 2.2 답이 정확한지 확인하는 확률 2.2.1 확률의 개념 2.2.2 확률변수와 확률분포 2.2.3 결합확률과 조건부확률 2.2.4 베이즈 정리 2.3 대량의 데이터에서 추정하는 방법 2.3.1 표본 추정 2.3.2 표본을 추출할 때 사용하는 난수 2.3.3 확률분포 추정 연습 문제 ③, ④ Chapter 3. 벡터와 행렬 - 다양한 입출력을 한꺼번에 처리 Q 생각해보기 3.1 데이터를 일렬로 정리하는 벡터 3.1.1 스칼라, 벡터, 행렬, 텐서 3.1.2 벡터의 합, 차, 크기 3.1.3 벡터의 내적 3.2 다차원 데이터를 다루는 행렬 3.2.1 행렬의 덧셈과 곱셈 3.2.2 전치행렬과 역행렬 3.2.3 행렬의 사상과 연립방정식 연습 문제 ⑤, ⑥ Chapter 4. 함수와 미분 - 최적값에 수렴하는 방법 Q 생각해보기 4.1 입력으로 출력을 결정하는 함수 4.1.1 대응표와 함수의 그래프 4.1.2 지수함수와 로그함수 4.1.3 오차의 최솟값 계산 4.2 미분으로 그래프의 접선 계산 4.2.1 접선의 기울기 4.2.2 복잡한 함수의 미분 4.2.3 미분 가능 함수 4.3 여러 개 변수를 미분하는 편미분 4.3.1 편미분과 기울기 벡터 4.3.2 다변수 함수의 최솟값 계산 조건 연습 문제 ⑦, ⑧ Chapter 5. 예측과 최적화 - 학습으로 결과 도출 Q 생각해보기 5.1 데이터로 예측하는 회귀분석과 로지스틱 회귀 5.1.1 1차함수를 이용한 예측 5.1.2 회귀분석 5.1.3 다중회귀분석과 확률적 경사하강법 5.1.4 로지스틱 회귀 5.2 신경망의 손실함수 최적화 5.2.1 역전파 5.3 학습 모델 평가 5.3.1 교차 검증 5.3.2 과대적합을 막는 학습 연습 문제 ⑨, ⑩ Chapter 6. 신경망과 딥러닝 - 정확도 향상과 이미지 인식 등의 응용 Q 생각해보기 6.1 과거 신경망의 문제점 6.1.1 기울기 소실 문제와 활성화 함수 6.1.2 가중치의 초깃값을 정하는 오토 인코더 6.1.3 과대적합과 드롭아웃 6.2 합성곱 신경망 6.2.1 이미지 데이터의 특징 표현 6.2.2 합성곱층 6.2.3 풀링층 6.2.4 합성곱 신경망의 학습 6.2.5 데이터 확장에 따른 이미지 추가와 전이 학습 6.2.6 생성적 적대 신경망 6.2.7 미니배치 학습과 배치 정규화 6.3 순환 신경망과 재귀 신경망 6.3.1 학습 데이터가 변하는 신경망 6.3.2 LSTM과 GRU 연습 문제 ⑪ Chapter 7. 강화 학습 - 스스로 학습하는 인공지능 구축 Q 생각해보기 7.1 몬테카를로 방법과 동적 계획법 7.1.1 결과 평가의 가치 추정 7.1.2 마르코프 결정 과정의 모델링 7.1.3 몬테카를로 방법을 이용한 학습 7.1.4 동적 계획법과 벨만 방정식 7.2 On-policy 학습과 Off-policy 학습 7.2.1 시간차 학습 7.2.2 Sarsa 학습 7.2.3 Q 학습 7.3 심층강화학습 7.3.1 강화 학습과 신경망의 결합 7.3.2 새롭게 등장할 심층 강화 학습 이론 연습 문제 ⑫ 연습 문제 해답 |
먼저, 책프협 골라 받는 서평 이벤트를 통해 받은 도서의 서평임을 밝힙니다.
[본문]
주관적인 의견으로,
수포자(?)에 가까운 상태에서 이 책을 봤을 때, 한 번에 쭈~욱 읽히는 책이 아니었습니다.
읽다가 막혔다가, 검색해보고, 어떤 부분에서는 술술 읽히기도 하는 책이었습니다.
달리기로 비유하자면,
달리기하다가, 멈칫하면서 옆길을 찾아서 둘러갔다가, 걷기도 하는 것과 같은 느낌이었습니다.
아무래도 모르는 부분이 많기 때문이겠지요.
이 책은 수학 개념들과 파이썬 코드를 이어주는 책입니다.
어떤 책은 번역 때문에 읽던 책을 내려놓게 되는 경우도 있지만, 반대로 이 책은 역자분이 고민한 흔적이 느껴지는 책입니다.
Chapter 1. 딥러닝을 배우기 전 알아 둬야 할 머신러닝과 신경망 이야기
기온에 따라 에어컨을 켠 날과 끈 날을 바탕으로 언제 에어컨으로 켜면 좋을지에 대한 이야기로 시작합니다.
여기에서 지도 학습, 비지도 학습, 강화 학습 이야기와 신경망 이야기가 나옵니다.
62페이지에 소수에 대한 주석(30)이 누락되어 있습니다.
책의 제목처럼, 파이썬이 나오기는 하지만, 깊이 있게 다뤄지지 않습니다.
Chapter 2. 수열, 통계, 확률 근거에 따라 결정하는 방법
학교에서 배운 수열, 집합, 평균과 분산 등이 나옵니다.
그리고 짤막한 파이썬의 코드들과 좀 더 간단한 넘파이 소스도 나옵니다.
큰 데이터의 모집단에서 데이터 일부를 표본으로 선별해서, 모집단을 추측한다는 이야기도 있습니다.
이 챕터에서 간혹, "~는 식 n-00로 계산할 수 있습니다."라고 나온 다음에 추가적인 설명이 없어서 당황스러운 적도 있었습니다.
Chapter 3. 벡터와 행렬 - 다양한 입출력을 한꺼번에 처리
신경망에서 사용되는 벡터와 행렬에 관한 내용이 나옵니다.
이 챕터에서는 수학 시간에서 봤었던 다양한 그래프와 설명이 있습니다.
137페이지 하단에 "a1b2 + a2b2" -숫자는 아래 첨자-가 나오는데, "a1b1 + a2b2" -숫자는 아래 첨자-처럼 하는 것이 맞지 않는가? 하는 생각이 들었습니다.
이는 뒤 페이지에서 사용되는 공식이라서, 137페이지에 나오는 공식의 오타는 아쉽게 다가왔습니다.
개인적으로 챕터 3은 나름 재밌게 보면서 낙서(?)를 많이 했네요~^^ 가볍게 읽히는 챕터였습니다.
Chapter 4. 함수와 미분 - 최적값에 수렴하는 방법
여기에서도 평면 그래프와 수식을 만날 수 있습니다.
접선의 기울기도 나옵니다.
Chapter 5. 예측과 최적화 - 학습으로 결과 도출
오차와 예측이 나오고, 로지스틱 회귀에서는 챕터1의 온도에 따라 에어컨을 켜거나 끌지 예상하는 것으로 시작합니다.
여기에서 조금 난해한 수식들도 나옵니다.
역전파의 개념을 댐에 비유한 그림으로 쉽게 와 닿도록 설명이 되어 있습니다. 이를 신경망에 대입해서 설명되어 있습니다.
학습 데이터와 테스트 데이터의 정확도에 관한 이야기도 나옵니다.
Chapter 6. 신경망과 딥러닝 - 정확도 향상과 이미지 인식 등의 응용
이 챕터는 과거 신경망의 문제점과 오토 인코더(입력값과 출력값이 같도록 파라미터를 조정한 신경망) 이야기로 시작합니다.
이미지 처리에 관련된 이야기와 대푯값과 관련된 풀링이 나옵니다.
그리고 간단하게 설명된 개념들도 나옵니다.
Chapter 7. 강화 학습 - 스스로 학습하는 인공지능 구축
강화 학습과 심층 강화 학습에 관한 내용이 나옵니다.
개인적으로 이 챕터를 보면서 아직 배워야 할 것이 많다는 생각이 들었습니다.
[마치면서]
책에서는 나름 쉽게 설명하고자 하는 흔적들이 보이지만, 수학 개념을 다시 찾아보거나, 처음 보는 용어를 찾아보는 경우도 생겼습니다.
제게는 수학의 전체 범위 중에서 딥러닝에서 사용되는 수학의 범위를 알려준 책이었습니다.
여담으로 각각의 챕터에서 파이썬 소스가 나올 때마다,
개인적으로 '소스를 읽어보고, output을 보고 내 생각이 맞았구나...'라고 판단했는데,
일반 개발 책처럼, '다른 분들을 위해 소스에 대한 설명이 있으면 어떨까?' 하는 생각이 들었습니다.
이상, 저의 긴 서평을 읽어주신 분들께 감사드리며,
서평 기회를 주신 분들께도 감사드립니다.
3년 전 이세돌과 알파고의 바둑 대결이 있었다.
바둑 대결을 지켜 본 전세계 사람들은
알파고의 뛰어난 능력을 보면서
인공지능 기술이 이렇게까지 발전했나하고 놀라워했었다.
그리고 각종 언론을 통해 AI의 발전 상황과
AI가 바꿀 미래에 대한 전망,
AI가 앞으로 산업에 어떤 영향을 끼치게 될 것인지에 등
AI 관련 기사들이 끊임없이 나왔고,
학계에서는 AI연구가 활발히 이루어졌다.
기업들은 AI를 이용한 여러 제품과 서비스 출시하였다.
'이토록 쉬운 딥러닝을 위한 기초수학 with 파이썬' 은
수학의 기초와 파이썬을 통해
머신러닝과 딥러닝을 설명 하는 책이다.
Chapter 1과 2에서는 머신러닝과 신경망이
무엇인지에 대한 기본적인 개념과
파이썬에 대한 기초적인 내용과 프로그래밍,
통계적 머신러닝이라고 불릴만큼 통계에 기반을 두고 있는
머신러닝이기 때문에 기본적인 통계의 개념과
수열, 집합, 확률이 무엇인지, 대량의 데이터에서
표본을 추정하는 방법을 배울 수 있었고,
Chapter 3과 4에서는
신경망에서 사용하는 백터와 행렬에 대한 개념을 통해
다양한 입출력을 한꺼번에 처리 할 수 있고,
데이터를 효율적으로 취급하는 구조가
어떻게 이루어져 있는지 알 수 있었고,
머신러닝의 학습 데이터로 모델을 만들 때는
더 좋은 결과를 얻을 수 있도록 데이터를 조정해야 하는데
최적값에 접근하기 위한 함수와 미분이 복잡하고 어렵게 느껴졌다.
Chapter 5와 6에서는 수학과 데이터를 활용하여
정답을 예측하는 방법과 신경망의 손실함수를 최적화하기 위한
역전파와 학습 모델을 평가하는 방법,
딥러닝의 학습 정확도를 어떻게 향상 시킬 것인지,
이미지 데이터의 특징과 다양한 표현 방식에 대해,
Chapter 7에서는 강화학습이 무엇인지,
몬테카를로 방법을 이용한 학습, On-policy 학습과 Off-line 학습,
시간차 학습, Sarsa학습, Q학습 등
다양한 강화 학습 방법과 강화 학습과
신경망을 결합한 심층 강화 학습에 대해 알 수 있었다.
'이토록 쉬운 딥러닝을 위한 기초수학 with 파이썬' 은
수학 개념이 처음부터 끝까지 채워져 있기 때문에
책 제목과는 다르게 각 개념을 이해하기가 어렵게 느껴졌다.
시간이 걸리더라도 기초부터 차근차근
꼼꼼하게 반복 해 가면서 배워야 할 것 같다.