sou***
2021-09-27

입문서에서는 알기 어려웠던 전이학습과 파인튜닝을 활용한 화상 분류, 물체 감지, 시맨틱 분할, 자세 추정, GAN을 활용한 화상 생성 및 이상 탐지, 텍스트 데이터 감정 분석, 동영상 데이터 클래스 분류를 12가지 모델로 구현하며 배울 수 있다.
#파이토치 #딥러닝 #일본책 #pytorch #DeepLearning #MachineLearning
이번에 리뷰할 책은 "만들면서 배우는 파이토치 딥러닝"이다. 이 책은 오타와 유가로 저자가 쓰고 박광수(아크몬드) 역자가 번역한 책이다.
이 책은 9장의 챕터로 구성되어 있으며 가장 많은 지면을 할애한 것은 1장 화상분류와 전이학습(VGG)이다. 아쉬운 점은 책의 두께가 두껍고 각 장이 몇 페이지인지 안내하는 목차 페이지 표시가 없다는 점이다.물론 맨 뒤에 index를 보고 원하는 것을 찾아갈 수도 있지만 좋게 해석하자면 아마도 1장부터 순서대로 읽고자 원하는 마음에서 목차를 뺀것으로 생각된다. 또 한가지 아쉬운 점은 1장부터 순서대로 실습을 하면 가장 처음 예제는 실행이 안 된다. 1장의 중간이후를 읽어야 정상적으로 실행할 수 있는 방법을 알게 된다. 그리고 또 아쉬운 점은 파이토치 1.1로 구성되어 있다. 물론 호환이 잘 되기 때문에 대부분은 무리없이 실행되나 간혹 파이토치 1.6이상의 상위버전에서는 실행 결과가 다르게 나와 약간 당혹스럽다. 최근 나오는 파이토치 책들이 1.6이상 버전에서 실행된 것에 비해 아쉬운 점이다.
이 책의 좋은 점은 일관성을 유지하는 코딩표기법이나 가독성을 높이기 위한 코드 호환성을 통일감있게 가져가고 기초를 읽힌 사람이 응용으로 어려운 문제를 해결하고자 할 때 사용할 만한 전이학습과 GAN과 자연어처리 동영상 처리등 다양한 분야를 다루고자 한 점이다. 하지만 PC자원의 여유공간이 없거나 AWS클라우드를 사용하지 않는다면 실행이 오래 걸린다는 단점이 있다.
처음 설치부터 AWS사용법뿐만 아니라 딥러닝의 다양한 활용까지 내용이 워낙 방대하다보니 책이 백과사전의 느낌이라는 것이 또 이 책의 장점이다.
파이토치는 최근 버전에서 다양한 라이브러리와 함께 쓸 수 있어서 세부내용에 대해서 모르고 구현하는 경우가 종종 있다. 이 책을 따라 동일한 코드를 몇번을 코딩하다보면(이 책의 내용이 반복?학습위주로 작성) 저수준으로 어떻게 구현해야 할 수 있는지를 알게 될것이다.
★ 각 장의 개요
_1장. 화상 분류와 전이학습(VGG)
학습된 VGG 모델을 활용해 소량의 데이터로 딥러닝 모델을 구축할 수 있는 전이학습과 파인튜닝을 알아봅니다. 또한 이 책에서는 AWS의 클라우드 GPU 머신을 사용하여 딥러닝을 설명합니다.
_2장. 물체 인식(SSD)
물체 감지는 딥러닝 응용 방법 중에서도 특히 복잡한 기술입니다. SSD 모델을 활용해 물체 감지의 흐름을 설명합니다.
_3장. 시맨틱 분할(PSPNet)
픽셀 수준에서 물체를 분류하는 시맨틱 분할을 학습하면서 딥러닝 모델 PSPNet을 설명합니다. 어떻게 픽셀 수준에서 물체를 분류할 수 있는지와 함께 네트워크 구조, 순전파함수, 손실함수도 알아봅니다.
_4장. 자세 추정(OpenPose)
자세 추정은 화상에 포함된 여러 인물을 탐지하여 인체 각 부위의 위치를 식별하고 부위를 연결하는 선(링크)을 구하는 기술입니다. OpenPose가 어떻게 사람의 각 부위를 탐지하고 부위를 서로 연결하는지 구현하며 그 구조를 확인합니다. 모델의 네트워크 구조 확인 방법으로 텐서보드X 사용법을 설명합니다.
_5장. GAN을 활용한 화상 생성(DCGAN, Self-Attention GAN)
Self-Attention은 자연어 처리(NLP)에 활용되는 Transformer와 BERT의 열쇠가 되지만 이해하기 어렵기 때문에 우선은 화상에서 Self-Attention을 구현하고 이해하는 것을 목표로 합니다.
_6장. GAN을 활용한 이상 감지(AnoGAN, Efficient GAN)
이상 화상 검출은 의료 현장에서 질환 및 건강 상태를 판별하거나 제조업에서 이상이 있는 부품을 검출할 경우 등에 사용합니다. 이상 화상이 정상 화상보다 매우 적을 때는 AnoGAN을, 이상 탐지에 걸리는 시간을 해결하기 위해서는 EfficientGAN을 응용할 수 있습니다.
_7장. 자연어 처리를 활용한 감정 분석(Transformer)
텍스트 데이터를 취급하는 자연어 처리를 살펴보고 딥러닝 모델 Transformer를 활용해 텍스트 데이터 내용을 긍정과 부정으로 감정합니다. word2vec과 fasttext를 활용해 단어를 벡터 표현으로 수치화하고 단어에 Attention을 걸어 추론 결과를 시각화해봅니다.
_8장. 자연어 처리를 활용한 감정 분석(BERT)
감정 분석 모델을 구축, 학습하고 추론해 문맥에 따라 단어 벡터가 어떻게 변화하는지 알아보고 Self-Attention으로 시각화해봅니다.
_9장. 동영상 분류(3DCNN, ECO)
화상 분류와 동영상 분류의 차이에 주목하면서 어떻게 동영상을 딥러닝에서 다루고 구현하는지 설명합니다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."