내 마음대로 선정한 머신러닝/딥러닝 학습 추천 서적

내 마음대로 선정한 머신러닝/딥러닝 학습 추천 서적
Photo by Compare Fibre / Unsplash

내 마음대로 선정한 머신러닝/딥러닝 학습 추천 서적

추천시스템 개발로 연명했던 어느 개발자의 학습 기록 입니다. 누군가는 하면 된다고 하지만 막상 해보면 되는게 없던 그 시절을 떠올리면 글을 작성하였습니다. 이 글을 통해서 5 페이지 논문을 이해 못해서 1400 페이지 책을 사야했던 암울했던 선택을 여러분은 되풀이 하지 않기를 기원합니다.

2023년을 맞이해서 짧은 기록을 작성하고자 합니다. 약 5년간 나를 먹여주고 살려주었던 추천시스템을 위해서 읽었던 책 뿐만 아니라, 스프링 (스프링 부트 아님...) 으로 API만 만들었던 시절에 궁금증을 참지 못하고 읽었던 책까지 모두 정리하였습니다. 독서 기록을 정리한 엑셀 파일에 정리된 책을 추스리면 약 100권 정도 되는 것 같습니다. 어떤 책은 대학원 수업 시간에 사용했던 것도 있고, 어떤 책은 부산에서 진행하던 스터디를 위해서 읽었고, 어떤 책은 회사에서 추천시스템을 위해서 읽었던 책도 있습니다.

추천시스템 개발에 가장 도움이 되었던 것은 넷플릭스 연구소에서 제공하던 각 종 기사들입니다. 내가 해야 하는 업무 혹은 서비스를 만들기 위해서 어떤 방향으로 접근해야 하는지 대략적으로 감을 잡는데 도움이 되었습니다. 하지만 넷플릭스를 필두로 트위터, 페이스북, 그리고 인스타그램 등 소위 말하는 빅테크 기업에서 제시하는 각 종 기사나 논문을 이해하기 위해선 별도의 지식이 필요했고 해당 지식을 습득하기 위한 과정으로 국내에 출간된 책을 사서 재빠르게 읽기 시작했습니다. 그리고 읽으면서 느껴던 감정과 몇 가지 정보를 기록해두었습니다. 가장 마지막에 엑셀에 남겨진 100권의 책에 관한 개인적은 감상도 남겨두었습니다.

그래봤자 바둑, 그래도 바둑 - 조치훈(趙治勳)

누군가에겐 도움이 되었으면 좋겠습니다. 직장인 개발자도 누군가의 아들이자 딸이며, 어떤 이의 부모님이고 소중한 사람의 연인입니다. 모든 시간을 회사의 서비스를 위해서 할애 할 수 없으며, 모든 노력을 자신의 기술 향상을 위해서 쏟아부을 수 없습니다. 누군가는 직장인으로써 회사의 서비스를 고민하는 것은 당연하다고 할 것이며, 개발자로써 자신이 만든 기술을 적용하는 과정에서 발생하는 어려움을 극복하는 것도 당연하다 할 것 입니다. 하지만 우리는 시간과 노력을 절약해야 합니다. 우리가 삶을 유지하고, 소중한 것을 지켜내기 위해선 회사와 기술이 아니라 시간이 필요하기 때문입니다. 이 글이 현업에서 머신러닝/딥러닝 때문에 고뇌에 빠져있을 평범한 직장인 개발자의 시간을 절약할 수 있기를 기원하고 바랍니다.

목적별

데이터 사이언스

이 문서는 Python 관련 교재를 다루지 않습니다. Python 관련하여 최소한 공식 문서에 제공하는 튜토리얼 정도는 이해하고 연습하셨다고 가정합니다. Pythonic한 코드를 작성하실 수준으로 Python을 계속 공부하시면, Python만 공부하시다 지치게 됩니다. 자신의 Python 문법에 대한 이해도에 대해서 의구심이 생기시면 튜토리얼을 목표로 학습하세요.

