2025년, 코딩은 선택이 아닌 필수!

2025년 모든 학교에서 코딩이 시작 됩니다. 먼저 준비하는 사람만이 기술을 선도해 갑니다~

기타/도서리뷰

밑바닥부터 시작하는 딥러닝 3

원당컴1 2020. 12. 10. 14:07

 

밑바닥부터 시작하는 딥러닝 3

 

밑바닥부터 시작하는 딥러닝3은 다음과 같이 직접 딥러닝프레임 워크를 파이썬을 이용해서 만들어 봅니다.

이렇게 딥러닝 프레임워크를 구현하다 보면 밑바닥부터 시작하는 딥러닝 시리즈를 읽으면서 기초이론을 접목해서 직접 실행해 보면서 어떤 식으로 딥러닝이 동작하는지를 파악할 수 있게 됩니다.

 

밑바닥부터 시작하는 딥러닝3편에서는 Step1~60 까지 단계별로 구성이 되어 있습니다.

60단계는 다음과 같이 다섯고지로 나눌 수 있으며 여기서 만드는 딥러닝 프레임 워크는 DeZero 프레임워크입니다.

 

텐서플로 2.0부터는 이 책에서 설계방식이 DeZero 와 같은 방식을 채택했으며 이러한 프레임워크의 특징은 다음과 같습니다.

1. 미니멀리즘

- 이해하기 쉽게 만들기 : 아래 몇 단계의 코드를 확인해 보시면 파이썬을 조금만 다뤄 보셔도 금방 이해 할 수 있습니다.

2. 순수 파이썬

- DeZero는 순수 파이썬만으로 구현하였습니다. 제가 만들어 본 코드 역시 구글에서 제공하는 colab을 이용하여 코딩 테스트를 해 본 결과물입니다.

3. 현대적인 기능

- Define-by-Run 방식의 프레임 워크로 Define-by-Run이란 딥러닝에서 수행하는 여러 계산을 실행 시점에 연결 하는 구조를 말합니다. 

 

책의 내용을 살펴 보면 다음과 같습니다.

Step1,2 변수와 함수 만들어 보기

DeZero 에서 사용하는 변수와 함수를 만들어 봅니다.

step3,4 함수연결 및 수치미분

미분은 다양한 과학기술 분야에 사용됩니다. 특히 딥러닝을 포함한 머신러닝의 여러 분야에서 중추적인 역할을 합니다. 딥러닝 프레임 워크는 미분을 계산하기 위한 도구 입니다.

 

y=x^2 에서 x의 값이 2.0 일때 4.0 이 되어야 하는데 오차가 발생하는 것을 확인할 수 있습니다.

 

여기서 역전파가 구세주로 등장을 하게 되는데요~

Step5 : 역전파의 이론과 계산그래프로 살펴보기

Step6 : 역전파의 구현

Step7 : 역전파의 자동화

Step8 : 재귀에서 반복문을 이용한 구현

Step9 : 함수를 더 편리하게 사용하기

Step10 : 미분 자동계산 함수의 테스트

이렇게

제1고지에서 미분 자동계산 프로그램을 구현해 보게 됩니다.

제2고지는 함수를 사용하기 쉽도록 개선하며 복잡한 계산이 가능하도록 개선하며 패키지로 만들어 봅니다.

제3고지에서는 고차미분(고차미분이란 2번 이상 미분한것)의 원리와 고차미분을 계산할 수 있도록 DeZero를 확장하여 파이토치와 텐서플로 등 현대적인 딥러닝 프레임워크에서 사용하는 고차미분을 자동으로 계산하는 기능을 구현해 봅니다.

제4고지에서는 스칼라(한개의 값)만을 처리 한것을 텐서(행렬)를 이용한 신경망 만들기에 도전을 합니다. 제 4고지가 끝나면 딥러닝 프레임 워크라고 불러도 좋을 만큼 훌륭하게 성장해 있는 프레임 워크를 만나 보실 수 있습니다.

제5고지에서는 GPU를 활용하거나 모델을 외부파일로 저장하는 등의 새로운 기능을 추가 합니다. 여기서는 신경망(CNN)과 재귀신경망(RNN)등을 구현해 봅니다.

(step60 RNN을 활용한 시계열 데이터 처리와 이것을 활용해서 LSTM 구현까지)

소스코드는 깃허브에서 다운로드 해서 확인해 볼수도 있지만(github.com/WegraLee/deep-learning-from-scratch-3)

한땀 한땀 코딩을 하면서 그 의미를 정확하게 이해하는 것이 더 좋아 보이네요~

 

 

 

이 책을 읽고

태어날때 부터 눈이 보이지 않는 장님이 있었습니다.

장님에게 아무리 코끼리에 대해 설명을 해 주고 그림을 그리게 해도 장님은 코끼리를 본적이 없어서 항상 엉뚱하게 그림을 그립니다.

코끼리 코는 길다고 아무리 설명을 해 주어도 본적이 없는 장님은 항상 자신의 코보다 조금 더 길게 그립니다.

하지만 이 장님에게 코끼리의 모형을 만들어서 만져보게 하고 형상을 알려 준다면 코끼리의 형상을 좀더 구체적으로 알 수 있지 않을까요?

 

밑바닥부터 시작하는 딥러닝 시리즈3은 이러한 코끼리의 실체를 확인시켜 주는 책이 아닌가 라는 생각이 들었습니다.

Step1 에서 단 3줄에서 시작하는 코딩으로 한단계 한단계 밟아 가다 보면 어느 순간 텐서플로와 같은 딥러닝 프레임 워크를 내 손으로 만들어 놓은것을 확인 하실수가 있을것 같네요.^^

 

한줄 한줄 코딩을 하면서 이해 되지 않던 딥러닝의 실체를 하나 하나 깨닫게 되는 신비로움을 경험해 볼수 있는 책이라고 말씀드릴 수가 있을것 같네요.^^

 

아직 딥러닝의 원리를 이해하지 못한 독자라면 밑바닥부터 시작하는 딥러닝 시리즈 1과 밑바닥부터 시작하는 딥러닝 시리즈3 을 가지고 직접 코딩을 하면서 코딩이 이해가 되지 않으면 시리즈 1을 찾아 보시고 원리가 이해 되지 않으면 코딩을 하면서 반복하다 보면 딥러닝의 원리가 어느 순간 자신의 것이 되어 있지 않을까 생각해 보게 됩니다.

 

 

이 책은 한빛미디어 "나는 리뷰어다" 에서 제공받았습니다.

 

인천 서구 원당컴퓨터학원

 

사업자 정보 표시
원당컴퓨터학원 | 기희경 | 인천 서구 당하동 1028-2 장원프라자 502호 | 사업자 등록번호 : 301-96-83080 | TEL : 032-565-5497 | Mail : icon001@naver.com | 통신판매신고번호 : 호 | 사이버몰의 이용약관 바로가기