메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

파이토치 첫걸음

딥러닝 기초부터 RNN, 오토인코더, GAN 실전 기법까지

한빛미디어

집필서

판매중

  • 저자 : 최건호
  • 출간 : 2019-06-07
  • 페이지 : 232 쪽
  • ISBN : 9791162241899
  • 물류코드 :10189
  • 초급 초중급 중급 중고급 고급
4.7점 (24명)
좋아요 : 1

페이스북이 주도하는 딥러닝 프레임워크 파이토치 

기초부터 스타일 트랜스퍼, 오토인코더, GAN 실전 기법까지 A to Z 

 

딥러닝 구현 복잡도가 증가함에 따라 ‘파이써닉’하고 사용이 편리한 파이토치가 주목받고 있다. 파이토치 코리아 운영진인 저자는 다년간 딥러닝을 공부하고 강의한 경험을 살려 딥러닝의 진입 장벽을 낮출 목적으로 이 책을 집필했다. 파이토치 설치부터 CNN, RNN, 나아가 스타일 트랜스퍼, 오토인코더, GAN 등 최신 연구 결과까지 살펴본다. 같은 어려움을 겪었던 개발자의 마음으로 개념 원리와 구현을 균형 있게 구성하여 쉽게 읽을 수 있다.

 

주요 내용

  • 아나콘다+CUDA+cuDNN 설치(그냥 코랩 쓰면 마음이 편합니다)
  • 선형회귀분석을 살펴보며 손실 함수, 경사하강법 이해하기
  • 연쇄법칙, 전파, 역전파 등 인공 신경망의 기초
  • 친절한 그림으로 CNN을 익히고, VGGNet, GoogLeNet, ResNet 살펴보기
  • RNN의 원리부터 LSTM, GRU, 임베딩, word2vec까지
  • 오버피팅과 언더피팅 해결, 드롭아웃, 정형화, 초기화, 정규화 등 학습 성능 향상법
  • 스타일 트랜스퍼, 전이학습, L-BFGS
  • 오토인코더와 시맨틱 세그멘테이션
  • GAN과 친구들(DCGAN, SRGAN, Pix2Pix, CycleGAN, DiscoGAN)

 

상세이미지_파이토치 첫걸음.jpg

최건호 저자

최건호

딥러닝 엔지니어. 연세대학교 컴퓨터과학과 및 경영학과를 졸업하고 라프텔, 딥바이오, 토모큐브에서 인공지능 연구원으로 근무했다. 또한 패스트캠퍼스, SK플래닛, T아카데미, 인터파크에서 파이토치를 사용한 인공지능 강의를 진행했다. 지금까지 7편의 논문에 참여했으며 파이토치 코리아(www.facebook.com/groups/PyTorchKR) 운영진으로 활동하고 있다.

 

 

CHAPTER 1 딥러닝에 대하여

1.1 딥러닝이란 무엇인가

1.2 왜 배워야 하는가

1.3 무엇을 할 수 있는가

 

CHAPTER 2 파이토치

2.1 파이토치는 무엇이고 왜 써야 하는가

2.2 다른 프레임워크와의 비교

2.3 설치하는 법

 

CHAPTER 3 선형회귀분석

3.1 선형회귀분석이란 무엇인가

3.2 손실 함수 및 경사하강법

3.3 파이토치에서의 경사하강법

 

CHAPTER 4 인공 신경망

4.1 신경망이란 무엇인가

4.2 인공 신경망의 요소

4.3 전파와 역전파

4.4 모델 구현, 학습 및 결과 확인

 

CHAPTER 5 합성곱 신경망

5.1 합성곱 신경망의 발달 배경

5.2 합성곱 연산 과정

5.3 패딩과 풀링

5.4 모델의 3차원적 이해

5.5 소프트맥스 함수

5.6 모델 구현, 학습 및 결과 확인

5.7 유명한 모델들과 원리

 

CHAPTER 6 순환 신경망

6.1 순환 신경망의 발달 과정

6.2 순환 신경망의 작동 원리

6.3 모델 구현, 학습 및 결과 확인

6.4 순환 신경망의 한계 및 개선 방안

 

CHAPTER 7 학습 시 생길 수 있는 문제점과 해결 방안

7.1 오버피팅과 언더피팅

7.2 정형화

7.3 드롭아웃

7.4 데이터 증강

7.5 초기화

7.6 학습률

7.7 정규화

7.8 배치 정규화

7.9 경사하강법의 변형

 

CHAPTER 8 뉴럴 스타일 트랜스퍼

8.1 전이학습

8.2 스타일 트랜스퍼

8.3 스타일과 콘텐츠의 정의

8.4 학습 알고리즘 

8.5 최적화 알고리즘

8.6 코드 구현

 

CHAPTER 9 오토인코더

9.1 소개 및 학습 원리

9.2 합성곱 오토인코더

9.3 시맨틱 세그멘테이션

 

CHAPTER 10 생성적 적대 신경망

10.1 소개 및 학습 원리

10.2 모델 구현 및 학습

10.3 유명한 모델들과 원리

복잡한 건 파이토치에게 맡기고 모델에 집중하세요

 

딥러닝 분야의 네임드인 안드레이 카파시는 이런 말을 했습니다. “파이토치를 몇 달 써봤는데 이보다 더 좋을 수 없다. 에너지가 넘치고, 피부도 밝아졌으며, 시력도 좋아졌다.” 파이토치는 텐서플로와 비교하면 그래프 정의와 실행부가 분리되어 있지 않아 직관적입니다. 코드가 짧은 것도 강점 중 하나입니다.  새로운 딥러닝 연구 결과가 매일 쏟아지고 구현 복잡도 역시 증가함에 따라 구현 측면에서 ‘파이써닉’하고 편리한 파이토치가 떠오르고 있습니다. 

 

다년간 딥러닝을 공부하고 강의한 저자는 파이토치로 딥러닝의 진입 장벽을 낮출 목적으로 이 책을 썼습니다. 파이토치 실습은 어떻게 시작하는 게 좋을까요? 이 책처럼 코랩을 사용하면 설치할 게 하나도 없습니다. 선형회귀분석, 역전파, CNN, RNN, 학습 시 문제점 해결 등 이제는 익숙한 주제를 배우고, 스타일 트랜스퍼, 오토인코더, GAN 등 주요한 논문 연구 결과도 살펴봅니다. 같은 어려움을 겪었던 개발자의 마음으로 이론과 구현을 균형 있게 구성하여 개발자들이 최대한 쉽게 읽을 수 있게 집필했습니다.

 

최근에는 딥러닝 입문자들이 활용할 수 있는 자료가 많아졌습니다. 수학 공식을 몰라도 배울 수 있다는 주장은 더는 통하지 않습니다. 수학이 어려워도 알아야 할 것은 알아야 수박 겉핥기 수준에서 벗어날 수 있습니다. 코랩+파이토치 실습으로 까다로운 구현은 덜어내고 딥러닝 개념 원리에 집중한 이 책이 딥러닝 정복을 향한 진정한 첫걸음을 딛게 해줄 것입니다. 

 

Author: 최건호 지음

출판사: 한빛 미디어 (제이펍)

 Score /5: ⭐️⭐️⭐️⭐️

이 책의 대상 독자

  • 인공지능 알고리즘을 차근차근히 공부하고 싶은 분
  • 심플하게 파이토치에 대해 접근하고 싶은분

저는 인공지능에 대한 관심은 많지만 아직 발을 떼지 못한 강사입니다.

초보자의 입장에서 막연히 어려울 것 같다는 생각을 가지고 인공지능쪽을 생각하고 있었는데 접근하기 위한 프레임웍이 워낙 다양하기도 하고 러닝커브가 상당히 높다라는 생각을 가지고 있었습니다.

간략하고 간단하게 알고리즘에 대한 접근, 요즘 대세(?) 언어로 불리는 파이썬을 활용한 파이토치에 관심이 생겼습니다.


해당 책은 약 200여 페이지의 얇은 부피를 자랑하고 있습니다.

인공지능하면 수식적으로 깊이 파고들어서 알아야 한다는 생각을 했는데 이 책의 접근 방식은 반대입니다.
간단간단한 개념 -> 코드 -> 결과를 보여 줍니다.
프로그래머 또는 초보자 입장에서 접근성을 올려 주는 방식입니다.
개인적으로 이런 방식을 통해서 인공지능 알고리즘에 대한 관심을 높일 수 있었고 더 공부할 생각입니다.

 

다만, 이책으로 모든것을 알 수는 없습니다.
초보자가 언제든 꺼내 볼 수 있는 핸드북으로 활용하면 좋은 책입니다.

 

※ 이 책은 한빛 미디어의 지원으로 작성된 글입니다

 

머신러닝/딥러닝 개발과 관련하여

대중적으로 가장 유명한 것은 `텐서플로(Tensorflow)`일 것이다.

 

GitHub에서도 지금(21년 8월) 현재 159k stars를 자랑하고 있으니....^^

https://github.com/tensorflow/tensorflow

 

 

`파이토치(Pytorch)`는 그정도의 인기는 없다.