Pandas 학습 후에 연습을 통해서 도구에 적응하셨길 바랍니다. CSV/Excel 파일에서 막히면 이후의 분석에 필요한 기술적 난이도가 너무 높아집니다. 연습하실 때 책이 불편하시면 P.S에 남겨둔 박조은님 강의를 참고 하시는 것도 좋은 방법입니다. 연습은 강사의 도움을 받아서 재미있고 빠르게 진행하시는게 좋은데, 박조은님은 충분히 재미있고 잘 가르쳐주십니다(강추!). 하지만 언제나 저와 같이 책을 선호하시는 분들을 위해서 몇 권의 책을 추려두었습니다.

  • 2021.11, 데이터 과학자 되는 법

    • 일단 데이터 과학자 및 분석가 되려고 하시는려는 분들 중 대부분은 자신이 맡은 업무가 정확하게 어떤 것인지 모르는 경우가 많습니다. 도서관에 가셔서 이 책을 빌려서 보시던가, 아니면 구매하셔서 빠르게 읽어보시기 바랍니다.
    • 이 책을 통해서 하고자 하시는 일이 맞는지 확인하세요. 정확하게 판단하기 어려우면 여러분이 원하는 회사 HR이나 구인 담당자에게 메일을 보내서 정확히 어떤일을 하는지 혹은 어떤 인재를 원하는지 물어보세요.
    • 하고자 하시는 일이 맞나요? 그럼 아래 책으로 가세요.
  • 2022.09, 판다스(Pandas) 인 액션

    • 데이터 과학 및 분석을 위해서 많이 활용하고, 의존하는 라이브러리(혹은 패키지?)는 Pandas 입니다. 따라서 Pandas는 손에 착착 감기도록 꾸준히 연습하고, 학습하시길 권해드립니다.
    • 이 책에 나온 정도면 충분합니다. 그러니 구글에 이상한 것 검색하지 마시고 이 책을 목표로 삼으세요. 책 목차를 읽고 어떤 내용인지 떠오르고 대충의 명령어가 떠오르면 충분합니다. 어짜피 모르면 검색하면 됩니다. 문제는 뭘 검색해야 할 지 모를 때 입니다. 그러니 열심히 하지 마시고, 그냥 꾸준히 하세요.
    • 그리고 이 책을 읽으시면서 아래 있는 엑셀 관련 서적도 같이 읽으세요.
  • 2019.04, 엑셀만 알아도 할 수 있는 데이터과학

    • Pandas와 함께 같이 학습하시기 바랍니다. 일터에 나가신 어머님은 짜장면이 싫타고 하셨지만, 여러분은 엑셀을 좋아해야 됩니다. 왜냐하면 여러분을 제외하고 거의 대부분의 조직이 데이터를 엑셀로 다루고 있기 때문입니다.
    • 엑셀도 적당히 다룰 수 있도록 준비해두세요. 누구도 섬이 아니라고 하는데(No man is an island), 여러분은 섬이 될 생각으로 공부하시면 안됩니다.
    • Excel과 Pandas를 모두 준비하셨다면 이제 연습을 해보죠.
  • 데이터 분석 연습을 위한 선택(한권만 선택하세요. 2권 해봐야 별 효용이 없습니다.)

    • 2019.05, 파이썬 라이브러리를 활용한 데이터 분석 2판
      • 이 책에 있는 '14. 데이터 분석 예제'를 활용하여 배운 내용을 기반으로 책에서 제시하는 방법대로 데이터를 분석하는 과정을 연습하는 것도 좋은 방법입니다. 책에 있는 내용을 참고해서 스스로 연습하시면 됩니다. 참고로 해당 책의 경우 2019년에 출판된 것으로 현재(2023년) 시점에 구매하기엔 조금 아쉬움이 있으니 도서관을 이용하길 권합니다.
    • 2020.11, 직장인을 위한 데이터 분석 실무 with 파이썬
      • 크롤링 부분을 우여곡절을 겪어서 잘 넘길 수 있다면 분석 관련 교재 중에서 가장 좋은 책이라 할 수 있지만, 반대로 크롤링을 못 넘기면(에러, 예외, 설정 등) 실습이 어려울 수 있습니다.하지만, 저자분들이 엑셀 파일도 같이 제공하고 있기 때문에 데이터 분석 연습을 목적으로 한다면 큰 문제가 없을 듯 합니다.
      • 출간되지 2년이 지나서 구매가 망설여지시면 도서관에서 빌려보세요. 그렇다고 책 없이 파일만 보셔도 별로 이득이 없으니 책은 반드시 읽으시면서 실습을 복기하는 형태로 진행하세요.
    • 2022.05, Do it! 쉽게 배우는 파이썬 데이터 분석
      • 인터랙티브 그래프, 마크다운을 활용한 보고서 및 지도 시각화 등 다양한 측면에서 학습할 수 있어서 추천합니다. 하지만 연습 수준이 매우 평이하기 때문에 다른 교재를 참고해서 참고할 필요가 있습니다.
    • P.S, 파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
      • 책은 아니지만, Pandas를 배워서 시각화 등을 연습하는 과정을 책을 통해서 진행하시기 어려우시면 박조은님의 강의를 인프런에서 수강하시는 것도 좋은 방법입니다.
      • 함께 일했던 신입 분석가들이 술자리에서 말하길(진심이겠죠?) '회사에서 제공했던 가장 좋은 복지가 박조은님의 단 두 장의 문서로 데이터 분석과 시각화 뽀개기공공데이터로 파이썬 데이터 분석 시작하기였다'라는 워딩이 잊혀지지 않습니다.
      • 시각화 관련 코드가 많고, 될 수 있으면 최신 영상을 참고하시는게 좋을 듯 하여 해당 강의를 선택했습니다. 해당 강의는 저도 못봐서 직접 구매해서 내용을 확인했는데 이전 강의보다 좋을 듯 합니다. 금융분석을 몰라도 문제 없을 듯 합니다.

머신러닝/딥러닝

