#딥러닝 #신경망 #수학 #역전파 #경사하강법 #확률 #통계 #선형대수 #미분 #제이펍 #서평 #책추천
신경망 수학 기초부터 역전파와 경사하강법까지
확률, 통계, 선형대수, 미분, 행렬로 역전파, 경사하강법 제대로 정복하기
심층학습의 기본이 되는 수학 개념을 파이썬 예제 코드로 이해하기
책을 읽게 된 이야기
몇 년 전까지만해도 저는 수학, 과학, 교육에 대한 관심이 많았습니다. 그랬던 관심이 최근에는 코딩, 인공지능, 머신러닝 쪽으로 옮겨가고 있습니다. 사실 코딩과 머신러닝에 대한 부분은 그 자체에도 관심이 있지만 이것을 수학, 교육과 어떻게 연결 지을지에 대한 관심이 더 많기도 합니다.
대안학교에서 중고등학생들을 가르치면서 다양한 방식의 수학 교육에 대해 고민하고 있습니다. 그 중에 하나가 기초적인 코딩을 활용하여 수학의 이론을 가르치는 방법에 대한 고민입니다. 그래서 수학과 코딩이 연결된 책들이라면 우선적으로 선택해서 보는 편입니다. 이번에 읽게 된 "딥러닝을 위한 수학"도 그런 의미로 읽기 시작하였습니다.
수학과 코딩을 어떻게 연결하면 좋을까?
물론 이 책은 중고등학생들이 보기에는 매우 수준이 높은 수학을 다루고 있습니다. 다만 이를 바탕으로 중고등학교 수준의 좀 더 쉬운 수학을 어떻게 코딩과 연결하여 자료를 만들어 볼 수 있을까 고민하기에는 꽤 괜찮은 책이었다고 생각합니다.
책 이야기 : 딥러닝을 위한 수학
이 책은 기본적으로 수학책 입니다. 딥러닝에 대한 구현 자체 내용 보다는 구현을 위한 수학 이론들을 다루고 있습니다. 저자가 설명한 대로 이 책은 심층학습의 기초를 가르치지는 않습니다. 심층학습에 대한 기본적인 배경 지식이 있는 것으로, 그리고 파이썬에 대한 기초 지식도 있는 것을 가정하고 있습니다. 수학책이니까!
이 책의 목차를 보면 그게 더 분명하게 나타납니다.
CHAPTER 1 실습 환경 설정
CHAPTER 2 확률 1부
CHAPTER 3 확률 2부
CHAPTER 4 통계
CHAPTER 5 선형대수 1부
CHAPTER 6 선형대수 2부
CHAPTER 7 미분
CHAPTER 8 행렬 미분
CHAPTER 9 신경망의 데이터 흐름
CHAPTER 10 역전파
CHAPTER 11 경사하강법
딱 봐도 수학책입니다.
기본적인 수학 이론에 대한 설명이 있고 이를 파이썬 코드로 구현을 해봅니다. 기초 확률 이론에서 시작하여 확률 분포, 통계학, 선형대수와 미분에 이르기까지 학부 수준의 기초 수학 이론들을 가볍게 살펴볼 수 있습니다. 수학 책이기는 하지만 심층학습에 필요한 수학들을 다루고 있기 때문에 아주 깊게 다루지는 않지만 상당히 수준 높은 내용들도 등장합니다.
머신러닝 기술을 공부하는 데 있어서 다양한 라이브러리를 어떻게 사용하는 지만 알아도 기술을 구현하는 데에는 큰 문제가 없을 수도 있습니다. 하지만 그것이 구현되는 원리들, 특히 수학적인 원리를 더 잘 이해한다면 기술 구현에 아주 유익하다고 생각합니다. 딥러닝을 위한 수학 기초 개념을 익히기에 이 책은 넓은 범위의 내용들을 아주 충실히 다루고 있습니다.
이렇게 익힌 수학적 개념들은 결국 역전파와 경사하강법에 대한 내용을 이해하기 위한 발판입니다. 일반적인 딥러닝 입문서에서도 볼 수 있는 내용이지만 수학적 원리까지는 깊이 다루지 못합니다. 이 책을 통해 이 개념을 어떻게 수학적으로, 어떻게 파이썬으로 구현하는지를 단계적으로 이해해볼 수 있습니다.
여담이지만 학부 시절에 그래디언트(기울기: gradient)의 개념을 이해하기 참 어려웠습니다.
$$\nabla f = {{\partial f}\over{\partial x}} \mathbf{i} + {{\partial f}\over{\partial y}} \mathbf{j} + {{\partial f}\over{\partial z}} \mathbf{k}$$
왜 그 때는 이 책에서 처럼 그래디언트의 개념을 코드로 만들어서 시각화해보며 공부할 생각을 못했을까라는 생각이 들었습니다.
이 책에 대한 간단한 평가
딥러닝을 공부하면서 심층학습의 기본이 되는 수학 개념을 확실히 파악하고 싶다면, 그 수학적 개념들을 실행 가능한 파이썬 예제 코드와 함께 공부해보고 싶다면 꼭 읽어보세요. 차근 차근 따라 읽다보면 어느 새 역전파와 경사하강법까지 다가갈 수 있습니다.
이 책에서 다루고 있는 기초 개념들
확률법칙, 이산확률분포, 연속활률분포, 중심극한정리, 큰수의 법칙, 베이즈 정리, 요약 통계량, 피어슨 상관계수, 스피어먼 상관계수, t-검정, 맨-휘트니 U 검정, 스칼라, 벡터, 행렬, 텐서, 정방행렬, 행렬식, 역행렬, 고윳값과 고유벡터, L-노름, 공분산 행렬, 마할라노비스 거리, 쿨백-라이블러 발산값, 도함수, 기본 미분법, 삼각함수 미분법, 지수함수와 로그함수의 미분법, 편미분, 그래디언트, 행렬 미분, 야코비 행렬, 헤세 행렬, 합성곱, 합성곱 층, 풀링 층, 역전파, 1차원 경사하강법, 2차원 경사하강법, RMSprop, AdaGrad, ADADELTA, Adam 등
참 많습니다. 공부할 먹거리가 충분히 많은 좋은 책입니다!! 강추!!!
제이펍 <IT 전문서 리뷰어> 활동을 위해서 책을 제공받아 작성된 서평입니다.
댓글