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

한빛출판네트워크

처음 시작하는 딥러닝

수학 이론과 알고리즘부터 CNN, RNN 구현까지 한 권으로 해결하기

한빛미디어

번역서

판매중

  • 저자 : 세스 와이드먼
  • 번역 : 심효섭
  • 출간 : 2020-08-20
  • 페이지 : 292 쪽
  • ISBN : 9791162243343
  • 물류코드 :10334
초급 초중급 중급 중고급 고급
4.4점 (9명)
좋아요 : 3

수식 튼튼! 코드 탄탄! 내 손으로 만드는 딥러닝 모델 

 

2010년 신경망 기술이 딥러닝이라는 이름으로 부활하면서 머신러닝 실무자는 물론, 소프트웨어 엔지니어에게도 딥러닝은 필수 소양이 되었습니다. 이 책은 머신러닝을 처음 접하는 데이터 과학자와 소프트웨어 엔지니어에게 실용적인 정보를 제공합니다. 딥러닝의 기초부터 고급 신경망 구조까지 폭넓게 배우고, 딥러닝 모델을 직접 구현하며 빠르게 개념을 익혀봅니다. 

 

이 책은 먼저 그림으로 개념을 설명하고, 코드의 밑바탕이 되는 수학적 원리를 설명합니다. 그다음 파이썬 코드로 신경망을 구현하며 동작하는 방법을 이해해봅니다. 다층 신경망, 합성곱 신경망, 순환 신경망의 간단한 구조부터 복잡한 구조까지 확장해보며 딥러닝 프로젝트에 준비된 개발자로 성장할 수 있습니다. 

 

 

출판사 리뷰

 

신경망을 확실하게 이해할 수 있는 최고의 딥러닝 입문서

 

넘쳐나는 딥러닝 학습 자료 속에서 어떤 것부터 살펴봐야 할지 모르겠다고요? 대부분의 딥러닝 학습 자료는 크게 두 가지 유형으로 나뉩니다. 수많은 화살표로 나타낸 도표로 딥러닝의 개념을 설명하거나 혹은 빽빽한 코드로 학습 과정을 설명하고 결과를 확인합니다. 이런 유형의 학습 자료는 코드를 구성하는 수학적 원리와 신경망의 개념적 구조, 이들이 서로 동작하는 방법을 제대로 설명하지 못합니다. 이 책에서는 앞선 학습 자료의 맹점을 보완하기 위해 세 가지 관점(수식, 코드, 다이어그램)으로 개념을 설명합니다. 

 

먼저 신경망 개념에 사용하는 수식을 살펴보고, 이 연산 과정을 다이어그램으로 나타냅니다. 개념의 원리를 이해한 후, 파이썬으로 밑바닥부터 구현합니다. 간단한 딥러닝 모델부터 합성곱 신경망, 순환 신경망까지 구현해보고 이 신경망을 파이토치로 다시 한번 구현하며 프레임워크 사용법을 익힙니다. 이 책의 목표는 신경망에 대한 정확하고 확실한 이해입니다. 일단 이 책을 읽고 나면 신경망과 관련된 개념과 프로젝트를 한결 쉽게 이해하고 자신감 있게 응용할 수 있을 것입니다.

 

 

주요 내용

  • 신경망 이해에 필요한 명확한 멘탈 모델과 수학적 원리 설명
  • 객체지향으로 설계한 다층 신경망 프레임워크 구현 방법
  • 수식과 예제로 배우는 합성곱 신경망과 순환 신경망
  • 파이토치를 이용한 신경망 구현 방법

 

 

장별 요약

 

1장_신경망 기초 1

함수의 연산 과정을 다이어그램으로 이해하고, 미적분의 연쇄법칙으로 도함수를 구하는 방법을 알아봅니다. 

 

2장_신경망 기초 2

선형회귀와 신경망 모델을 적용해 데이터 집합에서 주택 가격의 추이를 예측하는 학습 모델을 구현합니다.

 

3장_밑바닥부터 만들어보는 딥러닝

Layer, Model, Optimizer와 같은 구성 요소를 만들고 이를 조합해 전체 딥러닝 모델을 구현합니다. 

 

