카테고리 보관물: Deep Learning

핸즈온 머신러닝 2 에러타 안내

안녕하세요. 핸즈온 머신러닝 2에 새롭게 에러타가 많이 추가되었습니다. 이번 에러타는 원서에 누적된 오류 보고를 포함하였고 사이킷런과 텐서플로 최신 버전에서 변경된 내용을 반영하였습니다. 다음 에러타 항목을 참고해 주세요. 핸즈온 머신러닝 2의 전체 에러타는 여기를 참고해 주세요. 감사합니다!

  1. (p100) 두 번째 문단 끝에 다음처럼 주석을 추가합니다. “… SimpleImputer의 객체를 생성합니다.<주석>옮긴이_ 사이킷런 0.22버전에서 최근접 이웃 방식으로 누락된 값을 대체하는 KNNImputer 클래스가 추가되었습니다.</주석>”
  2. (p109) 첫 번째 문단 끝에 다음처럼 주석을 추가합니다. “… 변환을 적용해보겠습니다.<주석>옮긴이_ 사이킷런 0.22버전에서 열 이름이나 데이터 타입을 기반으로 열을 선택할 수 있는 make_column_selector() 함수가 추가되었습니다.</주석>”
  3. (p118) 54번 주석 끝에 다음 문장을 추가합니다. “사이킷런 0.24버전에서 파라미터 탐색 범위를 좁혀가면서 컴퓨팅 자원을 늘려가는 HalvingGridSearchCV와 HalvingRandomSearchCV가 추가됩니다. 이 예제는 https://bit.ly/halving-grid-search를 참고하세요.”
  4. (p128) 첫 번째 문장 끝에 다음처럼 주석을 추가합니다. “… 구조를 가지고 있습니다.<주석>옮긴이_ 사이킷런 0.22버전에서 fetch_openml() 함수에 as_frame 매개변수가 추가되었습니다. 이 매개변수를 True로 설정하면 판다스 데이터프레임을 반환합니다.</주석>”
  5. (p140) 6번 주석 끝에 다음 문장을 추가합니다. “사이킷런 0.22버전에서 정밀도/재현율 곡선을 그려주는 plot_precision_recall_curve() 함수가 추가되었습니다.”
  6. (p142) 첫 번째 문장 끝에 다음처럼 주석을 추가합니다. “… 그래프를 그립니다.<주석>옮긴이_ 사이킷런 0.22버전에서 ROC 곡선을 그려주는 plot_roc_curve() 함수가 추가되었습니다.</주석>”
  7. (p149) 첫 번째 문장 끝에 다음처럼 주석을 추가합니다. “… 편리할 때가 많습니다.<주석>옮긴이_ 사이킷런 0.22버전에서 오차 행렬을 그래프로 그려주는 plot_confusion_matrix() 함수가 추가되었습니다.</주석>”
  8. (p188) 첫 번째 문단 2번째 줄에서 “2차방정식처럼 보이며 거의 선형적입니다“를 “3차방정식처럼 보입니다“로 정정합니다.
  9. (p230) 1번 주석 끝에 다음 문장을 추가합니다. “사이킷런 0.21버전에서 dot 파일을 만들지 않고 바로 트리를 그릴 수 있는 plot_tree() 함수도 추가되었습니다.”
  10. (p236) 5번 주석을 다음과 같이 바꿉니다. “옮긴이_ 사이킷런 0.21버전에서 히스토그램 기반 그레이디언트 부스팅이 추가되었고 presort 매개변수로 얻을 수 있는 성능 향상이 크지 않기 때문에 사이킷런 0.24버전에서 결정 트리와 그레이디언트 부스팅 클래스의 presort 매개변수가 삭제됩니다.”
  11. (p238) 9번 주석에서 “… min_impurity_decrease 분할 대상이 되기 위해 … min_impurity_split가 추가되었습니다“를 “… min_impurity_decrease가 추가되었습니다. 분할 대상이 되기 위해 … min_impurity_split는 0.25버전에서 삭제됩니다“로 수정합니다. 또 10번 주석 끝에서 “… 지원합니다“를 “… 지원했지만 0.22버전에서 비용 복잡도 기반의 사후 가지치기를 위한 ccp_alpha 매개변수가 결정 트리와 트리 기반의 앙상블 모델에 추가되었습니다“로 수정합니다.
  12. (p254) 7.4절 아래 두 번째 문장 끝에 다음처럼 주석을 추가합니다. “… 크기로 지정합니다.<주석>옮긴이_ 사이킷런 0.22버전에서 랜덤 포레스트 클래스에 부트스트랩 샘플 크기를 지정할 수 있는 max_samples 매개변수가 추가되었습니다. 샘플 크기를 정수로 입력하거나 비율을 실수로 지정할 수 있습니다. 기본값은 훈련 세트 전체 크기입니다.<주석>”
  13. (p262) 7.5.2절에서 두 번째 문단, 첫 번째 줄에서 “그레이디언트 부스팅은 회귀 문제에도 아주 잘 작동합니다”를 “그레이디언트 부스팅은 분류 문제에도 아주 잘 작동합니다”로 정정합니다.
  14. (p266) 첫 번째 문단 끝에 다음처럼 주석을 추가합니다. “… 훈련을 멈춥니다.<주석>옮긴이_ 사이킷런 0.20버전에서 그래디언트 부스팅에 조기 종료 기능이 추가되었습니다. 훈련 데이터에서 validation_fraction 비율(기본값 0.1)만큼 떼어 내어 측정한 손실이 n_iter_no_change 반복 동안에 tol 값(기본값 1e-4) 이상 향상되지 않으면 훈련이 멈춥니다.</주석>”
  15. (p267) 두 번째 문단 끝에 다음처럼 주석을 추가합니다. “… 매우 비슷합니다.<주석>옮긴이_ 이외에도 히스토그램 기반 그레이디언트 부스팅을 구현한 LightGBM(https://lightgbm.readthedocs.io)이 있습니다. 사이킷런 0.21버전에서 히스토그램 기반 그레이디언트 부스팅을 구현한 HistGradientBoostingClassifier와 HistGradientBoostingRegressor가 추가되었습니다.</주석>”
  16. (p271) 첫 번째 문장 끝에서 다음처럼 주석을 추가합니다. “… 지원하지 않습니다.<주석>옮긴이_ 사이킷런 0.22버전에서 StackingClassifier와 StackingRegressor가 추가되었습니다.</주석>”
  17. (p319) 9.1.5절 아래 첫 번째 문단 끝에 다음처럼 주석을 추가합니다. “… 훈련해보겠습니다.<주석>옮긴이_ 사이킷런 0.24버전에서 준지도 학습을 위한 SelfTrainingClassifier가 추가됩니다.</주석>”
  18. (p358) 첫 번째 문단 끝에서 “… 다중 출력 분류기multioutput classifier입니다.”를 “… 다중 레이블 분류기multilabel classifier입니다.”로 정정합니다.
  19. (p380) 아래에서 두 번째 문단 끝에서 “(89% 검증 정확도에 가까이 도달할 것입니다)”를 “(89.4% 검증 정확도에 가까이 도달할 것입니다)”로 수정합니다.
  20. (p405) 페이지 끝에 다음처럼 주석을 추가합니다. “… 배치 크기를 사용해보세요.<주석>옮긴이_ 텐서플로 2.4버전에서 케라스 모델의 compile() 메서드에 있는 steps_per_execution 매개변수를 1이상으로 설정하면 계산 그래프를 한 번 실행할 때 여러 배치를 처리할 수 있기 때문에 GPU를 최대로 활용하고 배치 크기를 바꾸지 않고 훈련 속도를 높일 수 있습니다.</주석>”
  21. (p408) 6번 문제 두 번째와 세 번째 항목에서 “가중치 벡터“를 “가중치 행렬“로 정정합니다.
  22. (p465) 12.2절 아래 첫 번째 문단 끝에 다음처럼 주석을 추가합니다. “… 방법을 알아봅니다.<주석>옮긴이_ 텐서플로 2.4버전에서 넘파이 호환 API인 tf.experimental.numpy가 추가되었습니다.</주석>”
  23. (p475) 첫 번째 코드 블럭에서 my_softplus 함수 옆의 주석을 “# tf.nn.softplus(z)와 반환값이 같습니다.“에서 “# tf.nn.softplus(z)가 큰 입력을 더 잘 다룹니다.“로 수정합니다.
  24. (p492) 22번 주석 끝에 다음 문장을 추가합니다. “이 예는 번역서 깃허브에 있는 custom_model_in_keras.ipynb 주피터 노트북을 참고하세요.”
  25. (p531) 13.3.3절 아래 첫 번째 문장 끝에 다음처럼 주석을 추가합니다. “… 노력하고 있습니다.<주석>옮긴이_ tf.keras.layers.experimental.preprocessing 아래 이미지 처리, 이미지 증식, 범주형 데이터에 관련된 전처리 층이 추가되었습니다.</주석>”
  26. (p633) 첫 번째 문단 마지막 부분에 “타깃(마지막 글자)를 분리하겠습니다”를 “타깃(마지막 100개의글자)를 분리하겠습니다”로 정정합니다.
  27. (p662) [식 16-2] 위 두 번째 줄에서 “아래쪽에 (전치되어) 표현되어 있습니다”를 “위쪽에 (전치되어) 표현되어 있습니다”로 정정합니다.
  28. (p663) 위에서 네 번째 줄에서 “왼쪽 아래 수직 점선으로”를 “왼쪽  수직 점선으로”로 정정합니다.
  29. (p711) [그림 17-19] 위의 “예를 들어 생성자의 출력을 ~ 풀링 층이 뒤따릅니다).” 문단을 다음 문단으로 교체합니다.
    “예를 들어 생성자의 출력을 4 × 4에서 8 × 8로 크게하려면(그림 17-19) 기존 합성곱 층(“합성곱 층 1”)에 (최근접 이웃 필터링을 사용한27) 업샘플링 층을 추가하여 8 × 8 크기 특성 맵을 출력합니다. 이 특성 맵이 새로운 합성곱 층(“합성곱 층 2”)으로 주입되고 다시 새로운 출력 합성곱 층으로 주입됩니다. “합성곱 층 1”의 훈련된 가중치를 잃지 않기 위해 ([그림 17-19]에 점선으로 표시된) 두 개의 새로운 합성곱 층을 점진적으로 페이드-인fade-in하고 원래 출력층을 페이드-아웃fade-out합니다. 이렇게 하기위해 새로운 출력(가중치 α)과 원래 출력(가중치 1 – α)의 가중치 합으로 최종 출력을 만듭니다. 비슷한 페이드-인fade-in/페이드-아웃fade-out 기법이 판별자에 새로운 합성곱 층을 추가할 때 사용됩니다(다운샘플링을 위해 평균 풀링 층이 뒤따릅니다). 모든 합성곱 층은 “same” 스트라이드 1을 사용하므로 입력의 높이와 너비를 보존합니다. 원래 합성곱 층도 마찬가지입니다. 따라서 (입력이 8 × 8이기 때문에) 8 × 8 출력을 만듭니다. 마지막으로 출력층의 커널 크기는 1입니다. 이를 사용해 입력을 필요한 컬러 채널 수 (일반적으로 3)로 투영합니다.”
  30. (p756) 위에서 3번째 줄에 “오차는 전이 (s, r, s’)가 매우 놀랍다는”를 오차는 전이 (s, a, s’)가 매우 놀랍다는”로 정정합니다.
  31. (p811) 주석 16번 끝에 다음 문장을 추가합니다. “텐서플로 2.4에서 GPU 메모리 사용량을 반환하는 tf.config.experimental.get_memory_usage() 함수가 추가되었습니다.”
  32. (p834) 첫 번째 문단 끝에 다음처럼 주석을 추가합니다. “… 훈련 코드를 실행합니다.<주석>옮긴이_MultiWorkerMirroredStrategy는 텐서플로 2.4에서 experimental을 벗어나 안정 API가 됩니다.</주석>” 또한 마지막 문단, 마지막 문장 끝에 다음처럼 주석을 추가합니다. “… 생성자에 전달하세요.<주석>옮긴이_ 텐서플로 2.4에서 CollectiveCommunication 클래스의 이름이 CommunicationImplementation로 바뀝니다.</주석>
  33. (p835) 두 번째 문단 끝에 다음처럼 주석을 추가합니다. “… 전략과 동일합니다).<주석>옮긴이_TPUStrategy는 텐서플로 2.3에서 experimental을 벗어나 안정 API가 되었습니다.</주석>
  34. (p849) 7번 문제 답의 마지막 항목에서 “\textbf{A}는 \textbf{A}'의 오른쪽에서 m \times n 단위 행렬 \textbf{I}_m이 추가되고 … 채워진 행렬입니다.”를 “\textbf{A}는 \textbf{A}'의 오른쪽에서 -\textbf{I}_m이 추가되고 … 채워진 행렬입니다(\textbf{I}_m은 m \times n단위 행렬).”로 정정합니다. 또한 바로 아래 A 행렬의 첫 번째 행 [\textbf{A}' \;\; \textbf{I}_m]을 [\textbf{A}' \,\, -\textbf{I}_m]으로 정정합니다.
  35. (p857) 6번 문제 답에서 2번째, 3번째 항목에 “가중치 벡터“를 “가중치 행렬“로 정정합니다.
  36. (p889) [식 C-4]의 우변의 두 항의 순서를 다음과 같이 바꿉니다.
    \sum_{i=1}^m \alpha^{(i)} - \dfrac{1}{2} \sum_{i=1}^m \sum_{j=1}^m \alpha^{(i)} \alpha^{(j)} t^{(i)} t^{(j)} \textbf{x}^{(i)^T} \textbf{x}^{(j)}
    그리고 [식 C-4] 아래 “여기서 \alpha^{(i)} \ge 0 \;\;\; i=1,2,\cdots,m 일 때”를 “여기서 \alpha^{(i)} \ge 0 \;\;\; i=1,2,\cdots,m 이고 \sum_{i=1}^m \alpha^{(i)} t^{(i)}=0 일 때”로 정정합니다.
    [식 C-4] 다음 문장에서 “이 함수를 최소화하고 … \hat{\alpha}^{(i)} \ge 0 벡터 …”를 “이 함수를 최대화하고 … \hat{\alpha}^{(i)} \ge 0이고 \sum_{i=1}^m \hat{\alpha}^{(i)} t^{(i)}=0 벡터 …”로 정정합니다.
    또한 [식 C-5] 아래에 “여기에서 n_s는 서포트 벡터의 개수입니다” 문장을 추가합니다.
  37. (p917) 첫 번째 문장 끝에 다음처럼 주석을 추가합니다. “… 그래프를 살펴보겠습니다.<주석>옮긴이_이 부록의 코드는 12장의 주피터 노트북에 포함되어 있습니다.</주석>”