아직 50.4k stars 밖에 안된다.

https://github.com/pytorch/pytorch

 

 

하지만, 최근 협업에서는

Tensorflow 보다 Pytorch가

더 많은 인기(?)를 얻고 있다.

 

 

이런 Pytorch를 처음 공부할 때

적합해보이는 책이 있다.

 

파이토치 첫걸음 - 딥러닝 기초부터 RNN, 오토인코더, GAN 실전 기법까지

파이토치 첫걸음

 

파이토치 첫걸음 - 10점
최건호 지음/한빛미디어

 

 

책을 본 첫 느낌은

산뜻한 색상의 표지 + 232쪽 얇은 두께 + 아담한 A5 크기

결론적으로

작고 얇은 예쁜 책!!!

 


목차



그리고 목차를 보면

친절하게도 딥러닝이 무엇인지

파이토치를 어떻게 설치해야하는지도 알려주고 있다.

 


딥러닝


체스를 보여주며 인공지능을 상징하고

스팸 메일 분류를 가지고 머신러닝을

고양이 판별하는 것으로 딥러닝을 설명해주고 있는 그림을 보면서

감동도 했다!


`정말 꼼꼼하게 신경써서 만든 책이구나~`




신경망

 

처음에는 단색 인쇄인 줄 알았지만,

필요에 따라 color가 사용되기도 하고

중간에 폴컬러 인쇄가 되어있기도 하다.

 

 

 

지금까지 좋은 말을 했으니

이제는 아쉬운 점을 이야기하자면...



아담한 A5 크기에 232쪽 얇은 두께의 책이고

책 제목이 `파이토치 첫걸음`인데...


부제목은 엄청나다.

`딥러닝 기초부터 RNN, 오토인코더, GAN 실전 기법까지`


즉, 조그마한 책에 너무 많은 것을 알려주려고 한 것이다.




책 제목이 `파이토치 첫걸음`이고

책의 첫 챕터에서 딥러닝이 뭔지 설명해주는 책이기에

딥러닝 어린이가 구매하기를 기대한 것으로 보이는데

그러기에 책 내용은 딥러닝 어린이기 보기에 쉽지 않다.



당장 챕터3의 `선형회귀분석` 부분을 보면

친절하게도 선형회귀분석이 무엇인지 설명을 해주고 있고

손실함수 및 경사하강법을 이어서 이야기하고

파이토치에서의 경사하강법은 어떻게 하는지 설명을 해주며

소스코드로도 보여주고 있다.


하지만,

분명히 차근 차근 밟아나가며 설명을 해주고는 있지만

충분한 설명이라기 보다는 요약 수준이다.


설명이 부실하다는 말은 아니다.

깔끔하게 정리된 논문같은 느낌?!

아니면 공부하면서 요약정리한 느낌!?





반면, 제공되는 예제 코드가 잘 제공되고 있어서 많은 도움이 된다.

https://bit.ly/2U7ttYT


책의 예제 외에도 추가적인 자료도 포함되어 있고

주석도 추가적으로 제공되고 있다.

 


 

비교적 얇고 작은 사이즈의 책이기에

가볍게 들고 다니면서 틈날 때마다 한 번 읽어보고

제공되는 예제 코드를 Colab에서

돌려가면서 실습해보고

잘 이해가 안되는 부분들에 대해서는

구글링을 해보며 채워나가면서

공부하면 좋을 것 같다.


 

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

다운로드.png

최근 가장 많이 관심이 높은 기술 중 하나가 딥러닝 분야이다. 딥러닝 분야에는 대표적인 프레임워크가 있는데 가장 많이 들어보고 가장 핫한 프레임워크는 텐서플로우, Caffe, 파이토치 이다. 텐서 플로우나, 파이토치 같은 경우 파이썬 으로 개발을 할 수 있어 C++로 작성된 caffe보다는 접근성이 그나마 낫다. 머신 러닝에는 사실 러닝 커브가 높고 실무에선 석,박사 급으로 이루어진 팀에서 개발을 주도 하기도 한다. 새로 생긴 분야가 아닌 관심도가 높아진 분야에서 젊은 개발자나 여러 회사에서 머신러닝에 관하여 투자와 사업 개발을 하고 있게 프레임 워크 선택도 중요하다. 책에서 파이토치와 넘파이를 비교를 살짝 했지만 cpu연산만 하는 numpy 보다 Cuda를 사용하는 GPU API 요청 처리를 프레임 워크화해 놓은 것이 파이토치라고 한다. numpy보다 개발 환경에서도 머신러닝에 최적화 되어있다보니 간결한 문법으로 여러 처리를 할 수 있다는 것이 파이토치와의 차이점이라고 한다. 텐서플로우는 많이 찾아보진 않았지만, 이 책은 두껍지 않은 책임으로 내용은 간단히 설명이 되어있고 부담을 느끼지 않고 머신러닝에 대해 어떻게 사용되는지 알고 싶다면 이책을 읽어보길 추천한다.



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

 

딥러닝의 기본을 한 층 더 깊게 들여다보고 PyTorch로 구현해 보는 딥러닝 기본서이다.

개인적으로 느낀 책의 가장 큰 장점은 널리 알려진 유명한 딥러닝 입문서나 교과서들이 생략한 부분을 한 층 더 깊이있게 설명하여 독자의 이해를 돕는다는 점을 들고 싶다.자동미분

예를 들면 딥러닝 발전의 큰 분기점 마다 놓여있는 유명 논문을 읽을 때도 사소한 그림이나 수식 하나가 이해 안가 헤매는 경우가 있다.

ImageNet에서 괄목한 만한 성과를 거둔 VGGNet에서 신경망 깊이와 성능의 관계, GoogLeNet의 인셉션 모듈, ResNet의 잔차 학습 블록 개념 등이 그런 경우이다.ImageNet

순환 신경망에서 시간 t의 step에 따라 Layer의 도식도가 변하는 경우도 처음 접할 때는 난감한 부분이다.

역전파를 거치며 tanh 미분 값이 여러번 곱해지며 발생하는 기울기 소실 문제를 극복하기 위해 LSTM이나 GRU 모델이 등장한다. 셀, 은닉상태나 각 게이트의 복잡한 구성을 처음 접하면 당황스럽기 그지 없다.

이 책은 그런 게이트를 단계마다 하나하나 분해하여 설명하고 있어 이해하기 쉽다. 기호나 그림이 익숙해 지면 관련 논문 리터러시 또한 향상될 것이다.LSTM

또 하나의 예로 CNN을 처음 접한 초보자들의 공통적인 고민을 들 수 있다. 모델의 Layer를 몇개 구성할지, 전달하는 파라미터 값은 어떻게 설정해야 할 지 등의 어려움을 겪는 초보자들이 많은데 사실 친절하게 설명하는 책을 의외로 찾기 어렵다.

5장에서 CNN의 핵심 개념을 잘 설명하고 있고 그에 따라 모델을 구성해 나가는 법도 자세히 설명하고 있으니 누구나 한 번쯤 겪는 시행착오도 쉽게 통과할 수 있을 것이다.

이런 일련의 배움 과정에서 대부분의 사람들은 다른 레퍼런스를 참조하고 지인에게 물어 부가적인 설명을 메모해 두곤 할텐데 저자 역시 유사한 경험이 있었던 것 같다.

그런 시행착오와 메모 과정을 자세한 설명으로 담고있기에 입문 단계를 넘어선 독자라면 이 책이 딥러닝의 깊은 이해에 많은 도움이 될 것 같다. 특히 5 ~ 6장에 해당하는 CNN, RNN 파트가 그렇다.

그 외 실전에 도움될 만한 내용들이 담겨있다는 점도 장점 중 하나이다. 프레임워크와 모델링은 이미 베낄만한 레퍼런스가 넘쳐나기에 7장에서 다루는 과적합, 정규화, 드롭아웃, Augmentation 등의 부가 기법이 오히려 중요하게 여겨지는 경우가 있다.

이 또한 벨리데이션 자동화나 프로파일링 등으로 점차 자동화 되어가는 추세이니 큰 의미를 부여하기 어려운 과정이 되어가고 있지만 아직까진 사람의 경험에 의존하는 부분이 많은데 실전 문제 해결에 도움이 되는 원론이 잘 정리되어 있다.

1 ~ 4장에서는 딥러닝과 파이토치의 기본을 다룬다. 딥러닝의 개요, 파이토치로 개발환경을 구성하는 방법, 선형회귀로 파이토치의 기본적인 활용법을 살펴본다. 특히 손실함수를 도출하고 경사하강법 적용하는 과정에서 자동 미분의 필요성과 배경을 알기 쉽게 도출한다.

5 ~ 6장은 CNN, RNN을 다루는데 앞서 언급했듯 한 층 깊은 설명이 인상적인 파트이며, 7 ~ 8장에서는 실전에 많은 도움이 되는 모델의 성능 향상 방법이나 전이학습을 활용하는 방법을 다룬다. 9 ~ 10장은 오토인코더 및 이를 확장한 개념인 GAN의 기초를 학습한다.