4장_프레임워크 확장하기

신경망 모델의 성공 확률을 높이는 주요 학습 방법을 소개합니다.

 

5장_합성곱 신경망

이미지를 다루는 데 특화된 신경망인 합성곱 신경망(CNN)을 소개하고, 합성곱층을 직접 구현하며 동작 원리를 파악합니다.

 

6장_순환 신경망

자동 미분의 동작 과정을 살펴보고, 순환 신경망(RNN)에 이를 적용해봅니다. RNN의 변형 구조인 GRU와 LSTM도 함께 소개합니다.

 

7장_파이토치

1~6장까지 구현한 내용을 고성능 오픈소스 신경망 라이브러리인 파이토치로 구현합니다. 마지막으로 비지도 학습에서 신경망을 활용하는 방법을 간단히 살펴봅니다.

 

상세이미지_처음 시작하는 딥러닝_700.jpg

저자

세스 와이드먼

여러 해 동안 머신러닝을 이용한 문제 해결과 머신러닝 강의를 했다. 개인 의류 맞춤 서비스로 유명한 트렁크 클럽(Trunk Club)에서 데이터 과학자로 근무하며 추천 시스템 개발 업무를 담당했다. 메티스(Metis)에서 데이터 과학과 머신러닝 부트캠프 프로그램을 진행하기도 했다. 현재 페이스북 인프라팀에서 머신러닝 모델을 구축한다. 복잡한 개념을 간단하게 설명하는 것을 좋아한다.

역자

심효섭

연세대학교 문헌정보학과를 졸업하고 모교 중앙도서관과의 인연으로 도서관 솔루션 업체에서 일하면서 개발을 시작했다. 네이버에서 웹 서비스 개발 업무를 맡았으며, 웹 서비스 외에 머신러닝 공부도 꾸준히 하고 있다. 최근 관심사는 회사에 속하지 않고도 지속 가능한 삶이다. 옮긴 책으로는 『엔지니어를 위한 블록체인 프로그래밍』, 『머신러닝 실무 프로젝트』(이상 한빛미디어), 『엔지니어를 위한 파이썬』, 『딥 러닝 제대로 시작하기』, 『딥 러닝 제대로 정리하기』, 『그림과 수식으로 배우는 통통 딥러닝』, 『그림과 수식으로 배우는 통통 머신러닝』, 『그림과 수식으로 배우는 통통 인공지능』(이상 제이펍), 『파이썬으로 시작하는 컴퓨터 과학 입문』(인사이트) 등이 있다.

 

chapter 1 신경망 기초 1

1.1 함수

1.2 도함수

1.3 합성함수

1.4 연쇄법칙

1.5 조금 더 복잡한 예제

1.6 입력이 두 개 이상인 함수의 합성함수

1.7 입력이 여러 개인 함수의 도함수

1.8 여러 개의 벡터 입력을 갖는 함수

1.9 기존 특징으로 새로운 특징 만들기

1.10 여러 개의 벡터 입력을 갖는 함수의 도함수

1.11 벡터 함수와 도함수

1.12 두 개의 2차원 행렬을 입력받는 계산 그래프

1.13 역방향 계산

1.14 마치며

 

chapter 2 신경망 기초 2

2.1 지도 학습

2.2 지도 학습 모델

2.3 선형회귀

2.4 모델 학습하기

2.5 학습 데이터와 테스트 데이터

2.6 모델 성능을 평가하는 코드

2.7 밑바닥부터 만드는 신경망

2.8 첫 번째 신경망 모델의 학습과 성능 평가

2.9 마치며

 

chapter 3 밑바닥부터 만들어보는 딥러닝

3.1 딥러닝 정의하기

3.2 신경망의 구성 요소: 연산

3.3 신경망의 구성 요소: 층

3.4 모델의 구성 요소 조립하기

3.5 NeuralNetwork 클래스와 그 외 클래스

3.6 딥러닝 구현하기

3.7 Optimizer와 Trainer 클래스

3.8 모든 구성 요소 조합하기

3.9 마치며

 

chapter 4 프레임워크 확장하기

4.1 신경망에 대한 직관

