파이썬으로 자연어 처리를 하고 싶다면

공부해볼만한 책 한 권을 소개하고자 한다.

 

표지

 

원서 제목은 다음과 같다.

"Blueprints for Text Analytics Using Python"

 

초판

 

발행한지 얼마 안된 따끈따끈한 책이다.

 

원서는 2020년 12월에 출간되었으니

약 2년의 시차가 있어서 조금 아쉽기는 하지만

지금 공부하기 해서 활용하는데에는 부족함이 없다.

 

독자

 

이 책은 텍스트 분석에 대해서 처음 접하는 분들이 아니라

텍스트 분석을 실제 구현하고자 하는 분들을 위한 책이다.

 

제약

 

다만, 기본적으로 영어를 기반으로 하기 때문에

한글 텍스트 분석을 위해서는

추가적인 학습이 필요하긴 하다.

 

원서와 2년의 차이가 있는데,

이왕이면 실습 코드만이라도 한글 지원을 추가해줬으면

훨씬 더 좋았을 것 같다.

 

챕터 개요

 

각 챕터(장)에서 어떤 데이터셋을 사용하고

어떤 라이브러리를 이용했는지

깔끔하게 정리를 해줘서

필요할 때 손쉽게 찾아볼 수 있다.

 

추천 도서

 

이 책에서는 기본적인 이론 등에 대해서 설명해주지 않기 때문에

추가적으로 공부하면 좋을 책들을 추천해주고 있다.

 

심지어 한빛미디어 출판이 아닌 책도 추천을 해준다 ^^

 

본문

 

책은 아쉽게도 흑백이다.

컬러 추종자로써 조금 아쉽다 ^^

 

원서 eBook을 보면 컬러로 나오던데...

 

구성

 

각 챕터(장)별로

학습목표와 데이터셋에 대한 설명을 해준다.

 

해당 챕터에서 뭘 하고자 하는 것인지

어떤 데이터를 가지고 하는 것인지

설명을 해주기에 공부할 때 많은 도움이 된다.

 

 

그리고, 중요한 실습 코드 !!!

 

https://github.com/blueprints-for-text-analytics-python/blueprints-text

 

실습 코드

각 챕터별로

README.md

내용을 너무나 예쁘게 잘 작성해줘서 기분이 좋았다.

 

JupyterNotebook

 

JupyterNotebook 파일도 깔끔하게 작성되어 있다.

 

사실 책 내용을 보면 책에서 설명하고 있는 내용이

JupyterNotebook 파일에 작성되어 있으면

공부할 때 훨씬 더 손쉽게 접근할 수 있을 것 같지만...

그것까지 바라는 것은 욕심인 것 같기도 하고...

 

 

NLP에 대해서 기본적인 사항을 공부한 다음

실제 코드로 만져보고 싶은 분들에게는

엄청 유용한 도움이 될 책이다.

 

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

 

반응형

 

표지

 

최근 전세계적인 어려운 경제 상황에

운명처럼 만나게 된 책

 

"파이썬 기반 금융 인공지능 (Artificial Intelligence in Finance)"

 

초판 1쇄

 

받아본 책은

이제 태어난지 갖 1달 된 따끈따끈한 책이지만...

원서는 2020년에 첫 출간되었었다.

 

First Edition

 

2년이 지난 책이라 조금 아쉬움은 있지만,

그래도 이렇게 번역서가 나온 것만으로도 정말 고마운 일이다.

 


예전에 퀀트 투자 관련된 책을 살짝 살펴본 적이 있었는데

그래서인지 이 책 제목을 보고

제일 먼저 든 생각은

"이 책도 퀀트 투자 관련된 것이겠구나!"

였다.

 

 

그래서 살펴본 목차는 다음과 같다.


[PART I 기계지능]

CHAPTER 1 인공지능
CHAPTER 2 초지능

[PART II 금융과 머신러닝]

CHAPTER 3 규범적 금융
CHAPTER 4 데이터 기반 금융
CHAPTER 5 머신러닝
CHAPTER 6 인공지능 우선 금융

[PART III 통계적 비효율성]

CHAPTER 7 밀집 신경망
CHAPTER 8 재귀 신경망
CHAPTER 9 강화 학습

