태그 보관물: 케라스

“개발자를 위한 AI & ML” 도서 번역을 마쳤습니다.

아마존 베스트셀러인 <AI and Machine Learning for Coders> 번역을 마쳤습니다. 이 책은 구글의 Lead AI Advocate인 로런스 모로니(Laurence Moroney)가 썼고, 코세라 창업자이자 딥러닝 4대 석학 중 하나인 앤드류 응(Andrew Ng)이 추천사를 쓴 책입니다.

출판사에서 후반 작업을 거쳐야 하지만 8월 안에는 번역서를 만나 볼 수 있지 않을까 기대해 봅니다. ㅎㅎ

전체 책을 한 눈에 볼 수 있도록 요약한 그래픽과 각 장의 요약을 참고하세요! 🙂

  • 1장은 개발자 입장에서 머신러닝과 텐서플로가 무엇인지 설명하고, 텐서플로를 사용하기 위한 환경을 준비합니다. 마지막으로 두 숫자 리스트 사이의 관계를 학습하는 초간단 텐서플로 모델을 만듭니다.
  • 2장에서는 밀집 층을 사용한 컴퓨터 비전 예시를 다룹니다. 사용하는 데이터셋은 패션 MNIST입니다. 저자의 의도는 수학과 이론을 배제하고 딥러닝을 소개하는 것입니다. 그래서 고수준으로 쉽게 개념을 풀어 설명하고 있습니다. 또 모델을 오래 훈련했을 때 일어나는 과대적합에 대해 설명하고 콜백을 사용한 간단한 조기종료 기법을 선보입니다.
  • 3장은 컴퓨터 비전을 위해 합성곱과 풀링을 사용하여 조금 더 복잡한 예제를 다룹니다. 여기에서는 저자가 직접 컴퓨터 그래픽으로 만든 데이터셋인 말-사람 데이터셋을 사용합니다. ImageDataGenerator를 사용해 데이터 증식하는 법을 소개합니다(원서보다 나은 번역서를 지향하므로 image_dataset_from_directory 함수와 케라스 전처리 층을 사용하는 법을 역자 노트로 추가했습니다). 이어서 전이 학습을 소개하고 인셉션 v3를 사용해 동일한 데이터셋에서 전이 학습 모델을 훈련합니다. 마지막으로 역시 저자가 컴퓨터 그래픽으로 만든 가위,바위,보 데이터셋으로 다중 분류 모델을 훈련하고 드롭아웃 규제를 적용합니다!
  • 4장은 텐서플로 데이터셋을 소개합니다. tfds를 사용하여 공개된 데이터셋을 손쉽게 로드하는 방법과 데이터셋의 상세 정보를 조회하는 방법을 배웁니다. 그다음 tfds를 사용해 케라스 모델을 만들고 훈련해 봅니다. 데이터 증식과 분할 비율을 지정하여 로드하는 방법도 소개합니다. 또한 TFRecord 구조를 소개하고 CPU/GPU를 최대한 활용할 수 있는 방법도 안내합니다.
  • 5장부터는 RNN을 다룹니다. 5장에서는 기초적인 내용을 다룹니다. 토큰화, 패딩을 소개하고 뷰티풀수프로 텍스트를 정제하는 방법도 소개합니다. tfds로 IMDb 데이터셋을 로드하여 정제하는 과정을 밟아 보고 CSV 파일과 JSON 파일에서 데이터를 로드하는 방법도 배울 수 있습니다. 번역서에는 TextVectorization 층을 사용하는 예시도 추가했습니다!
  • 6장은 5장에 이어 텍스트 데이터를 다룹니다. 하지만 이번에는 RNN이 아니라 임베딩 층과 밀집 층을 사용합니다. 6장의 목표는 직관적으로 임베딩을 이해할 수 있도록 돕는 것입니다. 여기에서는 IMDb 대신 Sarcasm 데이터셋을 사용하며 임베딩 층의 출력을 밀집 층으로 주입하기 위해 전역 풀링을 사용합니다. 만들어진 임베딩 벡터를 텐서플로의 임베딩 프로젝터로 시각화해 봅니다. 마지막으로 직접 임베딩을 훈련하는 대신 텐서플로 허브에서 사전 훈련된 임베딩을 사용하는 방법을 소개하는 것으로 마칩니다!
  • 7장은 순환 모델의 필요성을 언급하고 피보나치 수열을 사용해 순환 뉴런의 작동 방식을 설명합니다. Sarcasm 데이터셋에 양방향 LSTM 층을 적용합니다. 이 모델을 개선하기 위해 순환 층을 쌓는 방법과 과대적합을 완화하기 위해 드롭아웃을 적용하는 방법을 소개합니다. 마지막으로 GloVe 임베딩을 사용해 사전 훈련된 임베딩 벡터를 사용하는 모델을 만드는 것으로 마칩니다.
  • 8장은 텍스트 분류 작업을 넘어서 텍스트를 생성하는 모델을 만들어 봅니다. 시드 문장에서 시작하여 한 단어씩 예측하여 시드 문장에 추가하는 식으로 텍스트를 생성합니다. LSTM 층을 사용해 아일랜드 시를 학습해 새로운 텍스트를 생성합니다. 모델을 개선하기 위해 순환 층을 쌓고 데이터셋을 확장합니다. 마지막으로 문자 기반 생성 모델에 대해 소개합니다.
  • 9장은 시계열 데이터를 다룹니다. 시계열 데이터의 특징인 트렌드, 계절성, 자기상관, 잡음 등에 대해 설명합니다. 합성된 데이터를 사용해 베이스라인으로 단순한 예측을 만드는 모델을 만듭니다. 먼저 현재 타임스텝 데이터로 한 스텝 앞을 예측하는 것과 이동 평균과 계절성을 사용해 예측하는 방법을 소개합니다!
  • 10장은 시계열 데이터에 심층 신경망을 적용하여 문제를 풉니다. 이를 위해 tf.data를 사용해 윈도 데이터셋을 만드는 방법을 알아 봅니다. 밀집 층을 사용한 모델로 훈련한 다음 케라스 튜너를 사용하여 최적의 하이퍼파라미터를 찾아 봅니다!
  • 11장은 계속하여 합성 시계열 데이터에 1D 합성곱을 적용하는 방법을 배웁니다. 그다음 케라스 튜너로 다시 한번 하이퍼파라미터 튜닝을 수행해 봅니다. 시계열 데이터에 RNN을 적용하기 전에 실전 데이터로 넘어갑니다. NASA 날씨 데이터와 KNMI 날씨 데이터를 사용합니다. SimpleRNN, GRU, LSTM, 드롭아웃, 양방향 RNN을 여기에 모두 적용해 봅니다.
  • 12장부터는 텐서플로 라이트를 소개합니다. 훈련된 간단한 모델을 텐서플로 라이트로 변환하고 예측을 수행하는 과정을 단계별로 차근차근 설명합니다. 그다음 전이 학습으로 만든 강아지-고양이 이미지 분류 모델을 텐서플로 라이트로 변환하고 양자화를 통해 모델을 최적화하는 방법까지 소개합니다!
  • 13장은 안드로이드 앱에서 텐서플로 라이트를 사용하는 방법을 소개합니다. 안드로이드 스튜디오를 사용해 새 프로젝트를 만들고, 텐서플로 라이트 모델을 추가하고, 추론에 사용하는 방법을 단계별로 안내합니다. 다음으로 강아지-고양이 분류 모델을 사용해 앱에서 이미지를 처리하는 예제를 다룹니다.
  • 14장은 iOS 앱에서 텐서플로 라이트를 사용하는 방법을 소개합니다. 13장과 마찬가지로 Xcode를 사용해 간단한 모델을 사용해 단계적으로 텐서플로 라이트를 사용하는 방법을 안내합니다. 그다음 강아지-고양이 분류 모델을 사용한 앱을 만들어 봅니다.
  • 15장부터는 TensorFlow.js를 사용하는 방법을 배웁니다. 텐서플로 생태계 입장에서 TensorFlow.js에 대해 소개하고 웹 개발 환경을 셋팅합니다. 첫 번째 TensorFlow.js 예제로 간단한 방정식 예측 모델을 만들고 그다음으로 붓꽃 분류 모델을 자바스크립트로 만드는 예제를 다룹니다!
  • 16장은 TensorFlow.js로 브라우저에서 MNIST 숫자 이미지를 분류하는 모델을 훈련합니다. 먼저 브라우저로 모델을 훈련할 때 고려할 사항을 안내합니다. 그다음 자바스크립트로 CNN 모델을 구성하고 tfjs-viz 스크립트를 사용해 훈련 과정을 시각화하는 방법을 배웁니다. 스프라이트 시트로 구성된 훈련 이미지를 사용해 모델을 훈련하고 마지막으로 훈련된 모델에서 추론을 수행합니다.
  • 17장은 기존에 훈련된 텐서플로 모델을 자바스크립트에서 사용하는 방법을 안내합니다. 먼저 텐서플로에서 훈련된 모델을 tensorflowjs로 변환하는 방법을 배웁니다. 그다음 tfjs-models 저장소에 있는 모델을 재사용하는 방법을 안내합니다. 이를 통해 유해 텍스트를 걸러내거나 MobileNet을 사용해 이미지를 분류하거나 PoseNet으로 신체 부위를 감지할 수 있습니다.
  • 18장은 TensorFlow.js를 사용한 전이학습을 다룹니다. ImageNet 데이터셋에서 훈련한 MobileNet 모델을 베이스 모델로 사용해 가위,바위,보 손 모양 이미지를 분류하는 모델을 단계별로 안내합니다. 그다음 텐서플로 허브를 사용하여 전이학습을 수행하는 방법을 소개합니다. 마지막으로 TensorFlow.org에서 제공하는 모데을 사용해 전이학습을 수행하는 방법을 소개합니다.
  • 19장은 모델 배포를 다룹니다. 텐서플로 서빙을 소개하고 도커와 리눅스에 설치하는 방법을 안내합니다. 그다음 간단한 숫자를 예측하는 모델을 텐서플로 서빙으로 배포하는 방법을 실습합니다.
  • 20장은 인공지능의 윤리, 공정성, 개인 정보 보호에 대해 다룹니다. 먼저 이모티콘 사례를 들어 프로그래밍의 공정성과 기술 부채에 대해 설명합니다. 머신러닝의 공정성을 위한 도구로 what-if와 패싯을 소개합니다. 그다음 연합 학습 절차를 간단한 예를 들어 단계별로 설명합니다. 마지막으로 구글 AI 원칙을 소개하면서 책을 마무리합니다.

