머신 러닝 교과서 with 파이썬, 사이킷런, 텐서플로 - 최신 넘파이, 사이킷런, 텐서플로 2로 배우는 머신 러닝, 딥러닝 핵심 알고리즘과 GAN, 강화 학습!, 개정3판
세바스찬 라시카.바히드 미자리리 지음, 박해선 옮김 / 길벗 / 2021년 3월
평점 :
장바구니담기



[길벗 개발자 도서 작성 리뷰를 위해 책을 제공받아 작성된 서평입니다.]
도서는 제공받았으나 리뷰는 객관적으로 작성하였습니다.

 

[All-in-One, 말 그대로의 교과서]

머신러닝, 딥러닝에 대한 세간의 관심이 뜨겁습니다. 관심을 반영하듯 서점 서대 세로줄 한 칸을 머신러닝 책으로 채워도 빽빽할 만큼 많은 도서가 나와있기도 합니다. 굉장히 많은 종류의 책이 머신러닝, 딥러닝을 공부하는 사람들을 위한 안내서로 나와있는 상황입니다. 가히 머신러닝 입문서의 춘추전국시대라고도 할 수 있겠습니다. "머신러닝 교과서" 라는 한국어 제목으로 출간된 본 도서는 춘추전국시대에 말 그대로 "교과서"로 자리매김 할 수 있는 도서라고 생각합니다.

[엄청난 분량]

일단 분량이 엄청납니다. 책의 두께를 직접 보시면 더욱 느끼실 수 있겠지만 상당히 많은 내용을 다루고 있음을 알 수 있습니다. 실제로도 머신러닝 기초부터 딥러닝까지 많은 내용에 대해서 전반적으로 다루고 있습니다.

안에 담긴 내용도 풍부합니다. 개인적으로 인상깊었던 목차는 9장과 18장이었습니다. 9장은 이전까지 구현한 머신러닝 모델을 웹 어플리케이션으로 배포하는 일련의 과정을 담고 있는데요. 다른 머신러닝 기본서에서는 모델링에 대한 내용만 담고 있고 이를 어떻게 보여줄 지에 대한 내용을 담고 있지 않은 경우가 많습니다. 책에서는 플라스크와 SQLite, Pythonanywhere를 사용하여 모델의 결과를 웹에 게시하는 일련의 프로세스까지 제시하고 있습니다.
18장은 강화학습과 관련된 내용입니다. 강화학습 역시 중요한 부분임에도 쉽지 않은 내용 때문에 대부분의 기본서에서 다루지 않는 경우가 많은 것 같습니다. 물론 책에서 제시하는 강화학습 관련 내용이 깊지는 않으며 제대로 공부하고자 한다면 강화학습 만을 다루고 있는 책을 사는 것을 추천합니다. 하지만, 처음 공부하는 사람들에게 강화학습이 무엇이며 어떤 기준으로 학습이 진행되는 지에 대한 기본 정보를 알려주는 것은 '교과서'가 해야할 일이라고 생각합니다. 책을 통해 공부하면서 이런 점이 굉장히 인상깊었습니다.

[자세한 설명]

자세한 설명은 이전에 나와있던 1판에서도 강조되었고 좋다고 생각했던 부분입니다. 우선, 믿고 보는 역자분의 노력 덕분에 번역이 상당히 깔끔합니다. 번역투의 문장이 거의 없고 읽으면서도 번역 때문에 걸리적거리는 부분이 없었습니다.

게다가 각종 도식과 주석이 빼곡히 자리잡고 있습니다. 특히 주석의 경우 1판보다도 훨씬 더 보강되어 있어 어떤 코드에서 흐름을 놓치더라도 주석을 참고하면 이해할 수 있도록 되어있습니다. 실제로 예제 코드를 따라서 작성하다 보면 흐름을 놓치고 책의 코드를 복붙하고 있는 자신을 발견하는 경우가 많은데요. 한 줄, 한 줄 자세히 작성된 주석 덕분에 해당 코드가 작성된 사고 흐름을 놓치지 않을 수 있었습니다.

[같이 오는 부가(?) 서비스!]

본 책은 동영상 강의와 질의응답 오픈 채팅방도 운영하고 있는데요. 동영상 강의도 강의지만 오픈 채팅방이 있다는 점이 굉장히 신선하고 좋았습니다. 머신러닝을 공부하면서 어딘가에 질문을 하고 답변을 받기가 쉽지 않은데요. 책 내용에 대해서 직접 물어볼 수 있는 소통 채널이 있다는 점에서 처음 공부하는 사람들, 개념에 대해서 부족한 부분을 질문으로 채우고자 하는 사람들에게 굉장히 좋다는 생각을 했습니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
스파크를 활용한 실시간 처리 - 실시간 데이터 처리를 위한 고수준 스트리밍 API 마스터하기
제러드 마스.프랑수아 가릴로 지음, 김인범 옮김 / 한빛미디어 / 2021년 4월
평점 :
장바구니담기


