안녕하세요 괴짜 개발자 namedboy 입니다. 😎
혹시 딥러닝은 배우기 어려운 분야 라고 생각하시나요? 저도 비슷한 생각을 가지고 있습니다.
아무리 책에서 쉽게 설명해도 여러 함수나 용어 자체가 익숙하지 않으면 이해가 어렵고 그만큼 배우기 어려워지죠. 제가 추구하는 것도 무엇이든 배울 때 완전히 이해를 하고 그 이해를 바탕으로 더 나은 것들을 생각할 수 있을 때 제대로 배우고 익혔다라고 생각합니다. 하지만 그렇게 하지 못하는 분야도 많죠.
그렇게 하지 못했을 때 할 수 있는 나머지 방법 하나가 결과를 보고 과정을 이해하는 방법인데요. 지금 제가 리뷰할 이 책이 딱 그 방식으로 배우는 접근을 하고 있다고 느꼈습니다.
사실 책 초반에 기초 이론을 습득한 사람이 이 책으로 공부하면 적당한 수준이라고 생각한다고 쓰여 있기도 합니다. 몇가지를 써보면 이렇습니다.
- 파이썬 기본 문법과 객체지향 기초 개념(필수)
- 밑바닥부터 시작하는 딥러닝 혹은 그에 준하는 딥러닝 기초 이론(필수)
최소한 이 두가지 정도는 필요하다고 얘기하고 있습니다. 그 이유가 관련 이론과 함께 수학적인 메커니즘의 이해를 요하고 있기 때문입니다.
이 책은 프레임워크를 만드는 방식을 채용했습니다.
기술적인 이해와 이론이 워낙 어려우니 변수, 함수, 미분, 재귀, 반복문등을 만들어보면서 딥러닝 자체를 이해하는 시도인거죠.
아무런 이해가 없어도 책을 따라서 하나씩 하나씩 만들면서 이해하고 딥러닝 프레임워크가 어떻게 동작하는지 알게 되는 것이죠. 물론 중간 중간 이론적인 내용도 이해를 해야 합니다. 그렇지 않으면 책에서 만들라고 해서 만들었지만 결국 내것이 아니라 책이 시켜서 한 것밖에 되지 않기 때문이죠.
어쨌든 책에서 DeZero라는 프레임워크를 만들면서 딥러닝의 모델을 테스트하고 시험해보게 됩니다.
처음에 변수를 만들고 그 다음 함수를 만들고 미분 고차 미분등을 처리하는 프로세스를 만들어 신경망처리를 하고 딥러닝을 처리할 수 있게 됩니다.
정말 밑바닥부터 만든 딥러닝인것이죠.
딥러닝에 대해 잘 몰라도 전체를 만들고 나서 각각 하나 하나의 프로세스가 동작하는 과정의 이해를 하고 나면 딥러닝이라는 분야에 대해 한층 더 이해하고 습득할 수 있지 않을까 생각해봅니다.
이 책은 링크 에서 보실 수 있습니다.