“케라스 창시자에게 배우는 딥러닝” 텐서플로 2.4 업데이트

<케라스 창시자에게 배우는 딥러닝>의 주피터 노트북을 텐서플로 2.4에서 재실행하여 깃허브에 업로드했습니다.

책은 멀티백엔드 케라스 버전을 기반으로 쓰여졌습니다. 깃허브 저장소의 마스터 브랜치는 멀티백엔드 케라스를 사용하지만 tf2 브랜치는 최신 텐서플로 버전을 사용합니다. 텐서플로 2.4 버전의 코드를 확인하시려면 tf2 브랜치를 참고하세요.

감사합니다! 🙂

“혼자 공부하는 머신러닝+딥러닝”이 출간되었습니다!

혹시 머신러닝, 딥러닝을 이제 막 배우려고 마음 먹으셨나요? 또는 어려워서 중간에 포기하신 적이 있나요? 더이상 이 공부를 미룰 수 없는 “혼공족”을 위해 <혼자 공부하는 머신러닝+딥러닝>이 출간되었습니다! 🙂

머신러닝과 딥러닝의 중요한 개념과 예제를 많은 삽화와 함께 친절히 설명하는 책입니다. <혼자 공부하는 머신러닝+딥러닝>은 동영상 강의와 함께 합니다.