반면 한가지 아쉬운 점은 PyTorch 보다는 딥러닝에 더 많은 비중을 두고 있다는 점이다.

딥러닝 모델을 구현하는 첫 단계부터 PyTorch 레퍼런스를 어떻게 접근하며 활용할지, 문제가 발생했을 때 어떤 트러블 슈팅 절차나 디버깅, 테스트 등의 시도가 가능할지, 도움을 받을 만한 커뮤니티나 에코 생태계는 어떻게 돌아가는지 등 PyTorch의 기본에 집중한 내용을 기대했는데 누락된 것이 아쉽다.

전반적으로 적은 분량으로도 딥러닝을 깊이있게 이해할 수 있도록 잘 짜여진 책이라는 생각이 든다. 딥러닝 입문자가 보기엔 조금 깊이가 있어 Python을 구사할 줄 아는 초보자 이상 수준의 독자에게 추천하고 싶다.


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

  • "텐서플로 or 파이토치, 뭘 배워야 하나요?"
    • 요새는 좀 뜸하지만 작년, 재작년쯤 커뮤니티에 자주 올라온 질문.
    • 딥러닝 = 텐서플로라는 공식이 상당히 오래 있었고 지금도 텐서플로가 저물었다고 말하긴 힘들다.
    • 일단 텐서플로를 만든 곳이 구글이라는 점, 그리고 공개된 코드가 많다는 점이 상당한 강점으로 작용한다.
    • 그러나 최근에는 딥러닝 입문을 파이토치로 시작하는 분들도 많고, 텐서플로로 짜여진 딥러닝 코드를 파이토치로 변환해서 제공해주는 분들도 많기 때문에 파이토치로 한다고 딱히 어려움은 없다.
    • 딥러닝을 많이 쓰시는 분들 이야기를 들어보면 "어차피 둘 다 알아야 돼요".
  • "파이토치는 뭘로 배워야 해요?"
    • 파이토치를 배우기로 마음 먹은 초보자의 두 번째 질문.
    • 파이토치에 익숙한 많은 분들께서는 공식 홈페이지의 튜토리얼을 권하신다. (링크한글버전 링크)
    • 정말정말 잘돼있다는 찬사와 함께 "저것만한 게 없어요"라고 하는데, 홈페이지보다 책이 익숙한 초심자들 입장에서는 기본적인 내용을 다루는 얇은 책이 하나 있으면 좋겠다 싶은 것도 사실이다.
    • 무엇보다 눈에 보이는 건 중요하다. 책꽂이에 파이토치 책이 한 권 꽂혀있다는 것만으로 나는 딥러닝을 공부하고 있다는 심리적 안정감과 진도를 나가야겠다는 의지가 생긴다.
  • 파이토치 첫걸음
    • 2019년에 나온 이 책은 2년이 지난 지금 보기에도 전혀 무리가 없다.
    • 유행에 민감한 최신 기술을 다루기보다 MNIST로 시작하는 파이토치의 기본 구동에 이어 CNN, LSTM과 GRU를 다룸으로써 전반적인 딥러닝을 한번 훑을 수 있게 해 준다.
    • 앞부분에는 역전파 같은 기본기가 나오는데, 이 내용을 아는 사람이라면 넘겨도 좋다
  • 마음에 드는 첫 번째 요소: 단계별 코드 구현 방식
    • 이런 기술서에서 쉬운 내용 뒤에 어려운 내용이 나오는 것은 당연하다고 볼 수도 있다.
    • MNIST에서 VGG를 넘어 GoogLeNet과 ResNet으로 넘어오는 부분이 참 마음에 들었는데, MNIST에서 초보적인 CNN을 구현하고 조금 복잡한 VGG에 이 기술을 고스란히 적용시켜 짠 다음 체계적으로 구성된 실제 VGG 코드를 보여줌으로써 실제 코드의 이해를 돕는 한편 학습자의 눈을 높인다.
    • 분야를 막론하고 학습자의 눈이 높아진다는 점을 굉장히 중요하게 생각하는데, 한 번 높아진 눈은 래칫(ratchet)이 되어 엉성한 코드를 짜는 자신을 견디지 못하게 만들어 실력을 향상시키기 때문이다.
  • 마음에 드는 두 번째 요소: Chapter 7. 학습 시 생길 수 있는 문제점과 해결 방안
    • 뭐든 그렇지만 딥러닝은 배운대로 한다고 되는 법이 없다.
    • 학습이 안되는 것도 문제지만 한 번 학습에 걸리는 시간이 길기 때문에 뭐가 잘못되면 이것저것 마구잡이로 적용하는데 시간과 비용이 많이 발생한다.
    • 초심자 입장에선 어디를 건드릴지도 모르고, 어떻게 건드릴지도 몰라서 답답한 경우가 많은데 그 지점을 잘 긁어주고 있다.
    • 물론 실제 한방에 깨끗하게 낫는지는 다른 문제이지만 일단 막막하지 않다는게 어딘가.
  • 딥러닝을 이론으로만 아는 사람에게 제일 좋을 책
    • 작은 크기, 200페이지 남짓의 두께에서 파이토치를 한 번 훑다 보니 세세한 내용을 다루는 데는 한계가 있다.
    • 특히 어려우려면 한없이 어려운 딥러닝 이론을 담기에 좁은 공간이고, 이 공간을 대표 사례 중심으로 설명하다 보니 초반 일부를 할애한 이론도 깊은 설명을 담기는 어렵다. (그럼에도 불구하고 있을 말은 다 있다)
    • 다른 책이나 동영상 강의로 딥러닝 강의를 어느 정도 본 사람이라면 이 책을 보면서 한번 감을 잡고, 실전 위주의 다른 책이나 공식 홈페이지 튜토리얼로 넘어가도 괜찮을 것 같다.

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

최근에 데이터 분석 업계에 종사하시는 분과 대화를 나누면서 생각했던 것보다 실무에서 훨씬 다양한 프레임워크를 사용하고 있단걸 알게되었다.

그 중에서도 파이토치를 많이 사용하고 있다고 말씀하셔서 언젠가는 꼭 다뤄봐야겠다 라고 다짐했었다.

그리고 마침 8월에 한빛미디어에서 파이토치 관련한 도서를 받게 되었다.

그동안 다뤄봤던 프레임 워크로는 설치부터 골머리 앓게 했던 Tensorflow가 가장 먼저 떠올랐다.

파이토치는 다르지 않을까, 그때보다는 내가 좀 성장하지 않았을까(ㅋㅋㅋ)하는 생각으로 또한번 호기롭게 도전하기로 했다.

무엇보다 이책의 저자가 파이토치로 딥러닝의 진입 장벽을 낮출 목적으로 집필했다는 점이 굉장히 마음에 들었다.

요즘 어딜가도 딥러닝, 머신러닝, AI, 빅데이터, 파이썬에 대한 이야기가 쏟아져 나오지만, 막상 직접 원리를 이해하고 코드를 작성하다보면 탈주하게 되는 경우를 다수 목격했었기 때문이다.

그리고 딥러닝의 구현 복잡도가 증가하고 있는 요즘에 파이토치로 편리하게 구현이 가능하다는 점에서 확 끌렸다.

Tensorflow 때만 해도.. 딥러닝을 굳이 해야할까? 순수학문에 남아있을까? 하는 고민이 들었기 때문이다.

원리는 알고 있지만 구현이 살짝 버거운 나와같은 사람들에게는 파이토치가 정말 간절하지않을까 싶었다.

그리고 RNN과 CNN은 R로만 구현해봤어서 파이썬으로 시도해볼 수 있어서 즐거운 실습 시간이었다.

와 파이썬 얼마만에 실행한건지..

맨날 Hive 쿼리만 작성하고 Excel 편집만 하다가 Pycharm으로 import부터 작성하니까 괜히 반갑고 신났었다.

책의 CH.2를 따라 파이토치를 설치하고 CH.6까지는 기존에도 알고있던 내용이라 기억을 불러오는 느낌으로 가볍게 따라 코드를 실행했다.

특히 선형회귀분석 보자마자 왜이렇게 반가운 마음이 드는지 모르겠다.

약간 고향에 온 기분이랄까?

나는 역시 수학이 너무 좋다..^ ^..

선형회귀분석, 인공 신경망, 합성곱 신경망, 순환 신경망 까지는 아 맞다 이거였지~를 남발했다.

역시 아는 건 여러번 반복해도 재미있다. 자신감 붙는 소리가 지구밖 화성까지 들리겠다.

CH.7에서 모델링 문제 해결 기법같은 경우는 데이콘에서 실제로 NLP 코드를 짤때 했었던 기법들이 많이 보여서 나름 익숙하게 실습했다.

데이콘 준비할 때는 아 분명 이런 상황에서 해결방법을 배웠는데 아무리 고민하고 구글링해도 답이 나오질 않아서 답답했었다.

근데? 여기 정답이 다있더라.

역시.. 잘 기억해 둬야한다. 내 코드에서 언제 어떻게 이런 상황들이 생겨날지는 아무도 모르는 일이니까.

CH.8 부터는 다소 생소한 내용이었다.

