aul020***
2022-02-23

이 책은 아주 어렵지 않은 수준에서 컴퓨터 비전 시스템에 고급 딥러닝 알고리즘을 어떻게 활용하는지 소개한다. 파이썬 코드를 어느 정도 작성할 수 있는 사람이라면 다양한 딥러닝 기반 알고리즘을 활용해 컴퓨터 비전을 구현해 자신의 커리어를 한 단계 향상할 수 있다.
달마다 그렇듯 한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받았습니다.
제목 그대로 이 책은 시각정보 처리에 딥러닝을 적용하는 방법을 다룬다.저자인 모하메드 엘겐디는 컴퓨터 비전과 딥러닝을 모두 다루는 책 한권이 있으면 좋겠다고 생각해서 이 책을 쓰게 되었는데, 한 1년만 일찍 나왔으면 작년에 내가 대회나갈 때 더 도움이 되었을 것 같다.
내가 딥러닝 관련 책을 읽으면서 가장 먼저, 많이 접한 응용분야가 비전관련 분야였고, 이미 나같은 초보자가 접할 수 있다는 것은 그만큼 해당 영역에서 연구가 충분히 활발히 진행되어 진입장벽이 다소 낮아졌기 때문일 것이다.하지만 이러한 과정에서도 많은 자료들은 MNIST같은 잘 만들어진 데이터로 기본적인 내용만 다루고 딥러닝에 관한 설명에 치우쳐져 있어 독자가 내용을 바탕으로 활용하기 위해 필요한 컴퓨터 비전기법 관련 내용이 부족하거나.반대로 책은 컴퓨터 비전을 주로 다루고 딥러닝을 사용한 기법은 책의 일부에 결국엔 컴퓨터 비전의 일부로만 다루는 경우가 적지 않았다.작년 대회 준비 하면서 본 여러책의 예제와 블로그 등을 찾아보면서 '딥러닝으로 분류하기' 등의 주제를 다룬 책의 챕터나 인터넷 글들이 대다수 이런 식이었다.
비유를 하자면 '수능공부를 하려는데 세상에는 기본적인 내용을 다룬 교과서만 있는' 느낌.
어쨌든 지금이라도 괜찮아 보이는 책이 등장해서 다행이다.
1장에선 컴퓨터 비전에 대한 소개를 한다.어떤 응용분야가 있고, 어떤식으로 처리과정이 흘러가고 진행되는지.
2장은 퍼셉트론부터 시작해 신경망과 딥러닝 알고리즘에 대한 설명을 진행한다.2장부터가 저자가 한권에 담고 싶었던 내용의 본격적인 시작이라고 할 수 있는데. 다른 수많은 딥러닝 도서들이 3-4만원짜리 책 한권으로 써낼 분량을 요약적으로 잘 압축했다는 생각이 들었다.
다만 개인적으로 Leaky ReLU를 누설 ReLU로 번역한 건 처음 본것 같아서 다소 어색한 부분이 있었다.강의같은거 보면 거의 대부분의 용어들을 영어 그대로 사용하시는데, 가끔 과하게 다 번역한 책들을 접하면 해당 분야의 다른 사람들과 나중에 이야기 할 때 의사전달의 오류를 일으키는 계기가 될 것 같아 조금 우려스러운 측면이 있다.물론 책에도 이 용어가 처음 등장할 때 영어표기가 등장하긴 하지만, 우리나라에서도 해외의 영어 자료들을 접할 일이 훨씬 많으니 이런 전문적인 분야에선 의미전달이 원활한 선에선 최대한 영어표기를 따르는 것이 좋다고 생각한다.
친절한 하이퍼파라미터 경보!!
대회때 이거 진짜 고민 많이 했는데.
3장은 컴퓨터비전 딥러닝 하면 빠지지 않는 CNN을 설명하고, 4장은 하이퍼파라미터 튜닝을 다룬다.뭔가 데이터가 왕창 있어도, 하이퍼파라미터를 설정하는데 잘못된 개념을 적용하거나, 실수가 있으면 수많은 자원을 낭비하고 결과물도 빨리 나오지 않으며 무엇보다 원하는 결과를 거의 달성하기 어렵기 때문에 나는 이 부분이 상당히 중요하다고 생각한다.
이어서 5장은 LeNet-5, AlexNet, VGGNet, 인셉션, ResNet 등 성능이 좋다고 이 분야 사람은 한 번 쯤은 들어봤을 모델들도 다룬다.
그리고 6장은 모델만 만들어서 두고두고 잘 활용하기 위한 전이학습에 관련해서 자세히 설명해준다. 파인-튜닝을 어떻게 해야하고(파튜를 미세조정으로 번역하니 잘 와닿는다! 근데 페북 딥러닝 그룹에선 fine-tuning을 훨씬 더 많이 봐서 그런지 약간 낯설기도 하다.), 시나리오를 제시해 전이학습을 어느 수준으로 적용해야 할지 도와준다! 그리고 대부분의 개인 프로젝트가 직접 준비한 데이터셋을 사용해야 하겠지만, 친절하게 오픈소스 데이터셋도 몇페이지를 할당해 알려준다.
7, 8, 9, 10 장은 응용분야인데 YOLO3, SSD, R-CNN으로 객체 탐지에 관련된 기법과 GAN, 딥드림의 작동법도 다룬다!
뭔가 '나도 이 분야 전문가인데 책이나 한번 써볼까?' 해서 쓴게 아니라, 저자의 집필 동기 그대로 '나 공부할 때 이거 없어서 내가 일일히 찾은것들 좀 공개해볼까' 하는 책같다는 느낌이 들었다.이 책이 딥러닝+컴퓨터 비전의 모든것을 다루고 있진 않지만, 경험에서 나온 설명은 큰 도움이 될 것 같다.
아쉬운건 이 책도 저자가 마련한 실제로 쓰일만한 데이터셋보단 MNIST데이터넷이 꽤 쓰인거.차라리 Kaggle 데이터셋이 조금 더 응용하는 느낌도 나고 좋은데, 너무 특이한 경우면 주제에 대한 설명이 객관적이지가 않을것 같긴 하다.