파이썬으로 배우는 딥러닝 교과서

오늘 살펴볼 도서는 한빛미디어의 '파이썬으로 배우는 딥러닝 교과서'입니다. 부제로 '이미지 인식 모델을 만들면서 익히는 딥러닝'을 사용하고 있는데, 파이썬 기초부터 시작해 이미지 인식을 다루는 딥러닝 예제를 살펴보는 번역서입니다. 딥러닝 초심자부터 중급자까지 다루는 도서인만큼 프로그래밍 경험이 다소 있지만 파이썬에 익숙치 않고 딥러닝이 처음인 독자를 위한 도서입니다. 기본적인 컴퓨터 지식과 기초적인 프로그래밍 경험, 함수 및 미분, 벡터, 행렬 등의 기초가 있으면 좋지만 이 책의 앞부분에서 꽤 다루고 있기때문에 기억이 가물가물하더라도 괜찮습니다. 초심자부터 시작하는 도서인만큼 처음부터 개발 환경을 준비하고, 머신러닝이 무엇인지 등 이론적인 내용부터 시작해, 파이썬을 활용한 딥러닝에 필수적인 사항인 변수 및 자료형, 문법, Numpy, Pandas 패키지 등을 다루고 있습니다. 

 

10장부터는 본격적인 데이터 시각화에 대해 다루고 있는데, 딥러닝의 결과를 시각적으로 나타내고 성능 또한 그래프로 나타내는 것이 중요합니다. 실제 딥러닝은 수많은 수치 연산으로 이뤄지기 때문에 성능 평가와 그 결과를 시각화해 이해하고 객관적인 지표로 사용하는 것이 중요합니다. 따라서 한 번 익혀놓으면 어떻게 활용해야 될지 감이 잡히고 시간이 흐른 후 여러분만의 딥러닝 모델을 만들때 또는 다른 사람의 모델을 볼 때 많은 도움이 될 것입니다. 기본적인 패키지는 matplotlib를 사용하지만 최근에는 반응형, 웹형 패키지도 이용하고 있습니다. 더군다나 tensorboard와 같은 추상화과 잘된 패키지를 이용할 경우 전문가들처럼 다양한 수치 및 시각적인 자료를 코드 한 줄로 해결할 수 있습니다. 패키지를 워낙에 많이 존재하니 본인한테 익숙하거나 많은 사람들이 사용하는 패키지를 사용하는 것이 좋을 듯 합니다.

 

이미지 데이터의 경우 15장부터 OpenCV를 활용해 처리합니다. 이미지 데이터는 행렬과 유사하므로 또다른 접근법이 필요합니다. 많이 사용되는 프레임워크는 OpenCV로 컴퓨터 비전분야에서 많이 사용됩니다. 16장은 지도학습 중 분류문제에 대한 기초를 다루고 있습니다. 대표적인 통계적 기법인 회귀, 서포트 벡터 머신, 랜덤 포레스트 등을 다루고 있는데 데이터의 종류, 형태, 구성에 따라 이러한 기법을 자유자재로 다뤄야 되는데 이 때 하이퍼파라미터와 같이 기법의 수치적인 사항을 조절해 알맞게 적용해야 합니다. 머신러닝과 다르게 딥러닝은 신경망을 이용해 손실 함수를 정의하고 이 손실함수가 최소화가 되도록 반복적으로 학습합니다. 신경망 중 가장 널리 사용되는 것이 합성곱 신경망인 CNN으로 21장부터 이미지 인식에 필요한 CNN을 다루고 있습니다. 분류 문제를 다루고 있으며, 해당 이미지가 dog 이미지인지, cat 이미지인지 등 해당 이미지의 클래스를 구별합니다. 이미지 인식률을 높이기 위해서 다양한 데이터 기법들이 사용되는데, 여기서는 22장에서 데이터 부풀리기, 정규화, 전이 학습 등 비교적 간단하게 설명하고 있으니 좀 더 깊게 알고 싶으면 개인적인 공부가 더 필요할 듯 합니다.

 

이 책은 전체적으로 파이썬을 활용한 딥러닝의 기초를 위한 도서입니다. 초심자에게 파이썬 기초부터 딥러닝이 어떻게 구성되고 실제 구현이 어떻게 이뤄지는 지 궁금한 독자분들이 많은 것입니다. 특히 비전공자일수록 그럴 수 있는데, 초급부터 중급 독자를 위한 도서인 만큼 넓은 계층에서 지금은 널리 사용되는 딥러닝의 기초를 익혀 많은 도움이 되길 바랍니다.

 

+ Recent posts