뉴럴 스타일 트랜스퍼, 오토인코더, 생성적 적대 신경망인 GAN의 이야기였는데 막 완벽하게 코드를 구현하기 보다는 이런 개념이구나~를 훑는 느낌으로 최대한 스트레스 받지 않고 즐거운 마음으로 코드를 보았다.

특히 GAN의 경우는 의료분야에서도 많이 이용이 될 전망이라는 이야기를 들었던 기억이나서 더 유심히 보게 되었다.

의료분야에는 왜이렇게 관심이.. 끊어지질 않는지 도통 모르겠다.

그래서 그런지 요즘 슬기로운 의사생활 시즌2 보려고 각잡고 있다. 어우 기대돼.

어쨌든 예전에는 거의 전공책 두께의 실습 책을 옆구리에 거의 몇달씩 껴고 완벽하게 따라서 실습하려고 스트레스받고.. 프로그램이랑 싸우고.. 노트북 초기화를 밥먹듯이 했었는데 마음 가짐을 조금 바꾸어서 되면 되는대로 안되면 안되는대로 최대한 악감정이 들지 않게, 질리지 않는 선에서 즐겁게 실습했다.

무엇보다 이 책이 핸디북처럼 얇고 가볍게 구성이 되어있어서 그런지 파이토치를 처음 접하는 나로서는 굉장히 반갑고 즐거웠다.

첫술에 배부를 수 없듯이, 첫술은 무조건 즐기자라는 마음으로 실습하기 딱 좋았다.

파이토치를 처음 접하는, 딥러닝에 대한 개념이 어느정도 있는 나에게는 잠시 잊고 살았던 개념을 복습하면서 새로운 파이토치를 받아들이기에 만족스러웠다.

 



인공지능 안에 머신러닝이 있고,

머신러닝안에 딥러닝이 있다.

@_@ 하면서 헛갈린다면

이 책을 추천한다.

파이썬에 관한부분은 기본적 지식이 있다는 전제하에 서술되지만

그외 머신러닝과 딥러닝은

하나하나 친절하게 설명해주는 책이다.





인공지능 = 기계가 인간이 인지 과정을 모방하는 것

 

머신러닝 = 명시적으로 프로그래밍 x 상태에서 기계에게 학습 능력을 부여하는 것

ex) 지도학습 : 데이터와 정답의 상관관계 모델링, 어떤게 강아지 사진인지 - 아닌지 구분

 

비지도학습 : 데이터만 있고 정답이 존재하지 않는 상황에서 데이터에 숨겨진 특정 패턴을 찾는 과정, 군집화 알고리즘이 대표적인 경우

 

 

강화학습 : 특정 환경에서 어떤 행동을 했을 때 결과로 얻어지는 보상을 통해 학습하는 알고리즘.

=>최종 보상을 극대화

바둑으로 두면 어디에 두는게 최고의 수인지 선택을하고, 선택으로 주어진 새로운 환경에서 또다시 선택을 하는 과정 (최근에는 보상을 사용하지 않는 강화학습도 존재)

 

파이토치를 써야하는 이유?

넘파이 등도 있지만,

1)x,y,z 세 변수에 대해 기울기를 계산할때

넘파이 : 일일이 미분 코드를 작성

파이토치 : backward()로 끝



 

KakaoTalk_20210809_163534280.jpg

 

 



2)CUDA, cuDNN이라는 API를 통해 GPU를 연산에 사용할 수 있다. 이로 인해 생기는 연산 속도의 차이는 엄청 크다.

[CUDA: 그래픽카드를 만드는 엔비디아가 GPU를 통한 연산을 가능하게 만든 APU,

cuDNN은 CUDA를 이용해 딥러닝 연산을 가속해주는 라이브러리이다.]

 

1.아나콘다 설치

2.CUDA설치

3. cuDNN을 설치한다.

 

이후 파이토치를 설치한다.

실행방법은 다음과 같다

python

import torch

cpu_tensor = torch.zeros(2,3)

device = torch.device("cuda:0")

gpu_tensor = cpu_tensor.to(device)

print(gpu_tensor)

 

방식으로 설치하며

 

책에 있는 실습을 진행하면 된다.





우리가 배워야하는 이유:

기존에는 컴퓨터에겐 쉽지만 인간에게 어려운 문제들 (계산, 연산) 을 요구했다.

이에 빟래 딥러닝 모델들은 기존 알고리즘으로 풀기 어려웠던 문제들, 사람에겐 쉽지만 컴퓨터에게 어려운 문제를 풀어나가고 있다.

이때 인간의 '감', '근거없음', '확실하진 않음'을 높은 수준으로 제공한다.



 



장점: 파이썬을 기초익히고, 처음 데이터분석을 접한다면 읽어보길 추천한다.

설명이 자세하고, 어려운 내용을 쉽게 풀어낸다.(적절한 예시는 덤이다.)

 

단점: AMD 그래픽카드를 쓰는경우에 대한 안내, 리눅스에 대한 안내가 부족

자세한 설명없이, 코드만을 원한다면, 실전연습이 더 많은 책을 추천

 

한줄요약: 머신러닝-딥러닝-파이토치의 '기본'을 쌓기 가장 좋은 책!

 

 

 

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



 



파이토치 - 복사본.jpg

 

 

최근에 업무 관련에서 머신러닝에 대해서 기술파악하는 일이 있었다. 솔직히 머신러닝부터가 막연했는데 몇 가지를 쬐끔씩 맛보면서 해보니까 재미있더라.

그래서 뭐 더 없나 하니 딥러닝이라고 있단다.

(머신러닝 안에 딥러닝 있다.(내 안에 너 있다.))

딥러닝은 또 뭔가 하고 보니 알파고 가 이걸 썼다고 하니 관심이 갔다. 어렵긴 하겠지. 당연히 나한테 새로운 기술 책을 보겠다는 것인데 어렵겠지! 하지만 다행스럽게도 이 책은 '첫걸음'이란 단어가 들어간 책 답게 입문을 위한 책이었다.

독자 대상부터가 '어디서부터 어떻게 딥러닝을 공부를 시작해야 할지 막막한 사람'이 대상이었으니까 참 다행이었다.

 

파이토치 이건 또 뭐람? 파이썬이라는 언어는 알지만 파이썬에도 여러가지 라이브러리가 있는 것은 알지만 자주 쓰는 특정 라이브러리나 알지 그 외는 몰랐다.

딥러닝 프레임워크.

나는 자바 언어에만 프레임워크가 있는 줄 알았는데 이렇게 또 하나 배웠다.

 

책에서 모델에 대한 개녕, 배경, 사례를 설명해주고 있다.

인공신경망은 뭐지? --> 파이토치에서 이걸 구현하고 싶은데 어떻게 하지? , 이렇게 구현할 수 있어. --> 근데 이런 한계점이 있는데 이걸 보완하려면 저게 필요해, 저건 다음 장에서 설명할 거야.

이런 구성이란 소리다.

결국 다 읽어야 중간에 읽다가 생긴 궁금증이 해결될 수 있도록 되어 있다는 것이다.



한빛미디어 출판사에서 출판중인 "파이토치 첫걸음" 이라는 책이다.

아무래도 파이토치, 텐서플로우 등 다양한 프레임워크들이 나오고 있는 실정이다.

그러다보니 여러곳에서

다양한 분야의 서적들이 나오게 되는데 오늘은 그 중에 "파이토치" 이다.

 

최근에는 파이토치가 개발자들 사이에서는 힘을 얻고 있는 프레임워크라고 한다.

그 파이토치를 어떻게 사용하고, 대표적인 연구자료 들은 어떤것들이 있는지

확인하는 그런 책이라고 보면 된다.

 

머신러닝 책들 중에서는 가장 무난하게 읽히는 책이 아닌가 싶다.

너무 쉽게 작성되었다는 이야기가 아니라

읽기 쉽게 잘 구성되어있고, 배경지식도 크게 어렵지 않다

(그래서 인기가 있나?)

 

설치부터 시작해서 예제, 그리고 자주하는 실수들까지

잘 모아놓아서 처음시작하는 사람에게 참고서적으로 삼기 참 좋은 책이라고 생각한다.

 

머신러닝을 제대로 시작해보고 싶다면

이 책도 함께 읽어보는건 어떨까?

최근에 논문들을 읽으면서 구현을 해야할 일들이 생겨서 pytorch를 빠르게 익혀야 하는 상황이 왔습니다. 그러던 도중에 이번 도서를 신청했을 때는 내심 파이토치에 관련된 책을 읽고 싶다는 생각이 막연하게 들었습니다.

일단 책의 총평 및 리뷰를 하기전에 장점을 말하자면, 책에서 제일 중요한 표지 디자인과 두께 면에서는 10점 만점에 10점을 주고 싶습니다. 안그래도 노트북, 필기도구, 전자기기, 책등 여러가지를 들고다니느라 가방이 항상 무거웠는데 파이토치 첫 걸음 책은 부담없고 가볍기 때문에 대중교통에서 손쉽게 읽을 수 있는 점이 좋았습니다.