스파크를 잘 써보고자 한다면

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

스파크는 각광받는 분산처리 프레임워크입니다. 데이터를 메모리에 두고 처리하기 때문에 처리 속도가 매우 빠릅니다. 물론 이로 인해 공간의 제약을 받기 때문에 많은 양의 데이터를 한꺼번에 처리하기 힘들다는 단점을 가지고 있지만, 램의 발전 속도가 멈추지 않고 있기 때문에 날이 갈수록 더욱 고용량의 메모리를 적정한 가격에 구비할 수 있는 것도 사실입니다. 특히 해당 도서에서 자랑하고 있는 실시간 처리를 위해서는 한꺼번에 처리해야 하는 양보다는 처리 속도가 더 중요한 지표이기 때문에 이런 상황에서 스파크는 몇 없는 선택지 중 하나가 됩니다. 더구나 스칼라, 자바 뿐만 아니라 pyspark 등을 사용하면 python 으로도 사용할 수 있기 때문에 접근성이 꽤 높다는 장점도 있지요.


실시간 데이터 처리를 위해서라면

본 책에서는 실시간 처리 과정에서 일어날 수 있는 다양한 상황과 이런 상황에서 사용할 수 있는 방법들을 일목요연하게 정리하여 제시해주고 있습니다.

스파크를 사용하고 있는 기업은 제법 많지만 국어로 번역되어 나온 스파크 서적 중 개념서 이상의 책은 많지 않은 것으로 알고 있습니다. 물론 다른 좋은 책도 많지만 실시간 데이터 처리를 하고자 하는 사람에게는 이 책이 매우 좋은 가이드북이 될 수 있을 것이라고 생각합니다.

더구나 책 말미에는 실시간 ML에 적용하는 방법 등도 제시하고 있는데 유사한 ML 파이프라인을 구축해보고자 하는 사람들에게도 좋은 안내서가 될 것입니다.


어디까지나 "잘"(!) 쓰고자 하는, 목적에 충실한 책

그렇습니다. '잘' 쓰고자 하는 사람을 위한 책이지 '써보고자' 하는 사람을 위한 책은 아닙니다. 더구나 예제 코드가 스칼라 이외에는 제공되지 않기 때문에 자바나 파이썬으로 스파크를 접한 사람에게는 바로 적용하기 힘든 레퍼런스가 될 수도 있겠다는 생각도 듭니다.

위 도서에서는 스파크에 대한 자세한 설명 없이 (이미 알고 있다고 생각하고) 실시간 처리를 적용하는 단계로 넘어갑니다. 만약 스파크를 처음 접하는 사람에게는 같은 출판사의 '스파크 완벽 가이드'가 더 좋은 안내서가 될 수 있을 것으로 생각합니다. 무턱대고 대상 도서를 사는 사람은 없었으면 하는 바람이 있습니다.

아무튼 스파크를 사용해 본 경험이 있고, 이를 바탕으로 스트리밍을 프로덕션 단계에 적용하고자 하는 사람에게는 최고의 책이겠지만 그렇지 않은 사람에게는 다른 동네의 이야기가 될 수도 있겠다는 생각이 들었습니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
친절한 딥러닝 수학 - 인공 신경망 이해를 위한 기초 수학
다테이시 겐고 지음, 김형민 옮김 / 한빛미디어 / 2021년 3월
평점 :
장바구니담기



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


'수학'. 이름만으로도 여럿 까다롭게 만드는 존재입니다. 4차 산업혁명이라는 키워드에 힘입어 많은 사람들이 딥러닝 공부에 도전하고 있습니다. 하지만 딥러닝을 공부하다보면 '수학'이라는 녀석을 피할 수 없게 됩니다. 가중치와 편향이 곱해지면서 더해지는 순전파, 그리고 이들이 어떻게 학습되는지에 대한 역전파를 이해하려면 (특정 학과를 제외하고는) 고등학교 이후 듣지 않고 지내던 '미분'이라는 단어를 만나기 마련이지요. 가중치마다 어떻게 학습되는지를 알기 위해서 공부해야 하는 '편미분'과 연쇄 법칙(Chain rule)은 보너스(?)입니다.