데이터 분석을 충분히 연습하셨으며 이제 머신러닝/딥러닝을 학습할 차례입니다. 머신러닝/딥러닝을 학습하시는 분들의 경우 Pandas를 활용 못 하셔서 머신러닝/딥러닝을 시도해 보기 전에 포기하는 경우가 비일비재(非一非再)합니다. 그러니 앞선 데이터 분석 관련 학습을 충실히 하셨다고 가정합니다.

  • 데이터 과학 및 분석가를 위한 머신러닝/딥러닝 추천

    • 2021.08, 혼자 공부하는 머신러닝 + 딥러닝
      • 머신러닝/딥러닝을 처음 접하실 때 해당 주제를 빠르게 이해하는게 중요합니다.이 책은 분량이 많지 않고, 꼭 필요한 주제는 모두 다루고 있기 때문에 추천합니다. 최대한 빠르게 읽고, 핵심 주제를 파악하는게 중요합니다.
      • 저자분의 영상 강의도 있으니, 출퇴근 시간에 활용하시고 책으로 복습하시는 것도 시간을 절약하는 좋은 방법입니다.
    • 2022.04, XGBoost와 사이킷런을 활용한 그레이디언트 부스팅
      • 앞선 교재를 활용하시면 Baseline(기준모델) 코드 정도는 작성 하실 수 있을 것으로 예상됩니다. 대부분의 대회에서 Baseline 코드를 제공하는 경우가 많습니다. 작성하셨거나 제공된 Baseline 코드를 어렵지 않게 이해할 수 있다면 이제는 성능을 향상시키는 방법을 학습할 차례입니다.
      • 정형 데이터 기반의 분석에서 널리 사용되고 있는 앙상블 기법 중 하나인 XGBoost를 소개하는 책입니다. 빠르게 Baseline 코드를 작성하고, XGBoost를 활용하는 것을 목표로 학습을 진행하시면 됩니다.
    • 2021.05, 데이터가 뛰어노는 AI 놀이터, 캐글
      • 이 책은 Kaggle에서 자주 사용되는 분석 기법을 소개하는 책으로 '3장. 특징생성', '4장. 모델 구축', '5장. 모델평가', '6장. 모델튜닝'이 핵심적인 내용입니다.
      • Dacon, Kaggle 및 기타 경진대회에 참여하실 때 참고하시면 됩니다.
    • 앞선 3권을 모두 읽으셨거나 읽고 계시면 팀을 만드셔서, 경진대회에 참여하도록 하세요. 이제 책에서 배울 수 있는 내용은 없다고 보셔야 됩니다. 문제를 해결하면서 학습하세요. 좋은 성과 있으시면 저한테 메일보내주세요(어디가서 자랑 좀 하도록 하겠습니다. :D)
  • 데이터 엔지니어링 및 개발자 직군을 위한 머신러닝/딥러닝

    • 2020.05, 핸즈온 머신러닝 2판
      • 일반적인 머신러닝/딥러닝 교재에 비해서 난이도가 있습니다. 수식 전개도 많고, 결과 해석을 위한 시각화 연습도 제법하게 됩니다. 우리가 이 책을 읽는 이유는 당연하게도 데이터 엔지니어링 및 개발자 직군의 경우 scikit-learn을 사용하는 것보다 서비스를 구축하는 과정에서 모델 배포 및 유지보수가 핵심적이기 때문입니다. 알고리즘에 대한 이해도가 낮으면 서비스에 필요한 기술을 가다듬을 수 없고, 데이터 분석팀에서 요구하는 사항을 정확하기 이해할 수 없습니다.
      • 좋은 동료가 되기 위해선 상대방과 비슷한 수준이 되어야 합니다. 여러분도 그런 수준이 되어야 하고, 동시에 그런 수준을 요구하기 위해선 이 책에 나온 내용 정도는 이해할 수 있어야 합니다. 책을 학습하는데 꽤 긴 시간이 필요하겠지만, 포기하지 말고 천천히 앞으로 나아가실 수 있기를 기원합니다.
      • 만약 응용 애플리케이션에 관심이 더 많으시면 아래 응용 및 활용을 참고하세요. 머신러닝/딥러닝 관련해서 좀 더 깊은 수준의 기술적인 성취를 원하시면 아래 책을 참고하세요.
    • 2018.01, 밑바닥부터 시작하는 딥러닝
      • 딥러닝 관련 알고리즘을 여러분이 코드를 작성하여 프레임워크를 구성하는 과정을 과정을 설명하는 책입니다. 책 제목과 달리 3권으로 구성되어 있기 때문에 분량이 제법됩니다. 난이도도 제법 됩니다. 대부분이 1권의 5장 어느 부분에서 포기하는데, 모르면 코드만 작성하고 지나가셔도 됩니다. 결론적으로 3권을 어떤 형태로든 다 훑어보시는걸 목표로 하세요.
      • 이 책의 최종 목표는 3권입니다. 3권까지 차근 차근 진행하시면 어설픈 PyTorch같은 프레임워크를 하나 만드실 수 있습니다. 아마 여기까지 오시면 여러분 나름의 프레임워크를 구성하실 수 있을 껍니다. 시간이 되시면 Rust나 Go 등을 활용해서 별도의 프레임워크도 만드실 수 있을겁니다. 혹시 만들게 되시면 github 주소 보내주세요. 이슈가 있다면 꼭 PR에 동참하도록 하겠습니다. :D
  • 연구자를 위한 머신러닝/딥러닝

    • 2020.02, 단단한 머신러닝
      • 국내에 출간된 교재 중에서 한국어로 번역된 책 중에서 초기 연구자들이 접근하기 가장 좋은 책이라 할 수 있습니다. 대부분의 연구자들은 영문으로 된 원서를 볼 수 밖에 없고, 저도 Probabilistic Machine Learning: An Introduction를 여전히 보고 있는 입장입니다. 그래도 초기 연구자들의 경우 원서를 곧바로 보는게 쉽지 않기 때문에 이 책을 통해서 빠르게 이전 연구자들의 성과를 정리하시는게 훨씬 효과적이라 생각합니다.
    • 2021.08, 인공지능 - 현대적 접근방식 4판
      • 석사 연구자들의 경우 이 책은 Vol.2에서 보시면 좋을 것 같습니다. 박사 이상의 연구자들은 Vol.1과 Vol.2를 세미나를 통해서 빠르게 이해하시는게 좋습니다. 옛날에 나온 이론이 무슨 도움이 되나 싶지만, 다른 연구자들의 아이디어를 보면 꽤나 오래된 문제를 새롭게 해석하는 경향이 제법이 있으니 시간이 되시면 이 책을 읽어보시는 것도 좋은 방법입니다. 하지만 너무 심각하게 보실 필요는 없습니다.
    • 나머지는 arXiv를 참고하세요.
  • 응용 및 활용

    • 2022.11, 온디바이스 AI
      • iOS 및 Android 개발자는 이 책을 참고하세요. iOS 개발자의 경우 CoreML이 생각보다 쉽지 않지만, 어째든 코드는 돌아갑니다. 너무 걱정하지 마세요.
    • 2021.01, 카카오 아레나 데이터 경진대회 1등 노하우
      • 2020.10, 파이썬과 대스크를 활용한 고성능 데이터 분석을 참고해서 분석 파이프라인을 구성하는 과정을 연습해보세요. 될 수 있으면, 데이터 과학자 및 분석가를 지망하는 분들과 팀을 이뤄서 진행하세요. 분석 과정은 위임하고, 분석 과정에 필요한 기술을 정교하게 설계하고 구성하고 자동화 하도록 노력해보세요.
      • 데이터 엔지니어와 데이터 과학자를 혼동하지 않도록 주의하세요. 자신이 해야 하는 일에 집중하셔서 진행해보세요. 이 책에 소개된 예제를 실행하는게 생각보다 쉽지 않습니다. 행운을 빕니다.
    • 2020.08, 초소형 머신러닝 TinyML
      • NVdia에서 제공하는 'Jetson', 'raspberry pi' 등을 활용해서 하드웨어에서 작동하는 토이 프로젝트를 진행하세요. 작동하는 하드웨어어 머신러닝/딥러닝 모델을 탑재하는 것을 목표로 하세요.
    • 2022.03, 머신러닝 실무 프로젝트 2판
      • A/B 테스트를 활용하는 방법을 소개하는 책 입니다. 생각보다 예제가 작아서 아쉽긴 합니다.
      • 그래도 마켓팅 관련해서 A/B 테스트 기반의 예제를 제공하는 책이 별로 없습니다. 현재 선택할 수 있는 몇 안되는 책입니다. 이 책을 참고해서 A/B 테스트 기반의 분류나 예측 모델로 개선하시는 걸 목표로 하시면 좋을 듯 싶네요. 책의 예제에 비해서 목표가 많이 거대할 수 있으니 될 수 있으면 팀을 구성해서 진행하세요.