그리고 디자인과 부제의 catch phrase를 통하여 책에 무엇을 배울 수 있는지 간접적으로 알 수 있는 점이 독자들에게 호기심을 조금이나마 해결해줄 수 있는 점이 좋았던 것 같습니다.

책의 저자 분은 비전공자도 알아보기 쉽게 책의 내용을 구성하셔서 코드를 따라치고 읽으면서 이해하는데는 큰 어려움이 없습니다. 또한 언제나 설치하는 부분에 많이 좌절을 하시는데 이 책에서는 튜토리얼을 통해 설치하는데 있어서 어려움을 덜어줍니다.

또한, Layer들이 어떻게 구성되었고 시각적인 이해를 돕기 위해서 figure가 추가된 점이 좋았습니다.

책의 가격을 봤을때 무겁지 않고 실용적인 내용을 가지고 있어서 좋았습니다.

마지막으로 좋은 책 제공과 기회를 주신 한빛미디어 담당자 분들께 감사 드립니다. 9월에도 내용이 탄탄한 도서를 읽고 빨리 리뷰를 남기고 싶습니다.

 

1.표지.jpg

 

 

이세돌과 알파고간 세기의 바둑 대결 이후로 우리에겐 딥러닝이 관심의 대상이요 호기심의 대상이 되었다. 

우리가 모르는 사이 생활 곳곳에서 머신러닝/딥러닝 알고리즘이 돌아가고 있다. 개인적으로도 관심을 가지고 이기술에 접근해보고 싶은데, 체계적으로 개념을 쌓아나가기가 쉽지 않다. 사람들의 관심 만큼이나 온/오프라인에서 수많은 서적, 정보가 넘쳐난다고 해도 추상적인 개념과 복잡한 수학적 기반 등을 이해하기엔 진입장벽 같은 것이 느껴지기 때문이다. 그래서 초심자는 개념잡기에 많은 노력을 할애 해야 할 것 같다. 


이책은 '어디서부터 어떻게 딥러닝 공부를 시작해야 할지 막막한 분들을 대상으로' 한다. 개념과 원리 뿐만 아니라 실제 적용되는 모델링을 파이토치(파이선 based)코드로 테스트 하기 때문에 전공/비전공을 떠나서 파이썬을 어느정도는 다룰줄 아는 실력이 필요하다. 

 


(구성)


이책의 구성은 아래 내용들로 이루어진다.    


인공지능-머신러닝-딥러닝의 개념 및 관계 

파이토치 소개 및 환경 구성 방법, 선형회귀분석 모델 구현 

인공신경망 모델 구현, 합성곱 신경망 구현

순환 신경망-글자사이의 패턴을 학습, 특정문제를 모방하는 모델 구현

학습시 문제점과 해결 방안 소개, 스타일 트랜스퍼 구현

오토인코더 + 합성곱 구현 ,생성적 적대 신경망 탐구

 


 

 

세부적인 구조를 살펴보면 단순히 개념 설명만 하는 것이 아니라 인공지능의 역사와 발달과정 속에서 각각의 모델이 갖는 의미를 이해할 있도록 해준다.

 

3.1.jpg 

 

 

 

이어서 해당 모델의 원리에 대한 이해를 한다. 그림을 보면 좀더 쉽게 이해가 된다. 

 

3.2.jpg

 

 

 

이어서 파이토치로 구현하고 결과를 확인한다. 

 

3.3.jpg

구현한 모델의 문제점과 개선 방향도 제시해준다. 

 

3.4.jpg

 

 

 

(장점)

 

딥러닝 공부를 시작하는 초심자에 맞추어 다양한 개념들을 그나마 쉽고 간략하게 설명하고 있다.

책의 크기와 두께가 부담감을 상당히 줄여준다.


(대상) 

1. 파이토치를 활용한 딥러닝 공부 초심자 

2. 딥러닝을 처음 시작하는 입장에서 세부적인 개념과 원리를 이해하고 싶은 초심자

3. 파이썬을 다룰 줄 알고 딥러닝에 적용해 보고 싶은 초심자

 


(마무리하여) 

 딥러닝에서 표현하는 양식에 대한 이해와 수학적 기반은 딥러닝을 시작하는 단계에서 중요한 요소이다. 

이러한 요소을 바탕으로 이책의 내용을 이해하고 파이토치 프로그래밍을 한다면 효율적으로 '딥러닝 첫걸음'을 뗄 수 있으리라 확신한다.

 

다운로드.png

 

 

 

생각보다 얇은 책이고요

크기도 일반 소설들보다 조금 작은 사이즈입니다


출퇴근용으로 또는 화장실에 들고 들어가기 좋은 사이즈입니다


첫째로

파이토치 뿐 아니라,

ML에 대한 기본적인 원리나 이런 부분들을

그렇게 어렵지 않게 접근해보고 싶은 분들


둘째로

ML에 대한 어느 정도의 지식이 있는 상태에서

더 깊이 들어가보고 싶다거나

또는 파이토치에 대한 코드를 접해보고 싶은 분들


모두에게 추천하는 책입니다



다시 강조하지만 ㅋ

그리 부담스러지 않은 양과 크기라서

술술 읽힙니다 ㅋㅋㅋ 

0. 텐서플로우, 이제 대세는 파이토치?

구글은 머신러닝관련 프로그램을 보다 편리하게 개발할 수 있도록 텐서플로우라는 프래임워크를 개발합니다. 텐서플로우는 머신러닝을 개발에 큰 진보를 가져왔고, 이를 통해, 다양한 머신러닝 코드들이 깃허브를 통해 공개되고, 유통되면서, 관련 시장이 크게 발전하게 됩니다. 그러나 이러한 텐서플로우의 큰 강점에도 불구하고, 페이스북은 보다더 편리하게 머신러닝을 접근할 수 있도록 프레임워크를 개발해 내놓게 되는데 이것이 바로 파이토치 입니다.

1. 파이토치 왜 공부해야하지?

파이토치는 텐서플로우보다 높은 코드 생산성을 가지고 있습니다. 이것은 텐서플로우와 파이토치의 큰 차이로, 파이토치는 'Define by Run' 방식이기 때문입니다. 즉 파이토치는 연산 그래프를 정의하는 것과 동시에 값도 초기화되어 연산이 이뤄지기 때문에 연산 그래프와 연산을 분리해서 생각할 필요가 없습니다. 반면에 텐서 플로우는 '그래프를 먼저 정의하고 세션에서 실제로 값을 집어 넣어 결과를 도출'하는 방식이기 때문에 사람에 따라 직관적으로 받아들이기 어려울 수도 있고, 그래프를 정의하는 부분과 이를 돌리는 부분이 분리되어 있게 때문에 전체적으로 코드 길이가 길어지게 됩니다.

2. 파이토치 첫걸음

 

 

1.png

 

 


 

이 책은 파이토치를 처음 공부하는 입문자들에게 매우 편리하게 구성되어 있습니다. 머신러닝을 처음배울 때 알아야하는 설치부터, 회귀분석, 인공신경망의 원리 등을 예제 코드와 함께 차근차근 설명하는 방식을 취하고 있습니다. 즉 파이토치의 문법을 전반적으로 구조적으로 가리키기 보다는 우리가 익히 머신러닝에서 알야아 하는 지식들을 함께 가리키면서, 파이토치를 자연스렵게 배울 수 있게 도와줍니다.

 

 

2.png

 

 

 

3. 딥러닝, CNN, RNN

이 책의 또하나의 특징은 CNN, RNN의 원리를 매우 쉽게 파이토치를 통해서 설명해 준다는 점입니다. 사실 머신러닝에 사람들이 많은 관심을 보기고 있지만 딥러닝의 대표적은 CNN, RNN에 대한 원리를 이해시키는 것은 쉽지 않습니다. 물론 다양한 책에서 이를 다루고 있지만, 이 부분을 체계적으로 잘 설명한 책이 사실 드뭅니다. 이 책은 해당 알고리즘을 독자가 쉽게 이해할 수 있도록, 많은 장을 투자했으며, 각 세부 파트는 실습코드를 같이 병행해 설명하기 때문에, 다시 이를 재현하거나, 구현할 수 있도록 지원합니다.

 

 

3.png

 

 

즉 이 책은 파이토치를 통해 독자가 특정 딥러닝 알고리즘을 구현해야하는 사항에 매우 적합하게 구성이 되어 있습니다. 그래서 이책은 뉴럴 스타일 트랜스퍼, 오터인코더, 생성적 적대신경망(GAN)에 대해서 매우 잘 설명을 담고 있습니다.

4. 이런 독자들에 권장한다~

이 책은 파이토치의 기본적인 문법원리 보다는 딥러닝 알고리즘에 대해서 어떻게 파이토치로 구현할 수있을 지에 대해서, 그리고 그 원리는 정확히 어떻게 되어 있는지를 궁금해 하는 독자들에 더 꼭맞는 책이라고 생각합니다. 특히, 구현을 통해서, 항상 왜 이 코드가 이렇게 구성되어 있는지, 신경망에 대한 프레임워크가 지원하는 옵션이 무슨 뜻을 함의하는지를 알고 싶다면, 이 책을 꼭 추천하고 싶습니다. 그리고, 텐서플로우를 통해, 이해가 되지 않던 코드를 파이토치를 통해 좀더 쉽게 이해하고, 구현할 수 있다는 점 또한 이 책의 큰 가치라는 생각이 듭니다.