TF Python 3.5 support drop, TF Java release

Python 3.5 버전의 지원이 2020년 9월에 종료됨에 따라 파이썬 3.5용 텐서플로도 10월부터 지원이 중지됩니다. 2020년 10월 13일부터 나이틀리(nightly) 패키지가 만들어지지 않고 향후 TF 릴리스에도 파이썬 3.5 버전은 더 이상 포함되지 않습니다. 현재 텐서플로는 파이썬 3.5, 3.6, 3.7, 3.8을 지원하고 있습니다.

텐서플로 Java 0.2.0 버전이 릴리스되었습니다. 이는 첫 번째 알파 버전으로 텐서플로 2.3.1 버전을 기반으로 구성되었습니다. 자바 사용자들에게는 기쁜 소식입니다. 하지만 자바 버전이 왜 필요한지 의문을 다는 사람도 있네요. 🙂

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

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

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

DL for CV & Tiny ML 강의

흥미로운 두 개의 강의를 소개해 드립니다.

스탠포드에서 cs231n Convolutional Neural Networks for Visual Recognition을 진행했던 Justin Johnson이 미시간 대학교로 옮겼군요. 미시간 대학에서 진행하는 강의는 Deep Learning for Computer Vision입니다. 지난해 가을 강의가 유투브에 모두 올라왔습니다. 최신 기술들도 많이 추가했다고 하니 이전에 cs231n을 들었더라도 리프레시하는 겸 들어보면 좋을 것 같네요. 삽엽충으로 시작하는 페이페이 리 교수의 슬라이드보다 시작부분이 좋습니다. 딥러닝 역사를 두 개의 타임라인으로 나란히 놓고 설명하는게 좋네요.

