표지

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

`개발자의, 개발자에 의한, 개발자를 위한 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를 직접 구현해보며 공부할 수 있다는 점은 정말 좋았다.

 

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

 

 

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

반응형


이번 달에 리뷰 도서로 당첨된 책은 "데이터 전처리 대전"이다.



데이터 전처리 대전 - 10점
모토하시 도모미쓰 지음, 윤준 옮김/한빛미디어


AI/ML 관련 분야 中 "데이터"에 대한 내용을 담고 있는 책이다.



아직까지도 AI/ML 공부한다고 하면

대뜸 TensorFlow 또는 PyTorch와 같은 것으로

어떻게 Training을 해서 모델을 만들 것인지에 대해서 파고든다.


경사하강법(gradient descent)이 어찌고

오버핏이 어찌고 등등등...



하지만, 제대로된 결과물이 나오기 위해서는

제대로된 입력물이 있어야 한다!!!



즉, 데이터가 중요하다는 말이다 !!!



그러한 데이터를 미리 예쁘고 똑똑하게 처리하는 것이 바로

"데이터 전처리" 이다.






제목도 직관적이고

표지 디자인도 예쁘고

색상도 주황색으로 트랜디 하다!


즉, 책을 딱 보면 괜찮을 것 같다는 기대감을 준다 !!!







원서의 경우 2018년도에 작성이 되었고

번역본은 2019년 11월에 출간이 되었다.

아직 개정판은 없는 것 같다.


음... 시시각각 새로운 것들이 쏟아지는 AI/ML 바닥에서

지금 (20년 11월) 이 책을 봐도 되는 것인지

우려가 되기도 하지만...


데이터를 다루는 부분에 있어서는

책에서 설명하고 있는 내용들이 안될일은 없을 것 같다.


즉, 지금 구매해서 봐도 괜찮다.






이 책은 크게 4개의 파트로 구성되어 있다.


정말 직관적이다.


전처리가 무엇인지 설명해주고 (1부)

구조를 어떻게 손봐야 하는지 알려주고 (2부)

내용도 손봐야 하는 경우 어떻게 할지 알려준 다음에 (3부)

실전에 적용하기 위해 필요한 사항들을 알려준다 (4부)





화려한 것을 좋아하는 개인적인 취향에서 조금 아쉽게도

흑백 인쇄이지만

깔끔한 편집으로

보기 편하게 잘 되어 있다.







번역도 술술 읽힐 정도는 아니지만

그냥 보기에 크게 어색하지 않게 잘 되어 있다.







책 내용은

표지에 명시되어 있는 것처럼


파이썬

SQL

R


3가지 방법으로 설명을 해주고 있다.



즉, 현재 주로 사용하고 있는 언어(도구?)가

저 3가지에 속한다고 하면 아무 부담없이

이 책을 구매해도 될 것 같다.



각 도구(언어?)에 대한 설명은 별도로 없기 때문에

셋 중 하나는 다룰줄 아는 사람에게만

이 책을 권장한다.






이 책에서 사용하는 데이터는 한빛미디어 홈페이지에서 다운로드 받을 수 있다.


http://hanbit.co.kr/support/supplement_survey.html?pcode=B1543811360




역자가 예제 환경 설정 등에 대해서 포스팅을 해준다고 했는데,

1년이 지난 지금까지도 포스팅 안해줬다.


https://junyun0516.github.io/




그냥 데이터나 예제를 github를 통해서 공유해주지....




결론은 ...

1년이 지난 책이지만, 지금 봐도 괜찮은 데이터 전처리 관련 도서이다.






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



반응형

+ Recent posts