[PART Ⅳ 알고리즘 트레이딩]

CHAPTER 10 벡터화된 백테스팅
CHAPTER 11 리스크 관리
CHAPTER 12 집행 및 배포

[PART Ⅴ 전망]

CHAPTER 13 인공지능 경쟁
CHAPTER 14 금융 특이점

[PART Ⅵ 부록]

APPENDIX A 상호작용형 신경망
APPENDIX B 신경망 클래스
APPENDIX C 합성곱 신경망

 

 

퀀트 투자 책인 것은 맞지만,

금융 데이터들을 어떻게 AI를 활용하면 좋을지에 대해서

포커스가 맞춰진 책이다.

 

목차 설명

각 목차 앞에서는 어떤 의도로 작성되었는지,

어떤 내용인지에 대해서 설명을 먼저 해주고 있다.


정말 친절하게도 학습 플랫폼도 제공을 해주고 있다.

 

https://aiif.pqp.io/

 

학습 플랫폼

 

이메일 주소를 가지고 계정을 등록해야하는 불편함은 있다.

이메일 인증 후 로그인 하면 다음과 같은 플랫폼을 사용할 수 있다.

 

Jupyter Notebook

 

커널도 제공을 하고 있는 것 같지만,

뭔가 설정을 필요로 하는 것인지...

실제 실행을 하면 에러가 발생했다.

 

커널 에러

 

다운로드 받아서 colab에서 실행을 해보니

잘 된다.

 

colab


금융데이터를 가지고 어떻게 인공지능(AI/ML)을 이용해서

다뤄야 할지 공부할 수 있는 좋은 책이다.

 

이 책에서 다루는 라이브러리는 다음과 같은데,

 

python / scikit-learn / tensorflow / keras

 

일반적으로 많이 사용되는 라이브러리들이기에

많은 분들에게 쉽게 다가설 수 있을 것이다.

 

다만, 소스코드를 제공하는 방식이

사실 조금 불편하긴 하다.

 

본래 플랫폼까지 제공해주려는 의도인 것 같기는 하지만

그냥 GitHub로 제공을 해주고

Colab을 사용하도록 가이드하는 것이

훨씬 더 접근성이 좋지 않았을까 한다.

 

소스코드가 업데이트 된지도 2년이 되었던데,

독자적인 플랫폼 제공이 어떤 의미가 있는지는....

 

언젠가 퀀트 투자를 이용해서 용돈벌이를 할 수 있기를 꿈꾸며

여기까지 서평을 마치겠다.

 

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

 

반응형

 

오랜 시간 Software Engineer로써 살고 있는 고인물이

새로운 세상에 적응하기 위해 딥러닝이라는 것을 공부하려고 할 때

가장 큰 장벽으로 다가오는 것이 바로 수학이다.

 

고등학교 시절 이과를 선택하고 공대에 입학해서 공돌이 생활을 했지만

수학을 정말 싫어하고 못했던 나인데, 이 나이 먹고 다시 수학 공부를 해야하다니!!!

 

하지만, 딥러닝에 대해서 파고들기 위해서는 수학 공부는 필수다.

어쩔 수 없다.

 

그렇지만, 수학 정석부터 시작할 수는 없고, 필요한 내용만 공부를 하려면... ?!

 

표지

 

나온지 얼마 안되는 정말 따끈따끈한 책이다.

원서도 2021년 10월에 출간되었다.

 

1쇄

 

책 제목에 "딥러닝"이 적혀 있다고 해서 알고리즘이나 코드를 설명해주는 책은 절대 아니다.

 

역전파(Backpropagation)와 경사하강법(Gradient Descent)을 이해하기 위한

수학적 배경 지식을 공부하기 위한 수학책이다.

 

"옮긴이의 말"에서도 분명히 이 부분을 말해주고 있다.

 

옮긴이의 말

 

그렇다고 해서 정말 수학 공식만 설명해주고 있는 책은 아니다.

실제 Python 코드를 이용한 구현 방법도 알려주고 있기에 실습을 하면서 공부를 할 수 있다.

 

책의 구성을 살펴보면 다음과 같다.

 

