성장通

[리뷰] 딥러닝의 정석 본문

리뷰/도서 리뷰

[리뷰] 딥러닝의 정석

백악기작은펭귄 2024. 2. 24. 23:33

* 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

딥러닝의 정석

니틴 부두마, 니킬 부두마, 조 파파 저
최재훈, 차성재 옮김

 

딥러닝의 정석 - 예스24

선형대수학과 확률로 시작하는 딥러닝의 정석 실전에서의 구현을 위한 파이토치 기반 소스 코드 제공 『딥러닝의 정석 (2판)』은 딥러닝의 기본과 본질에 집중하여 독자들이 폭넓은 이론과 실

www.yes24.com


간단 서평

2022년 ChatGPT의 등장 이래 AI 기술이 급격히 발전하며 '인공지능'의 개념은 일상 속으로 깊이 침투했고, 그중에서도 '딥러닝'에 대한 관심도는 기하급수적으로 늘어났다. 과거에는 일부 규모가 있는 기업에서만 인공지능 기술을 연구하고 서비스하였지만 요즘에는 대기업은 물론 작은 스타트업에서도 인공지능 서비스를 심심치 않게 찾아볼 수 있게 되었다.

 

이렇듯 인공지능과 딥러닝은 우리의 일상 속으로 성큼 들어왔지만 여전히 일반인들은 그 내부 원리를 잘 알지 못한다. 마법과도 같은 딥러닝의 힘에 이끌려 공부를 해보려하다가고 이내 어려운 전문 용어와 복잡한 수식 앞에 좌절하고 포기하는 사람들이 많다. 이러한 사람들을 타겟으로 정말 쉽게 인공지능을 설명하는 자료들도 많지만 이는 대부분 실질적인 도움이 되지는 못해 이내 '내가 무슨 딥러닝이냐, 원래 하던 거나 잘하자'라며 발길을 돌리기도 한다.

 

이 책은 바로 그런 사람들에게 추천하고 싶은 책이다. 이 책은 기본적인 파이썬 프로그래밍 실력을 가진 사람들에게 딥러닝의 이론과 프레임워크를 차근차근 설명한다. 기존 1판은 수학적 개념에 대한 선행 지식이 없는 사람들에게 다소 불친절했지만 이번 개정판에서는 딥러닝에 필요한 선형대수학과 확률론 개념을 추가하여 더욱 짜임새 있게 설명을 전달하고 있다. 딥러닝하면 바로 떠오르는 경사하강법부터 합성곱 신경망과 순환 신경망은 물론 최근 가장 핫한 트렌드 중 하나인 생성 모델은 물론 신뢰성 있는 인공지능을 위한 해석 가능 방법론과 메모리 증강 신경망, 강화학습과 같은 다소 생소하고 복잡한 개념까지 다루고 있어서 처음 딥러닝에 입문하는 사람은 물론 어느 정도 지식을 갖고 있는 사람에게도 도움이 되는 책이라고 생각된다.

 

또한 단순히 개념을 설명하는 것에 그치지 않고 실습 코드를 바탕으로 직접 모델을 구현해 보며 작동 원리를 이해할 수 있도록 구성되어 있어 웬만한 온라인 자료보다도 훨씬 알차고 짜임새 있게 구성되어 있어서 실무자에게도 큰 도움이 될 것이다. 다만 하나하나 친절히 설명해주지는 않으며 수식 전개가 간혹 어려운 부분이 존재하기 때문에 어느 정도 기본적인 실력은 갖추고 뛰어들기를 추천한다.

 

결론적으로, 이 책은 인공지능에 대한 기본적인 이해가 있고 파이썬 코드를 해석할 줄 아는 사람이 딥러닝을 심도 있게 배우기 위해 읽어볼 만한 책이다. 시중에서 판매되는 입문서보다는 난이도가 있으나 그만큼 알차게 내용이 구성되어 있기에 포기하지 말고 완독을 목표로 해보면 좋을 듯하다. 다만, 개인적으로 10장부터는 완벽히 이해를 하려 하기보다는 가볍게 읽고 필요할 때마다 찾아서 보는 것을 추천한다. 이 책은 제목 그대로 '정석'이기에 한 번에 완벽히 끝내려 하기보다는 곁에 두고 자주 펼쳐보며 친해져야 하는 책이기 때문이다.


목차

CHAPTER 1 딥러닝을 위한 선형대수학 기초

1.1 데이터 구조와 연산 

__1.1.1 행렬 연산 

__1.1.2 벡터 연산 

__1.1.3 행렬-벡터 곱셈 

1.2 기본 공간 

__1.2.1 열공간 

__1.2.2 영공간 

1.3 고유벡터와 고유값 

요약 

 

CHAPTER 2 확률 기초

2.1 사건과 확률 

2.2 조건부 확률 

2.3 확률 변수 

2.4 기댓값 

2.5 분산 

2.6 베이즈 정리 

2.7 엔트로피, 교차 엔트로피 및 KL 발산 

2.8 연속 확률 분포 

요약 60

 

CHAPTER 3 신경망

3.1 지능형 머신 구축 

3.2 전통적인 컴퓨터 프로그램의 한계 

3.3 머신러닝 동작 원리 

3.4 뉴런 

3.5 뉴런으로 나타낸 선형 퍼셉트론 

3.6 순방향 신경망 

3.7 선형 뉴런과 그 한계 

3.8 시그모이드 뉴런, Tanh 뉴런, ReLU 뉴런 

3.9 소프트맥스 출력 레이어 

요약 

 

CHAPTER 4 순방향 신경망 훈련

4.1 패스트푸드 문제 

4.2 경사하강법 

4.3 델타 규칙과 학습률 

