이 책은 케라스(Keras) 라이브러리의 창시자이고 현재 구글의 소프트웨어 엔지니어인 프랑소와 숄레(François Chollet)가 쓴 <Deep Learning with Python 2nd Edition>의 번역서입니다.

<Deep Learning with Python 2nd Edition>은 1판과 마찬가지로 아마존에서 높은 평가를 받고 있고 인공지능, 딥러닝 분야의 장기 베스트 셀러입니다.
이 책은 딥러닝을 설명하기 위해 어려운 수식을 사용하지 않습니다. 직관적인 설명과 꼼꼼한 예를 통해서 누구나 쉽게 딥러닝과 신경망 이면의 원리를 터득할 수 있습니다. 저자가 말한것 처럼 딥러닝은 신비하거나 마법 같은 것이 아니기 때문입니다. 이 책에서는 기본적인 신경망은 물론, 합성곱 신경망을 사용한 컴퓨터 비전, 순환 신경망을 사용한 자연어 처리 예제를 자세히 다룹니다. 특히 최신 트랜스포머 아키텍처를 밑바닥부터 직접 구현해 보면서 이 알고리즘의 구동 원리를 이해할 수 있습니다. 또 딥드림, 스타일 트랜스퍼, 오토인코더, GAN 등을 사용한 생성 모델도 다루고 있습니다. 2판에서는 특히 머신러닝 워크플로와 실전 모범 사례를 위한 많은 팁이 추가되었습니다. 글자 그대로 머신러닝 바이블입니다!
2판 번역서는 특별히 양장으로 출간되었습니다. 이 책의 가치와 유용함을 믿고 아낌없는 투자를 해주신 길벗 출판사에 깊이 감사드립니다. 개인적으로도 양장 도서를 출간하게 되어 큰 영광입니다. 아마도 IT 전문서 분야에 이런 책은 쉽게 나오기 힘듭니다. 제 여정에 큰 이정표를 남기게 되어 정말 기쁩니다!
바쁜 와중에도 시간을 내어 베타 테스트에 참여해 주신 김미수 님, 박가단 님, 박서현 님, 박찬웅 님, 장대혁 님, 이혜민 님, 배윤성 님, 이승표 님 감사드립니다. 작업의 모든 과정을 친절히 안내해 주신 길벗 출판사의 안윤경 님과 둔탁한 글을 다듬어 주신 김윤지 님께 감사드립니다. 그 외 책을 만드는 데 도움을 주신 모든 분들에게 감사드립니다.
- 온라인/오프라인 서점에서 판매 중입니다! [예스24] [교보문고] [알라딘]
- 628페이지, 풀 컬러, 양장:
48,000원–> 43,200원, 전자책: 38,400원 - 이 책에 실린 코드는 깃허브에서 주피터 노트북으로 제공합니다:
- 이 책의 코드는 코랩, 텐서플로 2.8 버전에서 테스트되었습니다.
1판과 2판의 차이점을 알고 싶다면 다음 도표를 참고하세요. 2판 각 장의 내용을 대략적으로 파악하고 싶다면 [Deep Learning with Python] 2판 번역 완료! 포스트를 참고하세요.
이 페이지에서 책의 에러타와 텐서플로와 케라스 버전 변경에 따른 변경 사항을 계속 업데이트하겠습니다.궁금한 점이나 오류가 있다면 페이지 맨 아래 ‘Your Inputs’에 자유롭게 글을 써 주세요. 또 제 이메일을 통해서 알려 주셔도 되고 구글 그룹스 머신러닝 도서 Q&A에 글을 올려 주셔도 좋습니다.
감사합니다! 🙂
Outputs (aka. errata)
- ~22: 2쇄에 반영되었습니다.
- (p104) 아래에서 5번째 줄, (p133) 아래에서 2번째 줄과 14번째 줄, (p134) 위에서 1번째 줄에
NavieDense
를NaiveDense
로 정정합니다.(이*재 님) - (p155) 코드 4-8에서
epochs = range(1, len(loss) + 1)
을epochs = range(1, len(loss_values) + 1)
로 정정합니다.(이*재 님) - (p72) 2.2.10절 아래 2번째 줄에서 “각 샘플은 벡터(랭크-2 텐서)의 시퀀스로 인코딩되므로”를 “각 샘플은 벡터의 시퀀스(랭크-2 텐서)로 인코딩되므로”로 정정합니다.(현* 님)
- (p177) 4.3.5절 아래 문장에서 “이 이진 분류 모델에서 … 가 반환되었습니다. 다중 분류 모델이므로 각 샘플마다 …”를 “앞서 이진 분류 모델에서 … 가 반환되었습니다. 다중 분류 모델에서는 각 샘플마다 …”로 수정합니다.(이*재 님)
- (p189) 위에서 8번째 줄에 “다루는 데이터 포인트가 보간할 수 있다면..”을 “다루는 데이터 포인트를 보간할 수 있다면..”로 정정합니다.(이*재 님)
- (p196) 코드 5-6 아래에서 4번째 줄
validation_score = np.average(validation_scores)
를 들여쓰기 하지 않습니다.(이*재 님) - (p228) 6.1.4절 아래 7번째 줄에서 “또는 정확도가 ROC AUC의 가중치 평균을…”을 “또는 정확도나 ROC AUC의 가중치 평균을…”로 정정합니다.(이*재 님)
- (p238) 아래에서 4번째 줄에서 “또한, 전체 모델이 사용자 장치에 내려받기 때문에…”를 “또한, 전체 모델을 사용자 장치에 내려받기 때문에…”로 정정합니다.(이*재 님)
- (p285) 코드 8-4 출력에서 “Test accuracy: 0.991″을 “테스트 정확도: 0.991″로 정정합니다.(이*재 님)
- (p587) 위에서 11번째 줄에 “훨씬 실용적인고 다재다능합니다”를 “훨씬 실용적이고 다재다능합니다”로 정정합니다.(이*재 님)
- (p303) 아래에서 14번째 줄에서 “원소 크기를 (16,)에서 (4,)로”를 “원소 크기를 (16,)에서 (4, 4)로”로 정정합니다.(이*재 님)
- (p334) 페이지 중간 코드 주석에서 “3개의 유닛과 소프트맥스 활성화 함수를 가진 밀집 층으로 모델을 종료합니다”를 “3개의 필터와 소프트맥스 활성화 함수를 가진 Conv2D 층으로 모델을 종료합니다”로 정정합니다.(이*재 님)
- (p338) 아래에서 3번째 줄에서 “이런 선택 모델의 가설 공간”을 “이런 선택이 모델의 가설 공간”으로 정정합니다.(이*재 님)
- (p344) 주석 3번 마지막 줄에 “오른쪽과 아래에 2픽셀씩 패딩이 추가되어”를 “오른쪽과 아래에 1픽셀씩 패딩이 추가되어”로 정정합니다.(이*재 님)
- (p351) 위에서 4번째 줄에 “적은 파라미터 개수 과대적합의 위험이”를 “적은 파라미터 개수는 과대적합의 위험이”로 정정합니다.(이*재 님)
- (p353) 아래에서 6번째 줄에서 “DeepLabV3의 표준 합성곱을 기반으로”를 “DeepLabV3+의 표준 합성곱 기반으로”로 정정합니다.(이*재 님)
- (p358) 코드 9-10 바로 위 문장, 코드 9-10 제목, 그림 9-13 제목에서 “다섯 번째 채널”을 “여섯 번째 채널”로 정정합니다.(이*재 님)
- (p361) 위에서 12번째 줄에 “점점 더 추상적이 됩니다. 깊은 층의 활성화는 특정 입력에 관한 정보는 점점 줄어들고”를 “점점 더 추상적으로 됩니다. 깊은 층의 활성화에는 특정 입력에 관한 정보가 점점 줄어들고”로 정정합니다.(이*재 님)
- (p380) 코드 10-1 바로 아래와 코드 10-2 위 세 번째 줄에서 “42만 551줄”을 “42만 451줄”로 정정합니다.(이*재 님)
- (p406) 22번 주석에서 “<핸즈온 머신러닝 2판>(한빛미디어, 2020)의 14장”을 “<핸즈온 머신러닝 2판>(한빛미디어, 2020)의 15장“으로 정정합니다.(이*재 님)
- (p423) 아래에서 6번째 줄에 “문자열을 반환하는
Dataset
객체로“를 “문자열을 반환하는Dataset
객체나 파이썬 문자열의 리스트로“로 정정합니다.(이*재 님) - (p546)
search_space_summary()
결과에서"min_value": 128
을"min_value": 16
으로,"max_value": 1024
를"max_value": 64
로,"step": 128
을"step": 16
으로 정정합니다.(이*재 님) - (p166) 아래에서 4번째 줄에
hist_array.mean()
을hits_array.mean()
으로 정정합니다.(나*현 님) - (p98) 위에서 6번째 줄과 7번째 줄에서
y
를x2
로 정정합니다.(전*기 님) - (p126) 코드 3-13의 첫 번째 설명에서 ‘100의 랜덤한 2D 포인트’를 ‘1000의 랜덤한 2D 포인트’로 정정합니다.(이*강 님)
Your Inputs