구성 1
구성 2

 

"옮긴이의 말"에서도 언급한 것 처럼

이 책은 `10장 역전파`와 `11장 경사하강법`을 설명하기 위한 책이다.

 

실습환경 구축을 설명해주고 있는 1장을 빼고

2장부터 9장까지는 본론을 말하기 위한 수학적 개념과 공식을 설명해주는 내용으로 채워져 있다.

 

 

책 인쇄는 조금 아쉽게도 풀 컬러는 아니고 (개인적인 취향으로 풀컬러 러버~)

자주색+검은색의 조합이다.

 

샘플

 

책에서 사용된 소스코드는 다음 링크에서 내려 받을 수 있다.

  - https://github.com/rkneusel9/MathForDeepLearning

 

쥬피터노트북(.ipynb)은 아니고, 파이썬(.py) 파일로 제공해주고 있다.

 

 

책의 정오표는 다음 링크의 제일 하단에 있는 `View the latest errata`에서 확인하라고 하는데, 원서 기준이다.

  - https://nostarch.com/math-deep-learning

 

한글판에 대한 정오표가 업데이트 되면 아래 링크에서 확인할 수 있을 것이다.

  - https://jpub.tistory.com/category/오탈자%20정보 

 

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

 

컴퓨터공학 전공한 분들도 읽어야 하는 AI에 대한 인문학 도서!

사실 우리 파트장님, 팀장님에게 추천하고 싶은 책!

 

표지

 

어떻게 ML(머신러닝)을 하는지, PyTorch를 어떻게 사용하는지에 대한 책이 아니다.

목차 1

 

AI는 무엇이며, 역사는 어떻게 되었는지

그리고 Machine Learning과 Deep Learning은 어떤 차이가 있는지 등에 대해서 친절하게 쉽게 이야기해주는 책이다.

 

목차 2

 

책의 뒤에서는 AI로 어떤 것까지 가능하며

산업 분야별로 AI가 어떻게 도입될 것인지 어떻게 활용하는지에 대한 내용도 있다.

 

전문가 시스템

 

설명을 위해 중간 중간 그림도 삽입되어 있는데,

부담없이 보고 읽고 이해하기 쉽게 잘 정리되어 있다.

 

겨울

 

풀컬러는 아니라서 조금 아쉽기는 하지만 (개인적인 취향으로 알록 달록한 것을 좋아해서 ^^)

그래도 보기에 괜찮다.

 

그리고 책의 구성이 질문 형식의 화두를 던지고

그에 대한 답을 하는 방식으로 친절하게 설명하는 방식이라서 읽고 이해하기가 수월하다.

 

 

개발자로써 최근 AI/ML에 대해서 공부를 하고 있기에

Tensorflow, PyTorch, CNN, RNN 등에 대해서 알려주는 책들은 많이 봤지만

이처럼 AI에 대한 전반적인 설명이나 산업에 있어서의 AI에 대한 트렌드를 설명해주는 책은 처음이었다.

 

이 책을 보면서 계속 머릿속에 드는 생각은

AI/ML에 대해서 공부를 따로 하지 않은

우리 윗분들이 꼭 한 번 읽어봤으면 좋겠다라는 것이었다.

 

분명 기준 S/W 개발과는 차이가 있는 분야임에도 불구하고

AI/ML 과제를 S/W 개발 경험 밖에 없는 분들이 PL 역할을 하곤 한다.

 

이런 분들에게 이제와서 AI/ML 공부를 하라고 하는 것은 사실 무리이고

최소한 이 책에서 나온 정도의 상식은 갖췄으면 하는 바램에

이 책을 추천한다.

 

물론 AI/ML 개발 또는 연구하는 분들에게도 추천하는 책이다!

 

 

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

반응형

 

표지

`개발자에게 바치는 머신러닝 가이드북!`

`개발자의, 개발자에 의한, 개발자를 위한 AI`

 

정말 감각적인 표지 디자인과 함께

이 책의 정체성을 그대로 보여주고 있는 부제목들이다.

 

발행일

 

정말 따끈따끈한 ... 신간 서적이다 !!

 

지은이

 