이 책의 리뷰는 한빛미디어 ‘나는 리뷰어다’로 부터 책을 지원받아 작성된 글입니다.

 

 

hanbit-pytorch_first-01.jpeg

 

이번에는 처음으로 읽어보는 파이토치 관련 책이 왔다. 따로 공부하면서 파이토치는 한번도 사용해보지 않아 궁금했었는데, “첫걸음” 책을 볼 수 있는 좋은 기회가 생겼다.

다른 첫걸음 책들과 비슷하게 이 책의 경우에도 이론을 간단하게 알려주고 실습하는 방식으로 진행된다. 다만 처음 배우는 사람들을 위한 책 답게 이론은 간단하면서도 이해할 수 있을 정도 까지 알려주고 실습으로 넘어 간다. 또한 실습도 그렇게 길게 쓰여있지는 않다. 요즘 이론관련한 부분은 너무 많이 읽어서 그런지 조금 지루하기도 했지만 파이토치를 쓰는데 만족할 만 했다.

다만 232 페이지 내에 모든 걸 담아내기는 현실적으로 힘든 부분이 존재한다. 따라서 이 책을 읽고 입문을 하더라도 자세한 부분들은 꼭! 더 찾아보면서 읽었으면 한다. 만약, 작성자처럼 파이토치가 처음이라면 이 책을 읽고 더 깊은 부분을 따로 만들어보면서 실습하길 바란다.

위와 같은 점을 고려할 때 총 평은 처음 딥러닝을 파이토치로 입문하고 싶어하는 분들을 위한 책 이라고 하겠다.

 

hanbit-pytorch_first-02.jpeg

 

요즘 파이토치로 개발하는 것이 대세라고 한다. 그 때 발맞춰 이 책은 역시, 첫걸음 시리즈의 명성에 맞게 잘 구성되어 있다. 만약, 처음 시작하는 사람이라면 이 책을 추천하고 싶다.

다만, 확실히 아주아주아주 기본적인 부분들만 짚고 넘어가기 때문에 이 분야에 관심이 있는 사람이라면? 꼭 따로 공부 할 것을 권하고 싶다.

결론적으로 이 책을

  • 1 파이토치를 처음 배우는 사람
  • 2 딥러닝에 입문하는 사람

등에게 추천하고 싶다.

한빛미디어의 <나는 리뷰어다> 7월 이벤트에 당첨되어 작성한 리뷰입니다.

[한줄평]

초보자도 쉽게 파이토치와 딥러닝 입문할 수 있는 추천 도서 입니다.


[목차구성]

이책은 총 chapter10으로 구성되어 있습니다.


CHAPTER 1 딥러닝에 대하여

-딥러닝의 정의 및 최근에 각광받게 된 배경과 배워야 하는 이유에 대해 간략히 설명하고 또한 이것으로 무엇을 할 수 있는지에 대해 다룹니다.

CHAPTER 2 파이토치

-페이스북 인공지능 연구팀에서 만든 프레임워크인 파이토치에 대하여 소개하고 다른 프레임워크와의 비교를 통해 어떠한 장점과 단점이 있는지 다룹니다.

CHAPTER 3 선형회귀분석

-파이토치에서 텐서를 사용하는 법과 변수 생성 및 모델 구현, 비용 계산 및 최적화를 위한 경사하강법에 대해 다룹니다.

CHAPTER 4 인공 신경망

-생물학적 신경망과 이를 모방한 인공 신경망에 대해 소개하고 이를 구성하는 요소들을 살펴봅니다. 그리고 전파와 역전파에 대해 자세히 다룹니다. 인공 신경망 모델을 직접 구현하여 학습이 되는지 확인합니다.

CHAPTER 5 합성곱 신경망

-인공 신경망이 다시 주목을 받는 데 큰 역할을 한 합성곱 신경망에 대해 설명합니다. 그리고 최근 몇년간 주목받았던 모델들을 간략하게 성명합니다.

CHAPTER 6 순환 신경망

-기존의 신경망에서 하나의 데이터 또는 하나의 사진을 보고 예측을 했던 것과 달리 순서가 있거나 시간의 흐름이 있는 데이터를 다룰 때 사용되는 순환 신경망에 대해 소개합니다. 그리고 기본적인 순환 신경망이 가지는 한계를 극복하기 위해 나온 LSTM, GRU 모듈에 대해 알아봅니다.

CHAPTER 7 학습 시 생길 수 있는 문제점과 해결 방안

-모델을 학습시키면서 생기는 다양한 문제들과 이에 대한 해결책으로 나왔던 기법들에 대해 소개합니다.

CHAPTER 8 뉴럴 스타일 트랜스퍼

-스타일  트랜스퍼에 대해 소개하고 이를 구현합니다. 또한 미리 학습된 모델을 각자의 목적에 맞게 활용하는 전이학습에 대해 알아봅니다.

CHAPTER 9 오토인코더

-오토인코더의 원리 및 학습 방법에 대해 알아보고 여기에 합성곱 연산을 합친 합성곱 오토인코더를 구현합니다.

CHAPTER 10 생성적 적대 신경망

-생성적 적대 신경망 모델의 기본적인 학습원리를 소개하고 이를 구현합니다. 또한 장점 및 단점에 대해 다양한 형태의 생성적 적대 신경망 모델을 설명합니다.


[이 책의 주요 특징]

· 아나콘다+CUDA+cuDNN 설치(그냥 코랩 쓰면 마음이 편합니다)

· 선형회귀분석을 살펴보며 손실 함수, 경사하강법 이해하기

· 연쇄법칙, 전파, 역전파 등 인공 신경망의 기초

· 친절한 그림으로 CNN을 익히고, VGGNet, GoogLeNet, ResNet 살펴보기

· RNN의 원리부터 LSTM, GRU, 임베딩, word2vec까지

· 오버피팅과 언더피팅 해결, 드롭아웃, 정형화, 초기화, 정규화 등 학습 성능 향상법

· 스타일 트랜스퍼, 전이학습, L-BFGS

· 오토인코더와 시맨틱 세그멘테이션

· GAN과 친구들(DCGAN, SRGAN, Pix2Pix, CycleGAN, DiscoGAN)


[이 책의 독자 대상]

- 머신러닝, 인공지능, 딥러닝에 대해 막연한 관심을 갖고 있지만 어떤 책으로 시작해야 좋을지 고민하는 학생 및 일반인, 타 분야의 개발자 등 이 분야에 입문하고 싶어하는 완전 초보자

- 실용적인 딥러닝 코드를 작성해 업무나 현장에서 바로 적용해보고 더 높은 수준의 딥러닝을 구현하고 싶은 개발자


[서평]

 

 

요즘 인공지능 머신러닝 딥러닝에 대한 관심이 많습니다. 그래서 딥러닝 관련 서적이 많이 나오고 있는데요. 대체로 딥러닝 프레임워크 혹은 라이브러리위주의 책들이 었습니다. 이런 책들은 초보자가 사용하기에는 많이 어렵습니다. 파이토치는 파이썬과 토치를 결합하여 다른 인공지능 관련 라이브러리보다 간결하고 구현이 빨라 더 입문하기 쉽습니다. 그리고 오픈 소스 기반에 빠른 업데이트로 기본의 텐서플로와 케라스 라이브러리의를 자리를 위협하고 있는 중입니다. 이책은 딥러닝의 기본적인 지식을 가지고 있고 파이토치라는 프레임워크에 대해 처음으로 접하는 개발자에게 추천하고 싶은 책입니다. 책이 얇아서 가방에 넣고 다니면서 간편하게 볼수 있어 자투리 시간에 읽기 좋은 책입니다.

'파이토치 첫걸음'이라는 제목을 읽고 파이토치 입문서라는 느낌을 들었습니다.Chapter1에서는 텐서플로와 파이토치를 비교하며 파이토치의 장점을 열거하였는데, 많은 부분에서 공감을 할 수 있었습니다.

Chapter2부터는 본격적으로 딥러닝기초, RNN, 오토 인코더를 파이토치의 관점에서 코드 짜는 것을 보여주는데, 평소에 텐서플로로 코딩해본 경험이 있는 사람들은 상관이 없지만, 파이썬 기초를 배우고 바로 파이토치로 접근 하는 친구들에게는 입문서로는 설명이 부족해보입니다. (ex> def__init__왜 쓰는지 hyperparameter는 어떻게 설정하는지 등등) 그리고 개인적으로 GAN에도 관심이 있어 마지막 부분을 집중적으로 읽어보았으나, GAN종류 몇가지만 교양수업처럼 설명이 되어있어서 코드가 부족하다는 점이 아쉬웠지만, 입문서로는 좋은 선택이었던 것 같습니다.

따라서 이 책은 평소 텐서플로우로 코드를 짤 수 있고, 코드 원리를 알수 있는 분들 중에 파이토치를 처음 접해보는 분들께 추천드립니다.

