본문 바로가기
한빛미디어

비전 시스템을 위한 딥러닝 - 모하메드 엘겐디

by 두재 2022. 2. 22.

책 전면

1. 서론

머신 러닝, 인공 지능, 뉴럴넷이라는 단어가 일반인들에게까지 친숙한 용어가 되었다.

2016년 알파고와 이세돌의 경기로부터 모든 것이 시작되었지만 현재는 많은 사람들이 인공 지능하면 테슬라를 떠올릴 것 같다. 테슬라는 자율 주행을 위해 인공 지능을 굉장히 많이, 그리고 잘 사용한다. 이때 사용되는 인공 지능은 컴퓨터 비전이라는 큰 분야에서의 한 가지 접근법 중 하나이다.

컴퓨터 비전이란 쉽게 컴퓨터가 어떠한 이미지 혹은 비디오를 이해할 수 있도록 만드는 것이다. 사진에서 동전이 몇 개 있는지 찾는 것부터 얼굴 인식, MRI 이미지로부터 종양 탐지 등 굉장히 다양한 분야에서 사용될 수 있다. 참고로, 인공 지능을 사용하기 이전부터 컴퓨터 비전은 연구가 많이 된 전통 있는 분야이다. 동전이 몇 개 있는지를 찾는 것은 OpenCV의 threshold, distanceTransform, connectedComponents과 같은 함수들로 구현할 수 있다.

Convolutional Neural Network (CNN)의 등장과 함께 인공 지능은 기존에 사용하던 꽤 많은 컴퓨터 비전 알고리즘들을 대체하고 있다. 특히 이미지의 해상도를 높이는 Super Resolution, 물체를 인식하는 Object Detection, 화풍을 가지고 그림들을 그리는 Image Generation 등의 (비교적) 간단한 문제들은 인공 지능으로 너무 많이 연구가 되었다고 볼 수 있을 것 같다. 이제는 인공 지능을 활용해 3차원 렌더링을 하는 Neural Rendering, 여러 각도에서 어떤 물체를 촬영한 사진 몇 장으로 다른 각도에서 찍은 것 같은 이미지를 만드는 NeRF, 비디오에서 화면과 음성을 동시에 받아 과제를 수행하는 Multimodal Learning 등 무궁무진한 분야들로 영역을 확장해가고 있다.

머신 러닝에는 앞서 말한 컴퓨터 비전에 적용하는 것 외에도 정말 다양한 연구 분야가 있지만, 인공 지능에서 컴퓨터 비전이 가장 연구가 활발히 되고 있다는 것을 부정할 사람은 아무도 없을 것이다. 무엇보다 솔직히, 컴퓨터 비전이 제일 Fancy하다.

 

위 책은 컴퓨터 비전을 위한 인공 지능을 처음 공부해보려고 하는 사람에게 추천할 만한 책이다. 그렇다고 마냥 기초적인 내용만 있는 것이 아니라 후반부에는 꽤 중요하고 어느 정도 수준이 있는 내용도 다루며 실습 자료나 코드 설명이 친절하여 이 책을 읽고 실습을 따라온다면 꽤 많은 지식을 얻을 수 있을 것 같다. 무엇보다 번역은 당연하고 용어들 또한 모두 한국어로 되어 있어 편하게 읽을 수 있다. (나는 이 분야에서 연구를 하고 있기 때문에 영어 단어가 편하여 이 글에 영어 단어가 나오고 있긴 하다.)

 

 


2. 목차 및 구성

책은 크게 3개의 파트로 구성되어 있다.

Part 1은 딥러닝 기초로 컴퓨터 비전과 인공 지능에 대한 전반적이고 기초적인 내용을 전달한다. 특히 인공 지능에 대한 기초부터 Convolutional layer, 배치 정규화, 초기화 등 필수적인 정보들이 모두 있다.

Part 2는 이미지 분류와 탐지로 Classification과 Detection을 다룬다. LeNet, VGGNet부터 ResNet등 모델이 점점 deep해지는 역사를 함께 따라간다. 이 파트는 인터넷에도 지식은 넘쳐흐르는데, 지식의 홍수 속에서 공부하기보다는 이렇게 책으로 정리된 것을 따라가는 것이 아마 처음 공부하기에는 훨씬 편할 것이다.

파트3

Part 3는 생성 모델과 시각 임베딩으로 또 정말 독창적이고 신기한 GAN이라는 것을 다룬다. 이외에도 Deep Dream이나 시각 임베딩이라는 것을 다룬다. 이 파트를 내가 인터넷이나 논문을 통해 공부했을 때를 비교하며 읽어보니 훨씬 이해하기 수월했다. 특히, Deep Dream이나 Style Transfer와 같은 것들은 "그렇게 개념이 어려운 것은 아니나 정확히 알고 있지는 않은 상태"에 빠져 있는 경우가 많은데, 한 번 이 책을 통해서 제대로 이해하고 넘어가면 좋을 것 같다.

 

 


3. 스냅샷

처음 Deep Dream에 대해 알고 이를 통해 만든 이미지들을 봤을 때는 충격적이었다. 그때 자세하지는 않고 얼추 내용을 이해하기만 하고 넘어갔었는데, 이번 기회에 제대로 이해했다.

Contrastive learning이라는 인공 지능의 한 분야가 있는데 시각 임베딩 섹션에서 이를 다룬다. 이때 대조 손실 (Contrastive loss)이 나오는데, "기초 책이라고 생각했는데 이런 내용도 나와?" 싶어서 찍었다. 특히 시각 임베딩이라는 개념 자체가 개인적으로는 초보 수준은 아니라고 생각하는데 꽤 자세히 다루고 있었다.

 


4. 그 외 디테일

실습 코드 깃허브 저장소

Appendix A에는 실습 코드부터 환경 세팅에 관한 내용이 있다. 특히, 인공 지능 공부를 하다 보면 환경을 세팅하는 것이 꽤 일이다. 익숙하지 못할 때는 나도 정말 엄청 고생했던 기억이 있다. 특히, 또 인터넷 속에서 여러 블로그들을 따라 하다 보면 꼬이기 마련이다. 이 또한 이 책처럼 잘 정리되어 있는 것이 하나 있다면 진득하게 하라는 대로 하는 편이 편할 것이다.

또한 실습 코드는 깃허브 저장소에 올라와 있으며 살펴보니 코드도 잘 짜고 정리가 잘 되어 있었다. 깃허브는 코딩을 좀 한다고 하는 사람이라면 꼭 알아야 하는 것이라 혹시 잘 모른다면 이참에 공부해 보는 것도 좋을 것 같다.

 

Index

여느 컴퓨터 관련 책들과 마찬가지로 맨 뒤에는 인덱스가 있어서 단어는 생각나는데 어딜 봐야 하는지 모를 때 몇 페이지를 보면 되는지 알 수 있게 되어 있다.

 


5. 마무리

컴퓨터 비전에서 사용되는 인공 지능이 무엇인지 알고 싶고 한 번 만들어 보고 싶은 사람들을 위한 책이다. 특히, 하나도 모르는 사람도 충분히 잘 따라올 수 있으며 내용도 자세하고 읽기 편했다. 또, 후반부에는 꽤 심화된 내용을 다루기 때문에 이 책의 내용을 모두 공부한다면 일반인이라고 부를 수 없을 것 같다. 또한 사진 자료가 많고 코드에 대한 상세한 설명이 풍부해 지루하지도 않았던 것 같다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."