lss***
2021-09-20

입문서에서는 알기 어려웠던 전이학습과 파인튜닝을 활용한 화상 분류, 물체 감지, 시맨틱 분할, 자세 추정, GAN을 활용한 화상 생성 및 이상 탐지, 텍스트 데이터 감정 분석, 동영상 데이터 클래스 분류를 12가지 모델로 구현하며 배울 수 있다.
만들면서 배우는 파이토치 딥러닝
따라해보면서 배우자!
이 책에서는 딥러닝의 응용 방법으로 전이학습/파인튜닝을 활용한 화상 분류, 물체 감지, 시맨틱 분할,
자세 추정, GAN을 활용한 화상 생성 및 이상 탐지, 텍스트 데이터의 감정 분석 그리고 동영상 데이터의 클래스
분류를 다뤘습니다. 딥러닝은 입출력 데이터와 손실함수만 잘 정의한다면 다양한 분야의 과제를 해결할 수 있는
기술입니다. 이 책을 통해 딥러닝 기술의 응용 가능성을 조금이라도 느낄 수 있기를 바랍니다.
- 만들면서 배우는 파이토치 딥러닝 中 -
중상급자를 위한 도서! 딥러닝 파이토치! 많이 어려울 것으로 보입니다 ^^;;
자 시작하겠습니다!
입문서에서는 알기 힘들었던 전이학습이나 파인튜닝 등을 다루고 있기 때문에
기본적인 머신러닝을 배운 후 다음 단계로 파이토치를 선택한 경우 권장합니다.
DAY 1, 2, 3
화상 분류와 전이학습(VGG)
챕터 1 ~ 4
+ 물체감지, 시맨틱 분할, 자세추정
파이토치! 리뷰 시작하겠습니다 :)
1장 화상 분류와 전이학습에서는 학습된 전이학습 모델을 사용하는 방법부터 파인튜닝을 구현하는 부분까지 배웁니다.
ImageNet 데이터셋에서 학습된 모델을 로드하고 전이학습에 대해 이해하는 영역이며, 모델을 읽어오고 전처리 클래스 작성까지 기초적인 부분에 대하여 나옵니다. 데이터작성, 학습 검증, 아마존 AWS 클라우드 GPU 머신 활용, 파인튜닝까지 빼먹을 곳이 없는 가장 기본이면서 정석인 챕터라고 할 수 있습니다. 아직까진 그래도 할만하네요 ^^;;
2장은 물체 감지 챕터입니다. 물체 감지 작업의 입력과 출력부터 VOC 데이터셋, 모델을 구현하고 학습된 SSD 모델을 사용하여 화상의 물체 감지를 실시하는 추론까지 수행합니다. 여기서부터 벌써 어려워지기 시작했습니다, 정말 정독하셔야됩니다! 집중하셔야됩니다!
그래도 재미있고 시간은 빠르게 흐르는군요 :)
3장은 시맨틱 분할 챕터입니다. 시맨틱 분할이 무엇인지 알아보고 색상 팔레트 형식의 화상 데이터를 이해하며 PSPNet 시맨틱 분할의 4단계 흐름까지 진행합니다. 데이터셋을 로드하고 데이터셋을 작성해보며 흐름을 이해하는 부분은 매우 중요합니다. Feature 모듈 설명 및 구현 부분이 어려워 몇번을 읽어본지 모르겠습니다. 아무래도 2주가 아닌 2개월은 정독해서 봐야 될 것 같습니다. 꾸역꾸역 시맨틱 분할 추론 구현 부분까지 진행이 완료되면 3챕터가 마무리 됩니다. PSPNet 알고리즘, 네트워크 구조, 순전파 함수, 손실함수 등 중요한 내용이 매우 많습니다. 전부 구현하는 코드를 따라해보고 이해하면서 넘어가시길 바랍니다.
4장은 자세 추정 챕터에서는 화상 처리의 자세 추정을 살펴보면서 딥러닝 모델인 오픈포즈에 대하여 다룹니다. 자세 추정ㄹ이 무엇을 입출력하는 기법인지 이해하는 것부터 시작해 오픈포즈를 활용한 자세 추정의 3단계 흐름까지 다양하고 재미있는 모션 인식 챕터입니다.
딥러닝의 대표 패키지 텐서플로의 시각화 라이브러리인 텐서보드에 대해서도 나오고 다른 챕터보다는 재미있게 학습했던 것 같습니다.
DAY 4, 5, 6
GAN을 활용한 화상 생성, 이상 화상 탐지
챕터 5 ~ 7
+ 자연어 처리에 의한 감정 분석
5장까지 오는데 정말 많은 시간이 걸렸습니다! 쭉 ~ 한번 봐야지 라고 생각했던 서적인데! 음.. 역시 중상급 서적은 다르군요 ^^;;
5장은 GAN에 대해서 다룹니다. 생성 기술인 GAN은 서적을 한번 보긴 했었는데, 다시 보니 감회가 새롭습니다. 어려운 내용이 정말 많은 챕터입니다. DCGAN 및 Self-Attention GAN을 활용한 화상 생성을 구현하고 Self-Attention, 점별 합성곱, 스펙트럴 정규화 같이 어려운 단어와 내용이 정말 많이 나오는 챕터이므로 몇번이나 봐야 될 것 같습니다. 다시 봐도 똑같이 어렵네요 ^^;;
6장은 이어서 GAN을 활용한 이상 화상 탐지 챕터입니다. 수학적인 내용도 많아서 정말 이해하기도 쉽지 않은 챕터네요! 6챕터에서는 AnoGAN, Efficient GAN을 활용한 화상의 이상 탐지 구현에 대하여 다룹니다.
Efficient GAN을 활용한 이상 탐지는 코드 구현을 재미있게 학습할 수 있지만, 그만큼 학습시키는 과정이 굉장히 어렵고 까다롭습니다.
5, 6챕터는 3번 이상 봐야 될 것 같습니다, 확실히 어려워지고 있습니다!
7장은 자연어 처리를 다룹니다. 빡센 챕터! 자연어 처리에 임해 Janome, MeCab+NEologd를 이용한 단어 분할, torchtext를 통한 데이터 로더 작성의 흐름, word2vec, fasttext를 활용한 단어 벡터 표현, Transfomer 모델과 IMDb 분류, 마지막으로 Attention 시각화를 설명하고 구현해봅니다. 반드시 소스코드를 따라해보고 정독하고 2~3번은 더 봐야 조금 더 이해가 쉬울 것 같습니다.
이제 대망의 8, 9 챕터만 남았습니다! 곧 추석이네요 :)
DAY 7, 8, 9
자연어 처리를 활용한 감정 분석
챕터 8 ~ 9
+ 동영상 분류
8챕터는 Transfomer에서 한층 더 진화된 자연어 처리 모델인 BERT를 설명하고 구현하여 다시 IMDb의 감정 분석을 진행합니다.
BERT의 단어 분할과 vocabulary를 사용하여 torchtext로 IMDb용 데이터 로더를 작성하고, BERT의 감정 분석 모델 구축, 학습 및 추론, Self-Attention을 시각화 해봅니다. 그렇게 8장 자연어 처리를 활용한 감정 분석이 마무리 됩니다.
후 이제 대망의 9챕터! 동영상 분류네요 :)
9챕터는 직접 만든 데이터셋에서 학습은 실시하지 않지만 학습된 모델을 파인튜닝하는 것으로 직접 만든 동영상 데이터셋도 분류할 수 있게 친절하게 설명하고 있습니다. ECO 모델 구축, 학습된 모델의 로드, Kinetics-400의 검증 데이터 추론을 설명하고 구현해봅니다.
동영상 데이터를 클래스로 분류하면서 딥러닝 모델인 ECO를 구현하는 9챕터는 그래도 재미있게 진행했습니다.
학습 및 파인튜닝이 지금까지 해온 방법과 동일하기 때문에 따로 도영상 데이터셋에 대한 학습 및 파인튜닝은 하지 않습니다.
그렇게 9챕터를 정독하고 마무리 하였습니다.
DAY 10
후기
다양한 분야에 활용할 때 진정한 가치를 발휘한다!
딥러닝을 진정으로 가치 있게 활용하는 방법!
후기 : 다양한 분야의 과제를 딥러닝으로 해결하자.
머신러닝와 딥러닝이 널리 보급된 오늘날 간단한 화상 분류나 물체 감지 등의 작업은 직접 구현하지 않더라도
클라우드 서비스 등으로 손쉽게 해결할 수 있습니다.
딥러닝 기술과 기업 고유의 도메인 지식이 모두 있는 엔지니어는 딥러닝 응용 방법을 직접 구현하여
문해결할 수 있는 과제가 많을 것입니다.
머린서닝과 딥러닝은 '단독'으로 이뤄진 총 같은 무기나 도구가 아닌 'xx딥러닝'이라는 형태일 때 비로소
진정한 가치를 발휘합니다.
- 만들면서 배우는 파이토치 딥러닝 中 -
리뷰를 마치며!