구글이 지원하는 '텐서플로우'가 업계 1위긴 하지만 너무 복잡하고 다가가기 어려웠습니다.

 

'파이토치'는 페이스북이 지원하며, 최근 학계에서 크게 부각되고 있다고 하여 많은 관심을 가졌습니다.

 

pytorch.jpg

 

책이 220쪽 가량으로 매우 얇은데 반해 들어 있는 내용에는

Linear regression, ANN, SoftMax, RNN, 전이학습, GAN 등 방대한 내용이 담겨 있습니다.

 

치트시트로는 쓰기 좋지만 개념이 잡히지 않은 상태에서는 조금 어려울 것 같습니다.

 

Linear Resgression만 보더라도

linaer regression의 개념과 cost function, gradient descent 등을 3페이지만에 설명해서 입문하는 사람들에게는 버거울 것 같습니다.

이런 사람들은 coursera의 Machine Learning을 듣고 보면 좋을 겁니다.

 

KakaoTalk_20190724_131254743_02.jpg

 

그림과 코드 위주로 설명해서 한 번 공부한 사람들에게는 꽤 깔끔한 cheatsheet입니다.

언젠가부터 팀원들이 텐서플로 외에 파이토치를 쓰는 비중이 늘어나서 관심을 갖게 되었습니다. '파이토치 첫걸음'은 꽤 얇은데 딥러닝 기초부터 GAN 실전기법까지 다룬다는 모토를 내세웠기에 혹하여 골랐습니다.Emotion Icon

좀 읽어 보니, 이 책은 딥러닝 입문서는 아니고 정말 파이토치 입문서입니다. 만약 '경사하강법' 같은 용어가 생소하다면 이 책보다는 다른 머닝러신 입문서를 먼저 보는 게 좋겠습니다. 얇은 책에 많은 내용이 담겼다는 얘기는 그만큼 기초를 필요로 한다는 얘기입니다. Emotion Icon 반대로 입문서를 뗀 독자에게는 복습 겸하여 스킬을 올리기에 적당할 겁니다.

책 표지에는 밑바닥부터 시작하는 딥러닝, 텐서플로 첫걸음, 딥러닝 첫걸음을 관련도서로 추천합니다.
 
어찌 보면 이 책에서 가장 어려운 부분은 '설치하는 법'이 아닐까 합니다. 파이썬, CUDA, cuDNN 순서로 설치해야 하는데, Windows 환경인 독자는 이 책을 참고하기가 힘듭니다. 검색을 잘 해보도록 합시다. PyTorch KR 같은 커뮤니티에서 도움을 받을 수도 있겠습니다. 정 힘들다면 저자가 권하는 대로 Colab을 써도 학습하는 데에는 문제가 없습니다.
 
설치하는 법을 지나면 책을 쫓아가면 되니 왠지 상대적으로 수월한 느낌마저 받습니다. 유명한 모델을 설명하면서 학습에 대한 각종 노하우를 설명하는 이 책이 머신러닝 입문자를 넘어선 독자에게는 큰 도움이 되리라 봅니다.
 
저는 책을 다 보고 살짝 당황했는데, GAN을 설명하고 나서는 훅 끝나는 느낌을 받았습니다. 이후에는 뭘 해 보면 좋겠다는 얘기를 할 법도 한데, 확실히 딥러닝 입문서는 아니다 보니 쿨하게 끝납니다. 제가 생각해도 이 정도 수준까지 오른 독자는 이미 하고 싶은 게 있을 법도 합니다. 하산하면 됩니다. Emotion Icon

 

딥러닝을 시작한지 벌써 3년이 흐르고 있네요. 

자연어 처리 개발을 하면서 거듭되는 기술의 진보에 물 밀 듯이 살고 있습니다. 

 

그러던 중 최근 논문 및 캐글에서 파이토치를 활용한 연구들이 많이 나와서 공부를 하려고 마음은 먹었지만 실천으로 옮기기가 쉽지 않았습니다.

큰 맘을 먹고 '파이토치 첫 걸음' 책을 읽게 됐습니다.

 

정말 쉽고 알차게 적어져 있어서 놀란 책이라 몇가지 정리해 보려고 합니다.

 

1. '케라스'에서 파이토치로 전향

주로 케라스, 텐서플로를 활용해 딥러닝 개발을 진행해 왔습니다. 

앞으론 파이토치에 비중을 높이려고 합니다. 

 

한땀 한땀 코드를 작성해보면서 느낀점은 파이썬의 매우 유사하다는 점입니다. 

 

책과 도큐멘트 내용들을 봐도 파이썬에서 즐겨쓴 내용들이 나오고 코드가 너무 간결해서 쓰면 쓸수록 매력적이라고 느낌니다.

 

또한, 논문들의 연구결과들도 파이토치로 많이 나오는 상황이기 때문에 전향도 고려 하는 중입니다. 

 

2. 올 컬러와 내용의 간결함.

'파이토치 첫 걸음' 책은 한빛미디어에서 첫걸음 시리즈로 나오는 책 중 하나입니다. 

이 책의 특징은 2백 페이지이며 A5형식이라 책의 써진 내용들이 한눈에 들어옵니다. 

 

한눈에 들어온 점은 바로 내용이 너무 간결한데요. 

이해가 잘되게 저자님이 풀어써준 점과 어려운 딥러닝 연산식 등을 칼라로 돼 있어서 이해하는 데 큰 도움이 됐습니다. 

 

PS 

최근 나온 파이토치 책 중에서 첫걸음 시리즈를 선택한 점이 잘했다고 느낍니다. 

가성비도 좋고 내용은 딱 입문용으로 맞기 때문이죠. 

딥러닝을 처음 접하는 분들이나 파이토치가 궁금한 분들에게 이 책을 추천 드립니다.

이번 리뷰 도서는 딥러닝 관련한 파이토치에 관한 책이다.
 
 
 
그동안 텐서플로우나 다른 머신 러닝 라이브러리 관련한 책들은 살짝 본 적이 있으나 파이토치는 이름만 들어보고 처음이다.
 
상세 정보는 아래 페이지에서 볼 수 있으며,
 
 
이 책도 초보자를 위한 책이라고 하여 분량이 많지는 않다.(230페이지 정도)
 
하지만 책의 내용은 그리 쉽지많은 않다. 머신 러닝이나 딥러닝 관련 내용을 다루는 다른 책들도 마찬가지지만,
 
각종 새로운 용어와 알고리즘, 수식들을 보다보면 머리가 띵해질 수 있다는거...
 
반복하여 보다 보면 완벽하게는 아니겠지만 언젠간 조금이라도 이해가 될 것이니 희망을 버리지 말고 봐야겠다.
 
그리고 저자마다 같은 내용이라도 설명의 차이가 있으므로 다른 책도 참고하는 것이 좋을 것이다.
 
이 책은 파이썬이나 쥬피터를 별도 설치 없이 구글 코랩을 이용하여 실습 할 수 있도록 설명하고 있다.
 
구글 코랩을 이용할 경우 GPU를 이용해서 실행해 볼 수도 있으나, GPU 없이 설치하는 내용이 없는 것은 조금 아쉬웠다.
 
어차피 내가 사용하는 노트북은 내장 인텔 그래픽이라서 GPU 사용이 불가능하지만 굳이 쥬피터도 설치하여 아래와 같이 직접 실행해봤다.
 
 
예제 소스는 구글 드라이브에 쥬피터 노트북 파일로 올려져 있으니 다운로드 받아서 쥬피터로 임포트 하여 실행보면 된다.
 
이 책도 요즘 나오는 다른 책들과 마찬가지로 이 책도 컬러판으로 인쇄가 되어 가독성이 아주 좋았다.
 
 
저자는 나름 자세히 많은 내용을 설명하려 했으나 아무래도 페이지 분량의 한계를 극복하기에는 무리였던것으로 보이며,
 
모델이나 알고리즘의 설명과 소스 코드가 대부분이고 실전 활용 예제에 대한 내용은 거의 없다고 봐야 한다.
 
그래도 파이토치가 텐서플로우에 비해 처리 속도도 빠르고 작성해야 하는 소스 코드도 간단하다고 하니 
 
공부해두면 도움이 되리라 생각한다.

우리 연구실에서 딥러닝을 사용하고 있는데, 현재는 텐서플로우를 사용하고 있다. 컴퓨터 그래픽스에서 특히 캐릭터 애니메이션 관련 논문들 중에 딥러닝을 사용하는 논문들이 대부분 텐서플로우로 만들어서 우리도 텐서플로우로 하고 있다. 하지만 최근에 파이토치를 사용한 논문들도 나오고 있고 AI학회쪽 논문들은 파이토치로 구현하는 경우가 많다고 해서 이참에 파이토치를 한번 배워보고자 신청했다. 텐서플로우는 C++ API를 빌드하는게 굉장히 힘들고 까다롭고 귀찮다. 파이토치는 C++을 텐서플로우보다 잘 지원한다는 소리가 있어서 궁금하기도 함.

 