자연어 처리

자연어 처리의 경우 한국어 특성을 고려해서 별도의 분야로 분류하였습니다. 한국의 많은 NLP 연구자들은 자신의 연구를 진행하는 과정에서 많은 어려움을 겪게 됩니다. 이러한 어려움이 초급자만 비켜가는 것이 아닙니다. 당연히 초급자도 많은 어려움이 있습니다. 그리고 그 어려움은 어떻게 해결하지 못하는 문제가 되어서 NLP를 포기하게 만드는 원인이 되기도 합니다. 따라서 교재 선택에 있어서 내용의 완결성이나 최신 이론 보다는 실습을 원활하게 진행할 수 있는 것을 최우선적으로 고려하였습니다.

출판년도별 리뷰

집에 있는 엑셀 파일을 뒤져서, 제가 읽은 책 목록 중에서 데이터분석/머신러닝/딥러닝에 대한 감상 및 소회 또는 소개를 적어둔 내용을 요약해서 기록합니다. 혹시 책 구매하실 때 도움이 되셨으면 좋겠습니다. 꼭 필요한 책은 위에 정리해 두었습니다. 아래 책은 그냥 참고만 하시면 좋겠네요.

현재는 2022.11, 트랜스포머를 활용한 자연어 처리를 읽고 있는 중입니다. 강화학습으로 몇 권 더 읽고 있는데 다 읽으면 해당 글을 업데이트 하도록 하겠습니다.

~2014

2015

2016

  • 2016.03, 헬로 데이터 과학
    • 추천 시스템을 만들던 당시에 스터디를 했던 책
    • 설명이 간단하고, 예제가 많아서 업무에 활용하기 굉장히 좋았음

2017

2018

  • 2018.01, 밑바닥부터 시작하는 딥러닝

    • 머신러닝/딥러닝 라이브러리를 직접 작성하면서 개념을 학습하는 과정을 3권에 걸쳐서 소개함
    • 3권으로 구성되어 있어서 부담이 될 수 있지만, 만약 어떤 방법으로든 해당 책을 읽고 학습할 수 있다면 이 책 이상으로 좋은 책은 찾기 쉽지 않음
  • 2018.01, 코딩셰프의 3분 딥러닝, 케라스맛

    • Keras 사용법을 간략하게 소개하는 책으로 Keras의 개념을 쉽게 설명
  • 2018.01, 파이썬으로 배우는 데이터 과학 2nd

    • 데이터 분석에 필요한 라이브러리를 간단한 예제를 활용해서 간단하게 설명하는 책
  • 2018.02, 머신 러닝과 통계

    • Python과 R을 사용해서 머신러닝을 소개하는 책으로 R 코드의 경우 별다른 설명이 없어서 아쉬움 점이 있음
    • R과 Python 코드를 모두 제공한다는 점은 장점임
  • 2018.03, Kaggle 우승작으로 배우는 머신러닝 탐구생활

    • Kaggle 경진대회에 제공되는 데이터를 활용한 분석 및 머신러닝 적용을 통해서 머신러닝을 활용하는 방법을 소개하는 교재로 연습에 적합함
  • 2018.05, 러닝 텐서플로

    • Tensorflow(1.x) 버전을 학습하기 적합했던 책으로 텐서보드 관련된 내용을 많이 참고하였음
  • 2018.06, R로 배우는 딥러닝

    • R을 사용해서 딥러닝 알고리즘을 연습해볼 수 있으며, R 사용자라면 해당 교재로 딥러닝에 대한 개념은 가볍게 학습할 수 있음
  • 2018.09, 인공지능

    • 인공지능에 관한 개론서로 다양한 분야의 광범위한 내용을 다루고 있음
    • 연구자에게 적합하며, 개발 및 실무자에게 적합하지 않음
  • 2018.09, 패턴 인식과 머신 러닝

    • 흔히 PRML로 불리는 책으로, 머신러닝 관련 교재 중에서 수학적인 배경을 기반으로 머신러닝을 설명
  • 2018.10, Do it! 데이터 분석을 위한 판다스 입문

    • Pandas를 실습 기반으로 소개하는 책으로 현재(2023년)는 버전에 약간의 호환성 문제가 있을 수 있지만 실습 과정 및 내용은 추천함
  • 2018.10, 심층 학습

    • 통계적 관점에서 딥러닝을 설명하고 있는 책으로 연구자에게 적합
  • 2018.11, PyTorch를 활용한 머신러닝, 딥러닝 철저 입문

    • PyTorch의 기본적인 내용 및 활용방법을 간단하게 소개한는 책으로 자신의 PyTorch 버전을 확인할 것
  • 2018.11, 빅데이터를 지탱하는 기술

    • 빅 데이터 시스템을 구성하는 요소를 소개하는 책으로 분석팀이 있거나 개발팀이 분석을 함께 진행해야 할 경우 해당 책은 데이터 분석 시스템을 구성하는데 많은 도움이 됨
    • AWS/Azure를 사용한다면 이 책에 있는 구성 요소와 AWS/Azure 서비스를 비교하는데 도움을 주었음
  • 2018.11, 텐서플로로 배우는 딥러닝

    • Tensorflow(1.x)를 사용한 딥러닝 학습 교재
    • 9장 이후의 예제는 토이 프로젝트에 사용하기 좋기 때문에, 책의 목차를 참고해서 필요한 예제가 있다면 도서관에서 빌려보면 좋을 듯

2019

2020

  • 2020.11, 직장인을 위한 데이터 분석 실무 with 파이썬

    • 실무 예제가 많아서 데이터 분석에 필요한 기술을 학습한 이후의 학습자에게 적합
    • 통계청 데이터 포맷이 변경될 수 있으니 초기 데이터 변환에 신경써야 함
  • 2020.02, 단단한 머신러닝

    • 국내 출간된 머신러닝 교재 중에서 머신러닝을 구성하는 핵심적인 이론을 소개하는 것으로 기존의 교재와 약간의 차이를 보여주는 책으로 영미권에서 발간된 이론서에 비해서 설명이 쉽게 되어있음
    • 이론서답게 연구자에게 적합하며 선형대수미 및 해석학에 대한 이해도가 없다면 난이도가 급상승할 수 있으니 주의할 것
  • 2020,03, 단단한 강화학습

    • 강화학습 연구자라면 누구나 읽는다는 리처드 서튼 과 앤드류 바르토의 'Reinforcement Learning: An Introduction'의 번역서
    • 강화학습 연구자라면 이 책을 읽어보자. 단점이라면 코드를 제공하지 않으니 연습용 코드를
  • 2020.03, 파이썬으로 배우는 딥러닝 교과서

    • 딥러닝에 사용되는 Python 라이브러리에 관한 설명 뿐만 아니라 기초적인 딥러닝 개념을 함께 소개하는 책으로 CNN을 활용하는 부분까지 설명되어 있어서 이미지 및 특성 분류를 희망하는 초급 개발자가 빠르게 훑어보기에 좋은 책
  • 2020.04, 파이썬과 케라스를 이용한 딥러닝, 강화학습 주식투자

    • 퀀트 투자에 관심이 많은 친구들과 스터디를 하면서 참고했던 책으로 5장~7장까지의 고비를 잘 넘기면 나름 의미있는 토이 프로젝트를 진행할 수 있음
  • 2020.05, 핸즈온 머신러닝 2판

    • 머신러닝을 공부해야 한다면 이 책을 사자.
  • 2020.06, 사물인터넷을 위한 인공지능

    • 사물인터넷(IoT)를 사용해서 데이터를 분석 및 분류하는 것을 목적으로 작성된 책으로 이 책에 관심이 있다면 9장~12장을 읽어보고 자신의 의도와 맞는 확인하자.
  • 2020.07, 핸즈온 비지도 학습

    • 비지도 학습에 관심이 있다면 사실 이 책 이외에는 대안이 없음
  • 2020.08, 처음 시작하는 딥러닝

    • Numpy를 사용해서 딥러닝 알고리즘을 구현하는 코드가 많아서 중급 이상의 개발자에게 추천
  • 2020.08, 초소형 머신러닝 TinyML

    • TFLite를 활용해서 소형 마이크로보드를 기반으로 실습을 진행하는 과정을 설명하는 책으로 실습을 위해선 별도의 마이크로보드를 구매해야 한다는 단점이 있지만, 소형 마이크로보드를 활용해야 한다면 이 책을 꼭 참고할 것
    • ONNX(Open Neural Network eXchange) 믿고 프로젝트 진행하다가 어질어질해질 수 있으니 Caffe2나 MXNet을 잘 활용하는 개발자가 없다면 TFLite를 잘 활용하도록 하자.
  • 2020.09, GAN 인 액션

    • 다양한 GAN 모델을 소개하는 책으로 실습하는데 제법 시간이 걸리지만 코드가 잘 작동하기 때문에 흥미로운 실습과정을 제공함
  • 2020.09, 백견불여일타 머신러닝 데이터 전처리 입문

    • 데이터 전처리 중 '5장. 이미지 데이터 전처리'와 '6장. 시계열 데이터의 처리' 부분은 관련 데이터를 처리해야 된다면 참고하면 좋음
  • 2020.10, 게임 정보학(게임을 개척하는 인공지능)

    • 게임에 활용되는 에이전트에 관한 개념과 알고리즘을 소개하는 책으로 '2부. 게임 정보학 알고리즘' 부분은 게임이 아니더라도 일반 개발자들도 참고하면 좋은 내용임
    • 조각 코드를 제공하기 때문에 실험 코드 작성이 힘들면 내용 이해가 쉽지 않음
  • 2020.10, 파이썬과 대스크를 활용한 고성능 데이터 분석

    • 데이터 과학자가 넘긴 코드를 실무에 그대로(왜?) 활용해야 한다면, 이 책을 참고하도록 하자.
    • 정확하게 말하면 Pandas의 'chunksize'도 해결 안되거나, CSV 파일에서 필터링을 하는데 30초 이상 걸려서 실제 배포에 문제가 발생한다면 개발팀에게 이 책을 함께 선물하자.
  • 2020.11, 심층 강화학습 인 액션

    • PyTorch를 사용해서 심층 강화학습의 기본적인 내용을 소개하는 책
    • 강화학습에 대한 이해도가 없으면 난이도가 높을 수 있음
  • 2020.11, 처음 배우는 딥러닝 챗봇

    • 챗봇을 만드는 토이 프로젝트를 진행한다면 가볍게 읽어보기 좋은 책으로 지금(2023년)이라면 AWS Lex를 이용하려고 했을지도 모르지만, 기본적인 챗봇을 만드는 과정을 연습할 수 있는 좋은 기회였음
    • 카카오채봇 만들다 좌절해서(2021년) 텔레그램으로 바꿔서 진행하였음
  • 2020.12, 안전한 인공지능 시스템을 위한 심층 신경망 강화

    • (주) 대한민국 정부에서 우리가 만든 서비스의 해킹에 관한 이야기가 갑자기 나와서(?) 이사님이 관련해서 좀 알아봐달라고 해서 구매해서 읽었던 책
    • 실무자의 경우 읽어두면 서비스 및 시스템 개선에 도움을 받을 수 있지만, 모델 해킹에 대해서 너무 깊게 생각할 필요는 없지만 미리 시간이 된다면 대비해두는 것도 좋음

2021

  • 2021.01, 데이콘 경진대회 1등 솔루션

    • 데이콘 경진대회 분석 책으로 데이터 분석을 연습하는 분들에게 적합
    • 해당 문제에 대한 도메인 지식이 없다면 난이도가 급상승 하니, 자신이 적당히 알고 있는 문제를 선택 할 것
  • 2021.01, 카카오 아레나 데이터 경진대회 1등 노하우

    • 카카오 아레나 데이터 경진대회의 답안을 분석해서 제시하는 책으로 실습에 필요한 데이터가 생각보다 크기 때문에 개인적인 실험환경을 구성할 수 있다면 데이터 분석에 많은 도움이될 것임
    • 참고로 데이터 사이즈가 200기가 넘어가니 실습 환경 구축시 참고 할 것
  • 2021.01, 파이썬 증권 데이터 분석

    • 증권 데이터를 활용해서 퀀트 분석을 소개하는 책으로 Python 및 데이터베이스를 다룰 수 있다면 토이 프로젝트로 시작하기에 적합
  • 2021.03, GAN 첫걸음

    • PyTorch를 사용해서 간단한 생성 모델을 설명하는 책으로 GAN 초급자라면 이 책으로 시작하면 좋을 듯
  • 2021.03, 머신 러닝 교과서 with 파이썬, 사이킷런, 텐서플로 개정3판

    • GAN과 강화학습이 포함된 머신러닝/딥러닝 관련 서적으로 초급자 중에서 Python을 잘 다루고, 기존에 머신러닝에 관한 내용을 보충/보강하고 싶다면 이 책을 추천함
    • 처음 시작하는 초급자에겐 어렵고, 중급자에게 조금 부족함
  • 2021.04, 스파크를 활용한 실시간 처리

    • Apache Spark를 사용해서 실시간으로 데이터를 처리하는 방법을 소개하는 책
    • Spark 관련하여 실시간 처리가 필요하다면 이 책 이외에 대안이 없음
  • 2021.04, 실전 시계열 분석

    • 시계열 분석을 설명하는 책으로 실계열 데이터 분석에 관련된 책 중에서 가장 난이도가 낮고, 파이썬을 설명하는 것이 장점
    • 난이도가 낮다는 점에서 알 수 있듯이 세부적인 항목은 별도의 검색 및 학습이 요구됨
  • 2021.05, 린 AI

    • 마켓팅에 머신러닝/딥러닝을 활용하는 방법을 소개하는 책
    • 국내에 적용하기 쉽지 않지만, 대략적인 개념을 잡을 수 있음
  • 2021.05, 데이터가 뛰어노는 AI 놀이터, 캐글

    • 데이터 분석에 자주 활용되는 특징 생성, 평가 및 튜닝 부분이 잘 구성되어 있음
    • 데이터 분석에 필요한 개념을 소개하고 문제를 소개하기 때문에 Kaggle 문제는 개별적으로 해결해야 함
  • 2021.06, 강화학습 입문

    • 강화 학습을 처음 시작하는 초급자를 위한 책으로 이해가 쉽게 글과 이미지를 사용하고 있으며, 코드양도 적어서 좋지만 너무 작아서 빠르게 훑어보기 좋음
  • 2021.06, 으뜸 머신러닝

    • 머신러닝/딥러닝과 관련된 전반적인 내용을 학습할 수 있음
    • 대학교 1/2학년 이라면 이 책으로 학습해도 좋고, 집필하신 교수님이 유투브도 운영하고 있으니 학습 중에 발생하는 의문점을 빠르게 해결할 수 있다는 것도 큰 장점임
  • 2021.06, 파이토치로 배우는 자연어 처리

    • PyTorch를 사용해서 (고전?) NLP 모델을 학습하는 책으로 PyTorch로 NLP를 시작하는 초급자에게 추천함
  • 2021.07, 실무 예제로 배우는 데이터 공학

    • 배포용 데이터를 체계적으로 구축하는 과정에서 점검해야 할 항목들이 궁금하다면 이 책을 참고하자
      • 실무자의 경우 6장 ~ 9장 정도를 먼저 읽어보길 권함
    • Apache Airflow와 Kafka를 활용한 예제도 있으니 앞의 두 가지 기술에 관심이 있다면 참고할 것
  • 2021.08, fastai와 파이토치가 만나 꽃피운 딥러닝

    • PyTorch의 활용해서 쉽게 애플리케이션을 만들 수 있도록 추상화된 도구를 제공하는 fastai를 설명하는 책
    • PyTorch를 사용한다면, PyTorch Lightning 등과 같은 추상화된 도구들이 많으니 잘 알아보고 선택하자
  • 2021.08, STABLE BASELINES를 이용한 강화학습

    • GYM과 함께 가장 널리 사용되는 강화학습 구현체인 STABLE BASELINES을 사용해서 강화학습을 소개하는 책
    • 수업 교재로 활용하려 했으나 강화학습을 실습할 수 있는 방법이 없다는 결론 때문에 수업에 활용하지 못했음
  • 2021.08, 데이터 해석학 입문

    • 데이터 분석에 사용되는 지표나 해석 기법에 활용되는 용어등을 자세히 설명하는 책
    • 데이터 분석을 전문적으로 한다면 이 책에 있는 용어나 기법을 참고할 것
  • 2021.08, 만들면서 배우는 파이토치 딥러닝

    • PyTorch를 사용해서 간단한 토이 프로젝트를 진행할 수 있는 책
    • GAN 등을 활용한 예제 등 다양한 예제가 포함되어 있지만, NLP는 일본어로 진행되기 때문에 아쉬운 점이 있음
  • 2021.08, 스파크를 이용한 자연어 처리

    • Apache Spark를 사용해서 NLP를 처리하는 방식을 설명하는 책
    • 머신러닝/딥러닝을 진행하게 되면 대부분의 조직이 Spark를 사용하거나 AWS를 활용하는 경우가 많은데, 이 책을 활용해서 Spark를 접해보면 좋을 듯
    • 문제는 Spakr를 사용해서 NLP 문제를 해결하다 보니 NLP에 대한 이해도가 없으면 난이도가 급상승 하니 주의할 것
  • 2021.08, 인공지능 - 현대적 접근방식 4판

    • 2016.01, 인공지능 - 현대적 접근방식 3판에 이해서 2021년 4판이 출간되었는데, 이 책은 대학원의 교재로 자주 사용됨
    • 따라서 이 책은 연구자에게 적합한 책으로 실무자 및 개발자가 보기엔 분량이 많음
    • 호기심이 많은 실무자 및 개발자의 경우 Vol.2를 먼저 참고할 것
  • 2021.08, 텐서플로 라이트를 활용한 안드로이드 딥러닝

    • 머신러닝/딥러닝 모델을 모바일에 적용해야 한다면 이 책을 추천
    • 모델을 모바일에 적용하는 토이 프로젝트에 적합
  • 2021.08, 혼자 공부하는 머신러닝 + 딥러닝

    • 머신러닝/딥러닝 관련하여 간단한 데이터를 기반으로 빠르게 알고리즘의 특징을 학습할 수 있음
    • 실무에 적용하기 보다는 개념을 실습한다는 측면에서 접근해야 함
  • 2021.09, 머신러닝 파워드 애플리케이션

    • 개발 및 배포 파이프라인을 구축 과정을 소개하는 책
    • 머신러닝/딥러닝 실무 개발자/개발팀이라면 스터디를 통해서 빠르게 개발 및 배포 파이프라인 구축을 연습해볼 수 있음
  • 2021.09, 수학으로 풀어보는 강화학습 원리와 알고리즘(개정판)

    • 강화학습의 경우 문제를 수식(이나 점화식)으로 표현하지 못하면 쉽게 해결하기 쉽지 않기 때문에 약간의 수학적인 기술이 필요한데, 이 책은 그런 기술적인 수학에 대한 소개를 하는 책
    • 수학을 잘하건 못하건 상관없이 2장의 강화학습 개념을 먼저보고 정말 모르는게 있으면 1장을 참고하길 권함
  • 2021.09, 웹 브라우저 속 머신러닝 TensorFlow.js

    • Node.js를 사용해서 머신러닝/딥러닝 문제를 표현하고 싶을 때 참고하면 좋음
    • 웹에서 간단한 머신러닝/딥러닝 응용을 원하다면 이 책을 참고하자
  • 2021.10, 그로킹 심층 강화학습

    • 심층 강화학습을 다루고 있는 책으로 다양한 방식의 심층 강화학습을 다루고 있음
    • 이 책은 각 장의 말미에 '그래프'를 사용해서 결과를 해석하는 방법을 선택했기 때문에 자신이 사용하는 알고리즘의 성능을 해석하는데 서툰 개발자라면 이 책을 참고하길 권함
  • 2021.11, 데이터 과학자 되는 법

    • 머신러닝/딥러닝을 학습하기 전에 '꼭' 읽어봐야 할 책
    • 초급자가 아니라 머신러닝/딥러닝을 학습할 생각이 있다면 이 책을 통해서 자신이 어떤 일을 하게될 것인지 가늠해보길 권함
  • 2021.11, 머신러닝 디자인 패턴

    • 머신러닝 학습 및 배포에 사용되는 문제 해결 방식을 정리한 책
    • 추천시스템을 포함해서 머신러닝/딥러닝 실무를 진행하고 있다면 이 책을 읽어보길 권하며, 초급자에겐 난해한 책이니 주의하자.
      • p.437쪽에 있는 도표를 보고 대충 감이 잡히면 이 책을 읽어보자.
  • 2021.11, 파이썬 데이터 클리닝 쿡북

    • 데이터 전처리만 다루고 있는 책으로 Pandas 학습 이후에 보면 좋은 책
    • Cookbook 특성상 자신이 궁금한 부분만 참고해도 되고, Pandas 및 데이터 분석 연습을 원한다면 4장부터 학습할 것
  • 2021.12, Do it! BERT와 GPT로 배우는 자연어 처리

    • 자연어 처리(NLP) 관련해서 아무런 정보가 없다면 이 책으로 진행하길 권함
    • 거의 대부분의 알고리즘을 단계별로 설명하고 있기 때문에 초급자가 NLP를 이해하기 좋은 책
    • 실습을 Colab으로 진행하기 때문에 실습 환경의 변경으로 인해서 약간의 문제가 발생할 수 있으니 실습시 발생하는 문제는 검색을 통해서 해결할 수 있어야 함
  • 2021.12, 추천 시스템

    • 국내 출간된 추천 시스템 교재 중 거의 유일하게 알고리즘을 다루고 있음
    • 코드가 단 한줄도 없기 때문에 추천시스템을 작게나마 구현하지 못하면 무쓸모
    • 번역이 애매한데, 그래도 읽을 수 있지만 신경써서 읽어야 함
      • (원문)For example, the Web itself is a large and distributed repository of data, and a search engine such as Google can be considered a keyword-centric variation of the notion of recommendation
      • (내가 이해한 것)웹 자체는 거대하고 분산 데이터 저장소이고 구글과 같은 검색 엔진은 키워드 중심의 추천 시스템으로 고려할 수 있다.
      • (책 번역)웹 자체는 크고 분산된 데이터 저장소로, 구글과 같은 검색 엔진은 추천 개념의 키워드 중심 변화로 간주될 수 있다.
      • (구글 번역)예를 들어, 웹 자체는 데이터의 대규모 분산 저장소이며 Google과 같은 검색 엔진은 추천 개념의 키워드 중심 변형으로 간주될 수 있습니다.
      • (파파고 번역)예를 들어, 웹 자체는 크고 분산된 데이터 저장소이며, 구글과 같은 검색 엔진은 추천 개념의 키워드 중심 변형으로 간주될 수 있다.

2022