책의 코드는 구글 코랩(Colab)엘리스 아카데미 강의를 통해 실습할 수 있습니다.

풀 컬러, 580 페이지에 맛깔스런 삽화를 한 가득 준비했습니다. 모두연의 인공지능 학교 아이펠의 공식 교재로 채택되었습니다! 손계원 님의 책 리뷰도 참고하세요. 지금 온라인/오프라인 서점에서 판매 중입니다! [교보문고] [Yes24] [알라딘] [한빛미디어] [전자책]

책에 넣기 위해 제가 손으로 직접 그린 혼공 머신러닝의 로드맵입니다. 당연히 책에는 풀컬러 그래픽으로 완전 멋지게 들어가 있습니다. ㅎ

감사합니다! 🙂

“딥러닝 일러스트레이티드”가 출간되었습니다!

아마존 베스트 셀러인 <Deep Learning Illustrated>의 한글 번역서인 <딥러닝 일러스트레이티드>가 출간되었습니다. 딥러닝 역사에서 GAN과 강화 학습까지 이 분야의 흥미진진한 기술을 가득담고 있습니다. 저자들의 직관적이고 명쾌한 설명으로 딥러닝의 진수를 맛볼 수 있습니다. 특히 파리지엔느인 아그레이가 그린 이 분야 거장들의 멋진 일러스트를 책 미리보기에서 지금 확인해 보세요!

