밑바닥부터 시작하는 딥러닝 - 딥러닝의 뼈대를 빠르게 알고 싶을 때

L-cloud·2024년 9월 24일
0

책리뷰

목록 보기
4/4
post-thumbnail

밑바닥부터 시작하는 딥러닝를 읽게 된 이유와 감상에 대한 글입니다.

왜 읽었었을까?

개발하며 서비스 측면에서나 개인적인 측면에서 AI를 많이 사용하고 있습니다. 발전 속도와 퍼지는 속도를 보며 AI(머신러닝? 딥러닝?)도 이제 CS의 한 축이 되지 않았나 생각하여 도커 책을 끝내고 학습을 시작하려 했습니다. 하지만 회사 내부 이슈로 Fine-tuning을 돕거나 직접 해야 하는 업무가 생겨 예정보다 빠르게 읽게 되었습니다. 애초에 책이 1~4권 시리즈가 있고, 목차를 보니 수학적으로 완전히 파고드는 스타일도 아니고 빠르게 딥러닝을 훑을 수 있을 듯하여 선택했습니다. 이 책을 보고 Fine-tuning을 해야지!는 아니고 도대체 딥러닝이 그래서 뭔데? 에 대한 답을 기대하며 읽었습니다.

이 책은 무엇을 이야기하는가?

퍼셉트론으로 시작해서 딥러닝까지 다루고 있습니다. Numpy를 가지고 퍼셉트론, Softmax, SGD, backpropagation, 신경망, CNN 등을 구현합니다. 범위를 보면 알 수 있듯, 수학적으로 엄밀하게 증명하거나 자세히 들어가지는 않습니다. 딥러닝에 필요한 뼈대를 잘 발라내서 이야기하고 있습니다. 김영한 강사님의 스프링 가본 편(무료 강의 혹은 1편)과 스타일이 유사합니다. 스프링이 왜 나오게 되었는지, 기존 방식과 무엇이 다르고 스프링의 핵심은 무엇인지를 강의에서 다루는데 이 책도 마찬가지입니다. 어떻게 딥러닝이 나오게 되었고 그 핵심 개념은 무엇인가를 빠르게 배울 수 있습니다.

무엇을 배웠는가?

사실 학부 때 AI 수업을 들으며 신경망과 backpropagation까지는 배웠던 기억이 있습니다. 책을 읽으며 잊어버렸던 다시 기억을 되살리기도 했고, 다양한 매개변수 갱신 방법, 하이퍼 파라미터 초깃값, 드롭아웃 등을 새로 배웠습니다. CNN은 처음 접하는 내용이었기에 합성곱과 Pooling도 새로운 내용이었습니다. 다행히 신경망이라는 큰 틀은 변함없기에 생각보다는 쉽게 이해할 수 있었습니다. 코드와 설명을 보면서 이해는 했지만, 예제 없이 구현할 수 있을 정도로 학습하지는 않았습니다. 우선 빠르게 자연어 처리와 RNN까지는 학습하고 싶어서 큰 그림을 그리는 것에 초점을 두었습니다. 개인적으로 신경망이 어떻게 비선형성을 표현하는지가 정말 재미있었습니다. 이는 글 주제로 한 번 작성해 볼까 합니다.

추천하는 독자는 누구인가?

미적분과 선형 대수를 어느 정도 아는 독자가 좋을 것 같습니다. Numpy로 연산하는 것이 사실 다 행렬 연산이기에 선형 대수 개념이 없다면 이해하는데 다소 어려움을 겪을 듯합니다. 미적분은 고등학교 시절을 떠올리면 괜찮지 않을까 합니다. 개인적으로 이 책은 아주 기본서에 해당 한다고 생각하기에 완독 후" 나는 딥러닝 알아!!"라고 말하기는 어렵습니다. 마치 OS 공룡 책을 다 보고 "나 OS 다 알아!"라고 하는 것과 비슷합니다. 그래도 다른 딥러닝 기법을 배우기 위한 기초를 알려주는 책이니 AI를 살짝이라도 맛보고 싶은 사람들에게 적극 추천합니다! 1~2주 정도면 빠르게 다 읽을 수 있습니다!

강력 추천 선형대수 강의

profile
내가 배운 것 정리

0개의 댓글