한빛미디어

데이터베이스

만들면서 배우는 파이토치 딥러닝

12가지 모델로 알아보는 딥러닝 응용법

한빛미디어

번역서

판매중

만들면서 배우는 파이토치 딥러닝
좋아요: 2
  • 저자 : 오가와 유타로
  • 역자 : 박광수(아크몬드)
  • 출간일 : 2021-08-05
  • 페이지 : 544쪽
  • ISBN : 9791162244609
  • 물류코드 :10460

합계 : 36,000

도서판매처

  • 딥러닝을 진정으로 가치 있게 활용하는 방법!

     

    딥러닝은 입출력 데이터와 손실함수만 잘 정의한다면 다양한 분야의 과제를 해결할 수 있다. 딥러닝 응용 방법으로 전이학습과 파인튜닝을 활용한 화상(이미지) 분류, 물체 감지, 시맨틱 분할, 자세 추정, GAN을 활용한 화상 생성 및 이상 탐지, 텍스트 데이터 감정 분석, 동영상 데이터 클래스 분류를 다뤘다. 직무 특성에 따른 도메인 지식과 딥러닝 구현 능력을 갖춘 인재로 성장하여 활약하는 데 이 책이 도움이 될 것이다.

     

     

    ★ 각 장의 개요 

     

    _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)

    화상 분류와 동영상 분류의 차이에 주목하면서 어떻게 동영상을 딥러닝에서 다루고 구현하는지 설명합니다.

  • [저자] 오가와 유타로

    SIer의 기술본부 개발기술부 소속. 딥러닝을 비롯한 머신러닝 관련 기술의 연구 개발 및 기술 지원을 담당한다. 아카시 공업고등전문학교, 도쿄대학 공학부를 거쳐 도쿄대학 대학원, 짐보/고타니 실험실에서 뇌 기능 측정 및 계산 신경과학을 연구했으며 2016년에 박사 학위를 취득했다. 도쿄대학 특임 연구원을 거쳐 2017년 4월부터 현재 직무에 종사 중이다. 저서로 『PyTorch를 활용한 강화학습/심층강화학습 실전 입문』, 『つくりながら學ぶ! Pythonによる因果分析』 등이 있다.

    [역자] 박광수(아크몬드)

    ‘아크몬드’라는 필명으로 더 잘 알려진 블로거. 2004년부터 지금까지 최신 윈도우 정보를 꾸준히 나누고 있다. 2007년부터 2019년까지 마이크로소프트 MVP(Windows 부문)를 수상했다. 윈도우 11 등 마이크로소프트의 최신 기술에 열광한다. 현재 일본에서 서버 개발자로 활동하며 딥러닝에 많은 관심을 두고 있다. 번역서로 『처음 배우는 딥러닝 수학』, 『파이썬으로 배우는 머신러닝의 교과서』, 『파이썬으로 배우는 딥러닝 교과서』(이상 한빛미디어) 등이 있다.

     

  • CHAPTER 1 화상 분류와 전이학습(VGG)

    1.1 학습된 VGG 모델을 사용하는 방법

    1.2 파이토치를 활용한 딥러닝 구현 흐름

    1.3 전이학습 구현

    1.4 아마존 AWS의 클라우드 GPU 머신을 사용하는 방법

    1.5 파인튜닝 구현

     

    CHAPTER 2 물체 감지(SSD)

    2.1 물체 감지란

    2.2 데이터셋 구현

    2.3 데이터 로더 구현

    2.4 네트워크 모델 구현

    2.5 순전파 함수 구현

    2.6 손실함수 구현

    2.7 학습 및 검증 실시

    2.8 추론 실시

     

    CHAPTER3 시맨틱 분할(PSPNet)

    3.1 시맨틱 분할이란

    3.2 데이터셋과 데이터 로더 구현

    3.3 PSPNet 네트워크 구성 및 구현

    3.4 Feature 모듈 설명 및 구현(ResNet)

    3.5 Pyramid Pooling 모듈 설명 및 구현

    3.6 Decoder, AuxLoss 모듈 설명 및 구현

    3.7 파인튜닝을 활용한 학습 및 검증 실시

    3.8 시맨틱 분할 추론

     

    CHAPTER 4 자세 추정(OpenPose)

    4.1 자세 추정 및 오픈포즈 개요

    4.2 데이터셋과 데이터 로더 구현

    4.3 오픈포즈 네트워크 구성 및 구현

    4.4 Feature 및 Stage 모듈 설명 및 구현

    4.5 텐서보드X를 사용한 네트워크의 시각화 기법

    4.6 오픈포즈 학습

    4.7 오픈포즈 추론

     

    CHAPTER 5 GAN을 활용한 화상 생성(DCGAN, Self-Attention GAN)

    5.1 GAN을 활용한 화상 생성 메커니즘과 DCGAN 구현

    5.2 DCGAN의 손실함수, 학습, 생성

    5.3 Self-Attention GAN의 개요

    5.4 Self-Attention GAN의 학습, 생성

     

    CHAPTER 6 GAN을 활용한 이상 화상 탐지(AnoGAN, Efficient GAN)

    6.1 GAN을 활용한 이상 화상 탐지 메커니즘

    6.2 AnoGAN 구현 및 이상 탐지 실시

    6.3 Efficient GAN의 개요

    6.4 Efficient GAN 구현 및 이상 탐지 실시

     

    CHAPTER 7 자연어 처리에 의한 감정 분석(Transformer)

    7.1 형태소 분석 구현(Janome, MeCab+NEologd)

    7.2 torchtext를 활용한 데이터셋, 데이터 로더 구현

    7.3 단어의 벡터 표현 방식(word2vec, fasttext)

    7.4 word2vec, fasttext에서 학습된 모델(일본어)을 사용하는 방법

    7.5 IMDb의 데이터 로더 구현

    7.6 Transformer 구현(분류 작업용)

    7.7 Transformer의 학습/추론, 판단 근거의 시각화 구현

     

    CHAPTER 8 자연어 처리를 활용한 감정 분석(BERT)

    8.1 BERT 메커니즘

    8.2 BERT 구현

    8.3 BERT를 활용한 벡터 표현 비교(bank: 은행과 bank: 강변)

    8.4 BERT의 학습 및 추론, 판단 근거의 시각화 구현

     

    CHAPTER 9 동영상 분류(3DCNN, ECO)

    9.1 동영상 데이터에 대한 딥러닝과 ECO 개요

    9.2 2D Net 모듈(Inception-v2) 구현

    9.3 3D Net 모듈(3DCNN) 구현

    9.4 Kinetics 동영상 데이터셋을 데이터 로더로 구현

    9.5 ECO 모델 구현 및 동영상 분류의 추론 실시

  • 이미지/동영상 분류에서 OpenPose, GAN, BERT까지

    최신 딥러닝 모델 구현의 핵심이 한 권에!

     

    비즈니스 현장에서 딥러닝을 응용한 경험을 쌓고 싶다면, 합성곱 신경망을 이용한 화상(이미지) 분류 등과 같이 기본적인 딥러닝 기법을 배운 후 다음 단계로 넘어가고 싶다면 추천합니다. 입문서에서는 알기 어려웠던 전이학습과 파인튜닝을 활용한 화상 분류, 물체 감지, 시맨틱 분할, 자세 추정, 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)



      화상 분류와 동영상 분류의 차이에 주목하면서 어떻게 동영상을 딥러닝에서 다루고 구현하는지 설명합니다.






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


    • 1-1.jpg


       







      이책은 딥러닝에 대해 기존에 지식이 있는 사람을 대상으로 하지만



      몰라도 크게 상관은 업다.



      예제를 통해서 먼저 익히고, 필요한 정보를 습득하는 방법을 생각한다면 해당책을 추천한다.






      간단한 예제를 소개 한다.












      use_pretrained = True net = models.vgg16(pretrained=use_pretrained)net.eval() # 推論モードに設定print(net)











      위소스는 학습된 vgg-16 모델을 읽어온다.












      image_file_path = './data/goldenretriever-3724972_640.jpg'img = Image.open(image_file_path) plt.imshow(img)plt.show()resize = 224mean = (0.485, 0.456, 0.406)std = (0.229, 0.224, 0.225)transform = BaseTransform(resize, mean, std)img_transformed = transform(img) # torch.Size([3, 224, 224])img_transformed = img_transformed.numpy().transpose((1, 2, 0))img_transformed = np.clip(img_transformed, 0, 1)plt.imshow(img_transformed)plt.show()











      화상의 영상을 읽어 화상을 244로 변환한다.


       



      \\






       



      1-2.png


       


       



      파이토치를 활용한 다양한 예제를 실습해 볼수 있고,


       



      저자의 github를 통해 예제소스를 전부 받아서 확인해볼수가 있다.



      1-3.jpg


       



      딥러닝 구현 흐름에 대해 상세 설명되어있다.



      책에서 다루는 해당소스는 github에 자세히 설명해 주고 있다.



      https://github.com/YutaroOgawa/pytorch_advanced


       


       


       



      ※ 한빛미디어 2021 도서 서평단 "나는 리뷰어다"의 일원으로 도서를 제공받아 작성한 리뷰입니다.


       


       


       




       


    • 본 리뷰는 한빛미디어의 도서 서평단 <나는 리뷰어다 2021> 프로그램의 일환으로, 무상으로 도서를 증정 받고 작성된 리뷰임을 고지합니다.


       




       


      오늘의 리뷰 도서는 '만들면서 배우는 파이토치 딥러닝' 입니다.


      제목 그대로, 파이토치를 활용해서, 총 12개의 모델을 통해 딥러닝 개발을 실습해볼 수 있는 책인데요.


       


      사실 기존에 더 많이 들어보고, 기존에 사용 경험이 있었던 라이브러리는 텐서플로우였기에, 파이토치는 조금 생소한 부분도 있었습니다.


      하지만 점유율로 보면 파이토치가 오히려 텐서플로우를 역전하고 있는데요.


       


       


      출처 : https://paperswithcode.com/


       


      위 자료와 같이, 논문에서의 PyTorch 점유율은 이미 TensorFlow를 훌쩍 넘어서고 있는 것을 볼 수 있습니다. 


      그것도 근래에 와서는 상당히 압도적인 수치를 보이고 있는데요. 


      특히, 이번 학부 수업에서 PyTorch를 활용하는 인공지능 수업을 듣게 되어서, 본 도서의 리딩은 더욱 저에게 의미가 깊었습니다.


       


       




       


      기존에 KoBERT 등을 사용해본 경험이 있어, 7~8장을 특히 흥미롭게 읽을 수 있었습니다. 하지만 일본인 저자의 책이다보니, 당연히 일본어 중심의 NLP 예제가 서술되어 있습니다. 이 부분은 어쩔 수 없이 감안하고 읽어야 하는 부분이기도 합니다.


      그럼에도, 책의 전체적인 내용에서는, 각 장의 서두마다 모델에 대한 기본적인 내용이 제공되고 있어서, 모델의 이해에 도움이 되었는데요. 사실 쉬운 난이도의 책은 아니다보니, 한번에 술술 읽히는 책은 아니었습니다.


       


      본 책을 한마디로 표현하면 '파이토치와 딥러닝의 기본기가 잡힌 독자를 위한, 실용적 중급서'라고 할 수 있겠습니다.


       


      처음 ML/DL을 접하는 독자에게 이 책은 적합한 도서가 아닙니다. 친절하게 하나부터 열까지 알려주는 기본서도 아닙니다. 오히려, 딥러닝이 손에 익은 독자를 대상으로 하여, 다양한 모델을 활용해보고, 실습해볼 수 있게 해주는 실용서이자, 학습서입니다.


       


      사실 '딥러닝 입문'... '밑바닥...', '초보...' 이런 내용의 딥러닝 서적은 많지만, 파이토치를 통해 실용적인 딥러닝 학습을 할 수 있도록 하는 도서는 많지 않기에, 대상 독자층에게는 상당히 유용한 책이 될 것 같습니다. 이미 어느정도 딥러닝을 활용해보고, 학습한 독자들에게 분명 많은 배움을 제공해주는 책이 될 것이라고 생각합니다. 







    • 3000.jpg


       


      '만들면서 배우는 파이토치 딥러닝'은 딥러닝을 구현하는 머신러닝 패키지인 파이토치를 이용하여 딥러닝 응용기술을 구현하면서 학습하도록 구성되어 있다. 이 책에서는 총 12개의 딥러닝 모델을 9장에 걸쳐 다루고 있다.


       


      1장 화상분류와 전이학습 (VGG)


      2장 물체인식(SSD)


      3장 시맨틱 분할(PSPNet)


      4장 자세 추정(OpenPose)


      5장 GAN을 활용한 화상 생성(DCGAN, Self-Attention GAN)


      6장 GAN을 활용한 이상 감지(AnoGan, Efficient GAN)


      7장 자연어 처리를 활용한 감정 분석(Transformer)


      8장 자연어 처리를 활용한 감정 분석(BERT)


      9장 동영상 분류(3DCNN, ECO)


       


      이 책의 장점은 12개의 딥러닝 모델을 다루고 있고, 그 모델들은 최고 성능 모델에 기반했다는 점이다. 그리고 1장부터 차례대로 읽을 수 있도록 구성되어 있다. 왜냐하면 딥러닝 모델을 이해하기 위해 이전 장의 지식을 습득하도록 했다. 각 모델의 구성 및 구현도 중요하지만, 각 모델 구현 후 학습 및 검증이 각 모델마다 포함되어 있어, 어떤 결과를 얻을 수 있는지 확인할 수 있다. 각 장절마다 학습해야하는 학습 목표를 초반부에 언급하여 어떤 내용을 배우는지 다시 한번 환기 시키고 있다.


       


      이 책의 아쉬운 점은 책 초반부의 아나콘다 설치 설명부분이다.


      개발을 위한 환경 설정으로 필요한 패키지나 유틸리티만 언급하고 바로 넘어갔으면 좋았을텐데 설치과정까지 하나하나 설명한 것은 불필요했다고 생각한다. 또 다른 아쉬운 점은 7장의 예제가 일본어로 되어 있다는 점이다. 저자 오가와 유타로님이 일본인이기에 일본어 예제로 되어 있는 점은 이해하지만, 번역본은 번역하는 나라의 언어로 바꿔졌으면 어땠을까 하는 생각을 해본다.


       


      이 책의 내용을 통해 비즈니스 현장에서 딥러닝을 활용한 구현 경험을 쌓는데 도움이 될 것이다.


       


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


       


      ​#만들면서배우는파이토치딥러닝 #딥러닝 #머신러닝 #파이토치 #한빛미디어


    • 한빛미디어의 만들면서 배우는 파이토치 딥러닝을 소개합니다.


       


       



      pytorch01.png


       


       



       



      12가지 모델 기반 응용 도서


       



      소제목의 “12가지 모델로 알아보는 딥러닝 응용법이본 도서를 한마디로 얘기해주고 있다. 파이토치가 익숙치 않았던 터라 만들면서배우는 파이토치 딥러닝이라는 본 제목을 미루어 짐작하기로 머신러닝/딥러닝입문 레벨 도서라 생각했었다. 그런데 1장부터의 내용이 VGG-16부터 시작하고 그 이전에 파이썬 기초나 회귀와 같은 머신러닝 딥러닝 기본 이론은 아예 나오지 않는다. 이것은 고려한 독자 타겟이 분명해 보이고, 독자 또한 최소한 입문레벨의 지식은 숙지한 상태에서 도서를 접해야 하기 때문에 본인의 학습 단계에 맞춰서 본 도서를 선택하는 것이 맞다.



       



      pytorch02.png


       



       



      목차만 살펴보면 총 9장으로 매 장마다 1, 2 가지모델을 소개해주고 있기 때문에 총 12가지 모델을 기반하여 서술되어 있다.



      ü  CHAPTER 1 화상 분류와 전이학습(VGG)



      ü  CHAPTER 2 물체 감지(SSD)



      ü  CHAPTER3 시맨틱 분할(PSPNet)



      ü  CHAPTER 4 자세 추정(OpenPose)



      ü  CHAPTER 5 GAN을 활용한 화상 생성(DCGAN,Self-Attention GAN)



      ü  CHAPTER 6 GAN을 활용한 이상 화상 탐지(AnoGAN,Efficient GAN)



      ü  CHAPTER 7 자연어 처리에 의한 감정 분석(Transformer)



      ü  CHAPTER 8 자연어 처리를 활용한 감정 분석(BERT)



      ü  CHAPTER 9 동영상 분류(3DCNN, ECO)



       



      VGG-16 전이학습을 시작으로 전체적으로는 시각화 과정에 해당하는 이론이 주를 이루고 있지만TransformerBERT와 같은 자연어 처리도 포함하고있다. 개인적으로는 OpenPose 자세 추정이나 3DCNN, ECO 동영상 분류, 그리고 AnoGAN, Efficient GAN 화상 탐지 이론은 접해본 적이 없어서 나름 큰 소득이 있었다.



       







      군더더기 없앤 짜임새 있는 구성


       



      군더더기가 없다고 말한 것은 파이썬이나 파이토치 API에 대한 설명이나 머신러닝/딥러닝 기본 이론은 전혀 포함되어 있지 않기 때문이다. 이점은 오히려독자 타겟을 분명히 하고 있고 기본 이상의 중급 레벨을 지향하는 것을 말해주고 있다. 목차에서 봤듯이대부분의 내용은 기본 내용을 배우고 난 뒤 접하게 되는 최근 논문들에 대한 이론이 주를 이루기 때문에 이에 대한 내용을 다루는 도서를 찾는다고하면 본 도서가 안성맞춤인 것이다.



       



      확실히 중급을 지향하고 있고 군더더기를 없애려 노력했기 때문에, further reading이필요하거나 요하는 독자를 위한 배려는 각 장마다 참고 문헌을 두어 지면 할애를 알뜰하게 사용하고 있다는 인상이 남습니다.


       



      pytorch03.png


       



       



      다만 개인적으로는 각각의 이론에 대한 내용은 확대되면 내용이 더 알차게 되지 않을까란 아쉬움이 있습니다. 가령 각 장에서 소개하는 이론은 해당 카테고리의 대표적인 이론을 하나를 선별하여 소개하는데 그쳤지만, 관련 이론도 추가하여 이론 간의 차이와 장단점, 극복된 사항들로내용이 엮여 있다면 좀더 낫지 않았을까란 생각도 듭니다. 예를들자면 VGG라면 AlexNet, GoogleNet, Resnet 대해서추가하는 것이 낫지 않았을까. 여 이론간의 하여 이를 소개하고 머신러닝과 딥러닝에 해당하는 후반 부분은약간 아쉬움도 듭니다. Object detection으로 SSD를기반으로 설명하고 있지만, CNN, YOLO, SSD 순서로 소개하여 이론 간의 차이도 넣고 다만 그중 SSD 지면 할애 비중을 높이는 방법을 사용할 수도 있었을텐데 말이죠.



       



      물론 540여 페이지의 도서량이 결코 적지 않는 양이기 때문에 본인이 제안하는 내용이 추가된다면그 또한 엄청나게 도서양이 증가될 수 있을지 모르기 때문에, 이 점은 작가분도 충분히 고려 했으리라생각합니다.



       







      결론적으로


       



      도서의 장단점은 분명합니다. 장점은 본인이 입문 레벨에서 중급 레벨로 지식을 확대하려 한다면최신 논문을 피할 수 없고 최신 이론들을 다루는 몇 안되는 딥러닝 도서이기 때문에 회소성이 있다고 생각합니다. 단점으로보이는 점은 최신 논문 이론에 대한 내용을 본 도서에만 기대어서 학습하기엔 쉽지 않아 보입니다. 물론작가도 참고문헌을 두었기 때문에 해당 레퍼런스에 대한 추가 학습이 반드시 필요하며, 관련 이론에 대해서는내용 추가를 하면 어떨까란 아쉬움이 듭니다. 물론 이것은 도서량을 증가시킬 수 있는 부분이라 또다른큰 고민이 필요하지만



       



      도서가 지향하는 바가 분명하기 때문에 본인의 학습 레벨과 부합 된다면, 다음 단계로 나갈방향을 제시해주고 흥미를 돋게 해주는 좋은 도서임에는 틀림없습니다.



       



       



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



       



       



       



       



       



       



       



       



       



       



       



       



       


       

    •  



      이번에 리뷰해볼 책은 만들면서 배우는 파이토치 딥러닝이다. 이 책의 장점으로는 최근에 다양하게 이용되는 딥러닝 분야들을 가볍게 경험해 볼 수 있는, 찍먹을 해보는 책이라는 것이다. 최근에 딥러닝을 원리부터 구현하는 책들도 많이 나오는데, 그런 책들은 기초적인 개념부터 시작하기 때문에 다양한 딥러닝 분야 모델들을 책 한 권에 다 다룰 수 없다는 것이었다. 하지만 이런 책이 나온다면, 이미 딥러닝에 기본적인 이해가 있는 사람들이 다양한 분야의 대표적 모델들을 빠르게 훓어 볼 수 있으므로 좋다고 생각한다. 특히 마음에 들었던 점은, 이미지 분류 모델에 중점을 둔 것이 아닌 다른 시멘틱 분할이나, NLP, 그리고 GAN과 같은 좀더 응용된 모델들이 많이 소개되었다는 점이다.






      또다른 장점은 파이토치 기반으로 모델들을 설명하고 있다는 점이다. 가장 많이 사용되는 딥러닝 라이브러리로 파이토치와 텐서플로우가 항상 언급되고는 하는데, 비록 같은 기능을 수행한다 하더라도, 직관적으로 전체적인 프로세스를 이해하는 데에는 파이토치가 장점을 더 가진다고 생각한다. 기본적으로 텐서플로우와 파이토치는 인터페이스 디자인에서 Declarative와 Imperative 의 차이도 있는 데다, 텐서플로우가 케라스 API 와 같이 통합되면서, 너무 블랙박스처럼 되어버린 점도 있다. 그렇기에 사용성을 떠나 학습하는 입장에서는 파이토치를 선택한 것이 괜찮은 선택으로 보인다.


       



      이 책에서 단점을 뽑아보자면, 너무 모델들을 '찍먹' 하다보니 많은 디테일들이 생략되었다는 점이다. 물론 각각의 챕터에서 모델들의 메커니즘과 그들에게 사용된 기본적인 개념들을 소개하지만, 정말 간단히 소개하고 있다. 그렇기 때문에 이 책으로 경험해본 모델들을 시작점으로 조금 더 디테일한 이론기반을 찾아보거나, 소개된 대표적인 모델에서 변형된 다른 모델들을 공부해 보면 좋을 것 같다.






      디테일에서의 단점은 있지만, 딥러닝 기초에 대한 책을 읽고 나서 읽으면 현재 딥러닝이 사용되는 분야들에 기본적 오버뷰를 가질 수 있으므로 좋은 책이라고 생각한다. 또한, 책에 나온 설명들과 함께 구현에 대한 설명이 잘 되어 있어, 차근차근 하면서 따라가기가 수월했다.


       


       



      1632325921695.jpg


       



      1632325919034-0.jpg



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



    • 







       













      이번에는 파이토치 딥러닝책을 다시 가져왔다. 요즘에는 딥러닝 쓸 기회가 잘 없어서 이쪽 정보들을 잘 모르고 지냈다. 그러다가 꽤나 다양한 모델들이 나왔고, Attention이나 BERT같은 용어들이 페이스북 텐서플로우KR에서 많이 사용되는 것을 볼 수 있었는데, 이에 대한 이해가 없었다.



      그래서 최근 몇년간 나온 모델들을 파이토치로 구현한 코드와 함께 돌려보고 해설해주는 책인 이 책을 고르게 되었다.









      KakaoTalk_Photo_2021-09-22-23-28-47.jpeg






       


       













      "만들면서 배우는" 이라는 수식어가 잘 맞게 책이 구성되었다. 모델에 대한 설명 및 구조 분석, 어떻게 이 네트워크가 구성되었는지를 알려준다. 상세하게는 아니여도 한번쯤 딥러닝 공부를 해본 사람이라면 어느정도 이해할 수 있을 정도로 알려준다.


       













      각 레이어가 어떻게 구성되고 파라미터들이 어떻게 구성되었는지 그림과 함께 설명해주고 이어서 파이토치 코드를 보여준다. 확실히 이런 구성이 모델을 익히는데는 좋은 것 같다. 나처럼 딥러닝에 대해서 수박겉핥기 식으로 공부해본 사람인데, 최신 모델들에 대해서 공부해보고 싶다 하면 이 책을 가지고 시작하기 좋을 것 같다. 코드나 설명등을 통해 바로 시도해보고 이해해볼 수 있으며 더 부족한건 책에 있는 참고문헌을 통해 arxiv에 올라와 있는 논문링크를 통해 논문을 볼 수도 있다.


       


       



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








      

    •  



      이 책은 전이학습/파인튜닝을 활용한 화상 분류, 물체 감지, 시맨틱 분할, 자세 추정, GAN을 활용한 화상 생성 및 이상 탐지, 텍스트 데이터의 감정 분석 그리고 동영상 데이터의 클래스 분류를 다루고 있는 책이다. 오가와 유타로라는 연구원이 기술했으며, '아크몬드'라는 필명으로 활동하고 있는 블로거 박광수님이 번역을 진행하였다. 지은이는 다음과 같은 멋진 말을 남겼다. 


       



      머신러닝과 딥러닝은 '단독'으로 이뤄진 총 같은 무기나 도구가 아닌 'OO X 딥러닝' 이라는 형태일 때 비로소 진정한 가치를 발휘합니다. '인사 업무 X 딥러닝', '영업 X 딥러닝', '제조업 X 딥러닝', '의료 X 딥러닝', '소매업 X 딥러닝' 등 OO에는 기업과 산업 그리고 직무 특성에 따른 도메인 지식과 과제가 해당됩니다. '도메인 지식 X 딥러닝 구현 능력'을 가진 인재가 성장하여 기업에서 활약할 수 있도록 이 책이 도움이 되었으면 합니다. 

       



      기술의 발전 속도가 굉장히 빠른 딥러닝 기술을 이용하여 더 나은 세상을 만들기 위해서는 '도메인 지식'과 '딥러닝 구현 능력'을 가진 사람들이 필수적으로 필요하다고 생각한다. 둘 중 어느하나 덜 중요한 것이 없는 것 같다. 도메인 지식을 가지고 그에 맞게 딥러닝 모델을 잘 설계 하여 학습, 테스트 및 검증을 할 수 있다면 비즈니스 현장에서 최적의 성능을 낼 수 있는 시스템이 탄생할 수 있을 것이다. 


       



      이 책에서 설명하고 있는 딥러닝 모델들은 집필 시점의 SOTA(State of the art)에 기반한다고는 하는데, 지은이가 집필했던 시점이 2019년 5월이기 때문에 책에서 언급하고 있는 SOTA 모델들은 VGG, SSD 라서 지금 시점에서 SOTA는 아니지만, 딥러닝 모델 계에서 기본적인 시초가 되었었던 모델들이였기 때문에 '이 책을 통해 최신 딥러닝 모델을 구현하는 방법을 배운다'가 아니라 이전 기술들을 기반으로 모델을 구현하는 방법을 배운다고 생각하면 좋을 것 같다. 책마다 딥러닝 모델을 어떻게 구현하는지 서술하는 방법들이 모두 다르기에 이전 기술을 구현하는 방법을 설명한다 하더라도 모델을 구현하는 방법은 일맥상통하기 때문이다. (최신 모델은 자신이 research 하면 되는 부분이라고 생각하기에!)


       



      그런 부분에서 이 책은 전이학습을 구현하기 위한 폴더 준비부터 데이터셋 준비, 데이터 로더 작성하는법, 최적화 기법, 학습 및 검증 하는 방법에 대해서도 기술하고 있기 때문에 내가 봤던 파이토치로 딥러닝 모델을 구현하는 책 들 중에서 끝판왕 인 것 같다. 그리고 각 도메인에 따른 딥러닝 모델 마다 도메인 내용 부터 시작해서 모델의 개요, 네트워크의 구성, Feature 모듈 설명, 파인튜닝을 통한 학습과정, 추론과정 까지 총체적으로 설명하고 있기 때문에 옮긴이는 중상급자를 위한 도서라고는 하는데, 딥러닝을 공부하고 싶은 파이썬을 알고있는 초보자가 봐도 쉽게 이해 할 수 있을 것 같다. 


       



      이 책은 딥러닝 모델 구조들을 모듈 단위로 자세하게 설명할 뿐더러 구현하는 방법, 파인튜닝 하는 방법, 검증하는 방법까지 총체적으로 설명하고 있고, 딥러닝이 사용되는 다양한 도메인(이상탐지, 객체 인식, 분할, 자세 추정 등)에서 파이토치를 이용하여 딥러닝 모델을 구현하고 학습하는 방법을 자세히 설명하고 있기 때문에 파이썬과 파이토치를 경험해본 사람들이라면 충분히 이 책을 완독한 후에 도메인에 맞는 간단한 딥러닝 모델을 자신의 데이터셋으로 학습하여 만들어볼 수 있을 것 같다. 


       


       



      KakaoTalk_20210922_215424089.jpg


       


    • 딥러닝. 들어보기도 접하기도 참 쉬운 분야가 되었지만, 여전히 공부하기에는 어려운 분야입니다. 특히 영상 처리에 딥러닝을 적용하여 물체를 식별하는 과정은 실제로 어떻게 작동하는지 이해하기 쉽지 않습니다.


       



      책 <만들면서 배우는 파이토치 딥러닝>에서는 텐서플로우에 대응되는 딥러닝 구현 라이브러리인 파이토치를 이용하여 딥러닝을 구현하는 방식을 예제를 바탕으로 다루고 있습니다. 각 장의 주제인 화상 분류와 전이학습, 물체 인식, 시맨틱 분할, 자세 추정, GAN을 이용한 화상 생성, GAN을 활용한 이상 감지, 자연어 처리를 활용한 감정 분석, 동영상 분류를 할 수 있는 모델을 구현하는 방법을 각각 코드를 한 줄 한 줄 뜯어보며 실제 코드를 활용해 구체적으로 설명하는 것이 특징입니다.


       



      모든 모델들이 실제로 딥러닝이 활용되는 분야들을 잘 대표한다는 것과, 입문 단계에서 배우기 힘든 전이학습과 같은 기법을 다룬다는 점에서 이 책은 특별합니다. 전문성과 범용성을 두루 갖춘 책이라고 할 수 있을 것 같습니다.


       



      각 챕터에서 다루는 모델들이 모두 중요하고 또 활용도도 높다고 생각되었지만, 영상 처리에 딥러팅을 활용하는 것에 대해 궁금해하실 분들이 많을 것 같아 관련 내용을 다루는 1장과 2장의 내용을 중심으로 다뤄보려 합니다.


       



      전이학습이란 데이터가 부족한 분야에서 주로 사용하는 방법으로, 특정 환경에서 사용되기 위해 구현된 모델을 비슷하지만 다른 종류의 데이터 또는 환경에서 활용하는 것입니다. 이 책에서는 전이학습을 실제로 보여주기 위해 VGG-16 모델을 주어진 종류의 데이터인 벌과 개미의 사진을 분류하는 데 사용합니다. 이 모델은 이미지의 특징을 추출하고 크기를 축소하여 처리하기 쉬운 형태로 만들고, 최종적으로 이미지를 분류합니다. 이 책의 1장에서는 이 과정을 각 코드와 모델 자체에 대한 구체적인 설명을 곁들여가며 소개하고 있습니다.


       



      이 책의 2장에서는 물체를 감지하는 방법, 즉 사진에 포함된 각 물체의 영역과 이름을 출력하는 모델을 구현하는 방법을 소개하고 있습니다. 이 모델은 먼저 사진을 정해진 크기로 변형하고 변형된 사진에서 여러 개의 구획을 뽑아낸 뒤, 각각의 구획 내의 각각의 물체가 존재할 확률을 계산하여 물체가 존재할 것이라고 믿어지는 신뢰도가 높은 경우의 구획을 추출하여 해당 구획과 구획 내에 존재할 것으로 예상되는 물체의 이름, 그리고 신뢰도를 최종적으로 보여줍니다. 1장에서 제시된 사진을 분류하는 모델보다는 많이 복잡하지만, 모델을 이해하는 데 필요한 이론과 수식, 그리고 모델의 구현 과정을 꼼꼼히 소개해주고 있기 때문에 내용을 이해하는 데에는 전혀 문제가 없습니다.


       



      추상적인 것처럼 보여 쉽사리 손에 잡히지만 않을 것 같은 기술도 이 책, <만들면서 배우는 파이토치 딥러닝>을 통해서라면 구체적이고 쉽게 익힐 수 있습니다. 12가지의 서로 다른 모델들을 직접 구현해보며 딥러닝을 몸소 익힐 수 있는 이 책을 딥러닝에 대한 기초가 갖춰진 분들게 적극 추천하고 싶습니다.


       


       



      20210901_170550.jpg


       



      20210901_170657.jpg



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


       


    • qwer.jpg


       



      tyui.jpg


       



      https://blog.naver.com/aul-_-/222513502614




    •  



      인공지능을 공부하다 보면, 내가 공부하는 수준과 실제 활용되고 있는 것들과는 땅과 하늘, 천지 차이를 느끼곤 한다. 지금 배우고 있는 것들로 언제 제대로 된, 인공지능 프로그램 하나 만들어 보나 하는 막막한 감정이 드는데, 이번에 그런 막막함도 덜고, 좀 더 깊이 있는 딥러닝 맛을 보기 위해, 응용 측면이 강한 책을 하나 보게 되었다. 오가와 유타로 저자의 '만들면서 배우는 파이토치 딥러닝'이 바로 그것이다.


       


       





       



      이 책은 파이토치를 활용하여 12가지 딥러닝 모델도 익히고, 그것을 사용한 응용법도 엿볼 수 있는 책이다. 다만 이 책은 초급 대상이 아니다. 저자는 합성곱 신경망을 이용한 화상 분류 같은 기초적인 딥러닝을 구현한 독자를 대상으로 했다고 했으나, 박광수 옮긴이의 말처럼 중상급자를 위한 책이다. 책 앞 부분에 환경 구축을 위해, 아나콘다, 깃, 주피터 노트북 등 설치 관련 내용이 나와 있으나, 절대로 초보를 위한 책이 아니다.


       



      그만큼 깊이 있는 내용을 다루고 있으며, 전문적이다. 파이토치에 대한 기본 설명 또한  당연히 없다. 인공지능 기초 지식과 함께 파이토치도 어느 정도 알고 있어야 신나게 진도 나갈 수 있는 책이다. 나 또한 이 책을 보면서, 내가 얼마나 인공지능을 체계적으로 공부하지 않았는지 티가 확 났다. 구멍 많은 스펀지처럼 겉으론 멀쩡해 보여도, 여기저기 부족한 곳들이 뻥뻥 뚫려 있음을 느꼈다. '만들면서 배우는 파이토치 딥러닝' 덕분에 내가 어떤 걸 더 공부해야 하는지 알 수 있었다.


       



      우선 책 내용을 살펴보면, 1장은 파이토치 몸풀기 과정이라 할 수 있다. 딥러닝 모델인 VGG를 설명하면서, 파이토치도 설치하고, 전처리용 클래스도 만들고, 파이토치 활용 딥러닝 구현 흐름도 설명하고 있다. 실행에 필요한 아마존 AWS 클라우드 GPU 머신 사용법도 함께 다루고 있다. 이렇게 1장은 파이토치 딥러닝 전반을 다루고 있다. 


       


       





       



      파이토치 활용 딥러닝 구현 흐름도는 전처리, 후처리, 네트워크 모델의 입출력 확인, 데이터셋 작성, 데이터 로더 작성, 네트워크 모델 작성, 순전파 정의, 손실함수 정의, 최적화 기법 설정, 학습/검정 실시, 테스트 데이터로 추론 순으로 흐르는데, 책에 설명 순서 또한 이런 순서 형태로 나열된다. 내용에 차이는 있으나 뒤에 나오는 다른 장에서도 비슷한 흐름으로 전개되므로 미리 알고 있으면, 다소 편리할 것이다.


       



      여기서 주의할 점은 패키지가 버전에 따라 최신 버전을 지원하지 않는 경우도 있다 보니, 파이썬 경우, 3.6 버전으로 한정하고 있다. 따라서 본문을 따라 하기 위해서는 관련 프로그램 버전에 주의할 필요가 있다.


       



      본격적인 파이토치 딥러닝 활용 시작은 2장부터 볼 수 있다. SSD 모델과 VOC 데이터셋으로 아주 기본적인 물체 감지를 해보고, 이걸 시맨틱 분할과 파인튜닝을 배우며, PSPNet 모델을 익히는 과정을 거쳐, 만화의 선따기와 같은 추출을 해본다. 


       


       





       



      OpenPose 모델은 전부터 관심이 큰 부분이라서, 자세히 보게 되었는데, 사람을 졸라맨 형태로 분석해서 자세 추정을 해보는 것이다. 키넥트 같은 게임 주변기기에서도 이용하고 있는 방법으로 이미 많이 알려져 있다. (키넥트 관련해서 9장에서도 나온다.) 책 속 예제 이미지는 야구이지만, 자세가 중요한 골프에도 응용할 수 있고, 무용이나 댄스, 각종 창작 예술, 산업재해 등 워낙 쓰임새가 많은 딥러닝 영역이라 생각한다. '만들면서 배우는 파이토치 딥러닝' 덕분에 파이토치에서 구현하는 방법을 배울 수 있었다. 


       



      그 밖에 GAN, DCGAN, Self-Attecntion GAN에서는 화상 생성을, AnoGAN, Efficient GAN에서는 이상 화상 탐지를, Transformer 모델에서는 자연어 처리, BERT로는 자연어 처리 감정 분석, ECO와 3DCNN을 통해서는 동영상 분류하는 파이토치 딥러닝을 구현을 배운다. 이 책을 통해 이렇게 총 12개의 모델을 통해 다양한 딥러닝 응용을 해볼 수 있는데, 여기에 딥러닝 모델들을 한꺼번에 정리해 볼 수 있다는 점은 이 책이 주는 또 다른 수확이라 할 수 있다.


       


       





       



      확실히 수학적인 부분도 구체적 설명 없이 등장하고, 전반적인 내용이 쉬운 책은 아니지만, 딥러닝 모델과 관련 기술은 상세하게 설명하고 있어, 전체적인 개념을 잡기도 좋고, 개발의 흐름도 구체적으로 이해하는데 도움이 되었다. 그리고 각 장 끝에 관련 논문과 참고도서가 잘 정리되어 참고할 수 있어 좋았다.


       



      아쉬운 부분이라면, 일본 책이다 보니, 화상이라는 단어가 잘 와닿지 않았다. 화상 대신 이미지라고 하면 훨씬 쉽게 받아들여졌고, 7장 자연어 처리, 감정 분석의 경우 일본어가 등장하다 보니, 어순적으로 한글과 일본어가 비슷하다고 해도, 일본어를 전혀 모르는 경우 좀 당황스러울 수 있을 것이다. 반면 일본어를 어떻게 딥러닝 처리하는지 엿볼 수 있다는 점은 득이라 생각된다. 


       



      인공지능, 딥러닝 같은 분야는 원래 쉬운 분야가 아닌 만큼, 천릿길도 한 걸음부터라는 말처럼 한 걸음, 한 걸음 배워나가는 수밖에 없다고 생각한다. 이론적인 책 보는데 지쳤다면, '만들면서 배우는 파이토치 딥러닝'을 통해, 실제 활용에 재미도 느껴 볼 수 있을 것이고, 자신의 미흡한 부분도 점검할 기회를 얻게 될 것이다. 아울러 꼬리에 꼬리를 무는 다양한 아이디어는 덤이다.


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



      0. 도서 정보



       - 도서명 : 만들면서 배우는 파이토치 딥러닝



       - 저자 : 오가와 유타로



       - 링크


       




       



      1. 후기


       - 책 자체는 굉장히 친절하다고 할 수 있을거 같다. 개인적으로 가장 싫어하는 프로그램, 환경을 설치 하는 것(아나콘다, AWS)부터. 매줄마다 까지는 아니더라도 해당 코드가 어떻게 돌아가는지를 설명해준다.


       - 해당 도서에서 소개하는 딥러닝 모델은 해당 시점에서의 SOTA(State Of The Art) 에 기반한 내용이기에 최신 기술을 접할 수 있다는 장점이 있다. 


       - python 이나 pytorch 초보자가 보기에는 적절하지는 않은 내용이다. 기본적으로 python 기초는 알아야하며, pytorch 관련해서도 최소한 어떻게 구성되고 만들어지는지에 대해서 알아야 할 필요가 있다.

    • 이 책은 파이토치로 개발한  딥러닝 모델 사례로서  12가지를 소개한다. 

       

      이미지  처리와 관련있는  모델로서  VGG( 객체 분류)  , SSD (물체 검출)  , PSPNet ( 시맨틱 분할) , OpenPose ( 자세 추정 )  모델을 다룬다. 

       

      GAN 모델을 사용하여 이미지 생성을 , AnoGAN을 통해 비정상 이미지를 검출한다. 

       

      자연어 처리 분야에서는 Tansformer와  BERT 모델을 사용하여 감정 분석을 수행한다. 

       

      마지막으로 3D CNN 모델로서 ECO 모델을 사용하여 동영상을 분류한다. 

       

      거의 모든 장에 걸쳐 Pretrained 모델을 제공하고 있어, 추론 모델을 실행해 볼 수 있다. 

      모델과 관련하여 다양한 도식과  수식이 제공되고 있고,  번역도 매끄러워 모델을 이해하기가 용이하다. 

       

       

      각 장마다  관련 논문과  오픈소스 자료를 제공하고 있어 , 보다 심도있게 관련 주제에  접근할 수 있다. 

       

       



      3.jpg


       


    • 파이토치는 우리가 일반적으로 머신러닝을 할때 배우는 텐서프로우보다 '쉽고 간결하다'라는 장점이 있다.






      실제 많은 논문들이 학습 및 추론 속도가 빠른데도 불구하고 쉽기에, 파이토치로 구현되고 있다.









      이름에서 알 수 있듯이 파이썬 기반의 연산 패키지이며






      넘파이(Numpy)를 대체하면서 GPU를 이용한 연산이 필요한 경우 사용된다.






      (반대로 말하면 torch tensor는 numpy의 array와 사용버잉 거의 똑같다.)






      해당 책에서는






      화상 분류와 전이학습 (VGG)






      물체 인식






      시맨틱 분할






      자세 추정






      GAN을 활용한 화상 생성 및 이상 감지






      자연어 처리를 활용한 감정 분석(Transoformer, BERT)






      그리고 동영상분류를 다룬다.









      시맨틱 분할은 처음들어봐서 관심있었느데, 시맨틱 분할이란 화상 처리 중 하나로






      [픽셀 수준으로 어디에서 어디까지 어떠한 클래스 물체인지] 라벨을 붙이는 작업이다.






      실생활에서는 제조업의 흠집 불량 판별, 의료 영상 진단의 병변 감지, 자율 운전의 주변 환경 파악에서 시맨틱 기술이 사용된다.





       



      이러한 부분들이 중급난이도지만, 자세하게 설명된점은 굉장히 좋았다.






      그러나..책의 단점도 존재했다.






      7장 8장은 감정 분석을 다룬다. 가장 관심있던 분야인데






      8장은 영어라서 그래도 과정이 이해가 되지만






      7장은 예시문장이 일본어로 되어있어






      방법의 과정을 이해하는데 장애가 되었다.






      나는 기분이 좋지만, 오후에는 나빴다.






      에서 '좋지만' '나빴다'등의 단어를 보면서 쉽게 이해가 되어야하는데.






      '良い' , '悪かった' 이런식으로 되어있으니 학습하는데 불편하였다.






      지은이 오가와 유타로 작가님이 처음 출판할때는 일본이니 이해가 가지만,






      옮기는 과정에서 박광수님이 한글예시 혹은 영어 예시로 바꿨으면 어땠을까 하는 아쉬움이 있다.






      (따라가는데는 장애물이 될 수 있지만, 설명 자체는 모두 한글로 되어있기 때문에 가능하다. 다만 불편할뿐..)






      텐서플로우나 파이토치를 공부해보고 나서, 중급수준 그 이상으로 들어갈때






      과정과 이유가 하나하나 잘 설명되어 있기에 추천하는 책이다.






      순서없이 관심가는것부터 읽어도 상관은 없으나, (애초에 중급자용 이기에)






      가능하면, 1장과 2장은 직접해보고 이후 장들 중 원하는걸 읽는걸 추천한다.






      앞장에서 더욱 친절하게 설명해주기에, 매우 수월하다.



       


       



  • 파이토치와 딥러닝을 동시에 다루고 있지만, 입문서는 아니라서, 입문서에서 다루는 기초적인 내용들을 넘어서는 내용들이 중점적으로 다루고 있다. 때문에, 파이토치와 딥러닝에 대해 더 깊은 경험과 실제 적용 단계에 있는 사람들에게 유용할 책이라고 생각하면서 읽었다.


     


     


    각 장마다 다루는 모델이 다르지만, 이전 장에서 다룬 개념들을 다시 사용하고 활용하기 때문에 학습의 순서는 분명히 존재하기 때문에, 책에서 다루는 모델을 그저 사용만 해본 사람이라면 순서대로 따라가는 것이 좋을 것 같다. 불가피하게 당장 필요한 것을 찾으려는 사람들은 분야에 맞게 보면 좋지만, 당장 필요한 내용이 활용 및 구현 내용이라면 책을 보는 것보단, 깃허브 등지에 구현된 내용과 관련 논문을 보는 것을 추천한다.


     


     


    보통 딥러닝 실전 책이라고 하면 Computer Vision에만 초점이 맞추고 이미지 데이터를 중점적으로 사용하고 여러 가지 형태의 Classifier, Detector를 만들고 끝나는데 이 책은 그렇지 않다. GAN과 Transformer에 대해서도 다뤄볼 수 있는 경험을 제공한다. 몇몇 내용들이 익숙하지 않았지만, 꽤나 많은 내용들을 익힐 수 있는 책이라는 느낌을 받았다.


     


     


    이처럼 책에서 다루는 모델들이 현 시점에서 많이 연구되고 있고, 비즈니스 단계에서 적용해볼법한 모델들이다 보니까 꽤나 복잡하다. 게다가 경량 모델들도 아니라서, 많은 컴퓨팅 자원을 필요로 한다. 책에서는 AWS의 p2.xlarge 인스턴스 사용을 전제로 내용을 전개하고 있다. 책의 내용만 학습한다는 전제 하에는 이와 유사한 스펙의 워크스테이션 비용과 환경 구축에 대한 노력을 대체하기엔 적합했다고 본다.


     


     


    요약하면,


    최신 트렌드를 반영했고, 비즈니스 단계에 적용할 모델들을 다루고 있다.


    이를 실습할 자체 환경이 있으면 다양한 시도를 해볼 수 있어서 매우 좋은 경험일 것이다.


    절대 입문자를 위한 책은 아니고, 못해도 중급자 이상을 위한 책이다.


     



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






  • 이 책은 딥러닝의 기초 지식을 넘어 응용하는 방법을 다루고 있습니다. 전이학습을 활용하는 방법, 이미지 분류와 감지, 이미지 분할, 자세 추정, GAN 등을 활용하는 방법을 알 수 있으며, 텍스트 데이터 분석, 동영상 분류를 배울 수 있습니다.


  • 딥러닝으로 문제를 해결하는 과정에서 다른 연구자들의 아이디어 혹은 모델을 활용, 응용, 혹은 변형하는 능력을 키우고 싶을 때 유용한 PyTorch 기반의 실전 교과서라 평하고 싶다.



    DNN, CNN, RNN, LSTM 등 딥러닝의 기본을 충실히 익히고 있고 다음 단계로 도약하고 싶은데 마땅한 국내서가 없었다면 이 책이 대안이 될 수 있을거라 생각한다.



    새로운 문제 혹은 변형된 문제가 발생했을 때 모델의 입출력 혹은 모듈을 변형하거나, 손실함수를 바꿔본다든가, 다른 분야의 딥러닝 모델을 접목한다든가 등의 실전에서의 응용력을 키우고 싶다면, 더불어 논문 리터러시를 키우고 구현 능력을 키우고 싶다면 이 책이 많은 도움을 줄 것이다.


    뇌 기능 측정과 계산 신경과학을 연구한 저자가 연구의 응용력과 구현 기술까지 탁월한데 책의 전달력까지 뛰어나 적잖이 놀랐다. 다른 독자분들의 평도 봐야겠지만 적어도 내 기준에서는 그동안 너무 찾던 책이다.


    읽는 내내 컬러판이 아니라는 단점 하나 외에는 모두 장점 투성이였다. 부디 이 책이 널리 흥해서 컬러판이 나왔으면 하는 바램이다.


    단, 주의할 점은 난이도가 중급서 이상이라는 점이다. 적어도 python, pyTorch, 딥러닝의 기본(DNN, CNN, RNN, LSTM 등), Linux 정도는 알고 책을 읽는 것이 좋을듯 하다. 처음부터 합성곱층, 전결합층, 텐서보드X 등의 용어가 나오기 때문이다.


    각 장별로 어떤 내용을 다루는지 구체적인 설명과 더불어 읽으며 느꼈던 장단점을 기술해보겠다.





    들어가기에 앞서 책 소개 챕터에 개발 환경을 구성하는 방법이 나오는데 그동안 봤던 어떤 책보다 실습환경 구성 방법이 자세하게 안내되어 있고 나중에 언급하겠지만 소스 코드들이 오류 없이 잘 실행되고 있어 실습을 따라하는데 편리하다.



    1장은 기본기를 훈련하는 단계이다. 가장 크게 5가지 소챕터로 나뉘는데 각각 VGG-16, PyTorch 딥러닝 구현 패턴, 전이학습, AWS활용법, 파인튜닝의 주제를 다룬다. 각 주제들은 하나하나 한 권의 책으로 낼 수 있을 정도로 깊이 있는 주제들이지만 가장 급하게 알아야 할 중요한 요소들만 추려 적은 용량으로 깔끔하게 정리하여 마음에 들었다.


    뒤에 이어질 12가지 심도 있는 모델을 이해하고, 구현하고, 응용하는데 있어 반드시 알아야 할 기초 지식이기에 충분히 숙지하고 넘어가야 한다.



    첫번째로 Vision 분야의 고전이 되어버린 VGG-16 모델의 구조를 설명하여 독자로 하여금 CNN 등 딥러닝의 기본기와 연결고리를 맺게하여 논문을 읽고 구현할 수 있는 준비를 갖춰준다.



    두번째로 PyTorch를 활용한 일반적인 딥러닝 구현 패턴을 설명한다. 딥러닝 실력이 부족하거나 PyTorch 혹은 Tensorflow가 능숙하지 않다면 딥러닝 구현 패턴에 의외로 많은 시간을 낭비하게 된다.패턴


    각 논문 구현체나 서적마다 각기 다른 방식으로 구현하고 있기에 혼선이 생겨 직접 구현 시 어떤 패턴을 선택할지 의외로 많은 고민을 하게 되는데 깊게 고민할 필요도 없이 이 참에 이 책에 나온 패턴대로 주류를 잡고 차후 발견하는 패턴을 이 윤곽에서 업그레이드하는 형태로 접근해도 충분히 훌륭한 방식이 될거라 생각한다.


    나는 초보자에 지나지 않지만 적어도 지금까지 겪어온 구현체 중에 가장 깔끔하고 확장성이 좋은 패턴이라는 생각이 들었다.



    세번째로 전이학습을 다룬다. 앞서 배운 VGG-16 모델을 불러와 출력층만 원하는 형태로 바꾸는 실습을 진행한다. ImageNet 데이터셋과 달리 단순히 개미와 벌을 분류하는 예제이기에 불필요한 부분을 단순화하고 전이학습을 적용하는 방법에만 초점을 맞춘 구성이 마음에 들었다.



    네번째로 AWS에서 딥러닝 환경을 구성하고 실습하는 방법을 배운다. EC2 우분투 기반의 인스턴스를 생성한 뒤 P2혹은 P3 인스턴스를 사용하여 손쉽게 딥러닝 개발환경을 구축할 수 있다. 다만 과금이 들어가는 부분이므로 주의해야 하며 다행히 책에서는 실습 시 인스턴스를 중지 혹은 삭제를 꼼꼼하게 가이드하고 있다.



    마지막으로 파인튜닝을 다룬다. 딥러닝의 입문 단계를 거쳐 기본 과정에서 가장 많이 듣는 강의 중 하나인 앤드류 응 교수님의 DL Specialization 과정과 비교하자면 그 강의는 전이학습을 좀 간결하게 설명하는 경향이 있어 아쉬웠다. 그도 그럴 것이 전이학습을 넘어서 모델의 전단계에 영향을 미치는 파인튜닝으로 넘어가게 될 경우 설명해야 할 것이 너무 많기 때문이다.


    파인튜닝은 새로운 논문이나 모델이 등장할 때마다 수시로 적용해 봐야 하는 마치 Python 문법과 같이 계속 곁에 두고 활용하는 기본 기술이므로 이 참에 이 책을 통해 확실히 익혀두면 실무에 매우 유용할 것이다. 다행히 2장 이후 지속적인 파인튜닝 실습을 진행하는데 이 책 실습만 잘 따라해도 파인튜닝에 꽤 익숙해져 새로운 과제가 주어져도 자신감이 생길만큼 능숙해질 수 있을거라 생각한다.





    2장에서부터 본격적으로 비교적 최신 논문에 등장한 아이디어와 모델을 활용한 현실의 문제를 실습으로 해결해본다. 이 장에서는 이미지 Detection에 자주 활용되는 SSD 모델을 중심으로 다룬다. 이 모델을 적용하면 감지를 원하는 물체에 바운드 박스, 라벨, 신뢰도 등을 얻을 수 있다.



    구체적으로 SSD300 모델로 실습하며 8,732개의 디폴트 박스, 오프셋 정보변수 4개, 신뢰도 21개 클래스로 218,300개의 정보를 출력하는 실습이다.SSD



    SSD 알고리즘의 핵심은 아래 그림과 같이 디폴트박스(DBox)를 바운딩박스(BBox)로 변형하는 과정이다. 좌측에서 우측 그림으로 변형하며 cx, cy, w, h 등 4개의 오프셋 변수에 관계식이 생성된다. 이를 통해 손실함수 클래스 MultiBoxLoss 클래스를 구현하는 과정이 가장 인상적인데 당면한 문제마다 손실함수만 잘 설계해도 괄목할만한 성과를 얻을 수 있다는 것을 느낄 수 있는 부분이다.
    SSD2


    이 책의 겉표지에 왜 “딥러닝 응용”이라는 부제가 붙었는지 알 수 있는 부분이다. 이 책에서 말하는 응용은 구현 기술이라기 보다는 연구 결과를 구현체에 반영하는 과정에서의 응용이니 연구쪽에 가깝다고 할 수 있다. 책에 등장하는 12가지 모델에 잘 훈련된다면 아마 새롭게 마주하는 문제에 있어서도 거인의 어깨에 선 것처럼 기존 좋은 연구나 모델들을 활용하여 멋진 문제를 해결해 낼 수 있겠다는 생각이 들었다.


    전체적인 구현 절차는 1장에서 언급했던 기본 패턴을 준수하고 있으며 의외로 디테일한 부분까지 설명하고 있어 친절하다는 느낌을 받을 수 있었다. 1장과 달리 DataLoader등을 직접 구현하기에 새로운 문제에 적합성을 키울 수 있다는 점도 책이 가지는 장점이다.


    여담이지만 개인적으로 SSD는 정이 많이가는 모델이다. 몇년 전 SOTA급 논문을 어떻게든 구현하는 능력을 키우고 싶다는 욕망으로 처음으로 달려든 논문이 바로 이 SSD를 발표한 논문이었다. CNN을 배우고 나름의 자신감이 생겨 논문을 뜯어보며 고군분투했지만 당시엔 실패했다.


    그 때 실패를 경험하며 삽질을 해서인지 아니면 이 책의 설명이 뛰어나서인지는 알 수 없으나 당시 나를 괴롭혔던 왜 SSD의 디폴트 박스가 8,732개가 나오고 입출력 차원이 원하는대로 계산되지 않았던 것인지 끙끙댈 때와 비교한다면 이 책이 가치를 느낄 수 있다. 이 모델을 처음접하는 독자에게 떠먹여 주는 정도가 아니라 아주 잘게 씹어 떠먹여주는 수준의 친절한 느낌을 받았다.


    그렇기에 이 책은 딥러닝의 기본기를 다진 독자가 논문과 접하는 경계선을 탐험하고 스스로의 아이디어를 기존 모델에 접목, 변형해 보고 싶을 때 아주 좋은 무기가 될거라 생각한다.





    3장은 PSPNet을 활용한 시맨틱 분할을 배운다. SSD가 무식하게 네모 박스로 감지했다면 얘는 좀 더 정교하게 픽셀 단위 그러니깐 물체의 모양 그대로 경계선을 그려 인식할 수 있다.


    이 시점에서 책의 구성이 매우 돋보였는데 2장에서 거의 모든 것을 직접 구현해 기초를 다졌다면, 3장은 파인 튜닝을 활용한다. 뒤에 이어질 4장에서는 일부분을 직접 구현하도록 유도한다.


    친절히 모든 것을 알려준 후, 타인의 연구를 응용하는 법을 배우며, 나아가 부족한 부분은 스스로 구현해보게 함으로써 수준높은 학습효과를 달성할 수 있다. 다른 이들은 어떨지 모르나 개인적으로 너무 마음에 드는 구성이다.





    4장은 OpenPose 모델을 다루는 데 쉽게 말해 사람 이미지를 탐지할 경우 뼈다귀 형태의 사람을 추출하는 기술이다. 대략적인 방식은 아래 그림을 참조하기 바란다.OpenPose


    이 장에서는 PAFs와 히트맵이 이 모델의 성능을 정교하게 끌어올리는 부분이 관심있는 부분이었다. 확실히 Vision 분야의 데이터여서 그런지 XAI 기법도 가능하고 해석력이 높은 모델인 점에 끌렸다.





    5장은 GAN을 다룬다. 먼저 전통 GAN모델의 대표주자인 DCGAN으로 MNIST와 유사한 손글씨를 생성한 후 SAGAN에 대해 깊숙히 살펴본다.


    이 장의 핵심은 Attention 모델이다. 특히 304p의 설명은 참 알기쉽게 잘 쓰여있다는 생각이 들었다. 원론, 수학적으로 크게 부족한 내용없이 소스 코드 구현과정을 통해 명확하게 이해할 수 있게 쓰여있어 인상적이었다. 더불어 308p의 스펙트럴 정규화도 참 알기쉽게 설명을 잘하고 있어 논문이나 교과서의 내용이 어렵다면 이 책을 통해 진입장벽을 낮춰 접근하는 것도 좋은 방법이 되리라는 생각한다.





    6장은 AnoGAN이 메인 주제이다. 정상데이터에 대한 모델 학습 후 판별자 뿐만아니라 생성자도 활용하여 이상 이미지를 검출하는 방법을 다룬다.


    이 장 역시 앞서 언급했던 손실함수 변형을 통한 문제 해결 능력을 키워주는 부분이 장점인 파트이다. 구현만이 아닌 이론, 수학적 차원에서 고민을 해결하고자 할 때 저자의 접근방식에서 힌트를 얻을 수 있을 것이다.





    7장 ~ 8장은 NLP를 다루는 데 특히 Transformer, BERT가 핵심이다. 이를 통해 자연어 감정분석을 다루는데 5장의 Self-Attention에 이어 Attention이 언어에 어떻게 적용되는지 또 한 번 Attention의 본질과 응용 방법을 익히기 좋은 장이다.


    문맥과 어순 즉, Sequence여야한다는 NLP의 고정관념을 깬 아이디어가 어떻게 BERT까지 이어지게 되었는지 논문 리뷰하듯 상세히 분석해주는 것이 장점이다.


    단, 일본어를 예제로 다루고 있어 일본어 지식이 전무한 나같은 독자는 예제를 쉽게 이해하기 힘든 것이 단점이지만 그럼에도 Attention과 BERT의 핵심을 너무 잘 전달하고 있어 반드시 읽어둬야 하는 파트이다.





    마지막 9장은 ECO 모델이 등장한다. 이는 동영상을 분류하는 알고리즘인데 마지막 장이어서인지 학습이나 파인튜닝의 소스는 독자 스스로 구현해봐야 한다. 앞서 언급한대로 개인적으로 매우 마음에 드는 구성이다.


    이 모델은 2차원 CNN으로 작은 크기의 피처를 추출한 뒤 C3D 모델에 입력하는 것이 핵심이다. 아직 구현해보지 않았는데 공부도 조금 더 필요하고 아껴두는 마음으로 남겨뒀다. 이 장에서 스스로의 구현 능력을 얼마나 완성시킬 수 있느냐에 따라 앞으로의 새로운 연구의 구현, 응용의 미래가 달려있다 생각했기 때문이다. 일종의 시험치르는 느낌이었다.




    책을 읽으며 워낙 배운 것도 많고 느낀 것도 많아 쓰다보니 리뷰가 너무 길어진 것 같다. 내용이 너무 길어지는 듯 싶어 써가며 나름 핵심만 남기고 줄였음에도 이렇게 길어질 정도로 이 책에서는 배우고 느낄만한 점이 정말 많다.


    서두에 언급했듯 근래에 보기드문 중급서 교과서가 등장했다. 나 혼자만의 의견일진 모르겠지만 적어도 내겐 핸즈온 머신러닝, 머신러닝교과서, 밑바닥 시리즈 등과 비교해도 손색이 없을 정도의 완벽한 책이라는 생각을 했다.


    거인의 어깨를 빌려 배우고, 응용하며 자신만이 가진 문제를 딥러닝으로 해결하고 싶다면 혹은 그 단계로 나아가기 위해 기초 수준에서 어려움을 겪고 있다면 강력히 추천하고 싶은 책이다.




  • iOS 이미지 (3).jpg


     


     



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








    본 서적은 최신 모델을 파이토치로 구현해보며 모델에 대한 이해도를 높일 수 있는 중급 서적입니다. 제목만 보았을 때에는 파이토치를 학습하기 위한 입문 서적인 줄로 알았으나 목차를 보면 파이토치 및 최신 모델에 어느정도 익숙해야 함을 알 수 있습니다.











    [최신 모델을 PyTorch로!]







    파이토치의 사용 비중이 늘어나면서 많은 파이토치 서적이 발간되고 있습니다. 하지만 대부분은 입문용 서적에 그치고 있는데요. 프레임워크의 기본적인 사용법에 익숙해진 뒤에는 원하는 모델이 구현되어 있는 예제 등을 구글링하여 학습할 수 밖에 없었습니다.



    본 서적에서는 비교적 최근에 나온 다양한 모델을 파이토치로 하나하나 구현해보며 파이토치에 대한 숙련도를 높이고 모델의 이해도를 높일 수 있다는 장점이 있었습니다. 게다가 대부분의 블로그 자료는 영어 자료가 많아 영어에 익숙지 않은 학습자는 해당 자료로 빠르게 모델을 습득하기가 어려웠습니다. 하지만 본 서적에서는 코드에 대한 주석이 달려있고 한국어로 번역되어 있어 코드에 대한 이해도를 높일 수도 있습니다.







    [너무 많거나, 2% 부족하거나...]






    다양한 모델을 다루어 볼 수 있다는 점은 어떻게 보면 장점이지만 한편으로는 단점이 될 수 있을 것 같습니다. 중급자 이상의 대상 독자는 선호하는 분야가 정해져 있는 경우가 많습니다. 개인적으로도 읽으면서 다른 분야보다는 자연어 쪽에 대한 관심도 많고, 모델 이해도도 훨씬 더 높았는데요. 하지만 다른 분야는 상대적으로 모델에 대한 이해도가 높지 않아서 책을 넘기기 쉽지 않았습니다.


     


    게다가 이미지가 강조되는 부분의 경우 책이 흑백인 점도 아쉬웠습니다. Segmentation이나 Pose Estimation는의 이미지가 흑백으로 주어지다 보니 결과를 직관적으로 파악할 수 없다는 아쉬움도 있었습니다.


  • 파이토치에 대해서는 현장에서 주로 많이 쓴다는 말을 들었습니다. 파이토치를 설치해보고 다양한 것들을 하고 싶었던 찰라에 파이토치 책을 구하게 되어서 차근차근 해 볼 수 있었습니다. 이 책은 다양한 분야에 적용 가능한 파이토치의 모습을 익힐수 있습니다. 사실 파이토치에 대해서 개념만 알고 있었지 어떻게 구현하는지도 몰랐는데 전이학습/파인튜닝을 활용한 화상 분류(VGG), 물체 인식(SSD), 시맨틱 분할(PSPNet), 자세 추정(OpenPose), GAN을 활용한 화상 생성(DCGAN) 및 이상 탐지(AnoGAN), 텍스트 감정 분석(Transformer/BERT), 동영상의 클래스 분류(3DCNN, ECO) 등등 다양한 분야에 대해서 해 볼수 있어서 좋았던것 같습니다. 배우는데 좀 어렵긴 했지만 텐서플로만 사용하다가 만날 수 있던 파이토치여서 좋았습니다. 


    딥러닝 분야는 예제파일 구하는게 필수인데 예제 파일 묶음을 다운아서 실행하면, 실습 데이터를 구할 수 있었고, 바로바로 파일을 구할 수 있어서 부가적인 작업을 하지 않아도 너무 좋았습니다. 조금 아쉬운 부분은 차례대로 책을 봐야한다는 점이었습니다. 다음장을 공부하기 위해서는 이전 장의 지식이 필요한 경우가 많았습니다. 


     


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


     

  • 서론


    정말 많은 딥러닝 기초 책들이 출간되고 있습니다. 딥러닝의 열풍에 따라 문이과 할 것 없이 시작하기에 초급자를 위한 책이 필요한 것은 맞지만, 나오는 책들의 수준이 사람들의 전반적인 수준이 올라가는 것을 따라가지 못하는 것 같은 느낌을 받았습니다. 입문 이후의 책들이 많이 나오지 않는다면 모든 사람들을 초보자에 머물게 되는 상황이 만들어질 것입니다. 당연히 비숍 교수님의 Pattern Recognition and Machine Learning이나 다른 유명한 바이블들이 존재하지만, 석박사급 연구가 아니라 가볍게 입문하고자 하는, 혹은 실무에서 사용하기 위한 분들은 그정도의 책을 원하지는 않을 것입니다. 심지어 그 책들은 코드조차 없기 때문에 코딩에 약하다면 이해는 하더라고 구현을 못하는 경우가 반드시 발생할 것입니다. 이런 상황속에서 기초적인 책들은 다 읽어보았고 조금 더 높은 난이도를 가지는, 중급자를 위한 책에 갈증을 느끼셨던 분이라면 이 책을 한번 읽어보셔도 좋을 것 같습니다.


    이 책의 내용


    1장은 기본적인 딥러닝 지식은 가지고 있지만 파이토치가 익숙하지 않은 사람들을 위해서 파이토치를 이용한 모델링 기법과 전이학습 모델을 가져오고 파인튜닝을 하는 코드를 작성하는 방법에 대해서 설명하고 있습니다. 이 챕터는 이론적인 부분보다는 파이토치를 이용한 딥러닝 방법에 대해서 다루고 있으므로, 파이토치를 어느정도 사용할 줄 아는 분들이라면 넘어가도 괜찮아 보입니다.


    2장부터는 본격적으로 여러 딥러닝 모델들에 대한 이론과 구현 부분을 다룹니다.딥러닝 모델을 구축하는 프로세스에 대해서 반복적으로 설명함으로써 독자들에게 각인시키는 점이 좋았으며, 코드에 대한 설명이 자세한 것도 구현하고자 하는 분들에게는 유익할 것으로 생각됩니다.생각보다 난이도가 높고 이론적인 부분들이 많이 나오기 때문에, 수학적인 사고 없이 볼 수 있는 책이 아닐 것 같다는 생각이 듭니다. 그리고 몇몇 실습 코드가 매우 어렵다고 솔직하게 말해주는 부분도 재미있었습니다. (구현방법은 매우 '간단합니다'라고 말할 것으로 기대했는데 '복잡합니다'라고 써있어서 정말 솔직한 책이구나 라고 생각했습니다.)


    아쉬운점


    번역할 때 '화상'이라는 표현이 대중들이 이해하기에 적절한 단어선택인지는 조금 논란이 있을 것 같습니다. 아마 '画像'을 번역한 것으로 보이는데, 이미지가 조금 더 친숙하지 않았을까 하는 생각이 들었습니다. 또한 지도 데이터라는 표현, 아마 supervised data라는 의미가 아닐까 싶은데 매우 낯선 표현이었습니다. 그 외에도 다클래스 예측, 전결합층(Fully-Connected Layer) 등 일본식 표현들을 그대로 사용한 부분이 보여 아쉬웠습니다.


    대상 독자


    추천합니다


    실무에 적용할 수 있는 딥러닝의 구현이 필요한 분


    Tensorflow, Keras에서 Pytorch로 넘어오고자 하는 분


    추천하지 않습니다


    딥러닝의 기초 지식을 배우고자 하시는 분


     



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


     


  •  







    [도서 소개]



    딥러닝은 입출력 데이터와 손실함수만 잘 정의한다면 다양한 분야의 과제를 해결할 수 있다. 딥러닝 응용 방법으로 전이학습과 파인튜닝을 활용한 화상(이미지) 분류, 물체 감지, 시맨틱 분할, 자세 추정, GAN을 활용한 화상 생성 및 이상 탐지, 텍스트 데이터 감정 분석, 동영상 데이터 클래스 분류를 다뤘다. 직무 특성에 따른 도메인 지식과 딥러닝 구현 능력을 갖춘 인재로 성장하여 활약하는 데 이 책이 도움이 될 것이다.







    [작가 소개]



    저자 : 오가와 유타로



    SIer의 기술본부 개발기술부 소속. 딥러닝을 비롯한 머신러닝 관련 기술의 연구 개발 및 기술 지원을 담당한다. 아카시 공업고등전문학교, 도쿄대학 공학부를 거쳐 도쿄대학 대학원, 짐보/고타니 실험실에서 뇌 기능 측정 및 계산 신경과학을 연구했으며 2016년에 박사 학위를 취득했다. 도쿄대학 특임 연구원을 거쳐 2017년 4월부터 현재 직무에 종사 중이다. 저서로 『PyTorch를 활용한 강화학습/심층강화학습 실전 입문』, 『つくりながら學ぶ! Pythonによる因果分析』 등이 있다.







    역자 : 박광수(아크몬드)



    '아크몬드'라는 필명으로 더 잘 알려진 블로거. 2004년부터 지금까지 최신 윈도우 정보를 꾸준히 나누고 있다. 2007년부터 2019년까지 마이크로소프트 MVP(Windows 부문)를 수상했다. 윈도우 11 등 마이크로소프트의 최신 기술에 열광한다. 현재 일본에서 서버 개발자로 활동하며 딥러닝에 많은 관심을 두고 있다. 번역서로 『처음 배우는 딥러닝 수학』, 『파이썬으로 배우는 머신러닝의 교과서』, 『파이썬으로 배우는 딥러닝 교과서』(이상 한빛미디어) 등이 있다.







    [목차]



    CHAPTER 1 화상 분류와 전이학습(VGG)



    CHAPTER 2 물체 감지(SSD)



    CHAPTER3 시맨틱 분할(PSPNet)



    CHAPTER 4 자세 추정(OpenPose)



    CHAPTER 5 GAN을 활용한 화상 생성(DCGAN, Self-Attention GAN)



    CHAPTER 6 GAN을 활용한 이상 화상 탐지(AnoGAN, Efficient GAN)



    CHAPTER 7 자연어 처리에 의한 감정 분석(Transformer)



    CHAPTER 8 자연어 처리를 활용한 감정 분석(BERT)



    CHAPTER 9 동영상 분류(3DCNN, ECO)







    [주요 내용]



    - 화상 분류와 전이학습



    - 물체 인식



    - 시맨틱 분할



    - 자세 추정



    - GAN을 활용한 화상 생성



    - 자연어 처리를 활용한 감정 분석



    - 동영상 분류







    [예제 코드 소스]



    깃허브 : https://github.com/YutaroOgawa/pytorch_advanced







    [서평]



    구현 환경은 아나콘다와 주피터 노트북을 사용합니다.




    • PC 환경 : 데스크탑(GPU X) 및 AWS를 사용한 GPU서버





    • AWS 환경 : p2.xlarge 인스턴스, Deep learning AMI 머신





    • 파이썬 버전 : 3.6.5





    • 파이토치 버전 : 1.1









    ‘만들면서 배우는 파이토치 딥러닝은 딥러닝 응용기술을 구현하면서 학습을 할수 있습니다. 기초적인 딥러닝(합성곱 신경망을 이용한 화상 분류등)을 구현한 경험이 있는 독자 수준의 난이도 입니다. 딥러닝을 구현하는 패키지는 주로 파이토치를 이용 하고 있습니다. 이 책에서 설명하고 구현한 딥러닝 모델은 비즈니스 현업에서 가장 많이 사용하는 모델로 실전 경험을 쌓는데 도움이 될것이라 생각합니다. 이 책에서 소개 하는 모델을 이해하면 딥러닝 학습이나 연구 및 개발에 도움이 될것입니다. 딥러닝 모델에 익숙 하지 않다면 1장 부터 차례대로 읽는 것을 추천 드립니다. 각 장에서 설명하는 딥러닝 모델을 이해하려면 이전 장의 지식이 필요하기 때문입니다. 1장부터 쉬운 모델부터 구현 하면서 차차 고차원의 딥러닝 응용법을 익힐 수 있습니다.







    _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)



    화상 분류와 동영상 분류의 차이에 주목하면서 어떻게 동영상을 딥러닝에서 다루고 구현하는지 설명합니다.













    이 책은 딥러닝 입문서가 아닌 중급 수준의 도서로 꽤 난이도가 있는 책이라 힘든 부분도 있었지만, 이론적으로 어려운 부분은 그림과 표로 자세히 설명을 하고 있습니다. 아마존 서비스인 AWS로 딥러닝 환경을 구축하고, 코드를 실행해가며 본문을 확인해 보니 실무에서 활용할 때 도움이 될 만한 내용들로 가득하다는 것을 알게될 것입니다.



     처음 부터 차근 차근 딥러닝 모델은 구현 하면서 학습을 하면서 점차 고도의 딥러닝 응용법을 익히고, 최고 성능 모델의 구현 경험을 쌓으면서 모델을 이해하면 딥러닝 학습이나 연구 및 개발에 크게 도움이 될 것입니다. 직접 딥러닝 모델을 코딩 하면서 하나씩 알아가는 딥러닝 응용기법을 ‘만들면서 배우는 파이토치 딥러닝’을 통해서 배우시는 걸 추천 드립니다.


     



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


  • pytorch.jpg


     


    파이토치 딥러닝 책을 읽기에는 난이도가 있는 편이다. 파이토치 첫걸음 같은 초심자용 책이 있기도 하지만 책의 난이도들이 너무 낮거나 너무 높거나 하는 경향이 있어 점진적인 난이도로 공부하기에는 사실상 마땅한 책이 없다. 이 책의 경우는 딥러닝에서 기초적인 학습 모델들을 대상으로 예제를 설명함에 있어 부족함은 없다. 하지만, 처음에 언급했듯이 책의 난이도가 어느 정도는 있기에 상세한 설명은 부족한 것이다. 이 책에서 설명하는 모델은 VGG, SSD,  PSPNet, OpenPose, DCGAN, Self-Attention GAN, AnoGAN, Efficient GAN, Transformer, BERT, ECO 등 딥러닝 분야에서 각 세심한 분야로 들어가기위한 초심 모델들을 잘 선택을 한것이 맘에 들었다. 물론 각 분야에 대한 딥러닝 모델이나, 논문들은 활발하게 나오니 그 분야에 따라 심도있는 공부는 더 해야하지만 만약 초급단계의 책을 읽었다면 이 책을 발판 삶아 높은 수준의 공부를 할 수 있도록 도움을 주기에는 충분한 책인것 같다.


     


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


  • 본 포스터는 한빛미디어에서 [나는 리뷰어다]를 통해 책을 지원받아 작성한 리뷰 포스터입니다. 


     




     


    이번 책은 확실히 다양한 테스크(Image Classification, Object Detection, Semantic Segmentation, Open Pose, GAN, Anomaly Detection, Transformer 등)에 대해서 데이터 로더부터 모델을 직접 짜서 학습까지 연습할 수 있는 책입니다. 일반적으로 딥러닝 공부의 경우 논문을 읽는 것이 시작이기에, 데이터 로더를 어떻게 작성하고 네트워크를 짜야하는지에 대해서는 부족한 부분이 있습니다. 이미지 세그멘테이션 모델인 PSPNet을 예로 들면, Pascal VOC 데이터셋을 가져와서 이를 어떻게 로더로 불러올지, 모델을 어떻게 작성하고, 학습은 어떻게 하고 예측할지에 대해서 잘 작성되어있습니다. 특히, PSPNet 논문을 읽으면서 아쉬운 점은 PPM 구조에 대해서는 논문에 설명이 잘 나오지만 백본에 대해서는 설명이 없는데 그러한 부분까지 어떻게 구현되어있는지 잘 확인할 수 있습니다. 그렇기에, 이 책만 보더라도 해당 테스크의 베이스라인 코드를 작성하는데에는 두려움이 없이 참고할 수 있겠다라는 생각이 들었습니다. 


     


    하지만, 구현체에 대한 코드 설명은 충분한데 논문 자체에 대한 설명은 부족해서 따로 논문은 읽어봐야 이해하기 수월하다는 점입니다. 그리고, 7장의 경우는 주석은 한글로 되어있는데 입출력은 일본어로 되어있어서 많이 아쉬웠습니다. 그래도, 개인적으로 올해 읽었던 딥러닝 책중에서는 가장 좋았던 책이라고 생각합니다. 코드 부분에 대해서 설명이 잘 나와있고, 테스크 또한 다양하게 있어서 대회를 주로 나가는 제가 참고하기에는 좋았습니다. 


     



    요약하면, 딥러닝의 초급을 떼고 중급으로 넘어가는 분들에게 추천합니다. 특히, 코드에 대한 설명이 주를 이루고 기본적인 부분에 대해서는 설명이 없기에 초급자가 보기에는 어려울거라 생각합니다. 또한, 딥러닝 테스크의 여러 분야를 보고 싶은 분에게 추천합니다. 개인적으로 저는 연구분야인 세그멘테이션 이외에도 Object Detection, Anomaly Detection 등 다양한 분야를 공부하기에 좋았습니다. 하지만, 한가지 분야에 대해서만 공부하시는 분들이면 좀 부담스러운 책이 될 것 입니다. 

  •  



    [번역이 부드럽고 깔끔하다.]


    - 역자의 전작인 <파이썬으로 배우는 딥러닝 교과서>를 즐겁게 읽었다. 


    - 이번에도 한글 문장이 거슬리는 부분이 거의 없이, 읽기 쉽고 저자의 의도가 잘 전달되는 훌륭한 번역이었다. 


     


     



    [딥러닝 중/상급자용 책이다.]


    - 이 책을 통해 다양한 분야에 적용 가능한 파이토치의 진수를 맛볼 수 있다. 


    - 전이학습/파인튜닝을 활용한 화상 분류(VGG), 물체 인식(SSD), 시맨틱 분할(PSPNet), 자세 추정(OpenPose), GAN을 활용한 화상 생성(DCGAN) 및 이상 탐지(AnoGAN), 텍스트 감정 분석(Transformer/BERT), 동영상의 클래스 분류(3DCNN, ECO) 등의 주제를 모두 다룬다. 


    - 요즘에는 시장에 넘쳐나는 입문서보다 오히려 이런 책이 더 눈에 들어온다.


    - 특히 입문서에는 많이 등장하지 않는 전이학습이나 파인튜닝 등의 내용이 좋았다. 


    - 쉽지는 않지만, 열심히 공부하면 얻어가는 것도 많다. 


     


     



    [파이토치에 대한 설치와 기초 사용 방법은 거의 나오지 않는다.]


    - 책 맨 앞에는 conda로 개발환경을 구성하는 방법이 조금 기재되어 있는데, 개인적으로 conda가 너무 무거워서 사용을 하지 않았다.


    - windows 환경에서 venv & pip로 초기 설치하는데 약간 애를 먹었다.


    - 지금 돌아보면 그냥 wheel 스크립트를 복/붙하면 쉽게 끝나는 문제였는데 너무 복잡하게 접근했다. 


    - 아마 내가 파이토치에 그다지 익숙하지 않아서 였을 거다. 


     


     



    [예제가 깔끔하고 작은 용량의 주피터 노트북 파일로 제공되어서 좋았다.]


    - 작은 예제 파일 묶음을 다운아서 실행하면, 실습 데이터는 웹을 통해 자동 다운로드 된다.


    - 즉, 예제 파일 내에 데이터 다운로드 스크립트도 포함되어 있어서 매우 쾌적하게 실습이 가능하다. 


    - 책에 소개된 개발 환경은 파이썬 3.6 기반에 파이토치 1.0/1.1 이라고 한다.


    - 나는 파이썬 3.8에 파이토치 1.8로 예제를 돌려도 대부분 별 문제가 없었다. 


    - 파이썬과 파이토치 버전에 너무 집착하지 않아도 될 것 같다.


    - 잘은 모르지만, 파이토치 자체가 텐서플로에 비해서 어딘가 더 융통성 있게 동작하는 느낌이다.


     


     



    [내용 구성은 체계적이고 저자는 상세하고 친절하게 설명한다.]


    - 이 책은 순서대로 각 장의 예제를 이해하기 위해서 이전 장의 지식이 필요한 경우가 많다. 


    - 코드 내에 주석은 꽤 충실하게 달린 편으로, 어떤 페이지는 코드의 태반이 주석으로 상세하게 설명하는 것도 눈에 띄었다. 


    - 그래도 나 같은 파이토치 초보자에게는 쉽지 않았지만, 차근차근 진행하면 별 무리 없이 코드를 실행해서 결과를 확인할 수 있었다. 


     


     



    [파이토치의 넓은 활용성을 맛보기 딱인 책이다]


    - 딥러닝은 업무 도메인에 적절하게 적용될 때 진정한 힘을 발휘한다. 


    - 이 책의 간결하면서도 다양한 예제는 파이토치의 넓은 활용성을 맛보는데 제격이다. 


    - 독자 각자가 필요한 업무와 결합하여 더욱 연구할 도메인의 분야를 결정하는데 크게 도움이 될 것으로 보인다. 


     


     



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


     


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


     


    만들면서 배우는 파이토치 딥러닝


     


    <세줄요약>


    • 이제 딥러닝 기초를 뗀 초심자에겐 아주 유용한 중급자 길라잡이

    • 딥러닝을 능숙하게 사용할 줄 안다면 유용한 베이스 라인

    • 실제 테스크를 통해 유용한 테크닉들을 익히기 좋은 교보재


    프로그래밍을 공부하고 있거나 관심이 있다면 한번쯤 딥러닝에 대해 들어본적이 있을 것이다. 나 역시 프로그래밍과 뗄 수 없는 삶을 살고 있어 다양한 수업이나 자료들을 찾아 보았다. 대부분의 수업은 기초적인 퍼셉트론(perceptron)부터 시작해서 다층 퍼셉트론(multi-layer perceptron: MLP), 역전파(backpropagation), 컨볼루션(convolution), 순환 신경망(recurrent neural network: RNN) 등에 대해 이론적인 내용으로 이루어져 있다. 이런 수업들을 듣고 나면, 어떤 딥러닝 문제가 주어져도 풀 수 있을 것이라는 생각이 들게 되고 당당하게 캐글의 다양한 컴피티션에 참가해 보면서 수 많은 좌절을 느끼게 된다. 문제 풀이의 시작이라고 할 수 있는 데이터를 불러오는 것 부터 시작해서 어떤 네트워크를 사용해야 하는지 등 수 많은 딥러닝의 장벽에 가로막히게 된다.


    오가와 유타로의 <만들면서 배우는 파이토치 딥러닝>은 이러한 장벽에 약간의 틈을 만들게 해주는 아주 유용한 책이다. 일반적으로 딥러닝에서 만나볼 수 있는 대표적인 몇가지의 태스크에 대해서 데이터를 다루는 법부터 시작하여 베이스라인 네트워크를 직접 만들고, 학습 파이프라인을 만들어 보고, 실제 검증까지 해볼 수 있는 예제들로 가득하다.


    <만들면서 배우는 파이토치 딥러닝>은 이미지 분류(image classification)문제, 객체 인식(object detection), 시멘틱 분할(semantic segmentation), 자세 추정(pose estimation), GAN(generative adversal network), 자연어 처리(natural language processing, NLP), 그리고 동영상 분류(video detection)에 대한 챕터들로 이루어져 있다. 각각의 챕터들은 각 태스크에서 일반적으로 수행되는 베이스라인 코드에 대한 설명들과, 특수하게 수행하는 내용들에 대한 자세한 설명이 되어 있다. 이를 토대로 그 동안 배운 딥러닝의 기초적인 이론을 토대로 실전 적용을 해보기 전 유사한 태스크를 이 책을 통해 연습해 볼 수 있고, 필요한 경우 베이스라인으로써 활용하기 좋은 형태로 작성되어 있다.


    특히 파이토치를 통해 딥러닝 태스크를 수행해 보면서 느꼈던 부분들은 매번 새로운 태스크를 만날 때마다 학습을 위한 파이프라인을 얼기설기 짜맞추어 정돈되지 않은 나의 코드를 보며 한숨을 쉬는 것이 일과의 많은 부분을 차지 하였는데, 책에서 나오는 예제들을 따라 치며 그동안 나에게 부족했던 코딩 실력을 조금은 메꿔지는 듯 하였다. 


    이 책은 딥러닝에 대한 기초 공부는 마친 사람들이 실제 문제를 접하기 전에 한번쯤은 읽어보며 스스로 부족했던 부분들을 채우기 좋은 책이라 생각된다.



    출처: https://jaksam.tistory.com/36 [작삼심일의 블로그]

     

  • 만들면서 배우는 파이토치 딥러닝


    따라해보면서 배우자!


     


     


     



    1.jpg


     



    2.jpg


     



    3.jpg


     


     


     


    이 책에서는 딥러닝의 응용 방법으로 전이학습/파인튜닝을 활용한 화상 분류, 물체 감지, 시맨틱 분할,


    자세 추정, GAN을 활용한 화상 생성 및 이상 탐지, 텍스트 데이터의 감정 분석 그리고 동영상 데이터의 클래스


    분류를 다뤘습니다. 딥러닝은 입출력 데이터와 손실함수만 잘 정의한다면 다양한 분야의 과제를 해결할 수 있는


    기술입니다. 이 책을 통해 딥러닝 기술의 응용 가능성을 조금이라도 느낄 수 있기를 바랍니다.


     


    - 만들면서 배우는 파이토치 딥러닝 中 -


     


     


    중상급자를 위한 도서! 딥러닝 파이토치! 많이 어려울 것으로 보입니다 ^^;;


    자 시작하겠습니다!


     


    입문서에서는 알기 힘들었던 전이학습이나 파인튜닝 등을 다루고 있기 때문에


    기본적인 머신러닝을 배운 후 다음 단계로 파이토치를 선택한 경우 권장합니다.


     


     


     


     


    DAY 1, 2, 3


     


    화상 분류와 전이학습(VGG)


     


    챕터 1 ~ 4


     


     


    + 물체감지, 시맨틱 분할, 자세추정


     


     


     



    4.jpg


     



    5.jpg


     



    6.jpg


     


     


     


    파이토치! 리뷰 시작하겠습니다 :)


     


     


    1장 화상 분류와 전이학습에서는 학습된 전이학습 모델을 사용하는 방법부터 파인튜닝을 구현하는 부분까지 배웁니다.


    ImageNet 데이터셋에서 학습된 모델을 로드하고 전이학습에 대해 이해하는 영역이며, 모델을 읽어오고 전처리 클래스 작성까지 기초적인 부분에 대하여 나옵니다. 데이터작성, 학습 검증, 아마존 AWS 클라우드 GPU 머신 활용, 파인튜닝까지 빼먹을 곳이 없는 가장 기본이면서 정석인 챕터라고 할 수 있습니다. 아직까진 그래도 할만하네요 ^^;;


     


    2장은 물체 감지 챕터입니다. 물체 감지 작업의 입력과 출력부터 VOC 데이터셋, 모델을 구현하고 학습된 SSD 모델을 사용하여 화상의 물체 감지를 실시하는 추론까지 수행합니다. 여기서부터 벌써 어려워지기 시작했습니다, 정말 정독하셔야됩니다! 집중하셔야됩니다!


    그래도 재미있고 시간은 빠르게 흐르는군요 :)


     


     


    3장은 시맨틱 분할 챕터입니다. 시맨틱 분할이 무엇인지 알아보고 색상 팔레트 형식의 화상 데이터를 이해하며 PSPNet 시맨틱 분할의 4단계 흐름까지 진행합니다. 데이터셋을 로드하고 데이터셋을 작성해보며 흐름을 이해하는 부분은 매우 중요합니다. Feature 모듈 설명 및 구현 부분이 어려워 몇번을 읽어본지 모르겠습니다. 아무래도 2주가 아닌 2개월은 정독해서 봐야 될 것 같습니다. 꾸역꾸역 시맨틱 분할 추론 구현 부분까지 진행이 완료되면 3챕터가 마무리 됩니다. PSPNet 알고리즘, 네트워크 구조, 순전파 함수, 손실함수 등 중요한 내용이 매우 많습니다. 전부 구현하는 코드를 따라해보고 이해하면서 넘어가시길 바랍니다.


    4장은 자세 추정 챕터에서는 화상 처리의 자세 추정을 살펴보면서 딥러닝 모델인 오픈포즈에 대하여 다룹니다. 자세 추정ㄹ이 무엇을 입출력하는 기법인지 이해하는 것부터 시작해 오픈포즈를 활용한 자세 추정의 3단계 흐름까지 다양하고 재미있는 모션 인식 챕터입니다.


     


    딥러닝의 대표 패키지 텐서플로의 시각화 라이브러리인 텐서보드에 대해서도 나오고 다른 챕터보다는 재미있게 학습했던 것 같습니다.


     


     


     


     


    DAY 4, 5, 6


     


    GAN을 활용한 화상 생성, 이상 화상 탐지


     


    챕터 5 ~ 7


     


     


    + 자연어 처리에 의한 감정 분석


     


     


     



    7.jpg


     



    8.jpg


     



    9.jpg


     


     


     


    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


     


     


    + 동영상 분류


     


     



    10.jpg


     



    11.jpg


     


     


     


    8챕터는 Transfomer에서 한층 더 진화된 자연어 처리 모델인 BERT를 설명하고 구현하여 다시 IMDb의 감정 분석을 진행합니다.


    BERT의 단어 분할과 vocabulary를 사용하여 torchtext로 IMDb용 데이터 로더를 작성하고, BERT의 감정 분석 모델 구축, 학습 및 추론, Self-Attention을 시각화 해봅니다. 그렇게 8장 자연어 처리를 활용한 감정 분석이 마무리 됩니다.


    후 이제 대망의 9챕터! 동영상 분류네요 :)


     


    9챕터는 직접 만든 데이터셋에서 학습은 실시하지 않지만 학습된 모델을 파인튜닝하는 것으로 직접 만든 동영상 데이터셋도 분류할 수 있게 친절하게 설명하고 있습니다. ECO 모델 구축, 학습된 모델의 로드, Kinetics-400의 검증 데이터 추론을 설명하고 구현해봅니다.


    동영상 데이터를 클래스로 분류하면서 딥러닝 모델인 ECO를 구현하는 9챕터는 그래도 재미있게 진행했습니다.


    학습 및 파인튜닝이 지금까지 해온 방법과 동일하기 때문에 따로 도영상 데이터셋에 대한 학습 및 파인튜닝은 하지 않습니다.


     


    그렇게 9챕터를 정독하고 마무리 하였습니다.


     


     


     


     


    DAY 10


     


    후기


     


    다양한 분야에 활용할 때 진정한 가치를 발휘한다!


     


     


    딥러닝을 진정으로 가치 있게 활용하는 방법!


     


     


     



    12.jpg


     


     


     


     


    후기 : 다양한 분야의 과제를 딥러닝으로 해결하자.


     


     


    머신러닝와 딥러닝이 널리 보급된 오늘날 간단한 화상 분류나 물체 감지 등의 작업은 직접 구현하지 않더라도


    클라우드 서비스 등으로 손쉽게 해결할 수 있습니다.


     


    딥러닝 기술과 기업 고유의 도메인 지식이 모두 있는 엔지니어는 딥러닝 응용 방법을 직접 구현하여


    문해결할 수 있는 과제가 많을 것입니다.


     


    머린서닝과 딥러닝은 '단독'으로 이뤄진 총 같은 무기나 도구가 아닌 'xx딥러닝'이라는 형태일 때 비로소


    진정한 가치를 발휘합니다.


     


    - 만들면서 배우는 파이토치 딥러닝 中 -


     


     


    리뷰를 마치며!


     


  • PYTORCH DEEP LEARNING



    만들면서 배우는 파이토치 딥러닝



    12가지 모델로 알아보는 딥러닝 응용법




    저자 오가와 유타로 / 옮긴이 박광수 / 한빛미디어



     



    이 책의 특징은 딥러닝의 응용방법으로 전이학습/파인튜닝을 활용한 화상분류물체감지시멘틱 분할자세추정, GAN늘 활용한 화상생성 및 이상탐지 테스트 데이터의 감정분석 그리고 동영상 데이터의 클래스 분류를 다뤘다.



     



    딥러닝은 입출력 데이터 손실 함수만 잘 정의한다면 다양한 분야의 과제를 해결할 수 있는 기술이다.



    요즘 산업 전분야에서 고민하던 문제해결을 위해 활발하게 선호하는 기술 중 하나이다.



    저자는 딥러닝 기술과 기업 고유의 도메인 지식이 모두 있는 엔지니어는 딥러닝 응용방법을 직접 구현하여 해결할 수 있는 과제가 많을 것이다라고 말하고 있다.



     



    이 책은 딥러닝의 다양한 응용법을 설명하고 구현했지만심층강화학습은 다루지 않았다심층강화학습은 딥러닝 뿐아니라 강화학습 지식도 필요하다.



    참고로 저자의 PYTORCH를 활용한 강화학습/심층 강화학습 실전 입문에서 심층강화학습을 설명하고 구현했다.



     



    이 책에서 다루는 내용과 딥러닝 모델



    1장 화상분류와 전이학습(VGG, Visual Geometry Group)



    2장 물체인식(SDD, Single Shot MultiBox Detector)



    3장 시맨틱 분할(PSPNet, Pyramid Scene Parsing Network)



    4장 자세추정(Open Pose)



    5장 GAN을 활용한 화상생성(DCGAN, Deep Convolution Generative Adversarial. Self-Attention GAN)



    6장 GAN을 활용한 이상감지(AnoGAN, Efficient GAN)



    7장 자연어 처리를 활용한 감정 분석(Transformer)



    8장 자연어 처리를 활용한 감정 분석(BERT, Bidirectional Encoder Representations from Transformers)



    9장 동영상 분류(3DCNN, ECO)



     



    머신러닝딥러닝은 단독으로 이뤄진 총 같은 무기나 도구가 아닌 ‘OO X 딥러닝이라는 형태일 때 비로소 진정한 가치를 발휘한다.



    OO에는 기업과 산업 그리고 직무특성에 따른 도메인 지식과 과제가 해당된다도메인 지식 X 딥러닝 구현 능력을 가진 인재가 성장하여 기업에서 활약할 수 있도록 이 책이 도움이 되었으면 한다는



     



    저자의 말에 전적으로 공감한다.



     



    각자의 위치에서 OO 문제해결을 위해



    고민하는 분들이라면 일독을 권한다.



    쉽지 않지만,



    직접 구현할 수 없더라도 읽고 개념을 정립하고,



    협업할 수 있는 방안을 찾아 문제해결에 도움이 되었으면 좋겠다.



     



     



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


     


     



    #만들면서 #배우는 #파이토치 #딥러닝 #12가지 #모델로 #알아보는 #딥러닝_응용법 #PYTORCH #DEEP_LEARNING #한빛미디어 #VGG #SDD #PSPNet #Open_Pose #DCGAN #AnoGAN #Efficient_GAN #Transformer #BERT #3DCNN #ECO


     

  • 최근 핫한 딥러닝 트렌드를 꼽자면 역시 파이토치라고 생각을 한다. 한동안은 텐서플로가 우세하게 나타났지만, 어느샌가 파이토치의 간결함과 직관성이 인정을 받기 시작해서 하나둘씩 찾는 사람들이 많이 늘어나는 상황이다. 이런 흐름을 반영이라도 하듯 텐서플로우 위주의 도서들이 점차 파이토치의 분량이 늘어나는 것을 확인할 수 있는데, 이번에 읽은 책도 그 일환으로 비춰지고 있다.


     


     


    이 책은 파이토치를 활용해 딥러닝의 핵심기술이라고 볼 수 있는 컴퓨터 비전과 자연어처리와 관련된 여러 모델들을 파이토치로 구현하는 법을 알려주는 책이다. VGG,PSPNet, GAN, BERT 등 각 분야에 관심있다면 잘 알법한 기본적이면서 필수적인 모델들을 어떻게 파이토치로 구현하는지를 친절하게 알려주고 있다.


     


     


    아무래도 모델을 사용하는 것에 중점을 맞추다보니 내용 전개는 모델에 대한 간단한 설명과 모델에 필요한 파트들을 파이토치로 어떻게 구현하는지가 주를 이룬다. 다른 기본지식없이 모델 설명으로 들어가다보니 인공지능에 대한 이해가 어느정도 있고, 이론 지식이 있거나 텐서플로우로 구현할 줄 아는 실력있는 사람에게 더 적합한 책이란 생각이 든다. 즉, 초보가 보기에는 내용이 어려워서 불편하다는 의미이다.


     


     


    한가지 아쉬운 부분이 있다면 자연어 처리 부분이라고 생각한다. 저자가 일본인이다 보니 예제로 보여주는 자연어처리 구문의 예제가 일본어로 나오는게 개인적으로 좀 아쉬웠다. 물론 자연어 처리 모델이라는 것 자체가 어떤 언어이든 맞춰질 수 있는 부분이고, 이 책이 번역된 부분이다 보니 한국어가 아닌 다른 예제일 것이라 생각은 했지만, 일본어가 예제로 나온 탓에 불편한 부분이 다소 있기는 했던 것은 아쉬웠다. 혹여 이 책을 구할 사람이라면 자연어 처리와 관련된 부분은 일본어 예제가 꽤 있다는 것은 고려하면 좋을 듯 하다.


     



     


    저런 언어적인 문제가 있다 하더라도 책 자체에 들어있는 내용은 괜찮은 편이다. 모델에 대한 이해도 최대한 쉽게 설명을 잘 되어있고, 코드에 대한 예제나 설명도 괜찮다고 생각한다. 다소 난이도가 있다는 부분이 있다고 하더라도 파이토치로 모델을 구현한다는 것에 대한 부분은 깔끔히 잘정리되어있다고 생각한다. 다만 앞서 얘기했듯 어느정도의 배경지식이 필요하고, 바로 모델로 접근하기 때문에 컴퓨터 비전 또는 자연어 처리에 대한 베이스가 있는 상태에서 이 책을 보면 좋을 듯 하다.


     


  • 인공지능에 대한 관심이 늘면서, 서점의 IT 섹션에 가면 딥러닝, 머신러닝, 인공지능 책들이 많이 전시되어 있다. 나도 가끔 퇴근하면서, 요새 나오는 인공지능 전문서적들의 트랜드가 어떤지에 대해서 살펴보곤한다. 많은 책들은 본 것은 아니지만, 시중에서 많이 살펴보는 책들은 아무래도 다음과 같은 경향을 가지고 있지 않나 싶다.



    • 머신러닝의 기초부터 심층 신경망의 이론적인 부분을 다루고, 이에 대한 예시를 간단하게 다룬 책


    • 심층 신경망을 구현할 수 있는 프레임워크인 텐서플로나 파이토치의 사용법에 대해서 다루고, 이를 바탕으로 실제로 구현해보는 책


    • 캐글같은 데이터 대회의 문제 프로젝트를 기반으로 문제를 해결할 수 있는 기법에 대해서 다룬 책



    사실 위의 내용을 모두 다루기에는 책의 분량은 한정되어 있다.(여담으로 유명한 책 중 하나인 핸즈온 머신러닝 책도 분량이 대략 950페이지 정도이다..) 또 책의 두께가 두꺼워지면 아무래도 책장의 장식품이 될 가능성이 매우 높다. 개인적인 경험으로는...



     아무튼 이런 이유로 아무래도 난이도별, 혹은 이를 가지고 현업에 적용하고자 하는 실무자별로 책의 구분이 초/중/고급 등으로 나눠질텐데, 이번에 소개할 책은 나름 최근에 소개된 이론에 대한 구현을 소개한 전형적인 "고급"책이다.



     





     



    이 책은 앞에서 소개했던 것처럼, 보통 파이토치 책들의 서두에 나오는 기본 문법이나 동작 원리에 대한 설명없이 첫장부터 VGG를 이용한 transfer learning을 다루고, 이에 대한 이론적인 설명이 나온다. 그래서 어느 정도 파이토치의 사용에 익숙하고, 이론적인 배경이 있는 현업 실무자가 읽으면 좋을 거 같다. 또다른 적절한 독자층을 찾자면, 많이 나오는 논문들의 배경을 설명하고, 이를 파이토치로 구현하는 방법을 살펴보고 싶은 사람이라면 이 책이 딱 그 목적을 충족시킨다. 이 책은 저자가 논문에 대한 본인의 이해를 바탕으로 코드로 구현할때 참고했던 점에 대해서 설명되어 있다. 사실 논문을 직접 읽는 것도 좋지만, 논문에 수없이 나와있는 수식과 불친절한 해석은 막상 원리를 코드로 구현하기 막막할텐데, 이 책에서는 그런 수식에 대한 설명보다는 이를 잘 설명할 수 있는 예시를 기반으로 설명되어 있기 때문에 조금 더 읽는 입장에서는 이해하기가 수월했다. 참고로 이 책에서는 다음과 같은 내용들을 다루고 있다.



    • VGGNet과 이를 활용한 Transfer learning


    • Single Shot Detector (SSD)을 통한 Object Detection


    • Pyramid Scene Parsing Network (PSPNet)을 통한 Semantic Segmentation


    • OpenPose Network을 통한 자세 추정


    • DCGAN, Self Attention GAN


    • AnoGan, Efficient GAN을 활용한 Anomaly Detection


    • Transformer


    • Bidirectional Encoder Representations from Transformers (BERT)


    • 3DCNN, ECO 등을 활용한 동영상 분류



    이밖에도 이론적인 내용 외로, 이를 데이터로 활용하기 위한 전처리 기법이나 텐서보드 활용법, 책에서 다루는 신경망을 AWS로 학습시킬때의 방법들은 내용 외적으로 실무에서 적용해보고자 하는 사람에게는 도움이 될만한 부분이 담겨져있다. 참고로 이 책에서 다루는 대부분의 신경망들은 왠만한 개인 PC에서 돌리기엔 조금 버거운 형태로 구성되어 있다. 그래서 AWS나 GCP, Azure같은 클라우드 인스턴스에서 가속기 지원을 받은 상태에서 학습시켜야 원하는 결과를 얻을 수 있다. 



    다만 아쉬운 부분이 있다면, 책의 내용이 12개의 모델을 통해서 딥러닝 관련 내용을 다뤘다고는 하지만 실제로는 거의 대부분의 내용이 영상처리 모델에 내용을 다루고 있다는 점(물론 언어모델인 Transformer나 BERT에 대한 내용도 다른 주제에 비교할 수 있을 만큼 잘 설명되어 있다.), 특히 Transformer를 설명하는 부분에서는 원서 그대로 일어에 대한 예시가 소개되어 있는 부분은 영어나 한글이 많이 사용하는 실무에서는 조금 보기 어려운 점이 있지 않나 싶은 생각이 있다. 물론 한글에 대한 모델이나 일어에 대한 모델이나 언어를 학습하는 모델 측면에서는 비슷한 개념이겠지만...



    개인 입장에서는 딱 내 목적에 부합한 책이었다. 항상 집에 와서도 고민하는 내용은 내가 너무 쉬운 내용만 가지고 회사에서 일하는 것은 아닐까? 혹은 나도 조금 더 최신 기술에 대한 내용도 살펴보면서 구현도 해봐야 하는 것은 아닌가 하는 걱정을 항상 가진다. 그런데 시간은 항상 없고, 그렇다고 논문을 딱 보면 "이를 어떻게 구현할까?" 하는 막막함까지 든다. 그래서 항상 설명을 예시와 함께 설명해주고, 이를 코드로 적용할 수 있는 기법에 대한 내용이 다뤄진 책을 갈망했었는데, 이번 기회에 그 내용들을 접하게 되어서 좋았다. 아마 나와 비슷한 생각을 했던 사람이라면 이 책을 딱 봤을 때, 그런 논문에만 언급된 모델들을 실제로 구현해볼 경험을 얻을 수 있을 것이다.



    참고: 원서 소스 코드 (Jupyter Notebook으로 되어 있어서 보기 편할 것이다.)




     



    GitHub - YutaroOgawa/pytorch_advanced: 書籍「つくりながら学ぶ! PyTorchによる発展ディープラーニング」



    書籍「つくりながら学ぶ! PyTorchによる発展ディープラーニング」の実装コードを配置したリポジトリです - GitHub - YutaroOgawa/pytorch_advanced: 書籍「つくりながら学ぶ! PyTorchによる発展ディープラ



    github.com





     





    출처: https://talkingaboutme.tistory.com/entry/Book-pytorch-advanced [자신에 대한 고찰]


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



    이 책은 딥러닝 입문자가 아니라 중고급자를 위한 딥러닝 실전 적용 책이라 할 수 있습니다.


    기본적인 딥러닝 지식들은 건너뛰고 바로 딥러닝 알고리즘을 활용하는 방법을 배우기 때문에


    기초적인 딥러닝 지식은 다른 책을 통하여 미리 습득하고 오길 권장합니다.


     




     


    이 책에서 다루는 12가지 모델은 다음과 같습니다.


     


    화상 분류와 전이학습(VGG)


    물체 인식(SDD)


    시맨틱 분할(PSPNet)


    자세 추정(OpenPose)


    GAN을 활용한 화상생성(DCGAN, Self-Attention GAN)


    GAN을 활용한 이상 감지(AnoGAN, Efficient GAN)


    자연어 처리를 활용한 감정분석(Transformer)


    자연어 처리를 활용한 감정분석(BERT)


    동영상 분류(3DCNN, ECO)


     


    제일 좋은 점은 책 집필 시점(21년 8월)에서 가장 최고 성능의 모델을 선별하여 다루고 있기 때문에 


    성능에 대한 고민을 덜게 되고,


    책만 잘 따라서 코딩을 하고 이해하면 직접 구현을 하는 데 문제가 없도록 설명도 친절합니다.


    또한 해당 알고리즘 구현을 위한 기본적인 이해를 돕는 알고리즘에 대한 설명과 도식화가 잘 되어 있기 때문에 따로 알고리즘 논문을 찾아보지 않고 이 책만 보면 알고리즘 자체를 이해할 수 있게 됩니다.


     


    그리고 자연어 처리면 자연어 처리만, 이미지 혹은 영상처리면 이미지, 영상처리만, 이렇게 분야별로 특화된 도서들은 많았지만 이렇게 다양한 딥러닝 분야의 알고리즘을 한데 모아서 전반적으로 적용방법을 익힐 수 있다는 것이 이 책의 좋은 점인 것 같습니다.


     


    아직 책을 따라가면서 하나하나 해보고 있는 중이지만, 책을 보면서 직접 파이토치로 구현해보고 데이터셋을 불러와서 적용해보는 과정들이 굉장히 재미있습니다.


     


    딥러닝 알고리즘은 하나의 수단이고, 이 수단을 활용할 업무, 즉 도메인이 메인인만큼


    어떤 도메인에 어떠한 딥러닝 알고리즘을 적용해볼지 앞으로 행복한 아이디어 고민을 해봐야 겠습니다.




  •  



    저자: 오가와 유타로


     


     



    #책소개


     



    딥러닝을 진정으로 가치있게 활용하는 방법!

    딥러닝은 입출력 데이터와 손실함수만 잘 정의한다면 다양한 분야의 과제를 해결할 수 있다. 딥러닝 응용 방법으로 전이학습과 파인튜닝을 활용한 화상(이미지) 분류, 물체 감지, 시맨틱 분할, 자세 추정, GAN을 활용한 화상 생성 및 이상 탐지, 텍스트 데이터 감정 분석, 동영상 데이터 클래스 분류를 다뤘다. 직무 특성에 따른 도메인 지식과 딥러닝 구현 능력을 갖춘 인재로 성장하여 활약하는 데 이 책이 도움이 될 것이다.


     



    라고 교보문고가 소개하더이다.


     




     


     



    # 이 책의 특징


     




     


     



    1. 필요한 그림과 충실한 개념 설명



    거의 모든 한빛미디어의 책이 이러한 특징을 가지고 있다.



    정말이다. 이번에 자연어처리를 하면서 배우는 과정에 적합한 책이다.


     



    2. 적절한 예시



    예시가 많은 것은 사실이다.



    하지만 아쉬운 것이 있다면... 주석을 조금 더 독자친화적으로 달아주었으면 하는 아쉬움이 있다.



    물론 모두를 이해시키기 위해한 것이겠지만 처음 하는 사람에게는 감이 덜 온다.ㅠ


     



    3. 프레임워크에 대한 자세한 설명



    솔직히 텐서플로우, 파이토치 비슷하지만 자세히 설명한 책을 그렇게 많지 않은 것 같은데



    이 책은 책도 두껍고 꽤나 자세한 편이라고 생각한다.



    이제 이것을 이용해서 프로젝트 하나하는 것만 남았다.


     


     


     




     



    #후기


     



    지금 머신러닝을 포기한 듯 싶지만.. 사실 포기하지 않았다.



    자연어 처리로 욕설을 거르고 싶은 욕심이 있다.



    이 책이 나를 도와줄 책이라고 생각한다.



    현 시점에서는 욕을 직접하지 않는다.바로 필터링 되기 때문이다.하지만 씨 같은 것을 ^^ㅣ 로 바꾸어서 욕을 하는 등..창의력 대장이다.어떻게 할 지 천천히 이 책을 보면서 생각해보겠다.








  • 이 책을 통해 딥러닝 기술의 응용법을 구현하며 학습해볼 수 있다.






    딥러닝 구현 패키지는 파이토치를 이용하고 있으며, 아나콘다와 주피터 노트북, AWS를 이용해서 실습을 해볼 수 있다.






    화상 분류와 전이학습(VGG), 물체 감지(SSD), 시맨틱 분할(PSPNet), 자세 추정(OpenPose), GAN을 활용한 화상 생성(DCGAN, Self-Attention GAN), GAN을 활용한 이상 화상 탐지(AnoGAN, Efficient GAN), 자연어 처리에 의한 감정 분석(Transformer), 자연어 처리를 활용한 감정 분석(BERT), 동영상 분류(3DCNN, ECO)와 같은 다양한 방법으로 딥러닝을 활용하는 내용을 담고 있다.






    아예 딥러닝을 처음 시작하는 사람들보다는, 기초적인 딥러닝을 구현한 경험이 있는 사람이 이 책을 읽으면 좋을 것 같다. 다양한 예제로 실습해보면서 딥러닝 응용에 대한 갈피를 잡을 수 있을 것이라 생각이 든다.


     



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

  • 파이토치는 파이썬을 위한 오픈소스 머신러닝 라이브러리이다.


     


    본 책 '만들면서 배우는 파이토치 딥러닝-12가지 모델로 알아보는 딥러닝 활용법' 이라는 제목에서 알 수 있듯이 이 책은 파이토치를  통해 딥러닝 모델을 시행하고 있는데 내용상 중급자 이상에 해당하는 내용이므로 이 책을 보기전 초중급 정도의 실력은 이미 갖추고 있어야 하지 않을까 생각한다.


     


    책 본문에서는 1장 화상분류와 전이학습(VGG), 2장 물체인식, 3장 시맨틱 분할, 4장 자세수정, 5장 GAN을 활용한 화상생성, 6장 GAN을 활용한 이상 감지, 7장 자연어 처리를 활용한 감정분석, 8장 자연어 처리를 활용한 감정분석, 9장 동영상 분류등으로 이뤄져 있으며 특히 물체감지, 시맨틱 분할등은 이 책이 다른 책과 달리 좀더 상세하고 쉽게 씌여져 있어 보인다.


     


    이 책에서 잘되어 보이는 부분은 책 초반에 프로그램 설치와 관련 친절하게 각 화면 마다 쉽게 입력하면서 프로세스를 진행하도록 친절하게 설명되어 있는점과 본문마다 프로그래밍 코드에 대해 설명하고 있는 점이다.


     


    저자 오가와 유타로는 동경대 공학부를 거쳐 동경대 대학원에서 뇌 신경과학을 연구하고 비교적 최근인 2016년 박사학위를 취득하고 현재 직무에 종사하고 있어 상대적으로 저작물에 대한 신뢰도가 높아보이기도 한다.


     


    저자는 이제 단독으로 학문적으로 딥러닝이 다뤄지기 보다는 실용적으로 실무에 적용하는 단계로 이를 접근해 나가야 더 많이 이 분야에 발전이 기대된다고 언급하고 있는데 앞으로 업무를 수행한다던가 연구과제를 수행함에 있어 이러한 실사구시적 관점에서 본 내용을 활용하면 더 많은 진전이 있으리라 사료된다.


     


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

  • 오탈자 보기
  • 부록/예제소스
  • 추천도서
    내용이 없습니다.
  • 장바구니
    위시리스트
    구매하기
    닫기

    해당 상품을 장바구니에 담았습니다.
    장바구니로 이동하시겠습니까?