깃허브에 있는 모든 코드는 구글 코랩(Colab)에서 실행할 수 있습니다! 삼엽충과 함께 딥러닝의 세계로 떠나보시죠! 🙂

친절하게도 저자 존 크론이 링크드인에서 직접 번역서를 소개해 주었습니다. 🙂

“케라스 창시자에게 배우는 딥러닝” 코드 TensorFlow 2 업데이트 안내

늦은 감이 있지만 <케라스 창시자에게 배우는 딥러닝> 책의 주피터 노트북을 텐서플로 2 기반으로 변경한 버전을 깃허브의 tf2 브랜치에 올렸습니다. 아쉽게도 몇 개의 노트북은 텐서플로 2와 호환되지 않아 부득이하게 tf.compat.v1.disable_v2_behavior() 를 사용했습니다.

텐서플로 2에 포함된 케라스 API를 사용하시는 경우에 조금 도움이 되셨으면 좋겠네요. 감사합니다! 🙂

TensorFlow 2.2의 사용자 정의 훈련 반복

텐서플로 2.2의 케라스 API에 train_step 메서드가 추가되었습니다. 이 메서드를 오버라이드하여 사용자 정의 훈련 반복을 케라스 모델 클래스에 통합하는 방법을 소개하는 짧은 영상을 만들었습니다. 재미있게 보세요! 🙂

‘핸즈온 머신러닝 2판’이 출간되었습니다!

오렐리앙 제롱Aurélien Géron이 쓴 아마존 베스트 셀러 “Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 2nd Edition“을 번역한 핸즈온 머신러닝 2판이 출간되었습니다.

1판도 좋았지만 2판은 더욱 더 알차고 폭넓은 주제를 다루고 있습니다. 1판에서 아쉬웠던 비지도 학습과 텐서플로 2로 바뀌면서 변경된 내용, 새로운 신경망 구조를 가득 담고 있습니다.

번역서도 원서와 마찬가지로 풀 컬러로 인쇄됩니다. 전체 페이지는 952페이지 입니다. 무엇보다도 딥러닝을 다루는 2부의 내용이 크게 늘었기 때문입니다. 케라스 뿐만 아니라 RNN의 최근 발전을 많이 포함하고 있고 GAN을 새롭게 추가했습니다. 또한 강화 학습 챕터도 크게 증가했습니다. 한마디로 백과사전이 따로 없죠! 🙂

이 책은 온라인/오프라인 서점에서 판매 중입니다! Yes24교보문고알라딘, 한빛미디어, 전자책

  • 이 책의 주피터 노트북을 한글로 번역하여 제 깃허브에 올리고 있습니다.
  • 혼자 공부하시는 분들을 위해 유튜브에 동영상 강좌를 올리고 있습니다!
  • 이 동영상은 인프런에서도 볼 수 있습니다.