우선 책 사이즈가 아담하고 읽기 좋다. 나 앞으로 첫걸음 시리즈 팬할것 같다. 내용이 정말 간결하게 잘 정리되어 있고 전혀 부실하지 않다. 오히려 내가 텐서플로우 하면서 연구하면서 부딪혔던 이론적인 부분들이 너무 잘 설명되어 있어서 많이 배웠다. 코드들도 잘 나와있어서 이해하기 수월했다.

 


이런 부분이 내가 딥러닝 하면서 참 힘들었던 부분들이다. 오버피팅을 피하는 방법을 한참 찾았었는데 내가 이 책을 빨리 샀더라면 이런 수고를 덜었을텐데 말이다. 이 책은 참 얇아서 금방 다읽는데 내용이 참 알차다. 꼭 필요한 내용들이 전부 있고 최신 트렌드를 전부 녹였다. CNN에서 대표되는 모델들을 그림과 코드로 전부 설명하고 있고 RNN에서도 LSTM과 GRU에 대해서도 설명하고 있다. 뒤에는 오토 인코더와 GAN에 대해서도 설명하고 있다. 참 구성이 좋은 것 같다.

 


친절한 그래프와 설명이 많은 도움이 된 것 같다. 이론적인 부분들이 최대한 쉽게 다가오게끔 설명한 저자의 노력이 보인다. 독자의 입장에서 하나하나 정성들인 섬세함이 돋보인다. 나는 딥러닝 진짜 초본데 잘 이해할 수 있도록 원리를 설명해준것 같다. 딥러닝을 파이토치로 시작하고 싶은 분들께 이 책을 추천한다. 진짜 강추다.

한빛미디어에서 "파이토치 첫걸음" 책이 출간되었다. 한빛미디어의 첫걸음 시리즈는 다 접해봤는데, 핵심 내용만 쉽게 담아냈기 때문에 책이 얇아서 들고다니면서 가볍게 읽을 수 있다는 장점이 있다. 
 
한빛미디어의 첫걸음 시리즈는 다음과 같다. 
  • 파이토치 첫걸음
  • 강화학습 첫걸음
  • 신경망 첫걸음
  • 딥러닝 첫걸음
  • 텐서플로 첫걸음
 
파이토치, 강화학습, 신경망, 딥러닝, 텐서플로우에 대한 기본 지식만 꼼꼼히 갖추고 있다면 인공지능 전문가로 발돋움 할 수 있는 첫걸음이 될 것이다. 
 
파이토치(Pytorch)는 페이스북 인공지능 연구팀에서 만든 프레임워크이며, 파이토치의 전신인 토치(Torch)는 루아 프로그래밍 언어로 되어있지만, 파이토치는 파이썬(Python)으로 작성되어 파이썬의 언어 특징을 품고있다. 
 
파이토치 첫걸음 책에서는 텐서플로우와 파이토치의 차이점을 비교하고 있었다. 텐서플로우와 파이토치는 둘 다 연산에 GPU 를 사용하는 프레임워크이다. 하지만 텐서플로우는 연산 그래프를 먼저 생성하고 실제 연산할 때 값을 전달하여 결과를 얻는 "Define and Run" 방식이고, 파이토치는 그래프를 만듦과 동시에 결과를 얻는 "Define by Run" 방식이라고 한다. 
 
사실 텐서플로우가 1년 정도 먼저 딥러닝이 뜨기 시작할 때 발표되었기 때문에 사용자 수는 물론이고 커뮤니티도 완전히 활성화 되어있다. 이에 비해 파이토치는 뒤늦게 텐서플로우보다 좋은 점이 사람들에게 알려지고 있어서 이제 막 뜨기 시작한 프레임워크라고 할 수 있다.
 
텐서플로우와 파이토치를 모두 사용해 본 결과, 파이토치는 학습 중간중간에 결과를 확인 할 수 있어서 편리하다는 장점을 가진다. 물론 연산속도 측면에서도 실험에 많이 사용되는 모델로 벤치마킹 한 결과 파이토치가 텐서플로우보다 2.5배 빠른 결과가 나왔다고 한다. 필자도 실제로 같은 모델을 파이토치와 텐서플로우로 각각 실행했을 때 이미지 1장을 처리하는 Inference Time 이 파이토치가 텐서플로우보다 약 1.2 ~ 1.5배 빠르다는 결과를 확인할 수 있었다. 
 
파이토치 첫걸음 책은 다음과 같이 구성된다. 
  • 딥러닝
  • 파이토치
  • 선형회귀분석
  • 인공 신경망
  • 합성곱 신경망
  • 순환 신경망
  • 학습 시 생길 수 있는 문제점과 해결 방안
  • 뉴럴 스타일 트랜스퍼(전이학습)
  • 오토인코더
  • 생성적 적대 신경망
 
사실 "학습 시 생길 수 있는 문제점과 해결방안" 부터 "생성적 적대 신경망" 까지 빼고는 다른 책에서도 다루고 있는 내용이다. 하지만 파이토치 첫걸음 책에서는 항상 등장하는 토픽들에 대하여 "첫걸음"이 가능하게끔 쉽게 설명해두었다. 이 책은 딥러닝의 기본적인 지식을 갖추고 있으며, 파이토치라는 프레임워크에 대해 처음으로 접하는 개발자에게 추천하고 싶은 책이다. 버스나 지하철로 이동 할 때 간편하게 들고다니면서 볼 수 있는 책이기도 하며, 짬짬히 공부하고 싶은 개발자에게 추천하고 싶다. 
 
 

IMG_3006.JPG

 

 

어떤 책을 읽다가 기대 하지 않았던 깨달음을 얻거나 가치를 얻는다면 

그것 만큼 행복한 것도 없을 것입니다

이 책을 선택했을 때는 단 한가지 이유가 있었습니다. 

 

그 동안 딥러닝, 기계학습에 관련된 책을 여러 권 읽었고 이제는 실제로 개발을 해봐야 겠다고 생각하고 있었습니다. (아이러니 하게 제 직업을 SW엔지니어입니다. )

 

예전에 유다시티에서 딥러닝 관련 나노디그리 과정을 들을 때 파이토치로 프로젝트를 했었는데,  그때 느꼈던 깔끔함 때문에 파이토치와 텐서플로우 사이에서 고민을 하고 있었습니다.

 

이 두가지는 하나의 도구들이기 때문에 결국 두가지를 다 사용하고 상황에 맞춰 적절한 것을 이용하는 것이 좋다고 생각합니다. 

 

그런 생각을 하고 있던 찰라에 "파이토치 첫걸음" 이라는 책을 접하게 되었습니다. 

그래서  우선 파이토치 부터 다시한번 보자라는 생각에 책을 읽게 되었습니다.

 

그런데, 이 책을 계속 읽다 보니 처음에 생각한 것과는 달리 전혀 뜻밖의 가치를 얻었습니다.

 

그 동안 제가 어렴풋이 이했던 내용이나 전혀 몰랐던 개념에 대해 너무 간단 명료하게 설명이 되어 있어, 한장 한장 놓치지 않고 읽게 되었습니다.

IMG_3077.JPG

저자가 이 책을 집필한 의도는 

 

 

공부를 처음 시작하는 분들이 딥러닝의 개념을  쉽게 이해하고 각자의 분야에 맞게 사용할 수 있도록 성장하는 과정에 도움이 되었으면 하는 마음으로......

 

이 책을 썼다고 합니다.

 

책의 제목 처럼 첫걸음을 내딪는 분들이 읽기에도 좋지만 조금이라도 공부했던 사람이라고 다시한번 기초 개념을 다지기에 좋은 책입니다. 

 

게다가 "파이토치" 라고 내세우고 있지만, 제가 평소에 생각했던 것 처럼 기본 개념을 설명하기 위한 하나의 도구로 사용한 측면도 좋았습니다.

IMG_3078.JPG

이 책에서 모든 부분이 다 좋았지만, 특히, "5. 합성곱 신경망", "9. 오토인코더" 그리고 "10. 생성적 적대 신경망" 부분은 다른 어떤 책 보다 이해하기 쉽게 적어 놓았습니다.  저자의 내공이 느껴집니다.

 

 

제가 고생고생해서 이해했던 1x1합성곱의 의미, cross entropy의 의미는 한 문장으로 명료하게 설명을 해주고 있어서 깜짝 놀랬습니다. 다소 어렵게만 느겼전던 GAN도 단순히 이미지 생성 뿐만 아니라 다양한 응용분야에 적용할 수 있을 것 같습니다. 

 

 

또한, 중간 중간에 최신 트렌드와 추가적인 자료도 언급을 하고 있어서 이 책을 읽은 후에 관심 분야에 대해 더 깊게 공부를 할 수 있도록 배려했습니다.

 

 

파이토치 문법을 알고 싶은 분들에게는 다소 안맞을 수는 있지만, 저 처럼 모호하게 알고 계신 분들에게는 추천해드립니다.

 

 

이렇게 좋은 책을 만나게 되면 너무 기분이 좋습니다. 

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
파이토치 첫걸음
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
파이토치 첫걸음
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
파이토치 첫걸음
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

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

자료실