품목정보
발행일 | 2023년 09월 29일 |
---|---|
쪽수, 무게, 크기 | 1044쪽 | 183*235*60mm |
ISBN13 | 9791169211475 |
ISBN10 | 116921147X |
발행일 | 2023년 09월 29일 |
---|---|
쪽수, 무게, 크기 | 1044쪽 | 183*235*60mm |
ISBN13 | 9791169211475 |
ISBN10 | 116921147X |
ETS 토익 정기시험 기출문제집 1000 Vol.3 READING 리딩
16,020원 (10%)
ETS 토익 정기시험 기출문제집 1000 Vol.3 LISTENING 리스닝
16,020원 (10%)
2023 큰별쌤 최태성의 별별한국사 한국사능력검정시험 심화(1,2,3급) 상
13,950원 (10%)
[1부 머신러닝] 1장 한눈에 보는 머신러닝 1.1 머신러닝이란? 1.2 왜 머신러닝을 사용하나요? 1.3 애플리케이션 사례 1.4 머신러닝 시스템의 종류 _1.4.1 훈련 지도 방식 __지도 학습 __비지도 학습 __준비도 학습 __자기 지도 학습 __강화 학습 _1.4.2 배치 학습과 온라인 학습 __배치 학습 __온라인 학습 _1.4.3 사례 기반 학습과 모델 기반 학습 __사례 기반 학습 __모델 기반 학습 1.5 머신러닝의 주요 도전 과제 _1.5.1 충분하지 않은 양의 훈련 데이터 _1.5.2 대표성 없는 훈련 데이터 _1.5.3 낮은 품질의 데이터 _1.5.4 관련없는 특성 _1.5.5 훈련 데이터 과대적합 _1.5.6 훈련 데이터 과소적합 _1.5.7 핵심 요약 1.6 테스트와 검증 _1.6.1 하이퍼파라미터 튜닝과 모델 선택 _1.6.2 데이터 불일치 연습문제 2장 머신러닝 프로젝트 처음부터 끝까지 2.1 실제 데이터로 작업하기 2.2 큰 그림 보기 _2.2.1 문제 정의 _2.2.2 성능 측정 지표 선택 _2.2.3 가정 검사 2.3 데이터 가져오기 _2.3.1 구글 코랩을 사용하여 예제 코드 실행하기 _2.3.2 코드와 데이터 저장하기 _2.3.3 대화식 환경의 편리함과 위험 _2.3.4 책의 코드와 노트북의 코드 _2.3.5 데이터 다운로드 _2.3.6 데이터 구조 훑어보기 _2.3.7 테스트 세트 만들기 2.4 데이터 이해를 위한 탐색과 시각화 _2.4.1 지리적 데이터 시각화하기 _2.4.2 상관관계 조사하기 _2.4.3 특성 조합으로 실험하기 2.5 머신러닝 알고리즘을 위한 데이터 준비 _2.5.1 데이터 정제 _2.5.2 텍스트와 범주형 특성 다루기 _2.5.3 특성 스케일과 변환 _2.5.4 사용자 정의 변환기 _2.5.5 변환 파이프라인 2.6 모델 선택과 훈련 _2.6.1 훈련 세트에서 훈련하고 평가하기 _2.6.2 교차 검증으로 평가하기 2.7 모델 미세 튜닝 _2.7.1 그리드 서치 _2.7.2 랜덤 서치 _2.7.3 앙상블 방법 _2.7.4 최상의 모델과 오차 분석 _2.7.5 테스트 세트로 시스템 평가하기 2.8 론칭, 모니터링, 시스템 유지 보수 2.9 직접 해보세요! 연습문제 3장 분류 3.1 MNIST 3.2 이진 분류기 훈련 3.3 성능 측정 _3.3.1 교차 검증을 사용한 정확도 측정 _3.3.2 오차 행렬 _3.3.3 정밀도와 재현율 _3.3.4 정밀도/재현율 트레이드오프 _3.3.5 ROC 곡선 3.4 다중 분류 3.5 오류 분석 3.6 다중 레이블 분류 3.7 다중 출력 분류 연습문제 4장 모델 훈련 4.1 선형 회귀 _4.1.1 정규 방정식 _4.1.2 계산 복잡도 4.2 경사 하강법 _4.2.1 배치 경사 하강법 _4.2.2 확률적 경사 하강법 _4.2.3 미니배치 경사 하강법 4.3 다항 회귀 4.4 학습 곡선 4.5 규제가 있는 선형 모델 _4.5.1 릿지 회귀 _4.5.2 라쏘 회귀 _4.5.3 엘라스틱넷 _4.5.4 조기 종료 4.6 로지스틱 회귀 _4.6.1 확률 추정 _4.6.2 훈련과 비용 함수 _4.6.3 결정 경계 _4.6.4 소프트맥스 회귀 연습문제 5장 서포트 벡터 머신 5.1 선형 SVM 분류 _5.1.1 소프트 마진 분류 5.2 비선형 SVM 분류 _5.2.1 다항식 커널 _5.2.2 유사도 특성 _5.2.3 가우스 RBF 커널 _5.2.4 계산 복잡도 5.3 SVM 회귀 5.4 SVM 이론 5.5 쌍대 문제 _5.5.1 커널 SVM 연습문제 6장 결정 트리 6.1 결정 트리 학습과 시각화 6.2 예측 6.3 클래스 확률 추정 6.4 CART 훈련 알고리즘 6.5 계산 복잡도 6.6 지니 불순도 또는 엔트로피? 6.7 규제 매개변수 6.8 회귀 6.9 축 방향에 대한 민감성 6.10 결정 트리의 분산 문제 연습문제 7장 앙상블 학습과 랜덤 포레스트 7.1 투표 기반 분류기 7.2 배깅과 페이스팅 _7.2.1 사이킷런의 배깅과 페이스팅 _7.2.2 OOB 평가 7.3 랜덤 패치와 랜덤 서브스페이스 7.4 랜덤 포레스트 _7.4.1 엑스트라 트리 _7.4.2 특성 중요도 7.5 부스팅 7.5.1 AdaBoost _7.5.2 그레이디언트 부스팅 _7.5.3 히스토그램 기반 그레이디언트 부스팅 _7.6 스태킹 연습문제 8장 차원 축소 8.1 차원의 저주 8.2 차원 축소를 위한 접근법 _8.2.1 투영 _8.2.2 매니폴드 학습 8.3 주성분 분석 _8.3.1 분산 보존 _8.3.2 주성분 _8.3.3 d차원으로 투영하기 _8.3.4 사이킷런 사용하기 _8.3.5 설명된 분산의 비율 _8.3.6 적절한 차원 수 선택 _8.3.7 압축을 위한 PCA _8.3.8 랜덤 PCA _8.3.9 점진적 PCA 8.4 랜덤 투영 8.5 지역 선형 임베딩 8.6 다른 차원 축소 기법 연습문제 9장 비지도 학습 9.1 군집 _9.1.1 k-평균 __k-평균 알고리즘 __센트로이드 초기화 방법 __k-평균 속도 개선과 미니배치 k-평균 __최적의 클러스터 개수 찾기 _9.1.2 k-평균의 한계 _9.1.3 군집을 사용한 이미지 분할 _9.1.4 군집을 사용한 준지도 학습 _9.1.5 DBSCAN _9.1.6 다른 군집 알고리즘 9.2 가우스 혼합 _9.2.1 가우스 혼합을 사용한 이상치 탐지 _9.2.2 클러스터 개수 선택 _9.2.3 베이즈 가우스 혼합 모델 _9.2.4 이상치 탐지와 특이치 탐지를 위한 알고리즘 연습문제 [2부 신경망과 딥러닝] 10장 케라스를 사용한 인공 신경망 소개 10.1 생물학적 뉴런에서 인공 뉴런까지 _10.1.1 생물학적 뉴런 _10.1.2 뉴런을 사용한 논리 연산 _10.1.3 퍼셉트론 _10.1.4 다층 퍼셉트론과 역전파 _10.1.5 회귀를 위한 다층 퍼셉트론 _10.1.6 분류를 위한 다층 퍼셉트론 10.2 케라스로 다층 퍼셉트론 구현하기 _10.2.1 시퀀셜 API로 이미지 분류기 만들기 __케라스로 데이터셋 적재하기 __시퀀셜 API로 모델 만들기 __모델 컴파일 __모델 훈련과 평가 __모델로 예측 만들기 _10.2.2 시퀀셜 API로 회귀용 다층 퍼셉트론 만들기 _10.2.3 함수형 API로 복잡한 모델 만들기 _10.2.4 서브클래싱 API로 동적 모델 만들기 _10.2.5 모델 저장과 복원하기 _10.2.6 콜백 사용하기 _10.2.7 텐서보드로 시각화하기 10.3 신경망 하이퍼파라미터 튜닝하기 _10.3.1 은닉 층 개수 _10.3.2 은닉 층의 뉴런 개수 _10.3.3 학습률, 배치 크기 그리고 다른 하이퍼파라미터 연습문제 11장 심층 신경망 훈련 11.1 그레이디언트 소실과 폭주 문제 _11.1.1 글로럿과 He 초기화 _11.1.2 고급 활성화 함수 __LeakyReLU __ELU와 SELU __GELU, Swish, Mish _11.1.3 배치 정규화 __케라스로 배치 정규화 구현하기 _11.1.4 그레이디언트 클리핑 11.2 사전 훈련된 층 재사용하기 _11.2.1 케라스를 사용한 전이 학습 _11.2.2 비지도 사전 훈련 _11.2.3 보조 작업에서 사전 훈련 11.3 고속 옵티마이저 _11.3.1 모멘텀 최적화 _11.3.2 네스테로프 가속 경사 _11.3.3 AdaGrad _11.3.4 RMSProp _11.3.5 Adam _11.3.6 AdaMax _11.3.7 Nadam _11.3.8 AdamW _11.3.9 학습률 스케줄링 11.4 규제를 사용해 과대적합 피하기 _11.4.1 l1과 l2 규제 _11.4.2 드롭아웃 _11.4.3 몬테 카를로 드롭아웃 _11.4.4 맥스-노름 규제 11.5 요약 및 실용적인 가이드라인 연습문제 12장 텐서플로를 사용한 사용자 정의 모델과 훈련 12.1 텐서플로 훑어보기 12.2 넘파이처럼 텐서플로 사용하기 _12.2.1 텐서와 연산 _12.2.2 텐서와 넘파이 _12.2.3 타입 변환 _12.2.4 변수 _12.2.5 다른 데이터 구조 12.3 사용자 정의 모델과 훈련 알고리즘 _12.3.1 사용자 정의 손실 함수 _12.3.2 사용자 정의 요소를 가진 모델을 저장하고 로드하기 _12.3.3 활성화 함수, 초기화, 규제, 제한을 커스터마이징하기 _12.3.4 사용자 정의 지표 _12.3.5 사용자 정의 층 _12.3.6 사용자 정의 모델 _12.3.7 모델 구성 요소에 기반한 손실과 지표 _12.3.8 자동 미분으로 그레이디언트 계산하기 _12.3.9 사용자 정의 훈련 반복 12.4 텐서플로 함수와 그래프 _12.4.1 오토그래프와 트레이싱 _12.4.2 텐서플로 함수 사용법 연습문제 13장 텐서플로를 사용한 데이터 적재와 전처리 13.1 데이터 API _13.1.1 연쇄 변환 _13.1.2 데이터 셔플링 _13.1.3 여러 파일에서 한 줄씩 번갈아 읽기 _13.1.4 데이터 전처리 _13.1.5 데이터 적재와 전처리 합치기 _13.1.6 프리페치 _13.1.7 케라스와 데이터셋 사용하기 13.2 TFRecord 포맷 _13.2.1 압축된 TFRecord 파일 _13.2.2 프로토콜 버퍼 개요 _13.2.3 텐서플로 프로토콜 버퍼 _13.2.4 Example 프로토콜 버퍼 읽고 파싱하기 _13.2.5 SequenceExample 프로토콜 버퍼로 리스트의 리스트 다루기 13.3 케라스의 전처리 층 _13.3.1 Normalization 층 _13.3.2 Discretization 층 _13.3.3 CategoryEncoding 층 _13.3.4 StringLookup 층 _13.3.5 Hashing 층 _13.3.6 임베딩을 사용해 범주형 특성 인코딩하기 _13.3.7 텍스트 전처리 _13.3.8 사전 훈련된 언어 모델 구성 요소 사용하기 _13.3.9 이미지 전처리 층 13.5 텐서플로 데이터셋 프로젝트 연습문제 14장 합성곱 신경망을 사용한 컴퓨터 비전 14.1 시각 피질 구조 14.2 합성곱 층 _14.2.1 필터 _14.2.2 여러 가지 특성 맵 쌓기 _14.2.3 케라스로 합성곱 층 구현하기 _14.2.4 메모리 요구 사항 14.3 풀링 층 14.4 케라스로 풀링 층 구현하기 14.5 CNN 구조 _14.5.1 LeNet-5 _14.5.2 AlexNet _14.5.3 GoogLeNet _14.5.4 VGGNet _14.5.5 ResNet _14.5.6 Xception _14.5.7 SENet _14.5.8 주목할 만한 다른 구조 _14.5.9 올바른 CNN 구조 선택 14.6 케라스로 ResNet-34 CNN 구현하기 14.7 케라스의 사전 훈련 모델 사용하기 14.8 사전 훈련된 모델을 사용한 전이 학습 14.9 분류와 위치 추정 14.10 객체 탐지 _14.10.1 완전 합성곱 신경망 _14.10.2 YOLO 14.11 객체 추적 14.12 시맨틱 분할 연습문제 15장 RNN과 CNN을 사용한 시퀀스 처리 15.1 순환 뉴런과 순환 층 _15.1.1 메모리 셀 _15.1.2 입력과 출력 시퀀스 15.2 RNN 훈련하기 15.3 시계열 예측하기 _15.3.1 ARMA 모델 _15.3.2 머신러닝 모델을 위한 데이터 준비하기 _15.3.3 선형 모델로 예측하기 _15.3.4 간단한 RNN으로 예측하기 _15.3.5 심층 RNN으로 예측하기 _15.3.6 다변량 시계열 예측하기 _15.3.7 여러 타임 스텝 앞 예측하기 _15.3.8 시퀀스-투-시퀀스 모델로 예측하기 15.4 긴 시퀀스 다루기 _15.4.1 불안정한 그레이디언트 문제와 싸우기 _15.4.2 단기 기억 문제 해결하기 __LSTM 셀 __GRU 셀 __1D 합성곱 층으로 시퀀스 처리하기 __WaveNet 연습문제 16장 RNN과 어텐션을 사용한 자연어 처리 16.1 Char-RNN으로 셰익스피어 문체 생성하기 _16.1.1 훈련 데이터셋 만들기 _16.1.2 Char-RNN 모델 만들고 훈련하기 _16.1.3 가짜 셰익스피어 텍스트 생성하기 _16.1.4 상태가 있는 RNN 16.2 감성 분석 _16.2.1 마스킹 _16.2.2 사전 훈련된 임베딩과 언어 모델 재사용하기 16.3 신경망 기계 번역을 위한 인코더-디코더 네트워크 _16.3.1 양방향 RNN _16.3.2 빔 서치 16.4 어텐션 메커니즘 _16.4.1 트랜스포머 구조: 어텐션만 있으면 된다 __위치 인코딩 __멀티 헤드 어텐션 16.5 언어 모델 분야의 최근 혁신 16.6 비전 트랜스포머 16.7 허깅 페이스의 트랜스포머스 라이브러리 연습문제 17장 오토인코더, GAN 그리고 확산 모델 17.1 효율적인 데이터 표현 17.2 과소완전 선형 오토인코더로 PCA 수행하기 17.3 적층 오토인코더 _17.3.1 케라스로 적층 오토인코더 구현하기 _17.3.2 재구성 시각화 _17.3.3 패션 MNIST 데이터셋 시각화 _17.3.4 적층 오토인코더를 사용한 비지도 사전 훈련 _17.3.5 가중치 묶기 _17.3.6 오토인코더 한 개씩 훈련하기 17.4 합성곱 오토인코더 17.5 잡음 제거 오토인코더 17.6 희소 오토인코더 17.7 변이형 오토인코더 _17.7.1 패션 MNIST 이미지 생성하기 17.8 생성적 적대 신경망 _17.8.1 GAN 훈련의 어려움 _17.8.2 심층 합성곱 GAN _17.8.3 ProGAN __미니배치 표준 편차 층 __동일한 학습 속도 __픽셀별 정규화 층 _17.8.4 StyleGAN __매핑 네트워크 __합성 네트워크 17.9 확산 모델 연습문제 18장 강화 학습 18.1 보상을 최적화하기 위한 학습 18.2 정책 탐색 18.3 OpenAI Gym 18.4 신경망 정책 18.5 행동 평가: 신용 할당 문제 18.6 정책 그레이디언트 18.7 마르코프 결정 과정 18.8 시간차 학습 18.9 Q-러닝 _18.9.1 탐험 정책 _18.9.2 근사 Q-러닝과 심층 Q-러닝 18.10 심층 Q-러닝 구현 18.11 심층 Q-러닝의 변형 _18.11.1 고정 Q-가치 타깃 _18.11.2 더블 DQN _18.11.3 우선 순위 기반 경험 재생 _18.11.4 듀얼링 DQN 18.12 다른 강화 학습 알고리즘 연습문제 19장 대규모 텐서플로 모델 훈련과 배포 19.1 텐서플로 모델 서빙 _19.1.1 텐서플로 서빙 사용하기 __SavedModel로 내보내기 __텐서플로 서빙 설치하고 시작하기 __REST API로 TF 서빙에 쿼리하기 __gRPC API로 TF 서빙에 쿼리하기 __새로운 버전의 모델 배포하기 _19.1.2 버텍스 AI에서 예측 서비스 만들기 _19.1.3 버텍스 AI에서 배치 예측 작업 실행하기 19.2 모바일 또는 임베디드 디바이스에 모델 배포하기 19.3 웹 페이지에서 모델 실행하기 19.4 계산 속도를 높이기 위해 GPU 사용하기 _19.4.1 GPU 구매하기 _19.4.2 GPU RAM 관리하기 _19.4.3 디바이스에 연산과 변수 할당하기 _19.4.4 다중 장치에서 병렬 실행하기 19.5 다중 장치에서 모델 훈련하기 _19.5.1 모델 병렬화 _19.5.2 데이터 병렬화 __미러드 전략을 사용한 데이터 병렬화 __중앙 집중적인 파라미터를 사용한 데이터 병렬화 __대역폭 포화 _19.5.3 분산 전략 API를 사용한 대규모 훈련 _19.5.4 텐서플로 클러스터에서 모델 훈련하기 _19.5.5 버텍스 AI에서 대규모 훈련 작업 실행하기 _19.5.6 버텍스 AI의 하이퍼파라미터 튜닝 연습문제 마치며 [3부 부록] 부록 A 연습문제 정답 부록 B 머신러닝 프로젝트 체크리스트 B.1 문제를 정의하고 큰 그림을 그립니다 B.2 데이터를 수집합니다 B.3 데이터를 탐색합니다 B.4 데이터를 준비합니다 B.5 가능성 있는 몇 개의 모델을 고릅니다 B.6 모델을 미세 튜닝합니다 B.7 솔루션을 출시합니다 B.8 시스템을 론칭합니다! 부록 C 자동 미분 C.1 수동 미분 C.2 유한 차분 근사 C.3 전진 모드 자동 미분 C.4 후진 모드 자동 미분 부록 D 특수한 데이터 구조 D.1 문자열 D.2 래그드 텐서 D.3 희소 텐서 D.4 텐서 배열 D.5 집합 D.6 큐 부록 E 텐서플로 그래프 E.1 TF 함수와 콘크리트 함수 E.2 함수 정의와 함수 그래프 탐험하기 E.3 트레이싱 자세히 보기 E.4 오토그래프로 제어 흐름 표현하기 E.5 TF 함수에서 변수와 다른 리소스 다루기 E.6 케라스로 TF 함수 사용하기(또는 사용하기 않기) |
이 책은 참 묘한 책이다. 전체적으로 난이도가 높은 편임에도 부분 부분 읽다보면 의외로 읽기가 편하고 이해가 잘 되는 편이다.
엄밀한 수학적 정의를 다룬다든가 대부분의 논문 이해에 무리가 없을 수준의 깊이가 담겨있는 것은 아니지만 AI 진영에 두루 쓰이는 기술이 체계적으로 망라
되어있다. 이 분야를 과학과 공학으로 나눈다면 과학보다는 공학 중심적인 내용을 담고 있다.
과학도 상당 부분 담겨있지만 과정의 도출보다는 결론을 깔끔하게 정리하는 식으로 기술되어있으며 이를 구현해 내는 것과 응용하는 데 보다 많은 도움을 주는 책이다.
따라서 이 분야의 기술을 숲을 보는 시각으로 두루 섭렵한다든가 프로그래밍 능력이 뛰어난 개발자가 AI 진영의 기술을 담은 서비스를 구현하는 데 많은 도움을 받을 수 있다. 물론 연구 진영에서도 AI분야의 비교적 최신 이론을 빠르게 정리하고 연구의 방향성을 잡는 데에도 큰 도움이 될 것이다.
이 책에는 1000페이지가 넘는 방대한 분량이 수록되어있음에도 어느 정도의 통계학적 혹은 데이터 관련 지식 - 예를 들면 그림으로 배우는 StatQuest 머신러닝 강의 책에 담긴 내용을 잘 숙지하는 정도-을 습득하고 있고, Python 중급 이상의 프로그래밍 실력을 갖춘 독자라면 긴 AI의 여정을 이 책으로 시작할 것을 권하고 싶다.
무언가를 골똘히 연구할 때나 고민하거나 혹은 문제해결을 위해 고심하고 있을 때 우리는 보통 마인드 맵과 같은 도구를 통해 생각을 정리하고 방향성을 잡는다.
이 책은 그런 마인드 맵에서 첫 출발 지점 동그라미의 위치로 적합한 책
이다. 책 한 권으로 AI 진영의 폭넓은 지식을 한 눈에 파악하기에는 이 책보다 뛰어난 책이 없다고 생각한다. 방대한 내용을 담아내고 있음에도 하나하나의 주제는 매우 친절하고 자세하게 수록되어있고 직관적인 시각화를 통해 개념을 깊이있게 이해할 수 있도록 도와준다.
우선 머신러닝 서비스의 전반을 이해
하는데에는 이 책의 1~2장 만으로도 충분하다. 2장의 실습을 진행하며 예측을 위한 머신러닝 모델을 어떤식으로 만들어나가는지 감을 잡는다면 뒤에 이어질 내용을 익혀 특정 데이터, 도메인, 기술, 아이디어, 문제에 심화 적용하기만 하면 되는 셈이다.
실리콘 밸리의 주택 가격을 예측하는 모델 하나를 만들어보는 과정으로 AI 진영에서 활용되는 기술 전반을 이해하기에 부족함이 없다. 더욱이 더 깊이있는 수준의 지식을 습득하는데 상당한 지적 호기심을 제공하여 향후 학습의 강력한 동기부여로 작용하기도 한다. 단 두개 챕터에 수록된 내용이지만 능히 한 권의 책을 낼 수 있을 정도의 분량이기도 하다.
이 책은 출판사의 배려로 3판부터는 2권의 책으로 나뉜다
. 1권은 주로 머신러닝 내용을 다루고 있으며 케라스를 활용하여 간단한 딥러닝을 맛볼 수 있다. 머신러닝 대부분의 지식과 기술은 딥러닝에도 요긴하게 활용되므로 2권을 읽기 전에 충분히 개념을 학습해 두면 좋다.
이번 개정판에는 사이킷런에 추가된 새로운 기능들과 최신 라이브러리가 수록되었지만 1권에 해당하는 머신러닝 진영의 기술은 딥러닝에 비해 훨씬 오랜 기간 연구되었고 변화가 딥러닝 분야에 비해 적기 때문에 2판에 비해 크게 달라진 사항은 없다.
하지만 기술 측면에서 불필요하고 중요하지 않은 내용들이 많이 삭제되어 보다 집중력있게 핵심을 이해하는 데 도움을 주는 방향으로 편집된 것 같고 의외로 실무적으로 중요한 요긴한 팁들이 생략된 경우가 더러 있었는 데 그런 부분들이 알차게 보완된 느낌이다.
2판에서 계속 이어지는 기조 중에 정말 마음에 드는 것은 개인적으로 쉬운 내용 기술과 더불어 애매한 개념을 눈으로 보이게 하는 시각적 자료의 활용
이 인상적이다.
예를 들면 3장에서 다루는 오차 행렬
의 시각화는 볼 때마다 놀랍다. 2차원적인 동적 기억을 필요로하는 개념이라 보는 순간에는 이해가 되어도 기억이 휘발되고 나면 다시 깊이있는 통찰로 로딩하는데 제법 시간이 걸리는 이상한 지식 구조이다. (마치 법률 분야의 if에 따른 리걸 마인드 기억 구조와도 유사하다.)
어떤 책은 예측과 실제의 축을 거꾸로 명시해 많은 혼동을 주는가 하면 오차 행렬 혹은 혼동 행렬이라는 용어 답게 저자들도 혼동된 것인지 오류로 기술된 책들도 은근 많다. 반면 본 도서에는 이 오차 행렬표 내부에 숫자 그림이 들어가 있어 예시를 활용한 명쾌한 이해 및 개념을 잡는 데 도움을 주고 있어 저자의 전달력과 깊이 있는 인사이트에 여러번 감탄했다.
이런 장치는 책을 읽는 내내 여러번 경험할 수 있다. 아래 그림은 경사하강법의 여러 방식을 적용하며 실제 파라미터 공간에 표시된 경로를 시각화
한 것인데 예제를 실습하며 직접 구현해보려고 노력하다보면 말로는 전달하는 데 한계가 있는 경사하강법의 움직임을 눈으로 확인하고 직관적으로 이해하는 데 많은 도움을 받을 수 있다.
소프트맥스 회귀나 결정트리 등 알고리즘 설명 파트도 마찬가지이다. 대충 그렇다는 말 보다는 확실히 그림으로 경계선을 확인하고 파라미터 변수의 조정으로 달라지는 경계선을 눈으로 확인
하는 것이 이 알고리즘을 확실하게 이해하는데 큰 도움이 된다.
하다 못해 통계의 가장 기초적인 성절인 대수의 법칙(큰수의 법칙)이나 차원의 저주
도 눈으로 보여준다. 방대한 분량의 쉽지 않은 책을 때로는 매우 쉽게 만들어주는 묘한 장치들이다.
책에 수록된 코드를 실습하기 쉽게 안배하고 있는 점도 이 책의 뛰어난 장점 중 하나이다. 말로 설명하는 것 이상으로 실제 구현하고 눈으로 확인할 수 있게 도와주는 방식이 매력적이다. 이 책의 역자는 저자의 배려를 한층 업그레이드 하여 더욱 편리하게 실습할 수 있도록 도와주고 있어 인상적이었다. 역자의 깃허브로 들어가 Open in Colab
버튼만 누르면 되니 어지간히 게으른 독자도 실습 핑계를 대긴 어려운 구조이다.
2권부터는 딥러닝의 여정을 떠난다. 보다 저수준의 텐서플로 API를 활용하는 예제들이 등장한다.
특히 CNN, RNN, LSTM의 기본 3모델에서 더욱 확장된 ResNeXt, CSPNet과 같은 다양한 신형 모델
들이 등장한다. 이는 이 책의 또 하나의 매력이기도 하다. 개정판이 나올 때마다 비교적 최신의 선풍적인 인기를 끌었던 새로운 모델들과 기술들이 소개되고 있어 개인적으로 매우 유익했다.
가진 레거시 환경의 변화 대비 AI 진영의 SOTA 지식들은 차고 넘쳐 이젠 따라갈 수 없는 지경에 이르렀다. 가진 역량의 한계로 소소한 변화는 더이상 추적할 수 없게 되었고 집중하는 분야의 SOTA를 파악하고 시스템에 반영하는 것도 무리수였는데 이 책 덕분에 그간 잃어버린 고리, 미씽 링크를 연결할 수 있어 저자에게 많은 감사를 느낀다.
그러면서도 내용은 더욱 풍부해졌다. RNN 모델을 다룰때도 전통적인 통계 진영의 시계열 모델링도 다루고 있어 비교 대조하면서 관련 지식의 깊이를 풍부하게 만드는 데 도움이 되었다.
ARIMA
모델은 전통적으로 오랜 기간 동안 그리고 지금까지도 잘 쓰이는 모델인데 딥러닝 도서 대부분에는 이 부분이 생략되어있어 양 진영의 시너지를 활용하기 부족함이 많았는데 이번 개정판에는 그런 부분도 신경쓰고 있어 더욱 알차게
구성되었다는 느낌을 받을 수 있었다.
한편 이번 개정 3판의 백미는 역시 딥러닝 파트의 커다란 변화인데 허깅페이스의 트랜스포머스
라이브러리나 잡음 제거 확산 확률 모델 DDPM
등 2020년 이후 굵직한 변화를 추적하기에 좋다.
3판이나 개정되면서 1권 영역은 성숙도가 높아졌으니 다음번에는 딥러닝 위주의 2권에 대한 개정판만 나와도 좋겠다는 생각도 든다.
방대한 내용을 한정된 리뷰로 모두 담아내는 것은 보통 무리가 아니었다. 처음엔 챕터별로 다른 책에서 익히기 힘든 내용들을 본 도서는 어떻게 기술하는지에 중점을 두고 리뷰를 작성했다가 폭발하는 분량이 감당이 안되어서 다시 줄여 썼는데 이러니 또 책이 가진 모든 장점을 잘 보여주지 못해서 안타깝다.
개인적으로 2판의 베타리딩에 참여하였기에 더욱 정이 가는 책이고, 이번 3판 역시 참여의 기회가 있었으나 개인적인 좋지 못한 사정으로 인해 참여하지 못해 많이 아쉬웠던 책이기도 하다. 그만큼 더 알찬 리뷰를 정리하고 싶었는데 방대한 규모와 책의 수준이 뛰어나 수준에 걸맞는 리뷰 작성에는 한계가 있다.
하지만 분명한 사실은 AI 분야의 관련 기술을 한 권의 책으로 이 보다 폭넓게 파악하고 가진 레거시에 적용하는데 있어 이보다 도움되는 책은 없을거라 확신한다. 관련 분야의 도서를 벌써 300권은 넘게 읽은 것 같은데 이 만한 책을 찾지 못했기에 더욱 확신한다.
이 압도적인 두꺼움.
지난 2판이 952쪽이었는데 새로 나온 3판은 1,036쪽으로 조금 더 두꺼워졌다.
1000페이지가 넘는 책을 들고 다닌 다는 것 만으로도 부담이 되는데 한빛 미디어에서 센스 넘치게 책을 2권으로 분권 할 수 있도록 만들어 주었다.
핸즈 온 머신러닝 3판 역시 박해선님이 번역을 하셨다.
(저는 박해선님의 책은 모두 갖고 말거예요~!)
본격적으로 책에 대해 이야기 해 보겠다.
책은 크게 세 부분으로 나눠 볼 수 있다.
- 첫 번째 부분 : 머신러닝의 기초
머신러닝의 전반적인 개요, 데이터 전처리, 모델 선택, 평가, 하이퍼파라미터 튜닝 등
- 두 번째 부분 : 딥러닝의 기초
인공 신경망, 합성곱 신경망, 순환 신경망, 자연어 처리, 컴퓨터 비전 등
- 세 번째 부분 : 딥러닝의 고급 주제
생성적 적대 신경망, 변형기, 캡슐 네트워크, 강화 학습 등
첫번째 부분의 머신러닝 기초 부분은 핸즈 온 머신러닝 2판에서 역자이신 박해선 선생님이 직접 동영상 강의 영상도 만들어 놓으셨는데 나에게는 머신러닝 기초를 공부하는데 정말 큰 도움이 되었었다.
3판에서도 chapter1 ~ 9까지의 내용은 거의 변화가 없으므로 독자들에게 큰 도움이 될 거 같다.
'핸즈 온 머신러닝'은 이미 책에서도 소개하듯 아마존 인공 지능 분야 부동의 1위 도서이다.
그리고 한 번 읽어보면 그 이유를 확인 할 수 있다.
머신러닝의 기초부터 고수준의 라이브러리까지 배울 수 있다.
3판은 무섭게 변화 발전하는 AI 분야의 최신 기술을 소개하고 코드 전체를 최신 라이브러리 버전으로 업데이트 하여 이 분야를 공부하는 사람들에게는 책의 두께가 말해주듯 바이블이라고 할 만하다.
나는 위에서 소개한 박해선 선생님의 핸즈 온 머신러닝 2판의 동영상 강의를 보면서 이 책의 1~9장까지 공부했다.
핸즈 온 머신러닝 답게 이론의 소개, 수학적 이론 설명, 그리고 이론을 집적 적용할 수 있는 코드로 이루어져있다.
코드도 이론에 맞게 간결하게 작성되어 있다.
그리고 결과를 확인 할 수 있는 코드들 이라서 좋았고 깃허브에서 코드를 실행시킬 수 있어서 쉽게 공부할 수 있었다.
또한 3판에 새롭게 추가된 하이퍼파라미터 튜닝을 위한 케라스 튜너 라이브러리는 정말 반가웠다.
다른 책에서 맛보기만 보여줘서 제대로 공부하고 싶은 마음이 있었는데 역시 나의 머신러닝 바이블 '핸즈 온 머신러닝'으로 공부할 수 있어서 좋았다.
누군가가 (bard 와 Being chat 이라고 말한 적은 없다.) 말했는데
이 책에 단점이 있다면 수학젹인 내용을 깊게 다루지 않는다는 것이라고 하던데......
물론 20년 전이라는게 함정이지만 대학 때 공업수학도 듣고 했음에도 불구하고 이 책의 수학은 나에게는 어려웠다.
이게 깊게 다루지 않은 것이라서 제대로 수학을 보여준다면 솔직히 나는 포기해 버렸을 지도 모르겠다.
하지만 기초부분을 충분히 설명하려 하다보니 컴퓨터비전 분야의 설명이 좀 약하다는 생각이 들었다.
이 분야는 필요에 따라 이 분야를 다루는 다른 책의 도움이 필요할 것 같다.
그리고 자연어 처리 부분에 트랜스포머 라이브러리에 대한 내용도 다루고 있다.
물론 이 부분 역시 쉽지 않은 부분이라서 제대로 공부하려면 다른 책으로 공부를 해야할 것 같다.
딥러닝의 부분은 워낙 내용이 방대하고 새로운 기술이 쏟아져 나오고 있어서 아무리 핸즈 온 머신러닝이라 해도 이 분야를 커버하기에는 무리가 있다.
이 책은 머신러닝 공부를 시작하는 사람들에게는 필독서라고 생각한다.
기초를 탄탄히 다루고 있다.
그리고 딥러닝에 대해서 자신이 전문적으로 분야를 선택하는 데도 큰 도움이 될 것이다.
머신러닝 초급자에서 중급까지 꼭 읽어야 할 책이다.
항상 이렇게 좋은 책을 정성스러운 번역과 함께 만날 수 있다는 것이 참 감사하다.
많은 사람들이 '핸즈 온 머신러닝'으로 한 단계 성장 발전하는 자신의 모습을 볼 수 있기를 바란다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."
이 책은 압도적인 두꺼움을 자랑하는 책이다. 1000페이지가 넘는 책으로써 굉장히 무거울 것은 예상을 하고 있었다. 하지만 센스있게 한빛미디어에서는 2권으로 분권을 할 수 있도록 해주었다.
역자로써는 박해선이 워낙 유명하신 분이라 따로 언급할 필요는 없는 것 같습니다. 모든 페이지가 풀 컬러여서 가독성이 굉장히 띄어납니다.
다만 아쉬운 점이라면 수학적인 부분이 많이 빠져 있는 것인데, 수학적인 부분까지 들어갔가면 거의 백과사전?처럼 될 것 같긴 해서 지금이 딱 좋을 거 같다고 느꼈습니다.
이 책은 초급이 보기에는 좀 어려울 것 같고 중급 정도가 보기엔 적당한 책이라고 생각이 듭니다. 또한 이것만 보기보다는 개념들을 찾아보시면서 같이 학습을 한다면 좋다고 생각하였습니다. 머신러닝/딥러닝은 어렵지만 이 책과 함께라면 해볼만하지 않을까 싶습니다. 머신러닝/딥러닝을 공부하는 사람이 있다면 꼭 추천 해주고 싶습니다.