edx.org에서 HarvardX와 함께 Tiny ML 과정을 가을에 연다고 합니다(https://programs.edx.org/harvard-tiny-ml). 올 가을에 개강한다고 하니 관심이 있다면 메일링 리스트에 등록하는 것도 좋습니다. 임베디드 장치를 위한 머신러닝 강좌로 직접 아두이노를 활용하여 강의를 진행할 것으로 보입니다. 아마도 텐서플로 Lite를 사용하리라 생각됩니다! 🙂

[핸즈온 머신러닝 2판], [Do It! 딥러닝 입문], [파이썬을 활용한 머신러닝 쿡북], [머신러닝 교과서] 텐서플로 2.3.0 업데이트 안내

핸즈온 머신러닝 2판, Do It! 딥러닝 입문, 파이썬을 활용한 머신러닝 쿡북, 머신러닝 교과서의 깃허브 코드를 텐서플로 2.3.0에 맞추어 업데이트했습니다.

핸즈온 머신러닝 2판의 18장은 최신 tf-agents가 텐서플로 2.3.0과 호환되지 않아 업데이트되지 못했습니다.

케라스 2.4.0 버전이 릴리스되었습니다.

케라스 2.4.0 버전이 릴리스되었습니다. 이전에 언급된 대로 keras-team/keras 레파지토리는 더이상 멀티 백엔드를 지원하지 않습니다. 2.4.0 버전은 기존 구현 코드를 모두 삭제하고 대신 tensorflow.keras로 리다이렉션합니다. 향후에는 tensorflow.keras 구현이 keras-team/keras로 옮겨올 것 같습니다.

제가 번역한 책 중에 케라스 멀티 백엔드 케라스 버전을 사용하는 책은 <케라스 창시자에게 배우는 딥러닝>과 <미술관에 GAN 딥러닝>입니다. 케라스를 최신 버전으로 업데이트하면 코드 결과가 크게 달라질 수 있습니다. 대신 케라스 2.2.4 버전을 사용하세요.

$ pip install keras==2.2.4

감사합니다!

TensorFlow 2.1.0 Release

텐서플로 2.1.0이 릴리스되었습니다.

2.1.0 버전이 파이썬 2.7.x를 지원하는 마지막 버전입니다. tensorflow 패키지가 기본으로 GPU를 지원합니다. 이 패키지는 GPU 유무에 상관없이 동작합니다. 2.1.0버전부터 CUDA 10.1과 cuDNN 7.6 버전을 사용합니다. CPU만 사용하려면 tensorflow-cpu 패키지를 설치하세요.

윈도우용 텐서플로는 비주얼 스튜디오 2019 버전 16.4를 사용하여 빌드되었습니다. 이를 사용하려면 여기에서 “Microsoft Visual C++ Redistributable for Visual Studio 2015, 2017 and 2019″를 설치하세요.

추가된 기능과 버그 수정의 자세한 내용은 릴리스 노트를 참고하세요.

텐서플로 2.1 버전은 다음 명령으로 설치할 수 있습니다.

# for cpu and gpu
$ pip install --upgrade tensorflow
# cpu-only
$ pip install --upgrade tensorflow-cpu

TensorFlow 2.1.0 RC0 Release

업데이트: 텐서플로 2.1.0 RC2가 릴리스되었습니다. CUDA 10.1 버전을 사용해야 합니다.

업데이트: 텐서플로 2.1.0 RC1이 릴리스되었습니다.

텐서플로 2.1.0 RC0이 릴리스되었습니다. 텐서플로 1.15.0 버전부터 CPU와 GPU 버전이 통합되었습니다. CPU 버전만 설치하려면 tensorflow-cpu 패키지를 설치하세요.

2.1.0 버전이 파이썬 2.7.x를 지원하는 마지막 버전입니다. 내년 1월에 파이썬 2.7.x에 대한 지원을 중단합니다.

tf.keras 모델의 fit_generator, evaluate_generator, predict_generator, train_on_batch, test_on_batch, predict_on_batch 메서드가 즉시실행 모드를 위한 run_eagerly 메서드를 지원합니다. 기본값인 tf.function 방식도 버그 수정되었습니다.

fit_generator, evaluate_generator, predict_generator 메서드는 deprecated 됩니다. 대신 제너레이터와 시퀀스 데이터를 받을 수 있는 fit, evaluate, predict 메서드를 사용하세요.

2.0 버전에 추가된 Normalization 클래스를 포함하여 TextVectorization 클래스가 2.1 버전에 tf.keras API에 포함되었습니다. tf.keras.preprocessing 패키지의 사용 방법에 대한 간단한 예시는 ‘텐서플로 2.0 무엇이 바뀌었을까요?‘ 슬라이드 39번을 참고하세요.

2.1 버전에서 클라우드 TPU를 지원합니다. 하지만 아직 실험적입니다. 그외 많은 기능이 개선되고 변경되었습니다. 자세한 내용은 릴리스 노트를 참고하세요.

텐서플로 2.1.0 RC 버전은 다음 명령으로 설치할 수 있습니다.

$ pip install --upgrade --pre tensorflow

GDE Summit + TensorFlow World를 다녀와서

올해 봄 ML GDE가 되고 나서 처음 구글 행사에 초청을 받아 다녀왔습니다. GDE 서밋은 전 세계 GDE(Google Developer Expert)를 초청하는 행사입니다. 웹, 안드로이드, 클라우드, 머신러닝 등 다양한 분야에서 많은 GDE들이 활동하고 있습니다.

GDE는 구글을 대표하거나 구글 제품의 홍보 대사가 아닙니다. 각 분야에서 구글 제품을 사용하는 개발자들을 돕고 구글 제품에 대해 다양한 의견을 제시하는 봉사자이자 전문가 집단입니다. 구글은 GDE의 활동을 지원하고 개인의 역량을 높일 수 있도록 돕고 있습니다.

IMG_0963.JPG

이 중에서도 머신러닝 GDE들의 숫자가 가장 크게 늘어나고 있습니다. 머신러닝 분야 자체가 성장하고 있기도 하지만 머신러닝 GDE들이 정말 활발히 활동하는 것 같습니다. 다른 분야와 다르게 컴퓨터 과학 뿐만 아니라 다양한 이력을 가진 GDE들이 많았습니다. 분야별 토론에서도 머신러닝 GDE들은 끝까지(!) 가장 활발하게 토론을 이어갔습니다. 때로는 날카로운 비판도 서슴치 않았습니다.

하지만 단지 비판이나 의견 제시에 끝나지 않습니다. 세부 토론을 거쳐 그 자리에서 개발자들을 도울 수 있는 아이디어를 내고 스스로 조직화할 계획을 세웠습니다. 놀랍지 않은가요? 이 자리에 참여할 수 있다는 것만으로도 정말 큰 영광입니다. 혹시 여러분이 구글러로부터 GDE를 해보라고 추천받는다면 두 번 생각할 것도 없습니다. IT 분야에서 가장 멋진 경험을 시작할 수 있는 기회가 생긴 것입니다. 🙂

올해 처음 열린 TensorFlow World 컨퍼런스는 오라일리가 주관하는 행사입니다. 이 컨퍼런스는 GDE 서밋이 끝나고 바로 다음날 이어서 서니베일 근처의 호텔에서 진행되었습니다. 감사하게도 일부 머신러닝 GDE들에게 컨퍼런스를 참여할 수 있는 기회가 제공되었습니다.

IMG_0922.jpg

텐서플로 월드에서 많은 세션이 열렸습니다. 머신러닝 파이프라인을 위한 TensorFlow Extended(TFX), 웹 브라우저 기반의 머신러닝 작업을 위한 TensorFlow.js, 안드로이드는 물론 아두이노와 IoT 기기를 위한 TensorFlow Lite에 대한 내용이 많았습니다. 앞으로 많은 스토리가 등장할 분야임에 틀림없는 것 같습니다. 텐서플로 월드에서 열린 일부 세션은 유튜브에서 볼 수 있습니다.

텐서플로 월드는 총 4일 동안 진행되었습니다. 1,2일차에는 교육, 튜토리얼, 컨트리뷰터 서밋이 열렸습니다. 저는 TensorFlow.js, Swift for TensorFlow 튜토리얼과 컨트리뷰터 서밋에 참가했습니다. 튜토리얼은 오전, 오후에 각 3시간씩 진행되었습니다. TensorFlow.js 튜토리얼은 단순히 코드랩을 따라하는 형식으로 진행되었기 때문에 아쉬웠습니다. Swift for TensorFlow는 스위프트 언어 자체와 텐서플로를 모두 다루어야 했기 때문에 시간이 절대적으로 부족했습니다.

텐서플로 문서 번역에 기여한 기회로 텐서플로 컨트리뷰터 서밋에도 참여했습니다. 다양한 SIG 그룹에 대해 자세히 알 수 있었습니다. 또 텐서플로 문서 관리자인 빌리와도 반갑게 인사를 나누고 인증샷을 찍었죠(생각보다 훨씬 키가 크더군요)!

IMG_1027.JPG

컨트리뷰터 서밋에서 “I contribute to TensorFlow” 배지를 나누어 주어서 백팩에 자랑스럽게 붙였습니다. 돌아오는 비행기에서 짐을 넣을 자리가 부족해 승무원이 옆 자리 칸에 올려 주었는데 나중에 확인해 보니 검은 배지가 사라졌습니다! ㅠ.ㅠ 아마도 공간이 부족해서 가방을 밀어 넣다 보니 떨어져서 어딘가에 굴러다닐 것으로 생각되었습니다. 찾지 못하면 너무 아쉬울 것 같았습니다.

도착 몇 시간을 남겨 놓고 승객들이 모두 내리면 같이 찾아보자고 승무원에게 부탁했습니다. 그런데 한 승무원이 바닥에 떨어진 배지를 본 것 같다며 주위 바닥을 모두 샅샅이 뒤져서 찾아 주었습니다! 정말 어찌나 고맙던지요!

IMG_5552.JPG

몸은 피곤했지만 (집에 와서 14시간을 잤습니다 @.@) 정말 큰 동기부여를 얻은 좋은 기회였습니다. 같이 참석했던 다른 GDE들을 보면서 부족함을 많이 느꼈습니다. 그렇다고 너무 주눅들거나 겁낼 필요는 없습니다. 항상 발전해 가는 과정 자체가 즐거움이니까요! 😀

‘미술관에 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]

감사합니다!!!