4.4 시그모이드 뉴런을 이용한 경사하강법 

4.5 역전파 알고리즘 

4.6 확률적 경사하강법과 미니배치 경사하강법 

4.7 테스트셋, 검증셋, 과적합 

4.8 심층 신경망 과적합 방지 

 

CHAPTER 5 PyTorch 기반 신경망 구현

5.1 PyTorch 소개 

5.2 PyTorch 설치 

5.3 PyTorch 텐서 

__5.3.1 텐서 초기화 

__5.3.2 텐서 속성 

__5.3.3 텐서 연산 

5.4 PyTorch에서의 경사 

5.5 PyTorch nn 모듈 

5.6 PyTorch 데이터셋과 데이터 로더 

5.7 PyTorch에서 MNIST 분류기 구축 

요약 

 

CHAPTER 6 경사하강법

6.1 경사하강법의 도전 과제 

6.2 심층 신경망 오차 표면의 극소점 

6.3 모델 식별성 

6.4 심층 신경망에서 가짜 극소점이 미치는 영향 

6.5 오차 표면의 평평한 영역 

6.6 경사 방향이 잘못된 경우 

6.7 모멘텀 기반 최적화 

6.8 간략한 이차 근사 방법 개요 

6.9 학습률 적응 

__6.9.1 AdaGrad: 경사 누적 알고리즘 

__6.9.2 RMSProp: 경사 지수 가중 이동 평균 

__6.9.3 Adam: 모멘텀과 RMSProp의 결합 

6.10 옵티마이저 선택의 철학 

요약 

 

CHAPTER 7 합성곱 신경망 

7.1 인간 시각에서의 뉴런 

7.2 피처 선택의 한계 

7.3 기본 심층 신경망의 확장 한계 

7.4 필터와 피처 맵 

7.5 합성곱 레이어에 대한 상세 설명 

7.6 맥스 풀링 

7.7 합성곱 신경망 아키텍처 상세 설명 

7.8 합성곱 신경망으로 MNIST 문제 해결 

7.9 이미지 전처리 파이프라인으로 더욱 강건한 모델 지원

7.10 배치 정규화를 통한 훈련 가속화 

7.11 메모리 제약이 있는 학습 작업을 위한 그룹 정규화

7.12 CIFAR-10을 위한 합성곱 신경망 구축

7.13 합성곱 신경망에서 학습 시각화 

7.14 복잡한 심층 신경망을 위한 잔차 학습과 스킵 연결 

7.15 인간을 초월한 시각을 지닌 잔차 신경망 구축 

7.16 합성곱 필터를 활용한 예술 스타일 재현

7.17 다른 문제 도메인에 적용되는 합성곱 필터 학습

요약

 

CHAPTER 8 임베딩과 표현 학습

8.1 저차원 표현 학습 

8.2 주성분 분석

8.3 오토인코더 아키텍처의 필요성 

8.4 PyTorch에서 오토인코더 구현 

8.5 노이즈에 강한 표현을 위한 디노이징 

8.6 오토인코더에서의 희소성 

8.7 입력 벡터보다 컨텍스트에서 더 많은 정보를 제공하는 경우 

8.8 Word2Vec 프레임워크 

8.9 Skip-Gram 아키텍처 구현

요약 

 

CHAPTER 9 시퀀스 분석 모델

9.1 가변 길이 입력 분석 

9.2 신경망 N-Gram으로 seq2seq 처리 

9.3 품사 태거 구현 

9.4 의존성 파싱과 SyntaxNet 

9.5 빔 서치와 전역 정규화 

9.6 스테이트풀 딥러닝 모델 사례 

9.7 순환 신경망 

9.8 경사 소실의 문제점

9.9 장단기 메모리 유닛 

9.10 RNN 모델을 위한 PyTorch 기본 요소 

9.11 감정 분석 모델 구현 

9.12 순환 신경망으로 seq2seq 작업 해결 

9.13 어텐션으로 순환 신경망 증강 

9.14 번역 신경망 분석 

9.15 셀프 어텐션과 트랜스포머 

요약

 

CHAPTER 10 생성 모델

10.1 생성적 적대 신경망 

10.2 변이형 오토인코더 

10.3 변이형 오토인코더 구현 

10.4 점수 기반 생성 모델 

10.5 디노이징 오토인코더와 점수 매칭 

요약

 

CHAPTER 11 해석 가능성 방법론

11.1 개요 

11.2 결정 트리와 트리 기반 알고리즘 

11.3 선형 회귀 

11.4 피처 중요도 평가 방법 

__11.4.1 순열 피처 중요도 

__11.4.2 부분 의존도 그래프 

11.5 추출적 합리화

11.6 LIME 

11.7 SHAP 

요약

 

CHAPTER 12 메모리 증강 신경망

12.1 신경망 튜링 머신 

12.2 어텐션 기반 메모리 접근 

12.3 NTM 메모리 주소 지정 메커니즘 

12.4 미분 가능 신경망 컴퓨터 

12.5 DNC에서의 간섭 없는 쓰기

12.6 DNC 메모리 재사용 

12.7 DNC 쓰기의 시간적 연결 

12.8 DNC 읽기 헤드 이해 

12.9 DNC 컨트롤러 신경망 

12.10 동작 중인 DNC 시각화 

12.11 PyTorch에서 DNC 구현하기 

12.12 DNC에 독해를 가르치기 

요약

 

CHAPTER 13 강화 학습

13.1 Atari 게임을 마스터한 심층 강화 학습 

13.2 강화 학습 소개 

13.3 마르코프 결정 과정 

__13.3.1 정책 

__13.3.2 미래 보상 

__13.3.3 할인된 미래 보상 

13.4 탐색과 활용 비교 

__13.4.1