Python Excel Deep Learning
딥러닝의 알고리즘 원리부터 파악하기
파이썬과 엑셀로 시작하는 딥러닝
딥러닝과 파이썬은 쿵짝이 잘맞는 짝꿍같은 느낌인데, 왠지 엑셀은 어울리지 않는 느낌이 든다.
하지만, 딥러닝을 잘 생각해보면 테이블 형식의 데이터들과 수학이 바탕이 되어야 하고
그렇게 생각해보면 엑셀은 딥러닝에 잘 어울리는 도구일 수도 있겠다라는 생각이 든다.
어!? 이거 가스라이팅인가!? ^^
지은이 3명의 소개글을 읽고 공통점을 찾으셨다면~ 센스쟁이 !!!
그렇다!!! 인공지능 대학원 동문 3명이 모여서 책을 썼다!!!
출간한지 얼마 안되는 따끈따끈한 New 책이다 !!!
AI를 공부하는 모두가 Model Researcher일 필요는 없다.
하지만, 그렇다고 해서 딥러닝의 기본기를 배울 필요가 없는 것은 아니다.
인공지능을 공부했다라고 말하기 위해서는
Scikit-Learn, Tensorflow, Pytorch 등에서 제공하는 것을 그냥 가져다가 쓰기만 하는 것이 아니라
그 기본이 되는 원리에 대해서 한 번쯤은 파고들어본 경험은 있어야 한다고 생각한다.
일단, 책의 전체 내용을 간략히 살펴보자.
크게 보면 "분류 문제 → CNN → RNN" 정도에 대해서 진행을 하게 되고
데이터 정규화 및 분할, 소프트맥스에 대해서도 설명을 해주고 있다.
왠지 귀여운 느낌의 차례가 등장했다 ^^
조금 아쉬운 점은 ...
개인적인 취향일 수도 있지만 자고로 개발환경이라고 하면 리눅스(Linux)가 표준이지 않을까 한다!
특히 시장지배적 위치에 있는 우분투(Ununtu) 기준으로 개발환경 설명을 해줘야 하는데.... 없다!!!
어디까지나 개인적인 취향으로... Ubuntu 운영체제에서의 환경 구축은 다음과 같이 하면 된다.
1. Python 설치 및 가상 환경
- 원하는 버전의 Python을 편하게 사용하기 위해서는 다음 링크를 참조해서 pyenv를 설치하자
- 실습을 진행할 디렉토리로 이동 후 기본 환경을 맞춰보자
❯ cd /srv/workspace/excel-dl ❯ pyenv local 3.8.10 ❯ python -m venv .venv ❯ source .venv/bin/activate |
2. Jupyter 설치
- Jupyter Notebook 사용을 위해 jupyter 패키지를 설치하자
❯ pip install jupyter |
- 설치가 잘 되었는지 실행해보자
❯ jupyter notebook |
- 새로운 파일 생성은 책과 조금 다르기에 캡쳐한 화면으로 보여주겠다.
이하 과정은 책을 보면서 따라가면 된다.
사실 위의 내용도 책의 내용과 별 차이 없다 ^^ 괜한 투정~!!!
책의 뒷부분에는 재미있는 것들이 부록으로 제공된다.
Microsoft Excel 뿐만 아니라 `구글 스프레드시트`를 애정하는 분들을 위한 내용도 설명을 해주고 있다.
요즘 Pytorch에 비해 인기가 조금 시들해졌지만,
그래도 아직 그 명성을 떨치고 있는 Tensorflow를 사용하는 다양한 예제도 있다.
이 책의 가장 특징인 엑셀(Excel)을 사용하기 위한 패키지로 여기에서는 `xlwings`를 사용하고 있다.
Jupyter Notebook에서 설치해서 사용하면 된다.
책을 보다가 깜짝 놀란 이미지가 있어서 잠시 공유 !!! ^^
딥러닝을 공부하면서 정말 괴로운 부분이 바로 수학이다.
특히 미분 ... 어렸을 때 잘 공부해뒀어야 했는데 ... 뒤늦게 공부하려면 ... 정말 ... 짜증이 ... ^^
그런데, 컴퓨터를 사용하고 있으면서 그것도 프로그래밍을 하고 있으면서
미분을 컴퓨터에게 시키면 되지 왜 그것을 공부를 하고 있을까!?
기본적으로 컴퓨터는 ... 프로그래밍적으로 미분을 직접 푸는 것은 안된다.
(물론 불가능은 아니겠지만, 어렵다. 그리고 내가 원하는대로 나오는 것은 더더욱 어렵다)
그러면, 기울기를 구하기 위해 미분을 하려면 어떻게 될까!?
미분한 결과를 프로그래밍으로 구현해주면 된다.
위에서 보이는 함수 중에서 `def f_prime(x):` 부분을 보면 알겠지만,
미분이 된 수식을 구현하고 있다.
뭐 그렇다.
이 책을 훑어보다보면 `응? 왜 굳이 Excel이 필요한거지?`라는 생각을 할 수도 있을 것이다.
사실 많은 강의와 서적에서는 Pandas/Numpy/Matplotlib 등으로 잘 설명해주고 있기 때문이다.
하지만, 직접 이 책을 따라하다보면 왜 엑셀을 사용하고 있는지 느낄 수 있을 것이다.
특히, Pandas/Numpy/Matplotlib 등을 이용해서 공부를 해보신 분이라면
엑셀을 통해서 중간에 어떻게 값들이 변해가는지 등을 눈으로 보면서 막혔던 것이 뚫리는 기분을 느낄 수도 있을 것이다.
예제 파일도 제공을 해주고 있으니 편하게 사용해보자.
- http://infopub.co.kr/new/include/detail.asp?sku=06000248
GitHub로 샘플을 제공해주면 좀 더 좋았을 것 같은데
아쉽지만 공식 홈페이지를 통해 압축 파일을 내려받아야 한다.
용량은 2.7MB 정도이다.
책 제목에서도 나와있지만
딥러닝의 알고리즘 원리를 직접 손으로 하나씩 확인하고픈 사람들에게는 정말 가뭄의 단비같은 책이 될 수도 있다.
하지만, 응용 위주로 딥러닝을 공부했거나 하려고 하는 분들에게는 별 도움이 되지 않는 책이 될 것이다.
그리고, 나름 친절하게 설명하려고 노력은 했지만
딥러닝에 대해 비기너(Beginner)... 아직 한 번도 공부하지 않으신 분들은 따라하기에도 쉽지 않을 수 있다.
많은 공식이 나오는 것은 아니지만,
중간 중간 나오는 공식들이 어떤 의미인지 친절할 정도로 설명은 하지 않고 있기 때문이다.
(설명이 충분치 않은 것이 당연하다! 그걸 다 설명하려면 그것만으로도 책이 나올 것이다 ^^)
즉, 이 책을 추천하고픈 분들은 다음과 같다.
- 딥러닝 공부를 하고 있지만, 대체 GD는 뭐고 Softmax가 뭔지 원리가 궁금한 사람
- 중간 중간 단계에서 값들이 어떻게 변하는지 눈으로 확인하고 싶은 사람
- Tensorflow나 Pytorch에서 제공해주는 것만 사용하다가, 어떻게 구현된건지 궁금한 사람
(눈치 채셨겠지만 ... 같은 대학원 공부를 하고 있는 분들이 저자라서 ... 리뷰를 해봅니다만 ... 나름 솔직한 리뷰입니다 ^^)
이 포스팅은 제공 받은 서적으로 작성한 리뷰입니다.
'Books' 카테고리의 다른 글
[혼공학습단 11기] 혼자 공부하는 데이터 분석 with 파이썬 (0) | 2023.12.27 |
---|---|
[디코딩] 챗GPT 개발자 핸드북 (0) | 2023.08.28 |
[한빛미디어] 마이크로서비스 아키텍처 구축 (0) | 2023.07.25 |
[한빛미디어] 테라폼으로 시작하는 IaC (0) | 2023.06.25 |
[한빛미디어] 직장인을 위한 챗GPT (0) | 2023.05.28 |