이 책은 이미지 인식 모델을 만드는 과정을 다루면서 딥러닝 요소를 학습합니다. 머신러닝 기본부터 파이썬 기초와 함수 사용법을 배우고, 팬더스로 행렬 계산에 특화된 넘파이와 데이터를 반복적으로 다뤄보며 파이썬 사용법을 철저히 익힙니다. 후반부에서는 이미지 인식 처리에 필요한 딥러닝 요소를 예제로 실습하면서 학습합니다. 풍부한 그림과 구체적인 예로 딥러닝 지식과 파이썬 활용법을 기초부터 제대로 배울 수 있습니다. 개념 설명 후 등장하는 문제를 제시해 직접 프로그램에 구현하도록 유도합니다. 이 책으로 머신러닝과 딥러닝을 한 번에 배울 수 있습니다.
주요 내용
머신러닝/딥러닝 개요
파이썬 기본 문법/함수
성능평가지표와 PR 곡선
NumPy, Pandas 기초/응용
matplotlib을 활용한 데이터 시각화
DataFrame을 이용한 데이터 클렌징
OpenCV 이용 및 이미지 데이터 전처리
하이퍼파라미터와 튜닝
CNN을 이용한 이미지 인식 기초/응용
저자소개
저자
이시카와 아키히코
주식회사 Aidemy 대표이사. 도쿄대학 공학부를 졸업하고 데이터 분석 관련 연구와 실무 경험을 살려 2017년 인공지능 엔지니어를 위한 온라인 교육 서비스 Aidemy를 시작했습니다. Aidemy는 인공지능을 다루는 데 필요한 기술을 알려주는 서비스로, 2만 명 넘는 회원이 100만 회 넘게 학습했습니다. 지금은 와세다대학 선진이공학 박사과정에서 AI 프로그래밍 실습 과정을 지도하고 있습니다.
역자
박광수(아크몬드)
박광수라는 이름보다 ‘아크몬드’라는 필명으로 알려진 블로거입니다. 2004년부터 지금까지 최신 Windows 정보를 꾸준히 나누고 있습니다. 지금까지 7회 Microsoft MVP(Windows 부문)를 수상했으며, Microsoft 365, Azure 등 Microsoft의 최신 기술에 열광합니다.심리학에 관심이 많으며 현재 일본에서 개발자로 일하면서 딥러닝에 많은 관심을 두고 있습니다.
지은 책으로는 『진짜 쓰는 윈도우 11』(제이펍, 2023), 『윈도우 10 마스터북』(한빛미디어, 2016), 옮긴 책으로는 『스테이블 디퓨전으로 만드는 게임 그래픽』(한빛미디어, 2023), 『처음 배우는 딥러닝 수학』(한빛미디어, 2018), 『파이썬으로 배우는 머신러닝의 교과서』(한빛미디어, 2018) 등이 있습니다.
목차
CHAPTER 0 개발 환경 준비
0.1 아나콘다 설치
0.2 가상 환경 만들기
0.3 라이브러리 설치
0.4 주피터 노트북 실행 및 조작
CHAPTER 1 머신러닝 개요
1.1 머신러닝 기초
1.2 머신러닝 학습 방식
연습 문제
CHAPTER 2 머신러닝의 흐름과 과적합
2.1 머신러닝의 흐름
2.2 학습 데이터 사용법
2.3 과적합
2.4 앙상블 학습
연습 문제
CHAPTER 3 성능평가지표와 PR 곡선
3.1 성능평가지표
3.2 PR 곡선
연습 문제
종합 문제
CHAPTER 4 파이썬 기초, 변수와 자료형
4.1 파이썬 기초
4.2 변수
4.3 자료형
4.4 if 문
연습 문제
CHAPTER 5 파이썬 기본 문법
5.1 리스트
5.2 딕셔너리
5.3 while 문
5.4 for 문
5.5 추가 설명
연습 문제
CHAPTER 6 함수 기초
6.1 내장 함수와 메서드
6.2 함수
6.3 클래스
6.4 문자열 포맷 지정
연습 문제
종합 문제
CHAPTER 7 NumPy
7.1 NumPy 개요
7.2 NumPy 1차원 배열
7.3 NumPy 2차원 배열
연습 문제
종합 문제
CHAPTER 8 Pandas 기초
8.1 Pandas 개요
8.2 Series
8.3 DataFrame
연습 문제
CHAPTER 9 Pandas 응용
9.1 DataFrame 연결과 결합의 개요
9.2 DataFrame 연결
9.3 DataFrame 결합
9.4 DataFrame을 이용한 데이터 분석
연습 문제
종합 문제
CHAPTER 10 데이터 시각화
10.1 다양한 그래프
10.2 난수 생성
10.3 시간 데이터
10.4 데이터 조작
연습 문제
CHAPTER 11 matplotlib 사용하기
11.1 한 종류의 데이터 시각화하기
11.2 여러 데이터 시각화하기(1)
11.3 여러 데이터 시각화하기(2)
연습 문제
CHAPTER 12 다양한 그래프 그리기
12.1 선 그래프
12.2 막대그래프
12.3 히스토그램
12.4 산포도
12.5 원그래프
12.6 3D 그래프
연습 문제
종합 문제
CHAPTER 13 람다와 맵: 편리한 파이썬 기법
13.1 람다식의 기초
13.2 편리한 표기법
13.3 리스트 내포
13.4 딕셔너리 객체
연습 문제
CHAPTER 14 DataFrame을 이용한 데이터 클렌징
14.1 CSV
14.2 DataFrame 복습
14.3 결측치
14.4 데이터 요약
연습 문제
CHAPTER 15 OpenCV 이용 및 이미지 데이터 전처리
15.1 이미지 데이터 기초
15.2 OpenCV 기초
15.3 OpenCV 이용
연습 문제
종합 문제
CHAPTER 16 지도학습(분류) 기초
16.1 지도학습(분류) 알아보기
16.2 주요 기법 소개
연습 문제
CHAPTER 17 하이퍼파라미터와 튜닝(1)
17.1 하이퍼파라미터와 튜닝
17.2 로지스틱 회귀의 하이퍼파라미터
17.3 선형 SVM의 하이퍼파라미터
17.4 비선형 SVM의 하이퍼파라미터
연습 문제
CHAPTER 18 하이퍼파라미터와 튜닝(2)
18.1 결정 트리의 하이퍼파라미터
18.2 랜덤 포레스트의 하이퍼파라미터
18.3 k-NN의 하이퍼파라미터
18.4 튜닝 자동화
연습 문제
종합 문제
CHAPTER 19 딥러닝 구현
19.1 딥러닝 개요
19.2 필기체 숫자의 분류
연습 문제
CHAPTER 20 딥러닝 튜닝
20.1 하이퍼파라미터
20.2 네트워크 구조
20.3 드롭아웃
20.4 활성화 함수
20.5 손실 함수
20.6 최적화 함수
20.7 학습률
20.8 미니배치 학습
20.9 반복 학습
연습 문제
CHAPTER 21 CNN을 이용한 이미지 인식 기초
21.1 딥러닝 이미지 인식
21.2 CNN
21.3 하이퍼파라미터
연습 문제
CHAPTER 22 CNN을 이용한 이미지 인식 응용
22.1 데이터 부풀리기
22.2 정규화
22.3 전이학습
연습 문제
종합 문제
맺음말
출판사리뷰
인공지능 시대 딥러닝은 지속적인 발전이 기대되는 분야이자 4차산업 시대를 이끌 기술입니다. 이러한 딥러닝을 배우려면 강력한 라이브러리를 제공하는 파이썬을 알아야 합니다. 이 책은 파이썬과 딥러닝을 풍부한 그림과 구체적인 예로 기초부터 활용까지 제대로 알려줍니다.
1 파이썬부터 배웁니다.
초반 간략히 딥러닝을 소개한 뒤 바로 파이썬을 학습합니다. 딥러닝 기초와 함수 사용법을 배우고 행렬 계산에 특화된 NumPy와 빅데이터를 다루는 Pandas를 반복적으로 다루면서 파이썬 사용법을 철저히 익힙니다.
2 이미지 인식으로 딥러닝을 학습합니다.
이미지를 감지하고 시각화하는 언뜻 어려워 보이는 주제를 영상 이미지를 활용하여 쉽고 재미있게 다가갈 수 있습니다. 어떤 근거로 구현할 것인지 수치와 예제로 알려주므로 자신감을 갖고 공부할 수 있습니다.
3 문제로 복습하고 다음 단계로 넘어갑니다.
개념 설명 후에는 문제를 풀면서 그동안 배운 지식을 바로 활용할 수 있도록 구성됐습니다. ‘손을 움직여’ 딥러닝을 배울 수 있습니다.
딥러닝 교과서라기보다는, 머신러닝 교과서에 가까운 책. 파이썬, 수학, 데이터 분석 등을 하나도 몰라도 머신러닝/딥러닝을 진행할 수 있도록 1부터 10까지 모든 주제를 다룬다.
Python 기초부터 시작해서 NumPy, Pandas, Sckit-learn, matplotlib 등 데이터분석에 필요한 필수적인 분석 라이브러리는 가볍게나마 모두 배울 수 있으니 보편적인 입문서로 적절하다.
[대상 독자]
코딩 경험이 어느 정도 있으면서 머신러닝과 파이썬 기초가 없는 사람이 보면 좋을 것 같다. 다른 언어로 프로그래밍을 할 줄 알지만, 인공지능과 머신러닝/딥러닝이 무슨 내용인지 배워보기 위한 사람이라면 딱 알맞을 것이다.
[내용]
저자는 학술적으로 길게 풀어쓰는 타입이 아니다. "교과서" 답게 최소한도로 필요한 내용만 빠르게 설명한다. 짧고 간결한 설명이 끝나면 바로 문제가 이어진다. 수식과 이론을 줄이고, 배운 내용을 코딩에 바로 적용하기 위한 체험형 문제를 많이 넣었다. 제목이 "교과서"인 책 답게 문제 양도 상당하다. 이론을 배웠으면 이론 문제가 바로 하나씩 이어서 나오고, 코딩을 배웠으면 바로 빈칸에 코드를 넣는 문제가 나온다.
책 앞부분을 다 안다고 생각하고 가볍게 훑어보면서 넘어가는 도중에, 문제에서 막혀서 뒤로 다시 돌아가서 읽은 경험이 은근히 많다. 이런 [내용-문제] 편집은 IT도서에서는 흔히 보기 힘든 구성인데, 나같은 게으름뱅이 독자의 졸음 방지에 탁월했다. 이 "~교과서" 책들이 시리즈인 것으로 알고 있는데, 같은 출판사의 [통계학 교과서] 등의 다른 도서도 구입해서 읽어볼 생각이다.
[번역]
번역은 깔끔하다. 한글 문장은 부드럽고 내용을 이해하기 쉽다. 내용도 눈에 잘 들어오게 깔끔하게 편집되었고 오역도 많지 않은 것으로 보인다. 다만, 틀린 숫자 등의 사소한 오타가 은근히 눈에 띄는 점은 아쉽다.
[결론]
초보자인 독자가 6개월 동안 공부하기 위한 교재라고 저자가 서문에서 언급했는데, 딱 그런 느낌이다. 파이썬/데이터분석/수학 기초가 없다면 1회독에 적어도 3개월은 필요할 것으로 보인다. 이후 2회독, 3회독으로 복습을 해가면서 시간이 매번 절반으로 단축된다고 생각하면 내용을 마스터하는데는 딱 6개월 정도가 소요될 것 같다.
이 책은 700페이지 중에 400페이지 이상이 머신러닝을 시작하기 위한 준비과정에 할애한다. 그만큼 다양한 내용이 체계적으로 서술되어있다. 이 책을 교과서로 삼아 각 장의 주제와 순서대로 쭉 따라간다면 데이터 과학에 충분히 안정적으로 입문할 수 있을 것이다.
물론 제대로 이해하자면 한 챕터 당 한 권 이상의 책이 필요할만큼 데이터 과학의 세계는 방대하기 때문에, 스택오버플로우라던가, 구글이든가 하는 다른 참고서의 도움도 상당히 필요하긴 하겠지만 말이다.
인공지능 모델의 구조를 연구해서 논문을 작성할 사람이 아니라면, 이 내용만으로 충분히 머신러닝/딥러닝 입문과 기초 활용이 가능하다. 내용과 코드의 밸런스가 좋아서 독자 입장에서는 곁가지가 없고 간결해서 저자의 의도를 이해하기가 쉬운 책이다. 추천한다.
교과용도서에 관현 규정 제 2조를 보면 교과서는 ‘학교에서 교육을 위해 사용하는 학생용의 주된 교재’라고 정의하고 있다. 교과서는 학습내용을 제시하고 이를 학생이 탐구해 나가도록 하며, 학생의학습동기를 유발시키는 기능이 있다. 또한 학생에게 학습내용을 구조화시키기도 하며 학습과제를 제시하는역할도 한다. … (이후 생략)
이시카와 아키히코 저/박광수 역의 ‘파이썬으로배우는 딥러닝 교과서’는 책의 제목 그대로 파이썬을 이용하여 딥러닝을 공부하는 이들에게 교과서로 쓰일만한 책이다. 요즘 딥러닝과 함께 가장 많이 회자되고 사용되는 프로그래밍 언어는 다름아닌 파이썬이다. 파이썬은 배우기 쉬울 뿐 만 아니라 손쉽게 이용가능한 방대한 라이브러리를 갖추고 있다.
이 책은 크게 세 부분으로 구성되는 데, 책의 초반은 머신러닝에 대한개괄적인 설명을 담고 있다. 머신 러닝이 무엇인지, 왜 최근들어 이렇게 주목받고 있는지, 머신 러닝의 학습방법에는 어떠한 것들이 있는지 등을 통해 머신 러닝의개요를 다룬다. 이어 지도학습이 어떻게 이루어지는지, 학습데이터를 훈련 데이터와 테스트 데이터로 어떻게 나눌지, 과적합과 앙상블 학습이 무엇인지에 대해 간략히설명하며, 성능 평가 지표와 PR 곡선을 통해 어떻게 모델을평가할 수 있는지에 대해 소개한다. 이 책의 중반부는 딥러닝을 위해 알아야 할 파이썬에 대해 중점적으로다루고 있다. 파이썬을 처음 접하는 초보자라도 충분히 따라 올 수 있도록 기본 문법 등의 기초 내용에서부터 NumPy, Pandas, Matplotlib, OpenCV 등 머신 러닝에서 필수적인 라이브러리에 대한 고급기법을 넘나드며 딥러닝의 실전을 위한 다양한 파이썬 활용법을 기술하고 있다.책의 후반부는 그동안의 학습을 바탕으로 본격적으로 딥러닝을 다루는 데, 하이퍼파라미터가 무엇인지, 모델별로 어떤 하이퍼파라미터를 다루어야하는지 설명한다. 이후 딥러닝을 구현 및 튜닝, CNN을이용한 이미지 인식과 그 응용 방법으로 책을 마무리하고 있다.
무엇보다이 책의 백미는 21장의 CNN을 이용한 이미지 인식 기초이다. 21장의 내용은 딥러닝이 이미지를 인식하는 방법에 대해 다루며, 이를간단한 프로그래밍을 통해 차근 차근 풀어감으로써 CNN을 이루는 합성곱층 및 풀링층에 대해 보다 더확고한 개념을 확립할 수 있도록 하고 있다. 이후 Keras 및Tensorflow를 이용하여 실제 응용가능한 모델을 만드는 방법 및 하이퍼파라미터의 튜닝을 다루고있는 데, 다른 책이나 강의에 비해 훨씬 더 직관적으로 CNN을이해할 수 있도록 해준다.
이책은 교수/학습을 위한 ‘교과서’처럼 중간 중간 문제를 내고, 학습자가 생각할 시간을 주고 있다. 다른 책들과 다른 구성에 처음에는 조금 어색하기도 했지만, 책의내용을 따라가면 그리 어렵지 않게 해결할 수 있고, 또한 핵심적인 부분을 강조하는 문제이기에 학습의포인트를 잡는 데도 도움이 될 것이다. 전체 700 페이지가넘는 분량으로 학습량이 적지 않은 편이나, 짜임새 있는 구성으로 책과 함께 하는 여정이 그리 고되고나 지루하지만은 않을 것이다.
오늘 살펴볼 도서는 한빛미디어의 '파이썬으로 배우는 딥러닝 교과서'입니다. 부제로 '이미지 인식 모델을 만들면서 익히는 딥러닝'을 사용하고 있는데, 파이썬 기초부터 시작해 이미지 인식을 다루는 딥러닝 예제를 살펴보는 번역서입니다. 딥러닝 초심자부터 중급자까지 다루는 도서인만큼 프로그래밍 경험이 다소 있지만 파이썬에 익숙치 않고 딥러닝이 처음인 독자를 위한 도서입니다. 기본적인 컴퓨터 지식과 기초적인 프로그래밍 경험, 함수 및 미분, 벡터, 행렬 등의 기초가 있으면 좋지만 이 책의 앞부분에서 꽤 다루고 있기때문에 기억이 가물가물하더라도 괜찮습니다. 초심자부터 시작하는 도서인만큼 처음부터 개발 환경을 준비하고, 머신러닝이 무엇인지 등 이론적인 내용부터 시작해, 파이썬을 활용한 딥러닝에 필수적인 사항인 변수 및 자료형, 문법, Numpy, Pandas 패키지 등을 다루고 있습니다.
10장부터는 본격적인 데이터 시각화에 대해 다루고 있는데, 딥러닝의 결과를 시각적으로 나타내고 성능 또한 그래프로 나타내는 것이 중요합니다. 실제 딥러닝은 수많은 수치 연산으로 이뤄지기 때문에 성능 평가와 그 결과를 시각화해 이해하고 객관적인 지표로 사용하는 것이 중요합니다. 따라서 한 번 익혀놓으면 어떻게 활용해야 될지 감이 잡히고 시간이 흐른 후 여러분만의 딥러닝 모델을 만들때 또는 다른 사람의 모델을 볼 때 많은 도움이 될 것입니다. 기본적인 패키지는 matplotlib를 사용하지만 최근에는 반응형, 웹형 패키지도 이용하고 있습니다. 더군다나 tensorboard와 같은 추상화과 잘된 패키지를 이용할 경우 전문가들처럼 다양한 수치 및 시각적인 자료를 코드 한 줄로 해결할 수 있습니다. 패키지를 워낙에 많이 존재하니 본인한테 익숙하거나 많은 사람들이 사용하는 패키지를 사용하는 것이 좋을 듯 합니다.
이미지 데이터의 경우 15장부터 OpenCV를 활용해 처리합니다. 이미지 데이터는 행렬과 유사하므로 또다른 접근법이 필요합니다. 많이 사용되는 프레임워크는 OpenCV로 컴퓨터 비전분야에서 많이 사용됩니다. 16장은 지도학습 중 분류문제에 대한 기초를 다루고 있습니다. 대표적인 통계적 기법인 회귀, 서포트 벡터 머신, 랜덤 포레스트 등을 다루고 있는데 데이터의 종류, 형태, 구성에 따라 이러한 기법을 자유자재로 다뤄야 되는데 이 때 하이퍼파라미터와 같이 기법의 수치적인 사항을 조절해 알맞게 적용해야 합니다. 머신러닝과 다르게 딥러닝은 신경망을 이용해 손실 함수를 정의하고 이 손실함수가 최소화가 되도록 반복적으로 학습합니다. 신경망 중 가장 널리 사용되는 것이 합성곱 신경망인 CNN으로 21장부터 이미지 인식에 필요한 CNN을 다루고 있습니다. 분류 문제를 다루고 있으며, 해당 이미지가 dog 이미지인지, cat 이미지인지 등 해당 이미지의 클래스를 구별합니다. 이미지 인식률을 높이기 위해서 다양한 데이터 기법들이 사용되는데, 여기서는 22장에서 데이터 부풀리기, 정규화, 전이 학습 등 비교적 간단하게 설명하고 있으니 좀 더 깊게 알고 싶으면 개인적인 공부가 더 필요할 듯 합니다.
이 책은 전체적으로 파이썬을 활용한 딥러닝의 기초를 위한 도서입니다. 초심자에게 파이썬 기초부터 딥러닝이 어떻게 구성되고 실제 구현이 어떻게 이뤄지는 지 궁금한 독자분들이 많은 것입니다. 특히 비전공자일수록 그럴 수 있는데, 초급부터 중급 독자를 위한 도서인 만큼 넓은 계층에서 지금은 널리 사용되는 딥러닝의 기초를 익혀 많은 도움이 되길 바랍니다.
- 파이썬으로 딥러닝/머신러닝을 배우기 전에 기초부터 학습할 수 있다는 점이 마음에 든다.
챕터0은 개발환경에 대한 세팅부터 시작한다. 준비물은 물론 파이썬이며, 각종 패키지 사용을 위해 아나콘다가 필요하다.
시작하기 전에 란 페이지를 통해 개발환경에 관한 정보를 얻을 수 있다.
챕터 1-3까지는 머신러닝에 관한 설명이다. 왜 지금 머신 러닝이 주목 받는가에 관한 짧은 설명과 머신러닝의 학습법 등을 설명하고 있는데, 단순한 설명만이 아닌 문제와 해답으로 풀어나가는 방식이 흥미롭다. 머신러닝은 '데이터를 반복적으로 학습하여 데이터에 숨어있는 패턴을 찾아내는것'이라고 하는데, 문제-힌트-해답 형식으로 계속 진행되는 형식으로 책의 내용이 서술되어있다보니 반복적 학습을 하는 머신러닝을 간접 체험하는 느낌이다.
챕터4-6은 파이썬 기초이다.
이 책이 왜 교과서인지 알 수 있는 부분이라고 개인적으로 생각한다. 자료형같은 기초부터 함수까지 학습할 수 있다. 나는 혼자 공부하는 파이썬 에서 많은 도움을 받고 공부했지만, 4-6챕터를 다시 복습하듯이 읽고 학습할 수 있어서 좋았다. 기초 지식이 부족한 입문자의 경우 도움을 많이 받을 수 있는 챕터이다.
챕터 7-9는 파이썬의 라이브러리인 NumPy와 Pandas를 학습할 수 있다. 응용편인 9챕터에서 데이터에 관한 연습문제들이 해답과 함께 제공 된다는 점이 매우 안심이 된다(?).
챕터 10 부터는 데이터의 시각화 방법과 함께 csv에 관한 설명도 해주기 때문에 데이터를 본격적으로 다루는 방법에 대해 서술하고있다.
이후에는 이미지 인식 기술에 관한 내용을 주로 다루고 있는데, 방대한 책 두께와 자료에 따라 정말로 훑어보기만했지만, 앞의 내용에 따라 후 챕터에 관한 내용도 충분히 기대가 된다.
- 차근차근 기초부터 딥러닝에 관한 내용을 배울 수 있을 것 같아 추천하는 책. 다만 딥러닝만! 배우려는 사람이 읽기에는 중간에 파이썬 기초 내용이 거슬릴 수도 있겠다 생각합니다. 하지만 교과서는 기초부터 심화학습까지 같이 담겨있는 책이므로...초급자에겐 추천!
파이썬으로 배우는 딥러닝 교과서라길래 딥러닝에 대한 내용만 있을줄 알았더니 머신러닝에 대한 기초와 파이썬을 아예 모르는 사람도 할 수 있도록, 챕터4부터 파이썬의 기초문법이 나온다. 책에는 다양한 예시들과 결과값이 나와있기 때문에 내가 테스트한거랑 어떻게 다른지 확인할 수 있고, 기본적으로 설명이 상세하게 나와있다. 그리고 중간중간 문제가 있어 내가 제대로 이해했는지를 확인할 수 있고, 문제에는 힌트도 있기 때문에 힌트를 보고도 풀 수 있다. 이 책을 딥러닝에 입문할 사람들에게 추천하고 싶다.
보통 파이썬을 학생들에게 강의하면 그 다음 과정에 대해 묻는 학생들이 꼭 있다. 일단 파이썬이라는 언어를 배웠으니까 그 다음에는 무엇을 배울 것인가를 고민하는 것이다. 나는 파이썬을 배운 학생들에게 개발자(웹 개발자, 장고, 플라스크)로 혹은 데이터분석가, 그리고 데이터과학자에 대해 안내하곤 한다. 데이터과학자(데이터사이언티스트)가 되기 위해 밟아야 할 과정은 일반적으로 Pandas, Numpy, Matplotlib를 익혀서 데이터를 정제하고 가공하며 시각화하는 것이다. 그리고 나면 AI쪽으로 더욱 공부할 것인가 아니면 데이터분석가쪽으로 목표를 세울 것인가로 결정된다고 알려준다.
이 책은 처음 파이썬이라는 언어의 문법 습득부터 데이터과학자가 반드시 익혀야 할 다양한 라이브러리를 학습한 후, 최종적으로 딥러닝으로 안내하는 가이드이다. 하지만, 다른 입문서들과 다르게 먼저 목표를 제시한다. 그리고 가장 기본이라할 파이썬 문법으로 안내한다. 즉, 이런 결과물을 만들어 내려면 기초부터 차근차근 밟아 가야 한다고 차분히 옆에서 설명해 주는 가정교사같은 책이다. 이 책에서 제시하는 방향대로 학습하고 익히다 보면 어느 새 내 자신이 딥러닝의 문을 이미 지나고 있는 것을 알게 된다.
빅데이터와 인공지능(AI)이 각광을 받으면서 급부상한 언어가 파이썬이다. 이 책은 인공지능(AI)을 학습하고자 하는 개발자들에게 머신러닝의 기초 개념과 파이썬 기초문법을 배울 수 있는 책이다. 또한 NumPy, Pandas, OpenCV 등을 이용하여 딥러닝을 구현하는 과정을 핵심설명과 다양한 예제를 통하여 한걸음 한걸음 따라하기에 적당한 책이라고 생각된다.
예제파일 또한 한빛미디어 홈페이지에서 다운 받아 볼 수 있어 일일이 코딩하지 않아도 손쉽게 진도를 따라갈 수 있다. 하지만 개인적으로는 일일이 따라 코딩해 보는것을 적극 추천한다. 그래야 내가 원하는 지식을 습득하고 궁금한 부분을 직접 수정해 가면서 오류도 내보고 원인도 파악해 가는 과정에서 통찰을 얻을수 있기 때문이다. 각 단원 말미에 있는 연습문제를 통하여 그동안 배웠던 부분을 정리할 수 있도록 구성되어 핵심을 다시한번 되짚어 볼수 있다.
이미지 인식모델을 파이썬으로 구성해 보면서 익히는 딥러닝을 표방한 이 번 책은 핵심만 쉽게 설명되어 있고 다양한 예제가 배우고자하는 개발자들에게 큰 부담없이 접근 할 수 있는 꽤 괜찮은 책이라고 생각된다. 이것저것 어려운 길을 돌아가기 보다는 이 한권을 통하여 나만의 내공을 쌓는 좋은 계기가 되었으면 좋을 듯하다. 파이썬을 공부하고자 하는 많은 개발자들에게 꼭 일독해 보기를 추천한다. 또한 좋은 책을 출판해준 한빛미디어와 역자에게도 심심한 사의를 표하는 바이다.
한빛미디어에서 나온 교과서 시리즈는 대부분 챙겨서 보는 편인데 이 책도 "교과서"시리즈 중의 하나로 나왔다. "교과서" 시리즈 중에는 "파이썬으로 배우는 통계학 교과서"가 특히나 도움이 많이 되어 이 책도 기대하고 보게 된 책이다.
목차를 보게 되면 "교과서"답게 파이썬이 처음인 사람들을 위해 파이썬 기초부터 다루고 있다. 파이썬이 처음이든 프로그래밍이 처음이든 이 책을 읽고 시작할 수 있도록 아나콘다 기초부터 머신러닝과 딥러닝에 필요한 파이썬 기초지식을 익힐 수 있도록 구성되어 있다. 그래서 초반에는 난이도가 쉬울 수 있지만 뒤로 갈수록 난이도가 점점 어려워진다.
이 책은 딥러닝 책이지만 딥러닝의 학습과 예측 프로세스를 익히려면 머신러닝의 기본적인 흐름을 이해할 수 있어야 하기 때문에 데이터분석, 시각화, 머신러닝의 기본적인 내용에 대해서도 다루고 있다.
그래서 딥러닝과 관련된 내용을 보려면 챕터15쯤 가야지 본격적인 딥러닝을 다뤄볼 수 있다.
aixs는 데이터분석, 시각화, 전처리 등에 꼭 필요한 내용인데 의외로 이 부분을 어려워 하는 분들을 많이 봐왔는데 이해하기 쉽게 잘 설명이 되었다고 느꼈다.
그리고 이 책의 장점 중 하나는 바로 코드를 보여주지 않고 중간에 비어있는 부분에 어떤 코드가 들어갈지 문제를 주고 고민을 하게 한다는 점이다. 문제와 정답이 따로 있어서 복습 하기 좋게 구성된 점도 좋다.
사실 딥러닝에 관련된 내용은 뒷부분에 1/3 정도로 구성이 되어 있는데 파이썬이나 머신러닝에 익숙한 사람들이 보면 딥러닝과 관련된 내용이 부족하게 느껴질 수도 있다. 그리고 이미지 데이터를 위주로 다루고 있기 때문에, 딥러닝으로 정형데이터, 자연어 등을 다루고자 한다면 이 부분을 고려해야 될거 같다.
하지만 머신러닝에 대한 학습과 예측과정, 피처엔지니어링 등의 기본적인 지식이 있어야 딥러닝 과정을 이해하는데 도움이 되기 때문에 머신러닝이 익숙하지 않다면 머신러닝과 딥러닝을 함께 익혀볼 수 있는 책이다.
파이썬 기초문법부터 데이터 전처리, EDA, 머신러닝, 딥러닝까지 전반적인 부분을 많이 학습할 수 있도록 구성된 책이다.
그리고 딥러닝 코드는 Keras로 구성되어 있는데 텐서플로2.0 에서 keras를 사용하고 있기 때문에 대부분의 코드가 텐서플로2.0에서 호환이 된다. 방대한 꼼꼼하게 정리가 되어 있어서 딥러닝에 입문하고자 하는 사람이거나 이미 딥러닝으로 모델을 만들어 봤다 하더라도 문제와 정답 질문이 있기 때문에 알고 있는 내용을 정리하기에 좋은 책인거 같다.
교과서라는 이름이 잘 어울리도록 전체적인 머신러닝/딥러닝의 대한 내용을 모두 다루고 있습니다.
아나콘다의 설치부터 이미지를 다루는 딥러닝 모델까지 배울 수 있습니다.
인공지능이 대세가 되고 여기 저기서 너도 나도 머신러닝 딥러닝을 말합니다. 이제 막 처음 시작하는 분들에게 적합한 교과서인것 같습니다. 머신러닝 딥러닝이 무엇인지 전혀 모르는 사람은 개념에 대한 설명을 길게 해봐야 이해하기 힘들다고 생각하는데 이 책에서는 필요한 부분만 정말 간단하게 설명하고 넘어 갑니다. 그리고 바로 코딩을 실습해 볼 수 있도록 구성되어 있습니다. 코딩을 하면서 공부해야 재미도 있으니까요.
개념과 코딩을 함께 공부할 수 있습니다. 다만 깊이 있는 내용을 공부하고 싶으신 분들의 궁금증을 해소해주기에는 어려움이 있습니다.
그래서 경험있는 분들보단 처음하시는 분들이 보면 좋을 것 같습니다. 빠르게 처음부터 전체를 훑고 싶은 분들에게 추천드립니다
한빛미디어에서 "파이썬으로 배우는 딥러닝 교과서, 이미지 인식 모델을 만들면서 익히는 딥러닝" 이라는 책이 2020년 3월에 출간되었다 :) 예전부터 파이썬 언어 기반으로 된 총체적인 딥러닝 개념을 담은 책이 있었으면 좋겠다고 생각했었는데, 한빛 미디어에게 감사를 전한다.
이 책은 지은이인 이시카와 아키히코가 말하고 있듯, 파이썬 라이브러리를 이용하여 머신러닝과 딥러닝을 학습해 볼 수 있는 교과서 같은 책이다. 이 책의 최종적인 목표는 딥러닝 기술인 CNN(Convolutional Neural Network)를 이용하여 이미지 인식 프로젝트 구현까지 코딩하는 것을 목표로 한다. 불과 2~3년 전까지만 해도 CNN을 구현하여 이미지 인식을 한다는 것 자체가 어렵게 다가왔었으나, 딥러닝 기술이 무섭게 발전함에 따라 CNN을 시작으로 여러 성능 좋은 신경망 구조가 나오고 있다. 또한, 거의 모든 산업 영역에 딥러닝이 적용되고 있으며, 이와 관련된 딥러닝 개발자들이 넘치는 세상이 되었다. 그래서 이제는 누구나 프로그래밍을 아는사람이라면 3개월만 학습한다면 간단한 딥러닝 실무는 할 수 있을 것이라고 본다. 그러므로 프로그래밍 경험은 있지만 머신러닝과 파이썬 경험이 거의 없는 독자들을 위한 참고서로 이 책을 추천한다.
책의 시작은 개발환경 설정부터 시작한다. 개인적으로 아나콘다 가상환경 보다는 도커 가상환경을 선호하지만, 초보자에게는 아나콘다 가상환경 + 주피터 노트북을 추천한다. 또한 파이썬을 이용한 딥러닝 실무에서 제일 중요한 것은 Numpy 를 어떻게 잘 다루느냐가 관건이라고 생각한다. 특히나 NumPy는 파이썬으로 벡터나 행렬 계산을 빠르게 하도록 특화된 기본 라이브러리이다. 여기서 라이브러리란 외부에서 읽어들이는 파이썬 코드 묶음이라고 보면 된다. 라이브러리 안에는 여러 모듈이 포함되어있으며 모듈은 많은 함수가 통합되어있다. 딥러닝에서 Feature Map 을 다룰 때, 이미지 데이터 세트를 다룰 때 등등 Numpy 라이브러리는 정말 많이 사용되기 때문에, 그 개념을 확실히 익히고 들어가는게 중요하다. 또한 Numpy 를 잘만 활용한다면 3~4줄이 될 수 있는 코드를 한 줄로 빠르게 구현해낼 수 있다는 매력적인 장점이 있다. 가령 예를 들어 파이썬 리스트로 150 x 150 의 행렬 곱 계산을 하는 경우 3.36 s 가 걸리지만, Numpy 의 dot 함수를 이용하여 행렬 곱 계산을 하는 경우에는 0.04 s 가 걸린다.
이 책을 딥러닝을 처음 배우는 사람들에게 추천하고 싶은 이유는 파이썬 라이브러리 Numpy, Pandas 에 대해서 자세히 설명하고 있으며, 연습 문제를 통해 그 개념을 확실히 익혀낼 수 있다. 또한 이미지 데이터 전처리 하는 방식을 엄청 자세히 설명해두었다. 내가 시중에 본 책들 중에서 가장 자세히 설명하고 있었으며, 실무에서 가장 많이 쓰는 대표적인 이미지 처리 라이브러리인 OpenCV 를 통해 설명을 하고 있어서 도움이 많이 되었다. 그 외에도 파이썬 기초 내용 + 데이터 시각화 + 하이퍼파라미터 튜닝 + CNN에 대한 자세한 설명을 상세히 담고 있어서, 대학교나 스터디에서 교과서로 쓰면 좋을 것 같다. 비로소 이 책을 훑어보고서, 교과서라는 네이밍을 붙인 이유를 알게 되었다.
A.딥러닝 교과서인데 파이썬 기초부터 데이터 분석, 데이터시각과, 딥러닝 까지 포괄적으로 설명
B.딥러닝을 하다 보면 수학적인 부분과 원리에 있어서 막히는 사람들이 많은데 간단하고 이해하기쉽게 설명하며 특히 시각화를 하면서 가르쳐주어 인상깊었음
C.각 코드마다 주석을 달아주어서 이해하는데 어려움이 없음
2.단점
A.포괄적인 설명은 좋으나 책의 이름이 딥러닝 교과서이다 보니 딥러닝이라는 의미가 희소해 지는느낌이고 딥러닝 부분에 있어서 집중적으로 배우고 싶은 사람들 입장에서는 아쉬울 수도 있겠다는 느낌이 들어 처음부터 배울 입문자 입장에서는 굉장히좋은 책임
3.소감
A.처음 책을 접했을 때 놀랐던 점은 저자가 얼마나 심혈을 기울여 썼는지 하나하나 설명을 해주는데간결해서 처음 접하는 입문자 입장에서 고마울 정도이며 파이썬의 포괄적인 부분들을 순서를 다져가며 어렵고 난해한 부분 뿐만 아니라 원리와 기초적인부분까지 섬세하게 다뤄주어 새로운 지식 뿐만 아니라 그동안 잘못 이해하고 있었던 점을 수정 보완을 해줘 처음 파이썬을 배우는 책이 이 책이었다면좋겠다고 느끼는 책입니다.
교과서도 친숙하다는 느낌에서 정답, 풀이 과정도 생략한 불친절한 대학 교과서가 아니라 충분히 이해할 수 있도록 도와주는 중고등 교과서라는 느낌입니다.
2.장점
딥러닝 입문서들이 독자들의 흥미를 확 끌기 위해서 과정에 대한 많은 부분을 생략합니다.
딥러닝 책이기 때문에 Pandas,Numpy 등을 설명하려면 분량이 많이 늘어나고, openCV 내용만으로도 책을 쓸 수 있으니 그럴 수 있다고 생각합니다.
하지만, 실제로 독자 스스로 책에서 다루는 코드 외의 일을 하면 고생이 시작되게 됩니다. 그렇기 때문에 딥러닝 입문서는 그 책을 가지고 무언가를 하기 위해서라기 보다는 한 번 접한다는 느낌이 큽니다.
하지만 딥러닝 교과서는 이 패키지들을 한 챕터 당으로 할애하는 것으로 응용할 정도는 알게 됩니다. 그리고 어떨 때 해당 기능을 사용하는 지 설명이 되어 있어서 도의적으로 함수들을 써놓은 책들과 다르게 독자들이 어디에 이 함수를 쓰면 되겠다는 느낌 덕분에 꾸준히 읽게 되었습니다.
그리고 파이썬을 처음하시는 분들도 따라갈 수 있도록 아예 파이썬을 초반 부분에 연습하는 것으로 배경지식이 없이 이 책 하나만 잘 따라가도 책 전체를 이해할 수 있는 것도 장점입니다.
3.단점
딥러닝을 본격적으로 다루는 것이 총 23챕터 중에서 19챕터 부터로 너무 후반부에 있다는 생각이 듭니다. 딥러닝 입문서로 이 책으로 시작하는 분들은 상당히 지칠겁니다. Pandas,Numpy, 그래프 부분도 필요성에 대해서 쉽게 인지하기 힘들고 중후반부의 머신러닝과 튜닝 부분이 나오면서 지금 딥러닝 교과서를 보는 건지 머신러닝 교과서를 보는 건지 조금 혼동이 오기도 했습니다. 결과적으로 딥러닝을 접하는 사람들은 쉽게 지치는 구성이라고 생각됩니다.
4.추천인
한 번 딥러닝 입문서를 읽고 딥러닝 입문서에서 나온 패키지들을 제대로 알고 사용해보고 싶은 사람.
개별 신경망이 아닌 머신러닝-딥러닝의 전체적인 흐름에 관심을 갖고 각 단계의 의미를 제대로 알고 싶은 사람.
이 책은 AIdemy라는 인공지능을 다루는데 필요한 기술을 가르치는 회사의 창업자 '이시카와 아키히코'가 집필한 책이다. 국내에서도 워낙 뛰어난 분들이 직접 책을 저술해주시고 계시지만 사실 우리나라 AI 수준은 미국, 중국, 일본과 심각할 정도로 낮은 것으로 알고 있다. 그렇다보니 AI 분야 선진국에서 만들어지는 지식들을 학습하고 익히는데에 많은 힘을 쏟아부어 우리의 AI 과학 역량도 높여야 한다는 생각이다. 그래서 이번 딥러닝 책을 읽게 되어 감개무량하였다.
리뷰어의 입장에서 말하면 일단 표지 디자인부터 굉장히 인상적이었다. 초록색과 노란색의 기체가 만나는 색체가 매우 강렬하여 나의 눈길을 끌었다. 동 출판사의 또다른 '~교과서'라는 이름이 붙은 책 이름도 비슷한 느낌으로 자매서라는 느낌이 들기에 충분했다.
그리고 이 책을 한마디로 표현하자면 파이썬으로 딥러닝을 구현하기 위한 교과서라고 말할 수 있겠다. 제목이 교과서인 이유는 파이썬 기초까지 충분히 다루었을뿐 아니라 'pandas', 'numpy' 등 이미 유명한 데이터 분석 관련 라이브러리를 차근차근 배워나가는데 중간중간 문제 풀이라든지 세부적인 설명이 들어간다. 그리고 바로 실전에 들어가는 것이 아니라 단계적으로 기본 -> 실력 수준으로 이어지는 흐름이다. 분량 또한 거의 700페이지가 넘기 때문에 정말 교과서라는 제목에 걸맞게 필요한 내용을 꽉꽉 채워넣은 느낌이다.
연습문제도 챕터마다 등장을 하는데 고등학교 시절 공부하던 수학책 같다. 책을 보다보면 누구나 느끼겠지만 어렵고 복잡한 수식은 거의 등장하지 않는다. 어차피 수식은 라이브러리와 함수로 구현이 되어있어서 굳이 설명이 필요없다고 생각한 것일수도 있다. 그래서 조금이나마 압도적인 페이지에도 불구하고 덜 부담스러운 마음으로 공부할 수 있었다. 물론 그렇다고 수식이 중요하지 않다는것은 아니다. 그것은 따로 배워야 한다는 것이 나의 생각이고 나도 좀 더 깊게 알고자 수학 실력을 업그레이드할 예정이다.
독특했던 것이 챕터 0부터 시작을 하는데 개발 환경 구축에 대한 내용을 상세한 스크린샷과 함께 담고 있다. 그리고 챕터 1부터 챕터 3까지는 머신러닝에 대한 이론적 기초 설명을 한다. 4, 5, 6 챕터는 저자가 과감히 파이썬 설명에 투입하였다. 사실 파이썬 코딩 능력이 능숙해야 뒤에 더 어려운 코드들이 나와도 이해하기 쉬울 것이다. 잘한 전략이었다고 본다. 그 다음으로 numpy -> pandas -> 데이터시각화로 이어지는 내용을 공부한다. numpy와 pandas의 자세한 쓰임새에 대해서 충분한 예제로 공부를 하고 나서 활용에 들어가고 데이터 시각화에서는 특히 matplotlib 라이브러리를 사용한다든지 다양한 그래프 그리는 방법을 가르쳐준다. R이 최근에 4.0으로 버전이 크게 릴리즈되었다. R이 데이터 시각화 쪽에서는 파이썬에 비해 압도적인 비교우위에 있다고 얼마 전에 들었었는데 파이썬도 공부해보니 별로 밀릴 만한 구석이 없다고 생각했다. 파이썬으로도 충분하다!
개인적으로 후반부는 살짝 어려웠다. 실전에 가까운 딥러닝을 구현한다. 정확하게는 이미지 인식 기술을 실습하는데 이미지 인식 모델을 개발하는 것이다. 가장 인상깊었던것이 CNN을 이용한 분류 방법으로 필기체로 쓰여진 숫자를 판단하는 것이다. 특히 딥러닝의 활용 사례로 이미지 인식을 선택한 것은 아주 탁월했다고 본다. 실제로 가장 많은 부가창출이 예상되는 부분이 이미지 및 영상 인식 분야 이기 때문이다. 4차 산업혁명 중 기대되는 자율주행차도 이미지 인식 기술이 없으면 개발이 불가능하지 않을까
이것들을 응용하여 나온 것들이 사진을 가지고 해당 파사체가 어떤 동물, 꽃의 품종인지 학습시키도록 하는것이다. 지금 이런 인공지능 기술이 발전했기 때문에 이런 일들이 현실로 구체화된 것이다.
나는 이 책이 대학교에서 AI 관련 커리큘럼에 넣어 인공지능 수업의 교과서로 쓰기에 손색없다는 평을 내리고 싶다. 출판사에서 사실 학부 과정의 학생들을 위한 교과서를 염두에 두고 기획하였는지 모르겠다. 애초에 원 저자는 AI 기술을 가르치던 사람이었기도 했기 때문이다. 파이썬 정도는 넘어가고 딥러닝, 머신러닝에 대해서 깊게 공부한다면 한 학기동안 좋은 커리큘럼으로 역량있는 교수님들이 강의를 개설할 수 있지 않을까 싶었다. 현재 차이나 우한 바이러스로 대학교가 온라인 강의로 진행된다고 들었는데 교수님이 대략적인 내용을 알려주고 학생들은 남는 시간에 좀 더 깊이 공부하는 것은 어떨까? 중간고사, 기말고사도 이 책 내용을 바탕으로 하는 것이다.
마우스로 조작하는 GUI 프로그램으로 배우는것보다 파이썬으로 배우는것이 장래 학생들과 독자들에게 엄청 큰 도움이 될 것이라고 생각한다. 그것이 차이다. 하루가지고는 부족하다. 적어도 몇 번 이상은 책을 봐야 자기 것이 될 것이다.
이 책은 이미지 인식 모델을 예제로 다루고 있는 Python 학습자를 위한 교재다. 그러니 Python 처음 배우는 분들에게 적합한 책이다. 책의 전체 22개 챕터 중에서 8개 챕터를 제외하면 대부분의 내용이 Python, Pandas, Matplolib 등의 내용을 다루고 있기 때문이다. 즉, 머신러닝에 관심이 많아서 이 책을 구매하면 생각보다 적은 분량에 당황하게 되고, Python을 학습하려는 목적으로 구매했다면 생각보다 좋은 책이다.
처음 Python을 배우거나, Pandas나 Numpy 등을 처음 접한다면 이 책은 굉장히 좋은 가이드가 되어줄 것이다. 그리고 간단하지만 자세한 ML 관련 예제를 통해서 자신이 배웠던 내용을 하나의 완결된 예제로 끝맺음 할 수 있다. 반면 Python 및 Numpy, Pandas 등에 대해서 잘 앍고 있다면 조금 더 전문적인 교재를 선정해도 좋을 듯 싶다. 예를 들면, 박해선님이 이번에 개정판으로 출판하신 교재(핸즈온 머신러닝)등이 적합하다.
2
이 책으로 인터넷에서 스터디를 진행하면서 좋았던 점은 입력과 결과를 명확하게 나눠서 소개하고 있어서, Juptyer Notebook을 처음 사용하는 분들도 손쉽게 오류를 검증할 수 있었다. 이렇게 편집된 책이 처음인데 읽는데 굉장히 편하고 좋았다.
그리고 비대면 스터디를 진행하다보니 연습문제를 같이 풀었는데, 생각보다 쉽고 내용을 정리할 수 있어서 좋았다. 이런 연습문제가 없으면 뭔가 막연하게 지나갔을 내용을 연습문제 덕분에 한 번더 정리할 수 있어서 좋았다.
3
처음에 ML 보다 Python 관련 부분이 많아서 조금 당황스러웠지만, 그래도 전체를 가볍게 스케치하면서 스터디를 진행했는데 초급에서 중급자까지 커버할 수 있는 교재라서 수월하게 진행한 것 같았다. 혹시 Python 기반의 ML 스터디를 진행한다면 이 교재를 사용해보면 좋을 듯 싶다.
저는 파이썬을 대학생 시절에 전공 강의를 통해서 여러번 다뤄봤지만 딥러닝은 이 책을 통해 처음 접해보았습니다. 제가 이 책을 선택한 이유는 평소 머신러닝에 관해서 학습을 하고 싶었고 기왕이면 다홍치마라고 제가 자주 다뤄봤던 언어 및 개발환경에서 학습하면 좀더 쉽게 이해할 수 있을것 같아서 선택을 하였습니다.
이 책의 특성은 파이썬에 대해 기본적이지만 알아야 할것은 학습한 후에 딥러닝을 학습하게 하는 코스로 나와있기 때문에 딥러닝과 관계없이 오로지 파이썬에 대해 학습을 하고 싶어하는 사람들이 봐도 좋을법한 파이썬 책입니다.그리고 딥러닝에 대해 기초적으로 탄탄하게 내용이 구성되어 있어서 쉽게 내용을 학습할 수 있다는 점입니다.
요즘 대기업에서는 A.I 및 IoT를 위해 머신러닝에 대해 개발을 추진하는 추세입니다. 딥러닝이란 기술은 인간의 뇌구조를 묘사한 뉴럴 네트웍에 기반한 기술이고 굉장히 다양한 일들을 하고 있는데 예전에는 단순히 로봇에 학습을 시켜서 사람을 따라하게 만들었지만 이제는 로봇뿐만 아니라 스피커, 청소기등등이 자신들이 가지고 있는 학습 데이터에 기반해서 판단을 내리고 행동하는 초연결시대로 나아가기 위한 기술이기 때문입니다. 그래서 구글, 삼성같은 IT관련 대기업들은 이미 머신러닝에 관련돈 기술자들을 교육해서 키워내는등 첫번째 선두로 등장하기 위해 엄청난 경쟁을 벌이고 있을 정도로 21세기의 핵심 기술중 하나입니다.
구성
Chapter 0: 개발 환경 준비
Chapter 1: 머신러닝 개요
Chapter 2: 머신러닝의 흐름과 과적합
Chapter 3: 성능평가지표와 PR 곡선
Chapter 4: 파이썬 기초, 변수와 자료형
Chapter 5: 파이썬 기본 문법
Chapter 6: 함수 기초
Chapter 7: NumPy
Chapter 8: Pandas 기초
Chapter 9: Pandas 응용
Chapter 10: 데이터 시각화
Chapter 11: matplotlib 사용하기
Chapter 12: 다양한 그래프 그리기
Chapter 13: 람다와 맵: 편리한 파이썬 기법
Chapter 14: DataFrame을 이용한 데이터 클렌징
Chapter 15: OpenCV를 이용 및 이미지 데이터 전처리
Chapter 16: 지도학습(분류) 기초
Chapter 17: 하이처파라미터와 튜닝(1)
Chapter 18: 하이퍼파라미터와 튜닝(2)
Chapter 19: 딥러닝 구현
Chapter 20: 딥러닝 튜닝
Chapter 21: CNN을 이용한 이미지 인식 기초
Chapter 22: CNN을 이용한 이미지 인식 응용
파트별로 나누어 봤을때 1~3장은 머신러닝 기초 즉 머신러닝에 대한 이론적 내용에 대해 설명하고 있고 4~6장은 파이썬의 기초적인 문법에 대해 7~9, 13~15장은 libraries(심화적인 문법)에 대해 10~12장은 데이터를 그래프로 나타내는 방법에 대해 16~18장은 데이터를 파라미터로 나타내는 기술에 약간의 머신러닝을 첨가한 내용이고 19~22장은 딥러닝에 대해 설명하고 있습니다.
그리고 1, 2장은 머신러닝에 대해 머신러닝이 얼마나 주목받고 있는 기술인가와 과학적인 이론에 대해 설명하는 부분이라 이부분은 공부하시면서 한번쯤은 천천히 훓어보는것을 추천합니다.
개인적인 생각으로 학습은 파이썬을 1부터 시작해야하는 초보자이신 분들께서는 4장부터 시작하시면 좋을것 같고 어느정도 파이썬에 대해 경험이 있으신 분들(파이썬에 대해 기초적인 지식은 숙지하고 있다.)은 7장부터 시작하시면 좋을듯 싶습니다. 그리고 현재 파이썬에 대해 지식이 어느정도 풍부하시거나 현직에서 사용하시면서 프로젝트를 위해서 딥러닝을 학습하시는 분들은 10장부터 시작하시면 좋을듯 싶습니다.
그리고 개인적으로 약간의 단점이 파이썬을 통한 딥러닝 교과서인데 내용부분에서 딥러닝부분이 차지하는 비율이 생각보다 너무 적은것 같아 이 책이 딥러닝에 대해 학습하는 책인지 파이썬에 대해 학습하는 책인지 생각이 들게 하는 내용 구성이라 딥러닝에 관한 내용이 좀더 많았으면 하는 아쉬움이 있습니다.
『파이썬으로 배우는 딥러닝 교과서』, 이시카와 아키히코 지음, 박광수 옮김, 한빛미디어, 2020
최근 대기업들도 업무 전반에 AI를 도입하며 디지털 트랜스포메이션을추진하고 있다. 기존 스텝 직군에서 루틴하게 작업하는 업무를 전환하거나, 마케팅 등 사람의 직관에 의해 의사결정하는 일들을 방대한 소비자 데이터를 기반으로 AI를 통해 분석하고, 이를 바탕으로 의사결정하는 구조로 변화되고 있다.
기업은 소비자의 행동을 예측하는 것에도 크게 관심있지만, 기업내에 쌓인 방대한 데이터를 활용해 불확실한 미래를 예측하고자 하는 노력들도 활발하다. AI가 그간 사람이하는 일을 많은 부분 대체할 것은 자명하고, 이로 인해 인간과 AI의일도 양극화가 되지 않을까 싶다.
<파이썬으로 배우는 딥러닝 교과서>는 파이썬과 라이브러리를 통해 ‘이미지 인식 모델을 만들면서’ 머신러닝과 딥러닝을 배울 수 있도록 돕는다. 저자 이시카와 아키히코는인공지능 기술을 제공하는 Aidemy의 대표이사이며, 와세다대학에서AI 프로그래밍 실습 과정을 지도하고 있다고 한다.
이 책은 ‘프로그래밍 경험은 있지만 머신러닝과 파이썬 경험이거의 없는 독자’를 대상으로 딥러닝에 대한 개요부터 설명하고, 파이썬과NumPY, Pandas 등의 라이브러리도 다룬다. 이를바탕으로 이미지 인식 딥러닝을 실습할 수 있도록 구성되어 있다.
저자는 이 책은 Aidemy의 콘텐츠를 다루고 있어, 책이 출간될 경우 Aidemy 매출 하락이 걱정되었지만, ‘사회와 기술을 연결하는 회사’로서 보다 많은 사람이 AI를 가깝게 느낄 수 있도록 하고자 출간하게 되었다고 한다. 이러한생각이 깃든 만큼 쉽게 따라할 수 있도록 구성되어 있다.
딥러닝 개요부터 파이썬, 이미지 인식 딥러닝 등 다루는 분야가많아 한권의 책에 담다 보니 내용이 함축적이지만, 전 과정을 이해하고 실습하는데 무리가 없으며, 세세한 부분은 다른 책들을 함께 참고하면 도움이 될 듯하다.
이책은 프로그래밍 경험은 있지만 딥러닝과 파이썬 개발 경험이 없는 독자가 읽기에 적합한 도서 입니다. 파이썬 기초문법 시작해서 넘파이, 판다스등 머신러닝과 딥러닝 학습에 많이 사용하는 라이브러리를 학습하고 최종적으로 딥러닝 기술인 CNN을 이용한 이미지 인식 프로젝트 구현까지 배우게 됩니다.
이책이 다른 딥러닝 책과의 차이점은 이론 위주의 설명이 아니라 문제 위주의 전개 방식이 특징입니다. 개념을 간단하게 설명하고 바로 문제와 힌트를 주고 정답(코딩) 을 맞추는 방식입니다. 각 챕터마다 문제를 다 풀고 연습문제로 다시 한번 내용을 복습을 하고 종합문제로 배운 내용으로 간단한 프로그램을 만듭니다.
저 한테는 이런 문제 풀이 방식이 옛날 중고등학교때 배운 방식이랑 비슷하여 좀더 친숙하게 다가왔습니다.
개념을 먼저 학습해서 충분하게 숙지해서 개발하는 방식이 있고 먼저 코딩을 하면서 개념을 깨우치는 방식이 있는데 저는 후자가 더 맞는 것 같습니다. 많은 다양하고 많은 문제를 코딩하면서 파이썬과 딥러닝이라는 두마리 토끼를 잡을수 있게 ‘파이썬으로 배우는 딥러닝 교과서’가 도움이 될것이라 생각합니다.
주제가 주제인 만큼 책의 두께는 꽤 되는 편이지만, 실제 카테고리를 보니 가볍게 머신러닝 이론부터 시작해서, 파이썬 기초부터 수학/그래프 라이브러리, 그리고 딥러닝으로 이루어지는 구조였다. 딱 한권 떼면 뭔가 한학기 전공과목을 배운 것 같다 싶은, 그런 구성이다.
괜찮은 내용 배치와 심심하지 않은 삽화 덕에 읽을 만은 한 편이다. 중간 중간 퀴즈가 있어 생각할 거리도 주는데, 공부에 도움이 된다기보다는 배운 내용을 두번 읽는 정도로 가볍게 훑는 느낌의 퀴즈이다.
책 내용의 구성은 파이썬으로 배우는 '딥러닝' 교과서 라기 보다는, '파이썬으로 배우는' 딥러닝 교과서에 가까운 느낌이다. 책 내용의 거의 딥러닝에 필요한 모듈인 파이썬-numpy(수학)-pandas(데이터)-matplotlib(시각화)-딥러닝으로 이어지는 구성인 만큼, 파이썬 지식이 충분하다면 이 책을 사도 그다지 읽을 부분이 많지는 않으리라 생각된다.
하지만 그 과정의 내용 자체가 상당히 성실하게 구성된 만큼 초심자에겐 확실한 가이드가, 중급자에겐 무난한 참고서 역할을 해 줄 수 있으리라 생각된다.
다만 1판이라서 그런지는 모르겠지만, 예제코드 중간중간 오탈자가 눈에 띈다. 교과서라는 이름을 내세우는 만큼, 딥러닝에 입문하여 단계별로 입문하는 사람들이 있을 텐데 그런 사람들에게 혼란을 줄 수 있지 않을까 싶은 부분이 있는 부분이 있어, 빠른 수정이 필요할 듯 하다.
목차에서 볼 수 있듯이 한 권의 책에 많은 내용을 넣으려고 해서 좀 산만하다는 느낌이 있다. 대충 나눠도 머신러닝 기초, 파이썬 기초, numpy/pandas, 데이터 시각화, 딥러닝 등 각각 책으로 나올 영역들을 굉장히 많이 다룬다.
하지만 지은이가 초보자를 대상으로 책을 썼다고 밝히고 있으며(그래서 파이썬 문법을 다룸), 최근 전공자가 아닌 사람들도 딥러닝에 관심을 갖는다는 점을 생각하면 한 권으로 다양한 영역을 함께 다루면서 시작할 수 있다는 걸 장점으로 볼 수 있다. 0장의 설치 부분만 넘어서면 예제 코드를 설명하려는 부분만 쓰지 않고 한 예제마다 완결성있게 필요한 부분을 모두 써 넣었기 때문에(예를 들어 필요한 import를 각 예제마다 모두 넣어두거나 심지어는 연습문제로 import _____ as __와 같이 빈 칸을 채우는 문제도 있다), 이런 사소한 부분도 초보자에게는 좋다고 생각하며, 예제들이 (최소한 내가 직접 해본 부분들은) 다 정상 동작한다는 점도 좋았다(의외로 예제를 그대로 따라해도 안 되는 경우가 있는 책들이 종종 있다).
다만 챕터가 주제별로 나뉘어져 있지 않아 개인적으로는 다음과 같은 순서로 보는 게 이해가 더 쉬울 거 같다.
파이썬 기초; 4~6장 및 13장. 13장은 초급이라고 보긴 힘들지만 파이썬 문법에 관한 부분이기 때문에 같이 묶었다
libraries(numpy, pandas, opencv); 7~9장, 14장 및 15장
데이터 시각화; 10~12장
머신러닝 기초; 1~3장 및 16장. 이론
딥러닝; 17~22장
대부분의 프로그래밍 책이 그렇지만 특히 이 책은 초보자 대상이기 때문에 다 본다고 해서 어떤 영역에 대해 전문가가 되는 게 아니며, 실무에 바로 적용하기도 어렵다. 하지만 이런 부분을 하나씩 쌓아가는데 도움이 될 책은 분명하다.
0장
책에서는 windows에서 했지만 나는 mac이라서 anaconda update 후 다음 버전에서 예제를 진행했다.
❯ /usr/local/anaconda3/bin/python Python 3.7.4 (default, Aug 13 2019, 15:17:50) [Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
현재 사용하는 anaconda python 3.7.7 버전에서, 1장에 나와있는 설치가 필요한 library는 다음과 같이 실행하면 설치할 수 있다(이외에는 이미 설치되어 있음). 나는 일부러 전부 최신으로 설치했지만, 책의 예제를 그대로 따라하고 싶다면 버전까지 일치시켜 설치하는게 더 좋다.