개인적으로는 첫 중국 출신 지은이들의 책이다.

텐센트와 알리바바 소속 지은이들의 서적이라니... 기대가 되기도 하고, 궁금하기도 하였다.

 

차례

 

차례를 보는 순간

`아! 정말 개발자들의 시각에서 씌여진 책이구나!`

라는 것을 느낄 수 있었다.

 

"머신러닝의 Hellow World"

 

그렇지! 개발자라면 `Hello World`로 시작해야지!!!

 

베타리더

 

베타리더들의 코멘트를 봐도 알 수 있겠지만

이 책은 이론 보다는 실습 위주의 학습을 하기 위한 독자들에게 적합하다.

 

chapter 01

 

그렇다고 해서, 이론적인 설명이 아예 없는 것도 아니다.

정말 꼭 알아야 하는 내용을 정말 깔끔하게 잘 정리해서 설명해주고 있다.

 

code

 

개인적으로 머신러닝/딥러닝을 공부하면서 이런식으로 예시를 보여주는 것은 처음 보았다.

양수/음수 분류 함수를 케라스를 이용해서 비교 구현을 해보다니 !!!

 

마무리/참고자료

 

각 챕터별로 마무리도 깔끔하게 잘 해주고 있다.

그리고 끝까지 개발자의 입장을 놓치지 않고 계속 유지하고 있다.

 

 

이 책은 정말 색깔이 확실하다.

개발자가 머신러닝을 공부할 때 좋은 책 !!!

 

 

조금 길게 설명하자면,

 

머신러닝에 대해서 책 한 권 정도는 훑어보았지만

어려운 이론들과 수학적인 설명들로 인해서 좌절을 느낀 개발자들에게

예전에 공부하던 방식으로

머신러닝과 딥러닝을 공부할 수 있도록 가이드해주는

표지가 아주 멋진 책 !!!

 

※ 제이펍 서평단 활동을 위해 지급 받은 도서에 대한 리뷰입니다.

반응형

 

주석만 작성해도, function 이름만 적어줘도 AI가 코드를 대신 작성해준다고 하는 Copilot !!!

 

광고/홍보를 그렇게 해놓고는...

한정된 사람들만 사용할 수 있게 해주는 불친절한 GitHub !! 아니 MS !!!

 

 

뭐 어떻게 어떻게 사용해볼 수 있기 기회를 얻어서

다음과 같이 사용해보았다.

 

Already enabled

 

내 본캐 계정에서는 아직도 대기중인데...

 

Extension

 

GitHub 웹사이트에서 바로 사용하는 것은 말이 안되기에 어떤 방식으로 제공해주나 했는데...

Visual Studio Code Extension 형태로 제공해준다 !!!

Extension 설치 !!!

 

VSCode Extension

 

21만명이 사용하고 있나보다.

별점이 4개 밖에 안되네!? ㅋㅋㅋ

 

Sign in to GitHub

 

당연하게도 GitHub 로그인 과정을 거쳐야 한다!!!

 

Authorize

 

token

 

열기 하니까 잘 되었다.

잘 안되는 사람들은 아래에 나오는 방식으로 진행하면 되겠죠 ?!

 

function

 

사용법은 간단하다.

함수 이름 작성 하고 파라미터 정의하고 `{` 입력하면 회색으로 갑자기 딱! Suggestion을 보여준다.

 

마음에 들면 `Tab`키 누르면 되고,

마음에 안들면 `Alt + [` 또는 `Alt + ]` 누르면 다른 suggestion 들을 보여주게 된다.

 

그런데, 속도 이슈인지 `Alt + [` 또는 `Alt + ]` 눌렀을 때에 전환이 잘 안되는 경우가 많았다.

 

Ctrl + Enter

 

Suggestion 목록을 한 번에 보고 싶으면 `Ctrl + Enter`를 누르면 된다.

위 그림과 같이 오른쪽에 suggestion 목록을 전체 보여준다.

 

속도 이슈로 한번에 나오지 않더라도 기다리면 주르륵 나온다.

`Alt + [` 또는 `Alt + ]`는 다른 suggestion이 없는 것인지 아직 로딩 중인지 알 수 없어서 불편한데

