728x90
반응형

 

한빛미디어에서 "파이썬으로 배우는 딥러닝 교과서, 이미지 인식 모델을 만들면서 익히는 딥러닝" 이라는 책이 2020년 3월에 출간되었다 :) 예전부터 파이썬 언어 기반으로 된 총체적인 딥러닝 개념을 담은 책이 있었으면 좋겠다고 생각했었는데, 한빛 미디어에게 감사를 전한다.

 

이 책은 지은이인 이시카와 아키히코가 말하고 있듯, 파이썬 라이브러리를 이용하여 머신러닝과 딥러닝을 학습해 볼 수 있는 교과서 같은 책이다. 이 책의 최종적인 목표는 딥러닝 기술인 CNN(Convolutional Neural Network)를 이용하여 이미지 인식 프로젝트 구현까지 코딩하는 것을 목표로 한다. 불과 2~3년 전까지만 해도 CNN을 구현하여 이미지 인식을 한다는 것 자체가 어렵게 다가왔었으나, 딥러닝 기술이 무섭게 발전함에 따라 CNN을 시작으로 여러 성능 좋은 신경망 구조가 나오고 있다. 또한, 거의 모든 산업 영역에 딥러닝이 적용되고 있으며, 이와 관련된 딥러닝 개발자들이 넘치는 세상이 되었다. 그래서 이제는 누구나 프로그래밍을 아는사람이라면 3개월만 학습한다면 간단한 딥러닝 실무는 할 수 있을 것이라고 본다. 그러므로 프로그래밍 경험은 있지만 머신러닝과 파이썬 경험이 거의 없는 독자들을 위한 참고서로 이 책을 추천한다. 

 

책의 시작은 개발환경 설정부터 시작한다. 개인적으로 아나콘다 가상환경 보다는 도커 가상환경을 선호하지만, 초보자에게는 아나콘다 가상환경 + 주피터 노트북을 추천한다. 또한 파이썬을 이용한 딥러닝 실무에서 제일 중요한 것은 Numpy 를 어떻게 잘 다루느냐가 관건이라고 생각한다. 특히나 NumPy는 파이썬으로 벡터나 행렬 계산을 빠르게 하도록 특화된 기본 라이브러리이다. 여기서 라이브러리란 외부에서 읽어들이는 파이썬 코드 묶음이라고 보면 된다. 라이브러리 안에는 여러 모듈이 포함되어있으며 모듈은 많은 함수가 통합되어있다. 딥러닝에서 Feature Map 을 다룰 때, 이미지 데이터 세트를 다룰 때 등등 Numpy 라이브러리는 정말 많이 사용되기 때문에, 그 개념을 확실히 익히고 들어가는게 중요하다. 또한 Numpy 를 잘만 활용한다면 3~4줄이 될 수 있는 코드를 한 줄로 빠르게 구현해낼 수 있다는 매력적인 장점이 있다. 가령 예를 들어 파이썬 리스트로 150 x 150 의 행렬 곱 계산을 하는 경우 3.36 s 가 걸리지만, Numpy 의 dot 함수를 이용하여 행렬 곱 계산을 하는 경우에는 0.04 s 가 걸린다.

 

이 책을 딥러닝을 처음 배우는 사람들에게 추천하고 싶은 이유는 파이썬 라이브러리 Numpy, Pandas 에 대해서 자세히 설명하고 있으며, 연습 문제를 통해 그 개념을 확실히 익혀낼 수 있다. 또한 이미지 데이터 전처리 하는 방식을 엄청 자세히 설명해두었다. 내가 시중에 본 책들 중에서 가장 자세히 설명하고 있었으며, 실무에서 가장 많이 쓰는 대표적인 이미지 처리 라이브러리인 OpenCV 를 통해 설명을 하고 있어서 도움이 많이 되었다. 그 외에도 파이썬 기초 내용 + 데이터 시각화 + 하이퍼파라미터 튜닝 + CNN에 대한 자세한 설명을 상세히 담고 있어서, 대학교나 스터디에서 교과서로 쓰면 좋을 것 같다. 비로소 이 책을 훑어보고서, 교과서라는 네이밍을 붙인 이유를 알게 되었다. 

728x90
반응형