딥러닝 입문자 입장에서는 코딩 따라가기도 바쁜데 갑작스레 등장하는 미분에 난색을 표할 수 밖에 없습니다. 물론 몰라도 코딩하는데 큰 문제가 없을 수도 있고 수학 수식을 건너뛰며 딥러닝 공부를 할 수도 있을 것입니다. 하지만 이후에 어떤 구조가 등장하고 이러한 구조가 왜 등장하였는지를 이해하기 위해서 다시 돌아와 만나야 하는 것 역시 '수학'입니다.


친절한 딥러닝 수학


물론 수학을 제대로 공부해나가고자 한다면 전공 서적을 보는 것만큼 좋은 게 없겠지만, '미분' 한 단어도 두려운 입문자에게 전공 서적이란 인테리어 소품이 되기 십상입니다. (방 안 책꽂이에 박혀 나올 생각이 없는 전공 책을 바라보며...)


대화체로 구성된 이 책은 퍼셉트론의 작동 원리부터 자세히 수식을 설명하며 전개됩니다. 가장 도움을 많이 받을 수 있는 부분은 순전파와 역전파에 대한 설명인데요. 신경망이 순전파를 통해 어떻게 예측값을 내놓고, 계산된 예측값으로부터 어떤 방식으로 가중치가 갱신되는 지를 자세하게 설명하고 있어서 좋았습니다. 대화체로 쓰여 있어서 가독성도 좋았고 역전파에서 각 층마다 신경망 이미지를 곁들여 수식을 설명해주는 방식이 마음에 들었습니다. 여기까지는 순전파와 역전파에 대해 수학적 개념이 흐릿한 분들에게 정말 좋은 책이 될 것 같다는 생각이 들었습니다.


친절한(?) 딥러닝 수학


문제는 그 다음부터입니다. 역전파 다음 챕터인 Chap 4. 에서는 합성곱 신경망(CNN)에 대해 수학 수식을 통해서 다루고 있습니다. CNN의 계산이 워낙 많다보니 식이 꽤나 복잡해지는데요. 물론 책에서의 설명처럼 "항이 많을 뿐 하나씩 따라가면 똑같"기는 합니다. 하지만 처음 배우는 사람에게는 이런 수식이 되려 난감하게 느껴지지 않을까 하는 생각이 들었습니다. 시그마 갯수도 많아지고, 각 커널을 설명하기 위한 첨자도 많아지니 수학 기호에 익숙지 못한 이들에게는 이러나 저러나 이해하기 힘든 식이 되어버리는 셈이지요. 자세한 것은 좋지만 과한 상세함이 주는 일종의 불편함이 느껴졌습니다. 게다가 식이 길어지다보니 합성곱 신경망을 설명하기 위해서 할애한 지면이 거의 책의 절반정도가 된다는 점도 아쉽습니다. 게다가 선형대수, 즉 벡터 및 행렬 계산에 대한 설명은 조금 부족하지 않나 하는 생각도 들었습니다.


책의 마지막은 신경망 날코딩 구현으로 끝나는데 이 부분에서 다른 책과 차별점이 별로 없어진다는 생각이 들었습니다. 오히려 머신러닝, 딥러닝 공부에 필요한 '수학'을 공부하고자 하시는 분이라면 동일 출판사의 '김도형의 데이터 사이언스 스쿨'이나 길벗의 '프로그래밍을 위한 ~' 시리즈를 추천드립니다. 그리고 날코딩으로 신경망을 구현하고자 하는 분들에겐 역시 '밑바닥부터 시작하는 딥러닝'만한 책이 없을 것이고요. 전체적으로 책이 중간 이상으로 넘어가면서 첫 부분의 컨셉을 지키지 못다는 점이 아쉬웠습니다.


아쉬운 점은 아닙니다만 표지도 호불호가 갈리는 이유 중 하나가 될 것 같습니다. 비슷한 느낌으로 성안당에서 나오는 '만화로 배우는 ~' 시리즈가 있는데요. 좋은 책임에도 표지 때문에 꺼려하시는 분들이 있는 것으로 알고 있습니다. 이 책도 비스무리한 느낌이 있는데요. 이런 이유 때문에 책 구매를 거부하시는 분들도 몇 있지 않을까 생각합니다. :)


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
처음 배우는 셸 스크립트 - 시스템 구축부터 보안, 모니터링, 클라우드 운영까지
장현정 지음 / 한빛미디어 / 2021년 2월
평점 :
장바구니담기



[본 리뷰는 한빛미디어 '나는 리뷰어다 2021'을 통해 서적을 제공받아 작성하였습니다]