4.2 소프트맥스 교차 엔트로피 손실함수

4.3 실험 

4.4 모멘텀

4.5 학습률 감쇠

4.6 초기 가중치 설정

4.7 드롭아웃

4.8 마치며

 

chapter 5 합성곱 신경망

5.1 신경망과 표현 학습

5.2 합성곱층

5.3 다채널 합성곱 연산 구현하기

5.4 Conv2DOperation 연산으로 합성곱 신경망 학습하기

5.5 마치며

 

chapter 6 순환 신경망

6.1 근본적인 한계: 분기 처리하기

6.2 자동 미분

6.3 순환 신경망이 필요한 이유

6.4 순환 신경망이란

6.5 RNN 코드

6.6 마치며

 

chapter 7 파이토치

7.1 텐서

7.2 파이토치로 딥러닝 구현하기

7.3 합성곱 신경망 구현하기

7.4 오토인코더를 활용한 비지도 학습

7.5 마치며

 

부록 A 더 알아보기

A.1 행렬 미분의 연쇄법칙

A.2 편향 항에 대한 손실의 기울기

A.3 행렬곱으로 합성곱 구현하기

  •  

    딥러닝과 딥러닝 프레임워크 구현을 이해하기 위한 간결한 학습서이다. 

     

    [장점]

     

    내용 구성이 일관되게 다이어그램 -> 수학 수식 -> 코드 구현 순으로 진행된다. 도식을 보고 전체 개념을 이해한 후, 그 내용을 수식으로 구현하고 이를 코드로 옮기는 형태이다. 저자의 많은 교육 경험으로 완성한 설명 방식으로 보이며, 기초적인 수학 수식에 익숙한 학습자라면 더없이 깔끔한 전개방식일 것이다. 

     

    딥러닝 입문부터 차근차근 완성해나가다가 마지막 장에서는 흔히 쓰는 텐서플로 프레임워크가 아닌, 파이토치로 기능을 구현해본다. 파이토치를 사용하는 딥러닝 입문서라는 점은 재미있다. 물론 저자가 페이스북에 재직중이라 그렇게 작성했겠지만 말이다. 

     

    이 책은 코드 가독성에 꽤나 신경을 쓴 느낌이다. IT개발서가 아닌데 시작부터 파이썬 타입 힌팅이 들어가는 머신러닝/딥러닝 도서는 처음 봤다.

     

    [단점]

     

    이 책은 독자가 이미 파이썬은 잘 안다고 가정한다. 설치, 환경설정, 파이썬 기초 등의 내용은 전혀 나오지 않고, 1장부터 바로 numpy의 array부터 설명한다. 

     

    내용이 아주 친절하지는 않다. 수학적 소양이 상당히 있으면서도 파이썬도 꽤 하는 입문자(?)가 읽어야 하는 책인데, 우리나라에서는 아직 해당 모집단이 많을 것 같지는 않다. 

     

    [편집] 

     

    사실 이 책의 원서가 온라인으로 출간되었을 때부터 PDF 파일로 보고 있었다. 원서는 컬러로, 저자가 강조하고 싶은 부분을 상당히 신경써서 색깔이 입혀져 있었는데, 번역서는 흑백이어서 약간 당황했다. 

     

    [결론]

     

    이 책은 도서로 공부하는 사람을 위해서라기 보다는, 강의시간에 사용하는 교재에 가까운 느낌이다. 저자는 정말 핵심이 되는 부분에 집중하고, 나머지는 학습자가 알아서 찾아서 해야한다. 한동안 한국인/일본인 저자가 쓴 거의 떠먹여주다시피하는 내용에 익숙해졌다가 이 도서를 읽으니 부분 부분 걸리는 점이 적지 않다. 

     

    그래도 아직 딥러닝을 깊게 이해하고 이를 딥러닝 프레임워크로 구현하는 방식을 설명한 책이 그리 많지는 않다. 딥러닝의 구조와 동작에 대한 이해를 탄탄히 하고, 앞으로 딥러닝 프레임워크의 내부를 조금 더 깊이 알아가고 싶은 사람들이 읽으면 딱 좋을만한 책이다. 

     

  • 이번 포스트에서는 처음부터 시작하는 딥러닝: 수학이론과 알고리즘부터 CNN, RNN 구현까지 한 권으로 해결하기 책을 리뷰해보려 한다. 예전에 대부분의 딥러닝 책들을 보면, 이론에 대한 설명만 엄청 하드하거나 아니면 이론과 기본 연산부분의 구현은 굉장히 간단하게 보여주고 바로 딥러닝 프레임워크로 넘어가는 책들이 많았다. 하지만 최근에 파이토치나 텐서플로우 같은 딥러닝 프레임워크를 사용하지 않고, 어느정도 딥뉴럴 네트워크 를 구현하면서 이해를 돕는 책들이 많이 나오는 것 같다 (처음부터 시작하는 딥러닝, 밑바닥부터 시작하는 딥러닝, 파이썬 날코딩으로 알고 짜는 딥러닝 등). 아무래도 이러한 흐름은, 최근에 연구 분야로도 큰 관심을 끌고 있는 Interpretable Machine Learning 과 어느정도의 연관은 있다고 생각한다. 사실 딥러닝은 Non-linearity가 첨가된 거대한 연산 수식이지만, 그 연산의 규모가 굉장히 크고 복잡하기 때문에 검증이 쉽지 않고 초기화 단계 등에서 Randomness 도 들어가기 때문에 (딥러닝 Optimizer나, 다른 모델을 수렴시는 알고리즘 논문들을 읽어보면 초기화 단계에서의 중요성도 어느정도 언급되고 있다), 그 결과를 해석하는 것이 쉽지 않다. 이런 세부적인 이해부터, 대중들 역시 단순히 프레임워크를 가져다가 딥러닝 모델들을 구현하다보면, 그 프레임 워크의 내부가 궁금해지기 마련이고 이런 책들이 그러한 수요에 따라 나온 것이 아닐까 싶다.

    아무튼, 서론이 길었는데 이런 백그라운드를 가지고 이 책이 어떠한 가치들을 독자에게 줄 수 있을지를 천천히 리뷰해 보자. 이 책의 목차를 보면, Chapter 1, 2 는 뉴럴넷의 기초가 되는 연산들에 대해 다루고 이후 Chapter 3, 4 에서 앞에서 다룬 뉴럴넷을 딥러닝으로 확장시키기는 것을 다룬다. 이렇게 나름대로 작은 DIY 딥러닝 프레임워크를 만들고 거기에 Chapter 5, 6 에서 CNN과 RNN 을 추가하면서 독자들의 딥러닝에 대한 이해를 돕는다. 마지막 Chapter 7 에서는 지금까지 DIY 딥러닝 프레임워크에서 구현한 것들이 파이토치에서 어떻게 제공되고 있는지 설명한다. 이 책의 가장 큰 장점은, 이전의 딥러닝 책들에서 Chapter 1, 2 를 설명하고 바로 Chapter 7 로 뛰어넘어서 CNN과 RNN,  그리고 더 다양한 딥러닝 모델들에 다루는 것과 다르게, 두 간극 사이를 설명하고 구현하면서 머신러닝 프레임워크의 기능들이 정확히 무엇인지 설명하는 것이라고 생각한다. 물론 딥러닝 프레임워크 (PyTorch, Tensorflow, MXNet 등) 마다 작게는 Imperative/Declarative API 부터, 단순히 단일 노드의 머신러닝 기능 제공부터 스케일업을 위한 기능들, 모델 서빙 등에서 큰 차이들이 있지만, 이 책의 범위가 그 부분까지는 커버하지 않으니 그러한 부분들은 각 프레임워크의 논문 및 공식문서를 참조하면 될 것 같다. 이 책은 딥러닝 프레임워크에서, 그중에서 특히 딥러닝에서 매우 많이 쓰이는 코어 연산들이 어떻게 구현되었고, 어떻게 그런 기초 블럭들이 딥러닝으로 조립될 수 있는지에 대해서 설명하는 책이다. 그러므로, 딥러닝을 프레임워크로 시작하여 그 내부의 이해가 부족한 독자들에게 특히 도움이 많이 될 수 있을 거라 생각한다. 또한, 이러한 기본 이해는 시간이 날때마다 챙겨두면 단기적으로는 큰 차이가 없어보이지만, 롱런하기에 그 중요성을 계속 강조해도 부족하기 때문에, 딥러닝을 공부하는 학생들에게도 정말 좋은 책이라고 생각된다.

    마지막으로 간단히 이 책을 다른 비슷한 책과 비교를 해보자면, 난도에서는 파이썬 날코딩으로 알고 짜는 딥러닝: 프레임워크 없이 단층 퍼셉트론에서 GAN까지 책보다 쉽고, 다루는 범위도 더 적다. 그러므로 본인이 이미 딥러닝 프레임워크 내부에 대해 어느정도 이해와 최신 딥러닝 모델들을 충분히 이해하고 있다면 파이썬 날코딩으로 알고짜는 딥러닝 책이 더 잘 맞을 것이라 생각된다. 반면, 최신 딥러닝 모델들과 프레임워크에 대한 이해가 부족하여 위의 책이 부담스럽게 느껴진다면 이 책 '처음부터 시작하는 딥러닝'을 먼저 읽고, 다른 딥러닝 책들 (딥러닝 기초를 간단히 설명하고 많은 모델들을 다룬 책)을 읽고, 위의 책을 읽는다면 보다 더 깊은 이해를 가질 수 있을 거라 생각한다. 아무튼, 이전에 딥러닝 프레임워크에 대해 설명한 엔트리급 책이 많이 없었는데, 이런 책들이 기반이 되어 더 많은 사람들이 관심을 가지게 된다면 좋을 것 같다.

     

    Screenshot_20200926-102648_KakaoTalk.jpg

     

    Screenshot_20200926-102702_KakaoTalk.jpg

     

    Screenshot_20200926-102716_KakaoTalk.jpg

     

  • 책 소개

    • 책 제목 : Deep Learning from Scratch 처음 시작하는 딥러닝
      글쓴이 : 세스 와이드먼
      출판사 : 한빛미디어
      초판 1쇄 : 2020년 08월 20일

    KakaoTalk_Photo_2020-09-26-00-33-06.jpeg

     



    책의 특징

    • 초점 : 이 책은 딥러닝의 기초 함수부터 기본에 충실해 잇다.

    • 설명 방식 : 수학, 알고리즘, 신경망, 순환 신경망 처럼 걸음마부터 찬찬히 기술하고 있다.

      • 처음 코딩을 접하거나 수학을 처음 접하는 사람이라면 이해할 수는 없다. 위 책은 딥러닝을 기본적이면서 함축적으로 다루고 있기 때문이다.
      • 예제한번 개념 한번 되짚기 한번 차근차근히 나아간다.
      • 마지막에 파이토치를 이용한 실습을 제공한다. 개념을 설명 했던 것과 같이 단계별로 다가가기 때문에 따라가는데 어려움은 없을 것으로 보인다.
    • 제공하는 사이트 : 이 책에서 사용하는 코드들에 대한 깃허브를 제공한다.


    추천 대상

    해당 책은 딥러닝을 처음 접하는 사람이면서 정확히 필요한 기본 개념부터 익히고 싶은 사람에게 적합하다.

    그러나, 수학, 파이썬, 코딩에 익숙하지 않은 사람은 이해하기 힘들 수 있다. 딥러닝의 특성상 불가피하기 때문에 해당 책은 그 방면에서는 제공할 수 있는 최대한의 친절한 설명을 한 것으로 느껴졌다.

    최대한 기본으로 압축하였기 때문에 여러 프로젝트나 예제는 부족할지 몰라도, 한권에 딥러닝이 무엇인지 충분히 이해할 수 있을 것이다.

    딥러닝이 무엇인지 가볍게 한권으로 익혀보고 싶은 사람에게 추천하고 싶다.

    책의 한줄평

    딥러닝 강의를 듣는다면 이것이 교재로 쓰였을 것이다.

     

  •  

    저자는 딥러닝을 잘 설명하기 위해 일반적인 문장으로 설명을 하고, 시각화를 통해 동작 과정을 보여주고, 수식으로 원리를 나타내고, 의사코드로 알고리즘 구현과정을 보여줘야 한다고 생각해서 이 책에 이런 방식을 썼다고 한다. 이걸 주요한 강점으로 내세우는 듯 싶은데, 수식은 저자의 방향성에 따라 싣는 경우도 있고 아닌 경우도 있지만, 네트워크 시각화와 의사코드 혹은 소스코드(일반적으로 당연히 파이썬)는 당연히 모든 딥러닝 책이 갖고 있는 부분이다.

    그럼 이 책이 다른 책과 다른 점은 무엇일까? 우선 다이어그램이 다르다. 일반적으로 딥러닝 책에서 사용하는 다이어그램은 여러 개의 원이 빽빽하게 연결되어 여러 개의 층으로 레이어를 이루는 모습을 표현한다. 저자는 이런 다이어그램이 신경망의 일반적인 구분을 하는 데는 도움이 되지만, 어떤 연산이 일어나는지 등 신경망 자체를 이해하는 데는 아무 도움이 되지 않는다고 생각해서, 1장에서 하나의 함수의 입출력을 표현하는 하나의 상자로 시작해 합성함수를 거쳐 딥러닝을 이루는 여러 함수의 레이어별 입출력을 표현한다.

    두 번째로는 시각화 수식 코드 3가지 설명을 계속 반복하면서 발전시킨다는 점이다. 간단한 1차 함수를 통해 자신의 설명 방법을 소개하고 각 장을 거치면서 이걸 조금씩 덧붙여서 최종 설명을 향해 나아가기 때문에, 같은 방법 속에서 내용을 심화해 나가는 점이 개인적으로는 마음에 들었고 독자가 이해하는 데 도움이 될거란 생각이 들었다.

    마지막으로 자체적인 파이썬 라이브러리를 구축하는데, 여기 사용된 소스 코드 내용이 파이썬 기초를 익히기에 좋다. 많은 사람들이 딥러닝에 관심을 갖고 시작을 하면서 파이썬은 정말 빠르게 훑고만 지나가는 경우가 많아, 딥러닝 커뮤니티에 올라오는 질문을 보면 파이썬 자체에 관련된 부분은 전혀 이해하지 못해 문제를 해결하지 못하는 경우도 종종 봤다. 이런 사람들에겐 여기 나온 라이브러리 코드를 따라가며 설명하는 부분이 초급을 벗어나는 데 도움이 될 만하다.

    1장부터 모든 내용이 연결되며 앞의 내용이 이해가 되지 않으면 뒤쪽은 읽기가 힘들어 각 장마다 독립성이 떨어진다는 점이 있긴 하지만 이건 독자의 스타일에 따라 꼭 단점이라고 보기는 힘들고, 그냥 참고만 하면 될 거 같다. 전체적으로 기초를 쌓기에 좋은 책이란 생각이다.

    Etc

    Colab

    예제 코드를 따라하기 위해서 아무 것도 설치하지 않고 간단하게 colab에서 모든 걸 이용할 수 있다. 예를 들어 예제 코드 중 마지막인 https://github.com/flourscent/DLFS_code/blob/master/07_PyTorch/Code.ipynb를 colab에서 실행한다면 우선 https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/07_PyTorch/Code.ipynb 이런 식으로 주소를 변경해서 colab에서 파일을 연다. 그 후 필요한 라이브러리를 설치해줘야 하는데, 다음과 같이 pip로 pytorch 설치를 하고, 이 책에서 제공하는 별도의 라이브러리 lincoln을 사용하기 위해 github repo도 받은 후

    file을 여는 두 곳의 경로만 수정하면 된다.

    여기까지 수정하면 전체를 실행할 수 있으며, 실행 결과 마지막 셀은 다음과 같다.

    https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/01_foundations/Code.ipynb (별도 수정 없이 그대로 실행 가능)

    https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/02_fundamentals/Code.ipynb (별도 수정 없이 그대로 실행 가능)

    https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/03_dlfs/Code.ipynb (별도 수정 없이 그대로 실행 가능)

    https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/04_extensions/Code.ipynb (repository clone, lincoln 경로 수정 및 최초 실행 시 주석 해제 필요)

    https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/05_convolutions/Code.ipynb (별도 수정 없이 그대로 실행 가능)

    https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/05_convolutions/Numpy_Convolution_Demos.ipynb (repository clone, lincoln 경로 수정 및 최초 실행 시 주석 해제 필요)

    https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/06_rnns/Autograd_Simple.ipynb (별도 수정 없이 그대로 실행 가능)

    https://colab.research.google.com/github/flourscent/DLFS_code/blob/master/06_rnns/RNN_DLFS.ipynb (repository clone, lincoln 및 input.txt 경로 수정 필요)

    Ref.

     

  • 일단 나는 딥러닝을 정말 배우고 싶었다. 그래서 몇 권의 책을 읽었다.
    그런데... 알듯말듯 한.. 그 느낌... 딱 그런 상태이다.
     
    그런 상태에서 이 책을 만났고... 그리고 내가 딥러닝에 눈을 뜨게 만들었다.
    Regression, CNN, RNN을 이론에서 부터  NumPi로 low level의 코드까지 작성하며 자세히 설명해 주고 있다.
     
    뒷장에서는 앞장에서 만큼의 자세한 설명이 조금 부족한 듯 하지만...
    그래도 처음부분에서 개념을 워낙 잘 설명해 주기 때문에 아쉼움은 들지 않는다..
     
    다만 코딩을 실제 구현하는 부분에 대한 설명이 조금 부족하긴 한데..
    그런 부붑은 독자의 노력이 필요한 부분이 아닐까..
     
    책을 일고 바로 딥러닝을 시작하기는 어려울 수 있어도 딥러닝의 기초 개념을 잡고 다음단계를 넘어 가기에는 정말 최고의 책이 아닌가 싶다.
     

  • 같은 출판사의 밑바닥부터 시작하는 딥러닝과 이름이 유사한 것 처럼 느낌도 비슷합니다


    처음 시작한다= 여태까지 관심이 아예 없는 완전 생초보자를 위한 것이라기 보다는, 수학적 기초가 잡혀 있은 사람(이런 사람을 이과에서는 초보라고 할 수 있겠습니다만)을 대상으로 한다는 것을 의미하는 것 같습니다.

    이 책은 텐서플로,파이토치를 사용하지 않고 딥러닝을 구현한다는 점에서 아무것도 없는 바닥 상태에서 시작한다는 취지로 보이며
     그렇기 때문에 딥러닝 입문에서 1~2p정도로 끝내는 부분을 10p이상으로 상세하게 설명합니다. 

     

    RNN구현.jpg

     

     

     한 번  보는 거로는 충분하지 않고, 앞에 부분이 뒤와 연결되기 때문에 이런 류의 책들이 그렇듯 이해가 안되면 다시 돌아가는 순간이 상당히 많습니다.

    좋은 부분: '처음 시작하는' 수식어 답게 파이썬으로 대부분의 요소를 직접 구현하면서 설명하기에, 작가가 생각하는 머신러닝,딥러닝에 대한 관점을 이해하기 쉽다는 점입니다.

    처음부터 미분을 설명하면서 딥러닝에서 왜 미분을 사용하는 지로 자연스럽게 확장된다.

    이는 cookbook이나 입문서에서는 할애할 시간이 부족해서 생략되는 부분인데. 그렇다고 이해를 하지 않으면, 결국 변수만 바꾸는 모델이 될 수 있기 때문에, 딥러닝에 대한 기초적인 작동 방식을 확실히 배우고 가고 싶은 분에게 추천하는 책입니다.

    굳이 좀 심하다고 생각한 부분:보통 사람들이 생각하는 미분 표기방식인데(수학과 그리 친하지 않아서 낯설어서 이런 표기가 익숙하신 분에게는 죄송합니다). 처음은 괜찮지만 복잡해지는 순간부터 읽는 내내 고생했네요.

    비선형적.jpg

    (왜 은닉층을 사용해야하는가....)

     

     

    미분.jpg

     

     

     

  • 딥러닝이란걸 배워볼려고 '처음 시작하는 딥러닝'을 읽고 있다. 가볍게 읽기에 좋아보였다. 책도 얇고 그림도 많이 들어가 있었다. 그런데 만만치 않다. 일단 수학 배운지 너무 오래돼서 기억이 가물가물하네. 함수, 벡터, 기울기, 행렬 기타등등 주옥같은 단어들의 향연에 옛기억들이 떠올른다. 어떤면에서는 책 읽는 맛(?)이 있다. 모르는거 공부하면서 읽다보니 다른책 보다 배는 느리게 읽어지지만 말이지. 그럼에도 아주 못 오를만큼 높은 산이 아니라서 도전할만하다는게.... 여튼 처음 딥러닝을 배우는데 수학적 기초가 많이 부족하다면 천천히 읽길 권한다. 물론 빨리 읽어봐야 머릿속에 남지도 않지만.

  • 한빛미디어에서 제공받는 책으로 해당 리뷰를 작성하였습니다.

    책표지!

    1

    머신러닝도 아니고 딥러닝을 Numpy 정도만 사용해서 자신만의 프레임워크를 만들 수 있다면 굉장히 신나는 일이라 할 수 있다. 그럼에도 불구하고, 뭔가 하나씩 만들기 위해선 꽤나 많은 것을 알아야 되고, 더 나아가서 그 과정 하나 하나를 이해하기에 쉽지 않다. 나도 CNN과 RNN을 Numpy 정도만 사용해서 만들 수 있다는 생각에 책을 시작했다.

    2

    이 책을 읽고 실습을 병행하면서 좋았던 점은 1) 신경망 기초 부분의 수학적인 부분을 간단한 다이어그램을 통해서 설명하고 다이어그램과 코드를 연결해서 설명하고 있기 때문에 코드를 작성하는 과정에서 굉장히 명쾌하고 할 수 있다. 2) 코드가 단순히 스크립트 형태로 되어있지 않고, 객체지향 방식을 도입해서 하나의 프레임워크로 만들 수 있기 때문에 파이썬의 사용방법에 대해서 폭 넓은 시점을 제공한다.

    다이어그램!

    반면, 1) 이 책은 다이어그램이 매우 중요한데, 다이어그램과 수식에 약간의 표기 차이를 보이는 부분이 있어서 다이어그램이 나올 때 마다 수식과 표기를 자세히 봐야 합니다. 해당 문제가 오탈자인지 아닌지 정확히 알 수 없지만, 결론적으로 말해서 수식과 다이어그램 그리고 코드를 비교하면서 조금 유심하게 봐야한다. 2) 교재에서 코드 전체를 소개하고 있지 않기 때문에 교재의 github 코드를 참고해야 한다는 점이다. 문제는 교재에 있는 코드와 github에서 제공하는 코드를 제대로 활용하기 위해선 몇가지 설치를 진행해야 하는데, 해당 모듈을 설치하는게 쉽진 않았다.

    책 내용!

    3

    이 책은 이론과 실습이 잘 정리되어 있어서, 딥러닝에 대한 처음 접한 분들이나 머신러닝등을 공부하는 분들에게 좋은 교재다. 참고로 Jupyter Notebook이나 Python의 모듈 설치등에 어려움이 있다면 실습이 조금 힘들 수 있다. 따라서 github에 나온 설치 방법 등을 참고해서 코드를 실행해본 후에 책을 읽고 실습을 진행해보면 좋을 듯 싶다.

  • 서적은 컬러가 아닌 것 같은데요. 혹시 ebook은 컬러인가요?

결재하기
• 문화비 소득공제 가능

배송료 안내

  • 책, 아이템 등 상품을 1만원 이상 구매시 무료배송
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

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

닫기

리뷰쓰기

닫기
* 도서명 :
처음 시작하는 딥러닝
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

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

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

오탈자 등록

닫기
* 도서명 :
처음 시작하는 딥러닝
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
처음 시작하는 딥러닝
구입처*
구입일*
부가기호*
부가기호 안내

* 회원가입후 도서인증을 하시면 마일리지 500점을 드립니다.

* 한빛 웹사이트에서 구입한 도서는 자동 인증됩니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한됩니다.

* 절판도서, eBook 등 일부 도서는 도서인증이 제한됩니다.

닫기

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

자료실