차라리 그냥 `Ctrl + Enter`를 이용해서 전체를 보고 하는 것이 좋을 것 같다.

 

주석

 

함수 이름만으로는 의도를 제대로 전달하기 어려울 수 있다.

그럴 때에는 주석을 앞에 적어주면 된다.

 

Framework

 

함수만 지원하는 것도 아니다.

Express server를 사용하겠다라는 주석만으로도 코드를 제안해준다.

 

 

 

지금까지 알아본 과정은 GitHub에서 제공해주는 Start Guide로 진행해보았다.

- https://github.com/github/copilot-preview/blob/main/docs/gettingstarted.md

 

혹시 웹 관련된 JS만 잘되는 것 아닐까?

 

Python

 

확장자가 `*.py`인 파일을 만들고

`Authentication to GitHub Enterprise instance`와 같이 주석을 작성해보았다.

 

와우! stackoverflow 검색 보다는 훨씬 빠르게 코드를 찾아준다.

다만, 내용을 살펴보니 내가 원하는 실제 사용가능한 수준으로까지는 없었다.

 

주석 내용을 조금 더 디테일하게... 구체적으로 적어줘야 원하는 내용을 제안해줄 것으로 보인다.

 

한글

 

한글도 지원을 잘 해줄까!?

 

위 그림과 같이 잘 해준다 !!!

 

한글로 된 주석이 github.com에 그다지 많지 않을거라

제한적인 상황에서만 유용할 것 같지만,

여하튼 한글도 된다 !!!

 

token

 

업로드 한 사람의 잘못이긴 하겠지만

위 그림과 같이 secret 값들도 그대로 suggestion 된다.

 

이런 부분은 주의해야할 것 같다.

 

 

결론적으로 원하는 사항에 대해서 잘 정의할 수 있으면

최소한 Stackoverflow 검색하는 것보다 빠른 시간 안에 code를 suggestion 받을 수 있는 재미있는 기능이다.

 

실무에서도 유용할 지에 대해서는 직접 프로젝트를 진행하면서 사용해봐야 할 것이고,

최소한 PoC 하거나 처음 해보는 사항에 대해서 접근할 때에는 상당히 유용할 것으로 보인다.

 

반응형

[ GAN is ... ]

 

AI가 만든 얼굴이라던지, 오바마 전미국대통령의 fake 영상이라던지 하는 뉴스를 들어보았을 것이다.

이런 것들을 만들어낼 수 있는 가장 대표적인 기술적 배경이 바로 GAN 이다.

 

아래 영상을 보면 바로 어떤 것인지 알 수 있다.

 

 

GAN은 "Generative Adversarial Network"의 줄임말인데, 풀어보면 아래와 같이 말할 수 있다.

  • Generative: 생성(Generation) 모델을 이용하여, 진짜 데이터와 같이
  • Adversarial: 두 개의 모델을 적대적(Adversarial)으로 경쟁시키며 발전 시키는
  • Network: 인공신경망(Artificial Neural Network)

 

"GAN"은 라벨(정답)이 없는 데이터를 가지고 학습을 하는 비지도학습의 한 유형이다.

GAN에 대한 가장 대표적인 설명은 "위조지폐범"과 "경찰"이다.

 

GAN

 

위조지폐범(생성모델)은 진짜와 구분이 어렵도록 위조지폐(가짜 데이터)를 계속 생성하고,

경찰(분류모델)은 진짜와 가짜를 계속 분류하면서 50%의 확률 정도가 될 때까지 계속 진행을 하는 방식이다.

 

 

 

[ This book is ... ]

 

서두가 길었다 ^^

 

GAN에 대해서 알려주는 괜찮은 책이 이번에 한빛미디어에서 출간되었다.

책의 제목은 "GAN 첫걸음" !!!

 

GAN 첫걸음 - 표지

 

예쁜 보라색으로 깔끔한 폰트로 제목이 적혀있는 표지를 갖고 있는 조금 작은 크기(신국판 규격 정도?!)의 책이다.

거기에다가 지금 이 글을 적고 있는 시점에서보면 나온지 얼마 안되는 따끈따끈한 책이다.

 

GAN 첫걸음 - 초판

 