어디선가 "주니어가 알면 좋은 개발 스택(?)" 2위로 쉘을 다루는 법이 투표된 것을 본 적이 있습니다. (참고로 1위는 '깃'과 같은 버전관리에 대한 지식이었습니다.) 저를 포함하여 프로그래밍을 처음 접하는 사람들에게 검은 화면에 흰 글씨뿐인 CLI 환경은 두려움의 대상일 수 밖에 없습니다. 괜히 뭔가를 입력했다가 컴퓨터가 망가지지 않을까하는 걱정이 들기도 하고요. 특히 서버를 다뤄야 하는 사람이라면 언젠가 만나야 할 대상이기도 합니다.


'처음 배우는 셸 스크립트'는 이런 고민을 갖고 계신 분들에게 좋은 길잡이가 될 수 있는 책이라고 생각합니다. 본 책의 초반부에서는 셸의 개념과 기초 문법, 가장 많이 사용되는 리눅스 명령어를 짚어주고 있습니다. 눈에 띄는 것은 3부의 구성인데요. 셸 스크립트를 활용해서 시스템 구축, 보안, 클라우드 시스템 운영 등 다양한 실습을 할 수 있도록 구성하였습니다. 해당 실습코드와 결과도 놓치지 않고 나와있어 실습 중에 어느 부분을 잘못하였는지 쉽게 알 수 있어 따라가는 데 어려움이 없었습니다.


장래 서버쪽을 다루는 직군에 지원하고자하는 취준생 및 해당 직군에 재직중인 주니어라면 셸의 세계로 입문하는 데 친절한 가이드가 될 수 있을 것입니다.


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo
 
 
 
진지한 파이썬 - 파이썬 작동 원리에서 확장, 테스트, 배포, 최적화까지
쥘리앵 당주 지음, 김영하 옮김 / 한빛미디어 / 2021년 1월
평점 :
장바구니담기



[본 리뷰는 한빛미디어 나는 리뷰어다 2021을 통해 서적을 제공받아 작성하였습니다]


수년 전부터 머신러닝과 딥러닝이 발전하면서 파이썬의 사용자는 빠르게 늘어났습니다. 이러한 수요에 발 맞추어 많은 책이 발간되었습니다. 이제는 서점에 가도 파이썬 관련 서적이 서가 세로 한 줄을 가득 채우고도 남는 정도가 되었습니다. 하지만 대부분이 새로 시작하는 사용자에 초점을 맞춘 책이 많다보니 중급자를 위한 선택지는 그리 많지 않았습니다.


물론 이전부터 Effective Python 2nd. (길벗, 2020), Fluent Python(한빛미디어, 2016) 등 좋은 중-고급 서적이 있었습니다. 하지만 하나의 책이 모든 내용을 다룰 수는 없었지요. 최근에는 중-고급 사용자를 위한 좋은 책이 꽤 발간되고 있는데요. 진지한 파이썬 역시 기본 서적을 다 마치고 다음 단계로 나아가고자 하는 사람들에게 좋은 선택지가 될 것으로 생각합니다.


가장 좋은 점은 다방면에서 파이써닉(Pythonic)함을 배울 수 있다는 것입니다.

파이썬의 언어 철학은 독특합니다. 이런 철학은 피터스의 The Zen of Python에도 잘 드러나 있습니다. 그래서 파이썬 사용자들은 "어떻게 하면 더 파이써닉한 코드를 작성할 수 있을지", "두 코드 중에 어떤 방법이 더 파이써닉 한지"를 두고 많은 고민을 합니다. 이 책은 같은 고민을 가진 개발자를 위한 좋은 가이드가 될 수 있을 것입니다.


본 책에서는 단순 코드를 깔끔하게 작성하여 기능을 구현하는 것뿐만 아니라 프로젝트 문서를 작성하고, 자동화하는 방법을 배울 수 있습니다. 유닛 테스트를 만들고, 테스트를 자동화 할 수 있는 방법도 배울 수 있고요.


챕터 말미에 있는 파이썬 구루들의 인터뷰도 인상깊습니다. 같은 기능을 구현하는 여러 방법이 있지만, 파이썬 개발자라면 그 중에서도 더 파이써닉한 방법을 쓰고 싶기 마련이지요. 인터뷰에서는 그런 고민에 대해 파이썬의 구루들이 경험과 조언을 나누어줍니다. 이는 미래에 겪을 상황에 대해 좋은 대비책이자 매뉴얼이 될 것입니다.


책이 두껍지는 않습니다만 다루는 내용이 적지 않고 깊이 또한 깊기 때문에 빠르게 이해하기는 어렵습니다. 저도 다 이해하지 못했고요. 하지만 천천히 한 걸음씩 밟아간다면 마지막 장을 덮었을 때 좀 더 파이써닉한 개발자가 되어있을 것입니다. 좋은 내용을 책으로 내어주신 저자분과 깔끔한 번역을 해주신 역자분께 감사의 말씀을 전합니다.



댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo