카테고리 보관물: Book

[독서 후기] 은밀한 설계자들

이 책의 원제는 ‘Coders’입니다. 프로그래머에 대해 이야기하는 책이죠. 그런 면에서 ‘은밀한 설계자들’이란 제목은 조금 어색해 보였습니다. 왠지 프로그래머를 부정적으로 바라보는 것 같거든요. 책을 읽어 가면서 번역서의 제목을 왜 이렇게 붙였는지 조금은 이해되었습니다. 이 책의 전반부는 어디선가 읽어 보았음직한 익숙한 패턴을 따릅니다. 오래된 프로그래머의 전설적인 경험담이나 성공한 창업가의 이야기입니다. 책 후반부에 성별과 인종에 따른 편견을 꼬집고 있지만 앞부분은 오히려 프로그래머는 어떤거야라는 편견을 독자에게 주입하고 있는 듯한 모순이 있습니다.

책의 이야기는 조금씩 프로그래머 개인의 특질에서 공동체가 해결해야할 문제로 화두를 옮깁니다. 여성 개발자에 대한 편견을 정면으로 다룬 것은 특히 그렇습니다. 초기 프로그래머는 진짜 여성들이었습니다. 영화 히든 피겨스도 다시 생각이 났습니다. 머신러닝 분야도 다양성이란 측면에서 자유롭지 못한 것 같습니다. 백인 남성이 주류가 된 소프트웨어 시장의 문제를 보면서 우리도 학력과 성별에 어떤 편견을 가지고 있는지 돌아 볼 필요가 있습니다.

인공지능을 다루는 장에서 전통적인 프로그래머와 인공지능 프로그래머의 차이를 비교적 잘 설명하고 있습니다. 또 인공지능이 저지르는 편견은 결국 사람의 편견에서 시작된다는 것을 이해하도록 돕고 있습니다. 이런 편견은 현실은 반영하기 때문에 정당한 것일까요? 아니면 의도적으로 고쳐야 할까요? 설명 가능한 인공지능에 대해서도 고민할 것이 많은 것 같습니다. 페이스북과 구글과 같은 빅테크에 저항감을 느끼는 것은 남의 이야기가 아닙니다. 조금 더 사용자들을 붙잡아 두기 위해 게임과 웹툰, 광고에 쏟아 붓는 프로그래머들의 노력과 창의성을 자랑스러워할 수 있을까요?

이 책의 전반부는 프로그래머가 되고 싶은 분과 이들과 함께 일하는 분들이 읽어 보면 좋습니다. 후반부는 이미 프로그래머이거나 인공지능 개발자가 되고 싶은 분에게 권하고 싶습니다. 특히 7장, 9장은 읽어 둘 가치가 있습니다. 잠시 시간을 내면 서점에 가서 금방 읽을 수 있습니다. 🙂

핸즈온 머신러닝 2판의 변경 부분

핸즈온 머신러닝 2판의 주요 목표 6개는 다음과 같습니다:

  1. 추가적인 ML 주제를 다룹니다: 비지도 학습 기법(군집, 이상치 탐지, 밀도 추정, 혼합 모델), 심층 신경망 훈련 방법(자기 정규화 신경망), 컴퓨터 비전 기법(Xception, SENet, YOLO를 사용한 객체 탐지, R-CNN을 사용한 시맨틱 분할), CNN으로 시퀀스 다루기(WaveNet), RNN/CNN/트랜스포머를 사용한 자연어 처리, 생성적 적대 신경망.
  2. 추가적인 라이브러리와 API를 다룹니다: 케라스, 데이터 API, 강화 학습을 위한 TF-Agents, 분산 전략 API를 사용한 대규모 TF 모델 훈련과 배포, TF 서빙, 구글 클라우드 AI 플랫폼.
  3. 최근 딥러닝 연구 중에서 중요한 결과를 담습니다.
  4. 모든 텐서플로 관련 장을 텐서플로 2로 업그레이드하고 코드를 간소화하기 위해 가능하면 케라스 API(tf.keras)를 사용해 텐서플로 모델을 구현합니다.
  5. 사이킷런, 넘파이, 판다스, 맷플롯립 등의 최신 라이브러리에 맞춰 예제 코드를 업데이트합니다.
  6. 일부 섹션을 명확하게 바꾸고 에러를 고칩니다.

추가된 장과 새로 쓰거나 재배치된 장이 있습니다. 다음 표는 1판과 2판의 장 사이에 연관성을 보여줍니다:

1판의 장 2판의 장 변경량(%) 2판의 제목
1 1 <10% 한눈에 보는 머신러닝
2 2 <10% 머신러닝 프로젝트 처음부터 끝까지
3 3 <10% 분류
4 4 <10% 모델 훈련
5 5 <10% 서포트 벡터 머신
6 6 <10% 결정 트리
7 7 <10% 앙상블 학습과 랜덤 포레스트
8 8 <10% 차원 축소
N/A 9 100% 추가 비지도 학습
10 10 ~75% 케라스를 사용한 인공 신경망 소개
11 11 ~50% 심층 신경망 훈련하기
9 12 100% 재작성 텐서플로를 사용한 사용자 정의 모델과 훈련
12장 일부 13 100% 재작성 텐서플로에서 데이터 적재와 전처리하기
13 14 ~50% 합성곱 신경망을 사용한 컴퓨터 비전
14장 일부 15 ~75% RNN과 CNN을 사용해 시퀀스 처리하기
14장 일부 16 ~90% RNN과 어텐션을 사용한 자연어 처리
15 17 ~75% 오토인코더와 GAN을 사용한 표현 학습과 생성적 학습
16 18 ~75% 강화 학습
12장 일부 19 ~75% 추가 대규모 텐서플로 모델 훈련과 배포

조금 더 구체적인 2판의 주요 변경 사항은 다음과 같습니다(설명 보완, 오류 수정, 코드 업데이트는 제외합니다):

  • 1장 – 한눈에 보는 머신러닝
    • ML 애플리케이션 사례와 알고리즘 추가
    • 훈련 세트와 검증 세트/테스트 세트가 다를 때 처리 방법 추가
  • 2장 – 머신러닝 프로젝트 처음부터 끝까지
    • 신뢰 구간 계산 방법 추가
    • 설치 안내 보강 (예를 들어, 윈도우 환경)
    • 업그레이드된 OneHotEncoder와 새로운 ColumnTransformer 소개
    • 배포, 모니터링, 유지보수에 관한 상세 내용 추가
  • 4장 – 모델 훈련
    • 훈련 샘플이 IID를 만족해야 하는 필요성 설명
  • 7장 – 앙상블 학습과 랜덤 포레스트
    • XGBoost 절 추가
  • 9장 – 비지도 학습 (새로운 장)
    • K-평균을 사용한 군집, 클러스터 수를 선택하는 방법, 차원 축소 용도로 사용하는 방법, 준지도 학습, 이미지 분할 등
    • DBSCAN 군집 알고리즘과 사이킷런에 있는 다른 군집 알고리즘 소개
    • 가우시안 혼합 모델, EM 알고리즘, 베이지안 변분 추론, 혼합 모델을 군집, 밀도 추정, 이상치 탐지, 특이치 탐지에 사용하는 방법
    • 다른 이상치 탐지와 특이치 탐지 알고리즘 소개
  • 10장 – 케라스를 사용한 인공 신경망 소개 (거의 다시 씀)
    • 케라스 (시퀀셜, 함수형, 서브클래싱) API 소개, 모델 저장, (TensorBoard 콜백을 포함한)콜백 추가
  • 11장 – 심층 신경망 훈련하기 (변경 사항 많음)
    • 자기 정규화 신경망, SELU 활성화 함수, 알파 드롭아웃 소개
    • 자기 지도 학습 소개
    • Nadam 최적화 추가
    • 몬테 카를로 드롭아웃 추가
    • 적응적 최적화 방법의 위험에 관한 노트 추가
    • 실용적 가이드라인 업데이트
  • 12장 – 텐서플로를 사용한 사용자 정의 모델과 훈련 (완전히 재작성)
    • 텐서플로 2 소개
    • 텐서플로의 저수준 파이썬 API
    • 사용자 정의 손실 함수, 지표, 층, 모델 작성하기
    • 자동 미분을 사용하여 사용자 정의 훈련 알고리즘 만들기
    • 텐서플로 함수와 그래프 (트레이싱과 오토그래프 포함)
  • 13장 – 텐서플로에서 데이터 적재와 전처리하기 (새로운 장)
    • 데이터 API
    • TFRecord를 사용하여 효율적으로 데이터 적재/저장
    • 사용자 정의 전처리 층 작성, 케라스 전처리 층 사용, 원-핫 벡터/BoW/TF-IDF/임베딩을 사용해 범주형 특성과 텍스트 인코딩
    • TF 변환과 TF 데이터셋 소개
    • 저수준 신경망 구현을 연습문제로 이동
    • 데이터 API로 대체된 큐와 리더 내용을 삭제
  • 14장 – 합성곱 신경망을 사용한 컴퓨터 비전
    • Xception과 SENet 구조 추가
    • ResNet-34의 케라스 구현 추가
    • 케라스로 사전 훈련된 모델 사용하는 방법
    • 엔드-투-엔드 전이 학습 예제 추가
    • 분류와 위치 추정(localization) 추가
    • 완전 합성곱 신경망(FCN) 소개
    • YOLO 구조를 사용한 객체 탐지 소개
    • R-CNN을 사용한 시맨틱 분할 소개
  • 15장 – RNN과 CNN을 사용해 시퀀스 처리하기
    • Wavenet 소개 추가
    • 인코더-디코더 구조와 양방향 RNN을 16장으로 이동
  • 16장 – RNN과 어텐션을 사용한 자연어 처리 (새로운 장)
    • 시퀀셜 데이터를 다루기 위해 데이터 API 사용하는 방법 설명
    • 상태가 있는 경우와 상태가 없는 Char-RNN을 사용한 엔드-투-엔트 텍스트 생성 예제
    • LSTM을 사용한 엔드-투-엔드 감성 분석 예제
    • 케라스 마스킹 설명
    • TF 허브를 사용해 사전 훈련된 임베딩 재사용하는 방법
    • 텐서플로 애드온의 seq2seq를 사용해 신경망 기계 번역을 위한 인코더-디코더 만드는 방법
    • 빔 검색 소개
    • 어텐션 메커니즘 소개
    • 비주얼 어텐션에 대한 간단한 소개와 설명 가능성에 대한 노트 추가
    • 위치 임베딩과 멀티-헤드 어텐션을 포함한 완전한 어텐션 기반 트랜스포머 구조 소개
    • 최신 언어 모델에 대한 소개 추가 (2018년)
  • 17장 – 오토인코더와 GAN을 사용한 표현 학습과 생성적 학습
    • 합성곱 오토인코더와 순환 오토인코더 추가
    • 기본 GAN, 심층 합성곱 GAN(DCGAN), ProGAN, StyleGAN을 포함한 생성적 적대 신경망(GAN) 추가
  • 18장 – 강화 학습
    • 더블 DQN, 듀얼링 DQN, 우선 순위 기반 경험 재생
    • TF Agents 소개
  • 19장 – 대규모 텐서플로 모델 훈련과 배포 (거의 다시 씀)
    • TF 서빙과 구글 클라우드 AI 플랫폼을 사용한 텐서플로 모델 서빙
    • TFLite를 사용하여 모바일이나 임베디드 장치에 모델 배포하기
    • GPU를 사용하여 계산 속도를 높이기
    • 분산 전략 API를 사용해 여러 장치에서 모델 훈련하기

‘미술관에 GAN 딥러닝’이 출간되었습니다!

x9791162241080

데이비드 포스터David Foster가 쓴 아마존 베스트셀러 ‘Generative Deep Learning’를 번역한 ‘미술관에 GAN 딥러닝‘이 출간되었습니다.

이 책은 생성 모델링 분야에서 주목받는 최신 딥러닝 기술을 소개합니다. 이 책에 담긴 예제를 만들어 보면서 작동 원리를 터득할 수 있습니다. 특히 짧은 우화를 사용하여 어렵게 느껴질 수 있는 알고리즘을 쉽고 재미있게 설명해 줍니다. 저자의 스토리텔링 기술이 정말 탁월합니다.

이 책이 다루고 있는 모델은 오토인코더, 변이형 오토인코더, DCGAN, WGAN, WGAN-GP, Cycle GAN, Neural Style Transfer, LSTM, Encode-Decoder 모델, 질문-대답 생성기, MuseGAN, World Model, Transformer 등입니다. 이 책과 함께 흥미로운 생성 모델의 세계로 탐험을 떠나 보시죠! 🙂

온라인/오프라인 서점에서 판매중입니다! [교보문고] [Yes24]

감사합니다!!!

“Do it! 딥러닝”이 출간되었습니다.

x9791163031093Do it! 딥러닝 입문“이 출간되었습니다! 이 책은 번역서가 아니라 제가 직접 쓴 책입니다! 🙂

알고리즘 공식을 유도하고 직접 파이썬으로 구현해 보면서 딥러닝에 숨겨진 실체를 흥미진진하게 파헤칩니다. 또 텐서플로를 사용해 실전 딥러닝 구현 감각을 익히도록 돕습니다. 좋은 출판사의 도움을 받아 훌륭한 일러스트와 알찬 내용으로 꾸몄습니다. 딥러닝을 어떻게 시작할지 막막하다면 이 책을 자신있게 권해드립니다.

온라인/오프라인 서점에서 판매중입니다. [교보문고] [Yes24]

감사합니다!!! 🙂

  • 코로나 때문에 스터디를 진행하지 못하지만 대신 유튜브 강의를 올리고 있습니다! 재미있게 봐 주세요. 🙂
  • 이 영상은 구름 에듀에서도 볼 수 있습니다.

“파이썬을 활용한 머신러닝 쿡북”이 출간되었습니다!

x9791162241950크리스 알본의 ‘Machine Learning with Python Cookbook’을 번역한 <파이썬을 활용한 머신러닝 쿡북>이 출간되었습니다. 200개의 레시피에 머신러닝 작업에 필요한 핵심을 잘 담아 놓았습니다.

508페이지 로 뽑아 주신 한빛미디어 출판사에 감사드립니다. 온라인/오프라인 서점(교보문고, Yes24)에서 판매 중입니다. 절판되기 전에 어서 주문하세요! 🙂

“[개정판] 파이썬 라이브러리를 활용한 머신러닝”이 출간되었습니다!

x9791162241646안드레아스 뮐러Andreas Mueller와 세라 가이도Sarah Guido의 베스트 셀러 “Introduction to Machine Learning with Python“의 번역서인 “파이썬 라이브러리를 활용한 머신러닝“이 개정판으로 새롭게 출간되었습니다!

지난해 10월 원서 저자들이 최신 사이킷런 버전에서 추가된 내용을 반영하여 새롭게 원서를 릴리스했습니다. 원서에서 바뀐 부분을 번역서에 반영하기에는 변경사항이 너무 많아 난처했습니다.

다행히 출판사와 협의하여 새롭게 개정판을 준비할 수 있었습니다. 그동안 많은 독자들에게 사랑을 받았던 책이라 개정판은 특별히 컬러 인쇄가 되었습니다! 여러가지 배려를 아끼지 않은 한빛미디어에 감사드립니다. 시원한 컬러 그래프를 볼 생각을 하니 너무 기쁘네요. 🙂

개정판에 추가, 변경된 내용은 [개정판] 파이썬 라이브러리를 활용한 머신러닝 페이지를 참고하세요. 이 책은 YES24, 교보문고와 같은 온라인 서점과 오프라인 서점에서 판매 중입니다!

Python Machine Learning 2nd Ed. 번역 후기

cover_1

세바스찬 라시카의 Python Machine Learning 2nd Ed. 의 번역과 역자 교정을 마쳤습니다. 작업된 책이 조판으로 넘어가면 늘 아쉽습니다. 이때는 지식보다는 끈기가 더 중요한 것 같습니다. 작업 과정을 되돌아 보며 후기를 남깁니다.

개인적으로 머신 러닝 분야의 실용서 베스트 네 개를 꼽으라면 안드리아스 뮐러와 사라 가이도의 “Introduction to Machine Leaning with Python“, 오렐리앙 제롱의 “Hands-On Machine Learning with Scikit-Learn and TensorFlow“, 프랑소와 숄레의 “Deep Learning with Python“, 세바스찬 라시카의 “Python Machine Learning”입니다. 제가 이 네 권을 모두 번역했다는 사실이 믿기지 않습니다. 사실 가장 먼저 보았던 세바스찬의 책은 1판의 번역서가 이미 다른 곳에서 출간되었기 때문에 2판을 번역할 기회를 얻기 힘들거라 생각했습니다. 정말 큰 행운이 따랐기 때문에 이 책을 번역할 수 있었습니다. 기회를 주신 길벗 출판사에 다시금 감사드립니다.

네 권의 책은 모두 나름대로 저마다 다른 색깔을 가지고 있습니다. 앤디의 책은 머신 러닝 파이프라인 전반의 흐름을 잘 정리하였습니다. 역시 사이킷런의 핵심 개발자답습니다. 오렐리앙의 책은 이론과 코드가 균형을 잘 잡고 있고 머신러닝과 딥러닝 부분을 잘 설명하고 있습니다. 프랑소와의 책은 이론보다 코드를 중심으로 딥러닝 특히 케라스 라이브러리를 중점적으로 다룹니다. 케라스 창시자인 그가 바라보는 딥러닝과 인공지능의 청사진을 엿볼 수도 있습니다.

세바스찬의 책은 이들 중 가장 먼저 아마존 인공지능 분야 베스트셀러가 된 책입니다. 오렐리앙의 책처럼 머신러닝과 딥러닝을 모두 아우르고 있지만 넘파이를 사용해 알고리즘을 밑바닥부터 만들기 시작합니다. 이론과 코드가 잘 안배되어 있고 사이킷런과 텐서플로를 함께 사용합니다. 다른 책에서는 잘 설명되지 않는 선형 판별 분석과 커널 PCA를 자세히 다루고 있습니다. 웹 애플리케이션에 머신러닝 모델을 임베딩하여 배포하는 장은 이 책의 특징 중 하나입니다.

Python Machine Learning 2판이 2017년에 출간되었기 때문에 사용한 라이브러리 버전이 낮습니다. 번역서에서는 사이킷런의 최신 버전 0.20을 기준으로 새롭게 바뀐 점과 중요한 변화를 포함시켰습니다. 딥러닝 챕터를 바꾸는 작업이 어려웠습니다. 작년 말에 텐서플로 2.0 프리뷰가 나왔지만 아직 정보가 부족했고 정식 릴리스 일정을 알 수 없기 때문입니다. 출판사와 협의한 끝에 출간 일정이 조금 늦춰지더라도 텐서플로 2.0을 기준으로 딥러닝 부분을 바꾸기로 결정했습니다. 덕분에 13~16장에 텐서플로 2.0 알파 버전에서 새롭게 바뀐 부분을 반영할 수 있었습니다.

작년 9월부터 작업을 시작했습니다. 다른 일들도 있었지만 너무 오래 걸렸네요. 매년 겨울마다 큰 곤욕을 치르는 것 같습니다. 친절하게도 저자 세바스찬이 직접 에러타로 인해 수정된 pdf와 이미지를 보내주었습니다. 제가 추가로 찾은 에러타는 원서 깃허브에 올렸고 신중하게 판단하여 번역서에 반영하였습니다. 세바스찬이 에러타와 함께 덕담도 건네 왔습니다. “It’s good to know that the translation will be in good hands! :)”.

복잡한 수식과 많은 주석 때문에 고생하셨을 디자이너와 교정자에게 감사드립니다. 편집과 번역 전반의 과정을 잘 안내해 주신 안윤경 님께도 감사드립니다. 부디 많은 사람들에게 사랑받는 책이 되었으면 좋겠습니다. 감사합니다! 😀

“머신 러닝 교과서” 베타 테스터 모집합니다!

 

“머신 러닝 교과서”의 정오표 페이지는 여기입니다.

 

지난 겨울내내 끙끙맸던 세바스찬 라시카의 “Python Machine Learning” 2nd Ed. 번역을 마쳤습니다. 원서와 달리 번역서는 사이킷런 0.20과 텐서플로 2.0을 기준으로 출간됩니다. 특히 딥러닝을 설명하는 후반 챕터는 텐서플로 2.0에 맞게 많은 부분을 새롭게 작성하였습니다.

길벗 출판사에서 이 책의 베타 테스터를 모집합니다. 페북 글을 참고하시고 관심있으신 분은 신청해 주세요. 감사합니다! 🙂

Grokking Deep Learning

IMG_0282

trask_gdl_hires오래 끌어왔던 Grokking Deep Learning 책이 출간되어 드디어 책상에 도착했습니다. 이 책은 넘파이로 밑바닥부터 신경망을 구현하면서 배우도록 구성되어 있습니다. 전체가 300 페이지로 두껍지 않고 훌륭한 일러스트가 돋보이네요. 원래 계획했던 강화학습 부분이 빠져서 아쉽습니다. 저자가 NLP 연구자라서 그런지 합성곱 신경망 부분은 간략히 다루어져 있습니다. 대신 순환 신경망과 LSTM에 충분한 지면을 할애하고 있습니다. 목차는 아래를 참고하세요. 🙂

  1. Introducing deep learning: why you should learn it
  2. Fundamental concepts: how do machines learn?
  3. Introduction to neural prediction: forward propagation
  4. Introduction to neural learning: gradient descent
  5. Learning multiple weights at a time: generalizing gradient descent
  6. Building your first deep neural network: introduction to backpropagation
  7. How to picture neural networks: in your head and on paper
  8. Learning signal and ignoring noise: introduction to regularization and batching
  9. Modeling probabilities and nonlinearities: activation functions
  10. Neural learning about edges and corners: intro to convolutional neural networks
  11. Neural networks that understand language: king – man + woman == ?
  12. Neural networks that write like Shakespeare: recurrent layers for variable-length data
  13. Introducing automatic optimization: let’s build a deep learning framework
  14. Learning to write like Shakespeare: long short-term memory
  15. Deep learning on unseen data: introducing federated learning
  16. Where to go from here: a brief guide

Architects of Intelligence & Dive into DL

‘Rise of the Robots’의 작가 마틴 포드가 새 책 ‘Architects of Intelligence‘를 출간했습니다. 지구 최고의 인공지능 연구자들을 인터뷰했네요. 요슈아 벤지오, 제프리 힌튼, 얀 리쿤, 앤드류 응 등등. 인터뷰이 목록이 후덜덜합니다. 🙂

현재 인공지능 기술과 향후 발전에 대한 소견이 주를 이루는 것 같습니다. 너무 기술적이지 않으므로 가벼운 마음으로 읽을 수 있을 것 같네요. 팩트에서 출간했고 사파리온라인북스를 구독하고 계시다면 바로 읽을 수 있습니다.

아마존 딥러닝 연구자들이 쓴 오픈소스 책 ‘Dive into Deep Learning‘이 공개되었습니다. 웹 사이트와 깃허브, PDF로 제공됩니다. 원래 먼저 중국어 버전이 쓰여진 것 같네요. 소스코드는 아직 영어로 번역되지 않았습니다.

이 책은 MXNet을 라이브러리를 사용합니다. MXNet에 관심있는 사람에게 좋을 것 같네요. 🙂