이 책의 지은이는 "타리크 라시드"이다.

 

GAN 첫걸음 - 지은이

 

"타리크 라시드"는 이 책에 앞서서 다른 책을 출간했었다.

 

신경망 첫걸음 - 10점
타리크 라시드 지음, 송교석 옮김/한빛미디어

 

어떻게 보면 위 책의 다음 2권과 같은 위치에 있는 것이 바로 이 책 "GAN 첫걸음"인 것 같다.

물론, "신경망 첫걸음"을 보지 않고 바로 "GAN 첫걸음"을 본다고 하여 문제가 되지는 않는다.

 

GAN 첫걸음 - 대상 독자

 

책에 쓰여져 있는 것처럼, 기초부터 알고 싶은 사람을 배려해서 쓰여져 있기 때문이다.

 

하지만, 아무리 그래도 최소한 Machine Learning에 대한 기초적인 지식이 있으면 조금 더 읽기 수월할 것이고

"신경망 첫걸음"을 먼저 읽었다면 더더욱 읽고 이해하기 좋을 것이다.

 

 

[ Prerequisite ]

 

이 책은 기본적으로

"구글 코랩(Google Colab)" 환경에서 "파이토치(PyTorch)" 라이브러리를 이용하여 GAN을 구현한다.

 

친절하게도 이 책에서는 "Chapter1 파이토치 기본"에서

기본적인 실습 환경과 배경 지식에 대해서 친절하게 설명을 해주고 있다.

 

그러다가 PyTorch의 기본 데이터 형태인 텐서(tensor)에 대해서까지 Part1에서 설명을 해준다.

 

 

[ practice ]

 

"Chapter2 파이토치로 만드는 첫 번째 신경망"에서는

유명한 MNIST 데이터셋을 이용해 PyTorch로 신경망을 만드는 과정을 꼼곰히 설명해주고 있다.

 

"Chapter3 성능 향상 기법"에서는 조금 더 성능을 높이기 위한

손실함수, 활성화 함수, 옵티마이저, 정규화 등에 대해서 설명한다.

 

"Chapter4 CUDA 기초"에서는 AI 하면 떠오르는 GPU를

어떻게 사용할 수 있는지에 대해서 친절하게 설명해준다.

 

여기까지가 "Part1 파이토치와 신경망 기초"에 해당한다.

 

 

[ lesson ]

 

본격적인 GAN에 대한 학습은 "Part2 튼튼한 GAN 만들기"로 분류되어 있는

"Chapter5 GAN 개념"부터 "Chapter8 얼굴 이미지"까지로 이루어져 있고,

 

"Part3 흥미로운 GAN 기법"에서는 조금 더 고급스러운(?)

'Chapter9 합성곱 GAN', 'Chapter10 조건부 GAN'에 대해서 설명해주고 있다.

 

 

 

[ My Opinion is ... ]

 

아직 이 책의 끝까지 공부해보지는 못했지만 지금까지 공부하면서 느낀 점을 적어보면...

 

책이 나름 친절하고 쉽게 설명해주고자 노력했지만,

그렇다고 해서 Machine Learning이 뭔지도 공부하지 않은 상태에서 접하기에는 어려울 수 밖에 없다.

 

또한 책에서 심심찮게 보이는 "신경망 첫걸음에서 뭐뭐를 해봤었다"와 같이

이 책을 보기 전에 "신경망 철걸음"을 보고와야 되는 것처럼 되어 있는 점은 조금 아쉬웠다.

 

하지만,

최소한 "Machine Learning"에 대해서 조금이라도 공부를 해보신 분이라면

GAN에 대해서 공부하기 위해 이 책을 추천할 수 있을 것 같다.

 

어려운 수학 공식에 대한 설명 보다는

구글 코랩에서 PyTorch를 직접 구현해보며 공부할 수 있다는 점은 정말 좋았다.

 

직접 해보면서 공부하는 것을 좋아하시는 분에게는 정말 정말 적극 추천한다!!!

 

 

※ 이 책은 한빛출판네트워크의 '나는 리뷰어다' 이벤트를 통해 제공 받은 도서입니다.

반응형

+ Recent posts