Top

텐서플로와 케라스로 구현하는 딥러닝 3/e

  • 원서명Deep Learning with TensorFlow and Keras: Build and deploy supervised, unsupervised, deep, and reinforcement learning models, 3rd Edition (ISBN 9781803232911)
  • 지은이아미타 카푸어(Amita Kapoor), 안토니오 걸리(Antonio Gulli), 수짓 팔(Sujit Pal)
  • 옮긴이이병욱
  • ISBN : 9791161757773
  • 50,000원
  • 2023년 08월 28일 펴냄
  • 페이퍼백 | 860쪽 | 188*235mm
  • 시리즈 : 데이터 과학

책 소개

본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.

소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
https://github.com/AcornPublishing/tensorflow-keras-deeplearning-3e

요약

딥러닝에 관련된 거의 모든 최신 기술을 설명한다. 회귀부터 시작해 딥러닝의 기초를 설명하고, 컨볼루션 신경망, 순환 신경망, LTSM, 자연어 처리, 이미지 합성 등에 대한 최신 기술 동향을 소개한다. 특히 현재 활발히 연구 중인 AutoML 분야의 현황과 구글 클라우드를 이용한 AutoML 실습도 다루며, 확률적 텐서플로와 그래프 신경망에 대해서도 친절하게 안내한다.
풍부한 예제를 통해 케라스가 완전 통합된 텐서플로의 사용 방법을 다양한 응용분야에 걸쳐 직접 구축해볼 수 있다. GAN을 통한 필기체 숫자의 생성, RNN과 LTSM이 나오게 된 배경 및 어떤 문제를 해결하고자 했는지에 대한 배경 설명을 듣고 나면 다양한 각도에서 딥러닝을 이해하게 될 것이다.
트랜스포머를 별도로 다루는 새로운 장을 추가했고, BERT, GPT-2, GPT3, Reformer 등 다양한 언어 모델에 대한 상세한 설명과 비교 및 Huggin Face 라이브러리를 통한 다양한 언어 예제 등 2판에 비해 여러 내용을 보강했다. 그래프 신경망 또한 예제와 함께 그 기능과 특징을 자세히 설명한다.

추천의 글

“이해하기 쉽게 잘 쓰였으며 이론과 실제 사이에서의 균형이 잘 잡힌 훌륭한 책이다.
소프트웨어 개발자를 위한 매우 흥미로운 머신러닝 입문서다.”
─프랑소와 숄레(François Chollet), 케라스 창시자

이 책에서 다루는 내용

◆ 텐서플로로 보편적인 GNN을 사용한 그래프 마이닝 과제 해결 방법
◆ 사전 학습 단계부터 평가하는 미세-튜닝 단계까지 트랜스포머의 세계 탐구
◆ 자기-지도학습을 적용한 자연어 처리, 컴퓨터 비전, 자동 신호 처리 방법
◆ TensorFlow Probability를 이용한 확률과 딥러닝 모델 병합
◆ 클라우드에서 모델을 훈련하고 텐서플로를 실제 환경에서 작동시키는 방법
◆ 텐서플로 2.x와 케라스 API를 통한 머신러닝과 딥러닝 모델 구축

이 책의 대상 독자

머신러닝 경험이 있는 데이터 과학자이거나 신경망에 어느 정도 노출된 AI 프로그래머라면 이 책이 TensorFlow를 사용한 딥러닝에 대한 유용한 시작점임을 알게 될 것이다. 딥러닝 쓰나미에 대한 관심이 높아지고 있는 소프트웨어 엔지니어라면 이 책이 해당 주제에 대한 지식을 넓힐 수 있는 기초 플랫폼이 될 것이다. 이 책을 읽으려면 Python에 대한 기본 지식이 필요하다.

이 책의 구성

1장은 머신러닝 및 딥러닝을 위해 Google에서 개발한 오픈 소스 라이브러리인 텐서플로의 기본 사항을 배운다. 또한 지난 몇 년 동안 놀라운 성장을 이룬 머신러닝의 두 가지 영역인 신경망과 딥러닝의 기초를 소개한다. 1장의 기본 목적은 기본적이지만 완전한 딥러닝 실습을 수행하는 데 필요한 모든 도구를 소개하는 것이다.
2장은 머신러닝 기술의 기본 작업인 회귀와 분류에 중점을 둔다. 텐서플로를 사용해 단순, 다중 및 다변량 회귀 모델을 구축하는 방법을 배운다. 또한 다중 클래스 분류 문제를 해결하기 위해 로지스틱 회귀를 사용한다.
3장은 MNIST 필기 문자를 높은 정확도로 인식하기 위해 딥러닝 ConvNet을 사용하는 방법을 다룬다. CIFAR 10 데이터셋을 사용해 10개의 카테고리로 딥러닝 분류기를 구축하고 ImageNet 데이터셋으로 1,000개의 카테고리로 정확한 분류기를 구축할 것이다. 또한 VGG16과 같은 대규모 딥러닝 네트워크와 InceptionV3와 같은 매우 깊은 네트워크를 사용하는 방법을 조사한다. 아울러 전이학습에 대한 논의로 마무리한다.
4장은 분산 표현과 단어 임베딩의 기원과 이론을 소개한다. 그다음 문장과 단락을 기반으로 하는 정적 단어 기반 임베딩보다 더 역동적이고 표현적인 단어 임베딩의 진행 상황을 차트로 설명한다. 또한 그래프의 노드 또는 웹 애플리케이션의 사용자 세션과 같이 단어가 아닌 시퀀스도 포함하도록 단어 임베딩의 아이디어를 확장할 수 있는 방법을 살펴본다. 다양한 종류의 단어 임베딩을 사용하는 여러 예 역시 포함한다.
5장에서는 순환 신경망을 다루며, 자연어 또는 시계열과 같은 시퀀스 데이터를 처리하는 데 최적화된 신경망의 중요한 아키텍처 하위 부류에 대해 설명한다. LSTM(Long Short-Term Memory) 및 GRU(Gated Recurrent Unit)와 같은 중요한 아키텍처를 설명하고 양방향 상태 및 일괄 처리 상태를 처리하도록 확장할 수 있는 방법을 보여준다. 또한 텍스트 생성, 감정 분석 및 품사 태깅과 같은 특정 작업에 대한 다양한 토폴로지와 함께 RNN을 사용하는 예를 소개한다. 또한 인코더-디코더 파이프라인에서 한 쌍의 RNN을 사용해 다양한 NLP 작업을 해결하는 인기 있는 seq2seq 아키텍처에 대해서도 설명한다.
6장에서는 전통적인 자연어 처리 분야를 혁신한 딥러닝 아키텍처인 트랜스포머를 다룬다. 먼저 가장 인기 있는 모델에 대한 심층 분석과 함께 아키텍처 및 다양한 범주의 트랜스포머에 대한 핵심 직관을 검토하는 것으로 시작한다. 그런 다음 Hugging Face 및 TensorFlow Hub와 같은 인기 있는 라이브러리와 바닐라 아키텍처를 기반으로 하는 구현에 중점을 둔다. 그다음 평가, 최적화 및 트랜스포머를 사용할 때 일반적으로 채택되는 몇 가지 모범 사례에 대해 간략하게 설명한다. 마지막 절은 트랜스포머를 사용해 NLP와 완전히 다른 영역인 컴퓨터 비전 작업을 수행하는 방법을 검토하는 데 전념한다. 이를 위해서는 어텐션(attention) 메커니즘에 대한 신중한 정의가 필요하다. 결국, “필요한 것은 어텐션이 전부다”. 그리고 관심의 핵심에는 벡터 간의 코사인 유사성 외에는 아무것도 없다.
7장에서는 비지도학습 모델에 대해 자세히 설명한다. PCA, k-평균 및 자체 구성 맵과 같은 클러스터링 및 차원 감소에 필요한 기술을 다룬다. 볼츠만(Boltzmann) 머신과 텐서플로를 사용한 구현에 대해 자세히 설명한다. 다루는 개념은 RBM(Restricted Boltzmann Machines) 구축으로 확장된다.
8장에서는 입력을 대상으로 재생성하려는 신경망 부류인 오토인코더에 대해 설명한다. 희소 오토인코더, 컨볼루션 오토인코더, 디노이징(denosing) 오토인코더와 같은 다양한 종류의 오토인코더를 다룰 것이다. 여기서는 잡음 제거 자동 인코더를 훈련해 입력 이미지에서 잡음을 제거한다. 오토인코더를 사용해 MNIST 숫자를 생성하는 방법을 보여준다. 또한 문장 벡터를 생성하기 위해 LSTM 자동 인코더를 구축하는 것과 관련된 단계도 다룬다. 마지막으로, 이미지를 생성하기 위해 가변 오토인코더를 구축하는 방법을 배운다.
9장에서는 생성적 적대 신경망(GAN)에 중점을 둔다. 먼저 첫 번째 제안된 GAN 모델로 시작해 MNIST 문자를 위조하는 데 사용한다. 또한 심층 컨볼루션 GAN을 사용해 유명인 이미지를 만드는 방법을 보여준다. 그리고 SRGAN, InfoGAN 및 CycleGAN과 같은 다양한 GAN 아키텍처에 대해 설명한다. 다양하고 멋진 GAN 애플리케이션도 다룬다. 마지막으로 겨울-여름 이미지를 변환하기 위해 CycleGAN의 텐서플로 구현으로 결론을 내린다.
10장에서는 컴퓨터 비전, 오디오 및 자연어 처리에서 자기-지도학습에 사용되는 다양한 전략에 대한 개요를 제공한다. 자기회귀 생성, 마스킹된 생성, 관계 예측 및 이러한 접근 방식의 하이브리드와 같은 전략을 통한 자기 예측을 다룬다. 또한 자기-지도학습을 위한 인기 있는 기술인 대조학습과 다양한 응용 분야의 다양한 구실 작업에 대한 응용을 다룬다.
11장에서는 Q-러닝 알고리듬과 벨만(Bellman) 방정식을 다루는 강화학습에 중점을 둔다. 할인된 보상, 탐색 및 활용, 할인 요소를 다룬다. 또한 정책 기반 및 모델 기반 강화학습에 대해 설명한다. 아타리(Atari) 게임을 플레이하기 위해 DQN(Deep Q-Learning Network)을 구축할 것이다. 마지막으로 정책 기울기 알고리듬을 사용해 에이전트를 교육하는 방법을 배운다.
12장에서는 확률론적 추론과 통계 분석을 수행하기 위해 텐서플로 위에 구축된 라이브러리인 텐서플로 확률을 소개한다. TensorFlow Probability를 사용해 합성 데이터를 생성하는 방법을 보여준다. 베이즈 네트워크를 구축하고 추론을 수행한다. 12장에서는 또한 불확실성, 우발적 및 인식적 개념과 훈련된 모델의 불확실성을 계산하는 방법을 소개한다.
13장에서는 기계학습 기술에 익숙하지 않은 도메인 전문가가 머신러닝 기술을 쉽게 사용할 수 있도록 하는 것을 목표로 하는 AutoML을 소개한다. 먼저 Google Cloud Platform을 사용해 실습을 진행하고 기본 사항에 대해 간략히 논의한 후 실질적인 실습 작업을 수행한다. 자동 데이터 준비, 자동 기능 엔지니어링 및 자동 모델 생성을 다룬다. 그런 다음 테이블, 비전, 텍스트, 번역 및 비디오 처리를 위한 여러 솔루션과 함께 오토케라스 및 Google Cloud AutoML을 소개한다.
14장에서는 딥러닝의 이면의 수학을 다룬다. 이 주제는 상당히 고급 과정이므로 실무자에게 반드시 필요하진 않다. 그러나 신경망을 다룰 때 “내부적으로” 어떤 일이 일어나고 있는지 이해하고자 한다면 읽어보길 권한다. 역사적 소개부터 시작해 미분과 그래디언트의 고등학교 수준의 개념을 검토하고 딥러닝 네트워크를 최적화하는 데 일반적으로 사용되는 그래디언트 디센트 및 역전파 알고리듬을 소개한다.
15장에서는 TPU에 대해 설명한다. TPU는 초고속 방식으로 신경망 수학 연산을 실행하기 위해 Google에서 개발한 매우 특별한 ASIC 칩이다. 연산의 핵심은 여러 내적(행*열)을 병렬로 계산하는 수축기 승수이므로 기본 딥러닝 작업의 계산을 가속화한다. TPU를 행렬 또는 텐서 작업에 초점을 맞춘 딥러닝을 위한 특수 목적의 보조 프로세서로 생각하라. 지금까지의 4세대 TPU와 추가 IoT용 Edge TPU를 검토할 것이다.
16장에서는 다른 딥러닝 프레임워크를 소개한다. Hugging Face, OpenAI의 GPT3 및 DALL-E 2를 살펴본다. 또 다른 인기 있는 딥러닝 프레임워크인 PyTorch를 소개한다. 또한 H2O.ai와 AutoML 모듈도 다룬다. 아울러 딥러닝 모델을 위한 ONNX 오픈 소스 형식에 대해서도 간략하게 설명한다.
17장에서는 그래프 신경망과 인기 있는 딥 그래프 라이브러리(DGL)를 특히 강조하면서 그래프와 그래프 기계학습을 소개한다. 먼저 GNN(및 DGL에서 사용 가능)에서 사용되는 일반적으로 사용되는 다양한 그래프 계층의 이론을 설명하고 노드 분류, 링크 예측 및 그래프 분류에 사용되는 GNN의 예를 제공한다. 또한 고유한 그래프 데이터셋으로 작업하고 그래프 계층을 사용자 지정해 새로운 GNN 아키텍처를 생성하는 방법도 보여준다. 그다음 이기종 그래프 및 시간 그래프와 같은 Graph ML 분야의 최첨단 발전을 다룬다.
18장에서는 훈련과 제품에서 최상의 모델을 얻기 위해 따라야 할 전략과 사례에 중점을 둔다. 여기서는 데이터 관련 사례와 모델 관련 사례라는 두 가지 관점에서 모범 사례를 설명한다.
19장에서는 텐서플로 생태계의 다양한 구성 요소를 설명한다. 사전 학습된 딥러닝 모델의 저장소인 TensorFlow Hub를 소개한다. 여기서는 바로 사용할 수 있는 데이터셋 모음인 텐서플로 데이터셋에 관해 설명한다. 또한 모바일 및 임베디드 시스템과 웹을 위한 프레임워크인 TensorFlow Lite 및 TensorFlow JS에 대해서도 이야기할 것이다. 마지막으로 분산형 기계학습 프레임워크인 연합 학습에 대해 설명한다.
20장에서는 CNN(컨볼루션 신경망)의 고급 사용법을 보여준다. CNN이 컴퓨터 비전, 비디오, 텍스트 문서, 오디오 및 음악 영역 내에서 어떻게 적용될 수 있는지 탐구할 것이다. 그리고 컨볼루션 연산을 요약하는 절로 마무리한다.

상세 이미지

저자/역자 소개

지은이의 말

『텐서플로와 케라스로 구현하는 딥러닝 3/e』은 소프트웨어 엔지니어와 데이터 과학자를 위해 특별히 설계된 최신 신경망, 인공지능 및 딥러닝 기술에 대한 간결하면서도 알찬 소개서다. 이 책은 같은 저자가 쓴 『텐서플로 2와 케라스로 구현하는 딥러닝 2/e』(에이콘, 2020) 및 『TensorFlow 1.x Deep Learning Cookbook』(Packt, 2017)의 후속작이다.
지난 6년 동안 학습 기술이 어떻게 진화했는지 매우 상세한 파노라마를 보여준다. 아울러 케라스와 유사한 API를 기반으로 하는 모듈식 네트워크 라이브러리인 텐서플로 2.x를 사용해 파이썬으로 코딩된 수십 개의 작동하는 심층 신경망을 제시한다.
인공지능(AI)은 이 책에서 논의하는 모든 것의 토대다. 머신러닝(ML, Machine Learning)은 AI의 한 부류이며 딥러닝(DL, Deep Learning)은 머신러닝의 하위 집합이다. 이 절에서는 이 책의 나머지 부분에서 정기적으로 접하게 될 세 가지 개념에 대해 간략하게 설명한다.
AI는 일반적으로 인간이 보여주는 지능형 행동을 기계가 모방하는 모든 활동을 나타낸다. 보다 형식적으로는 기계가 학습 행동, 환경과의 능동적 상호 작용, 추론 및 추측, 컴퓨터 비전, 음성 인식, 문제 해결, 지식 표현 및 인식과 같은 인지 기능을 복제하는 것을 목표로 하는 연구 분야다. AI는 인간 행동을 연구하는 심리학 및 기타 과학뿐만 아니라 컴퓨터 과학, 수학 및 통계의 요소를 기반으로 한다. AI를 구축하기 위한 전략은 여러 가지가 있다. 1970년대와 1980년대에 “전문가” 시스템은 엄청난 인기를 끌었다. 이러한 시스템의 목표는 수동으로 정의된 많은 수의 if-then 규칙으로 지식을 표현해 복잡한 문제를 해결하는 것이었다. 이 접근 방식은 매우 구체적인 도메인의 작은 문제에는 효과가 있었지만 더 큰 문제와 복합적인 도메인까지 확장할 수는 없었다. 나중에 AI는 머신러닝의 일부인 통계 방법을 기반으로 하는 노하우에 점점 더 집중했다.
머신러닝은 특정 작업을 위해 프로그래밍할 필요 없이 컴퓨터에게 학습 방법을 가르치는 데 중점을 둔 AI의 하위 분야다. 머신러닝의 핵심 아이디어는 데이터에서 학습하고 예측하는 알고리듬을 만들 수 있다는 것이다. 머신러닝에는 크게 세 가지 범주가 있다.
◆ 지도학습은 기계에 입력 데이터와 원하는 출력이 제공되는 것으로서, 목표는 기계가 교육 예제를 통해 이전에 관찰한 적이 없는 데이터에 대해 의미 있는 예측을 할 수 있는 방식으로 학습하는 것이다.
◆ 비지도학습은 기계에 입력 데이터만 제공되고 이후에 기계가 외부 지도나 입력 없이 자체적으로 의미 있는 구조를 찾는다.
◆ 강화학습은 기계가 환경과 상호 작용하는 에이전트 역할을 한다. 기계는 원하는 방식으로 행동하면 “보상”을, 원하지 않는 방식으로 행동하면 “처벌”을 받는다. 기계는 그에 따라 행동을 개발하는 방법을 학습해 보상을 극대화하려고 시도한다.
딥러닝은 2012년에 전 세계를 강타했다. 그해에 ImageNet 2012 챌린지는 손으로 레이블을 붙인 대규모 데이터셋의 하위 집합을 사용해 사진의 내용을 예측하는 것을 목표로 시작됐다. AlexNet이라는 딥러닝 모델은 상위 5개 오류율 15.3%를 달성했으며, 이는 이전의 최신 결과에 비해 크게 개선된 것이다. 「이코노미스트」에 따르면 갑자기 사람들이 AI 커뮤니티뿐만 아니라 기술 산업 전반에 걸쳐 관심을 갖기 시작했다.
이는 시작에 불과했다. 오늘날 딥러닝 기술은 의료, 환경, 녹색 에너지, 컴퓨터 비전, 텍스트 분석, 멀티미디어, 금융, 소매, 게임, 시뮬레이션, 산업, 로봇 공학 및 자율주행 자동차와 함께 그보다 더 많은 여러 종류로 이뤄진 영역에 성공적으로 적용된다. 이러한 각 영역에서 딥러닝 기술은 이전 방법으로는 불가능했던 정확도 수준으로 문제를 해결할 수 있다.
지난 8년간 딥러닝이 과학과 산업에 기여한 범위를 돌이켜보면 흥미진진하다. 향후 8년 동안 기여도가 줄어들 것이라고 믿을 이유가 없다. 실제로 딥러닝 분야가 계속 발전함에 따라 딥러닝은 제공하는 훨씬 더 흥미롭고 매력적인 기여를 보게 될 것으로 기대한다.
이 책은 딥러닝의 마법을 소개한다. 먼저 간단한 모델로 시작해 점진적으로 더 정교한 모델을 도입할 것이다. 접근 방식은 작업하기 적절한 양의 코드를 사용해 항상 직접 손으로 작업할 것이다.

지은이 소개

아미타 카푸어(Amita Kapoor)

신경망 및 인공지능 분야의 연구를 가르치고 관리했다. 인도 델리대학교에서 부교수로 20년 이상 재직했으며 현재 프리랜서로 활동하고 있다. AI 컨설턴트이며 AI 및 EdTech 분야에서 일하는 다양한 조직에 전문 지식을 제공하고 있다.

안토니오 걸리(Antonio Gulli)

혁신과 실행에 있어 전체적 기술과 관리를 구축하는 데 열정을 갖고 있다. 핵심 전문 분야는 클라우드 컴퓨팅, 딥러닝과 검색엔진이다. 현재 스위스 취리히의 Google 클라우드 오피스 CTO로 재직 중이며 검색, 클라우드 인프라, 데이터 독립 대화형 AI를 연구하고 있다. 이전에는 EMEA의 CTO 사무실에서 근무했다. Google 바르샤바에서 관리자로 일하는 동안 GCE, 쿠버네티스, 서버리스, 보르그, 콘솔에서 클라우드 관리 팀에 집중하며 450명이 넘는 엔지니어 집단으로 성장시켰다.
지금까지 운 좋게 유럽 4개국에서 전문적인 경험을 얻을 수 있었고 EMEA의 6개국과 미국에서 팀을 관리했다.
◆ 암스테르담의 주요 과학 출판사인 Elsevier에서 부사장으로서 과학 출판을 이끌었다.
◆ 런던에서는 Microsoft Ask.com의 CTO로서 Bing 검색 작업을 수행하는 엔지니어링 사이트 책임자로 일했다.
◆ 이탈리아와 영국에서는 Ask.com 유럽의 CTO였다.
◆ 폴란드, 영국, 스위스에서는 Google에 근무했다.
검색, 스마트 에너지, 환경, AI에서 공동 발명한 수많은 기술이 있으며 11개 특허가 등록(21개 출원)됐고 코딩과 머신러닝에 관한 다수의 책을 저술했으며 이는 일본어와 중국어로도 번역됐다.

수짓 팔(Sujit Pal)

Reed-Elsevier 그룹 내 고급 기술 그룹인 Elsevier Labs의 기술 연구 이사다. 관심 분야는 문맥 검색, 자연어 처리, 머신러닝, 딥러닝이다. Elsevier에서 여러 머신러닝 이니셔티브(initiatives)를 수행했는데 검색 품질 측정과 개선, 이미지 분류와 중복 탐지, 어노테이션, 의학과 과학 말뭉치에 대한 온톨로지 개발 등을 수행했다.

옮긴이의 말

이 책은 딥러닝 기초부터 최신 기술 동향까지 한눈에 쉽게 파악할 수 있도록 구성돼 있으며, 전작을 증보한 3판이다. 특히 Keras를 완전 통합한 TensorFlow 2.0에 대한 풍부한 예제와 함께 현재 활발히 연구가 진행 중인 AutoML까지 다루고 있던 2판에서 4개의 장이 더 늘어나면서 그래프 신경망의 소개, 최신 TPU version 4.0의 소개, 확률적 TensorFlow의 소개가 늘어났으며, 2판에 있던 여러 예제도 최신 내용으로 많이 갱신됐다. 또한 2판에 다소 산재해 있던 몇 가지 개념은 독립시키거나 다시 정리해, 한결 더 쉽게 다가오도록 했다. 새로 추가한 6장, ‘트랜스포머’ 등을 통해 최근 가장 주목받고 있는 챗GPT 등에 대한 개념도 더욱 굳건히 이해할 수 있을 것이다. 또한 그래프 신경망도 별도의 장으로 추가돼 여러 예제와 함께 소개하고 있다.
이 책은 딥러닝을 처음 시작하는 사람에게도 어렵지 않을 정도로 친절히 안내하면서도 딥러닝의 핵심인 역전파의 이면에서 벌어지고 있는 수학적 의미에 대한 해부에 한 장을 할애할 정도로 전문적인 설명 역시 빠트리지 않고 있다. 편안한 마음으로 책을 읽고 나면 어느새 TensorFlow에 대한 최신 전문가가 될 수 있을 것이다.

옮긴이 소개

이병욱

서울과학종합대학교 디지털금융 주임교수
한국과학기술원(KAIST) 겸직교수
한국금융연수원 겸임교수
인공지능연구원(AIRI) 부사장
- 금융위원회 금융규제혁신회의 위원
- 금융위원회 법령해석심의위원회 위원
- 금융위원회 디지털자산 자문위원
- 한국산업기술진흥원(KIAT) ‘규제자유특구 분과위원회’ 위원
- 과기정통부 우정사업본부 정보센터 네트워크 & 블록체인 자문위원
한국과학기술원(KAIST) 전산학과
전) BNP 파리바 카디프 전무
전) 삼성생명 마케팅 개발 수석
전) 보험넷 Founder & CEO
전) LG전자 연구원

서울과학종합대학원 디지털금융 주임교수와 카이스트 겸직교수, 한국금융연수원 겸임교수를 맡고 있으며 인공지능연구원(AIRI)의 부사장으로도 재직 중이다. 한국과학기술원(KAIST) 전산학과 계산이론 연구실에서 공부했으며 공학을 전공한 금융 전문가로, 세계 최초의 핸드헬드-PC 개발에 참여해 한글 윈도우 CE1.0과 2.0을 미국 마이크로소프트 본사에서 공동 개발했다. 1999년에는 전 보험사 보험료의 실시간 비교 서비스를 제공하는 핀테크 전문회사 ㈜보험넷을 창업했고 이후 삼성생명을 비롯한 생명 및 손해 보험사에서 CMO(마케팅 총괄 상무), CSMO(영업 및 마케팅 총괄 전무) 등을 역임하면서 혁신적인 상품과 서비스를 개발, 총괄했다.
세계 최초로 파생상품인 ELS를 기초 자산으로 한 변액 보험을 개발해 단일 보험 상품으로 5천억 원 이상 판매되는 돌풍을 일으켰고, 매일 분산 투자하는 일 분산 투자(daily Averaging) 변액 보험을 세계 최초로 개발해 상품 판매 독점권을 획득했다. 인공지능 연구원에서 머신러닝 기반의 금융 솔루션 개발에 관련된 다양한 활동을 하고 있으며, 금융위원회, 금융정보분석원 등에 다양한 자문을 하고 있다.
저서로는 『비트코인과 블록체인, 탐욕이 삼켜버린 기술』(에이콘, 2018)과 대한민국학술원이 2019 교육부 우수학술도서로 선정한 『블록체인 해설서』(에이콘, 2019)와 한국금융연수원의 핀테크 전문 교재인 『헬로, 핀테크!』(공저, 2020), 『헬로핀테크-인공지능편』(2021)이 있다.

목차

목차
  • 1장. TF와 신경망 기초
    • TensorFlow(TF)란 무엇인가?
    • Keras란 무엇인가?
    • 신경망 소개
    • 퍼셉트론
      • TensorFlow 첫 코드 예제
    • 다층 퍼셉트론 - 신경망 첫 예제
      • 퍼셉트론 훈련의 문제점과 그 해결책
      • 활성화 함수 - 시그모이드
      • 활성화 함수 - tanh
      • 활성화 함수 - ReLU
      • 추가적인 2개의 활성화 함수 - ELU와 LeakyReLU
      • 활성화 함수들
      • 간단히 말해 - 결국 신경망이란 무엇인가?
    • 실제 예제 - 필기체 숫자 인식
      • 원-핫 인코딩
      • TensorFlow로 단순 신경망 정의
      • 단순 TensorFlow망 실행과 베이스라인 구축
      • TensorFlow의 단순 신경망을 은닉층으로 개선
      • TensorFlow에서 드롭아웃으로 단순망 개선
      • TensorFlow에서 서로 다른 최적기 테스트
      • 에폭 수 증가시키기
      • 최적기 학습률 조절
      • 내부 은닉층 개수 증가
      • 배치 계산 크기 증가
      • 필기체 인식 실행 차트 요약
    • 규제화
      • 과적합을 피하기 위한 규제화 적용
      • 배치 정규화의 이해
    • Google Colab 사용 - CPUs, GPUs, TPUs
    • 감정 분석
      • 초매개변수 튜닝과 AutoML
    • 출력 예측
    • 역전파에 대한 실용적 개괄
    • 지금까지 배운 것?
    • 딥러닝 접근법을 향해
    • 요약
    • 참고문헌

  • 2장. 회귀와 분류
    • 회귀란 무엇인가?
    • 선형회귀를 사용한 예측
      • 단순 선형회귀
      • 다중 선형회귀
      • 다변량 선형회귀
    • 선형회귀를 위한 신경망
      • TensorFlow Keras를 사용한 단순 선형회귀
      • TensorFlow Keras API를 사용한 다중과 다변량 선형회귀
    • 분류 과제와 결정 경계
      • 로지스틱 회귀
      • MNIST 데이터셋에 로지스틱 회귀 적용
    • 요약
    • 참고문헌

  • 3장. 컨볼루션 신경망
    • 심층 컨볼루션 신경망
      • 지역 수용 필드
      • 가중치 공유 및 편향
      • 수학적 예제
      • TensorFlow의 ConvNets
      • 풀링 계층
        • 최댓값 풀링
        • 평균값 풀링
      • ConvNets 요약
    • DCNN의 예시 - LeNet
      • TF에서 LeNet 코드
      • 딥러닝의 위력 이해하기
    • 딥러닝으로 CIFAR-10 이미지 인식
      • 심층 신경망으로 CIFAR-10 성능 향상
      • 데이터 증강을 통해 CIFAR-10 성능 개선
      • CIFAR-10으로 예측
    • 대형 이미지 인식을 위한 고심층 컨볼루션 신경망
      • VGG16 신경망으로 고양이 인식
      • tf.keras의 내장 VGG16 Net 활용
      • 특징 추출을 위해 사전 구축된 딥러닝 모델 재활용
    • 전이학습을 위한 심층 인셉션 V3망
    • 다른 CNN 아키텍처
      • AlexNet
      • 잔차 네트워크
      • HighwayNets와 DenseNets
      • Xception
    • 스타일 변환
      • 콘텐츠 거리
      • 스타일 거리
    • 요약
    • 참고문헌

  • 4장. 단어 임베딩
    • 단어 임베딩 - 유래와 기초
    • 분산 표현
    • 정적 임베딩
      • Word2Vec
      • GloVe
    • Gensim을 사용한 자신만의 임베딩 생성
    • gensim을 사용한 임베딩 공간 탐색
    • 워드 임베딩을 사용한 스팸 탐지
      • 데이터 얻기
      • 데이터를 사용 준비
      • 임베딩 행렬 구축
      • 스팸 분류기 정의
      • 모델의 훈련과 평가
      • 스팸 탐지기 실행
    • 신경망 임베딩 - 단어 이외의 용도
      • Item2Vec
      • node2vec
    • 문자와 부분 단어 임베딩
    • 동적 임베딩
    • 문장과 문단 임베딩
    • 언어 모델 기반 임베딩
      • BERT를 특징 추출기로 사용
    • 요약
    • 참고문헌

  • 5장. 순환 신경망
    • 기본 RNN 셀
      • BPTT
      • 사라지고 폭발하는 그래디언트
    • RNN 셀 변형
      • LSTM
      • GRU
      • 핍홀 LSTM
    • RNN 변형
      • 양방향 RNN
      • 상태 저장 RNN
    • RNN 위상들
      • 예제: 일대다-텍스트 생성을 학습
      • 예제: 다대일-감정 분석
      • 예제: 다대다 - POS 태깅
    • 인코더-디코더 아키텍처 ― seq2seq
      • 예제: 기계 번역을 위한 어텐션 없는 seq2seq
    • 어텐션 매커니즘
      • 예제: 머신 번역을 위한 어텐션이 있는 seq2seq
    • 요약
    • 참고문헌

  • 6장. 트랜스포머
    • 아키텍처
      • 핵심 직관
        • 위치 인코딩
        • 어텐션
        • 셀프-어텐션
        • 멀티-헤드 (셀프-)어텐션
      • 어텐션을 계산하는 방법
      • 인코더-디코더 아키텍처
      • 잔류와 정규화 계층
      • 트랜스포머 아키텍처 개요
      • 훈련
    • 트랜스포머의 아키텍처
      • 트랜스포머 종류
        • 디코더 또는 자기회귀
        • 인코더 또는 오토인코딩
        • Seq2seq
        • 멀티모달
        • 검색
      • 어텐션
        • 전체 대 희소
        • LSH 어텐션
        • 지역 어텐션
    • 사전 훈련
      • 인코더 사전 훈련
      • 디코더 사전 훈련
      • 인코더-디코더 사전 훈련
      • 사전 훈련 과제의 종류
    • 대중적이고 잘 알려진 모델에 대한 개요
      • BERT
      • GPT-2
      • GPT-3
      • 리포머
      • 빅버드
      • 트랜스포머-XL
      • XLNet
      • RoBERTa
      • ALBERT
      • StructBERT
      • T5 및 MUM
      • ELECTRA
      • DeBERTa
      • 진화된 트랜스포머와 MEENA
      • LaMDA
      • 스위치 트랜스포머
      • RETRO
      • 패스웨이와 PaLM
    • 구현
      • 트랜스포머 참조 구현: 번역의 예
      • 허깅 페이스
        • 텍스트 생성
        • 모델 자동 선택 및 자동 토큰화
        • 명명된 개체 인식
        • 요약
        • 미세 조정
      • TFHub
    • 평가
      • 품질
        • GLUE
        • SuperGLUE
        • SQuAD
        • RACE
        • NLP-progress
      • 크기
        • 크다고 항상 더 좋지는 않다
      • 제공 비용
    • 최적화
      • 양자화
      • 가중치 가지치기
      • 증류
    • 일반적인 함정: 해야 할 일과 하지 말아야 할 일
      • 권장
      • 금지 사항
      • 트랜스포머의 미래
    • 요약

  • 7장. 비지도학습
    • 주성분 분석
      • MNIST 데이터셋에 PCA
      • TensorFlow 임베딩 API
    • K-평균 군집화
      • TensorFlow에서의 K-평균
      • k-평균 변형
    • 자기 조직화 지도
      • SOM을 사용한 컬러 매핑
    • 제한된 볼츠만 머신
      • RBM을 사용한 이미지 재구성
      • 심층 신뢰 신경망
    • 요약
    • 참고문헌

  • 8장. 오토인코더
    • 오토인코더 소개
    • 바닐라 오토인코더
      • TensorFlow Keras layers - 맞춤형 계층 정의
      • 오토인코더를 사용해 필기체 숫자 재구성
    • 희소 오토인코더
    • 디노이징 오토인코더
      • 디노이징 오토인코더를 이용한 이미지 정리
    • 스택된 오토인코더
      • 이미지의 노이즈 제거를 위한 컨볼루션 오토인코더
      • Keras 오토인코더 예제: 문장 벡터
    • 가변 인코더
    • 요약
    • 참고문헌

  • 9장. 생성 모델
    • GAN이란 무엇인가?
      • TensorFlow에서 GAN을 사용하는 MNIST
    • 심층 컨볼루션 GAN(DCGAN)
      • MNIST 숫자를 위한 DCGAN
    • 몇 가지 흥미로운 GAN 아키텍처
      • SRGAN
      • CycleGAN
      • InfoGAN
    • GAN의 흥미로운 응용들
    • TensorFlow로 CycleGAN 구현
    • 데이터 생성을 위한 흐름 기반 모델
    • 데이터 생성을 위한 확산 모델
    • 요약
    • 참고문헌

  • 10장. 자기-지도학습
    • 선행 연구
    • 자기-지도학습
    • 자기 예측
      • 자기회귀 생성
        • PixelRNN
        • 이미지 GPT(IPT)
        • GPT-3
        • XLNet
        • WaveNet
        • WaveRNN
      • 마스킹된 생성
        • BERT
        • 스택 잡음 제거 오토인코더
        • 컨텍스트 오토인코더
        • 채색
      • 본질적 관계 예측
        • 상대적 위치
        • 조각 그림 퍼즐 풀기
        • 회전
      • 하이브리드 자기 예측
        • VQ-VAE
        • Jukebox
        • DALL-E
        • VQ-GAN
    • 대조학습
      • 훈련 목표
        • 대조 손실
        • 3중항 손실
        • N-쌍 손실
        • 리프트된 구조적 손실
        • NCE 손실
        • InfoNCE 손실
        • 소프트 최근접 이웃 손실
      • 인스턴스 변환
        • SimCLR
        • Barlow Twins
        • BYOL
        • 특징 군집화
        • DeepCluster
        • SwAV
        • InterCLR
      • 다중 뷰 코딩
        • AMDIM
        • CMC
      • 다중 모드 모델
        • CLIP
        • CodeSearchNet
        • Data2Vec
    • 프리텍스트 과제
    • 요약
    • 참고문헌

  • 11장. 강화학습
    • 소개
      • RL 용어
      • 심층 강화학습 알고리듬
        • 훈련되지 않은 에이전트가 행동을 선택하는 방법
        • 에이전트가 탐색과 활용 사이의 균형을 맞추는 방법
        • 고도로 상관된 입력 상태 공간을 다루는 방법
        • 움직이는 목표를 다루는 방법
      • 최근 몇 년 간의 강화학습 성공
    • RL의 시뮬레이션 환경
    • OpenAI Gym 소개
      • <Breakout>을 하는 랜덤 에이전트
      • Gym의 래퍼
    • 심층 Q-신경망
      • 카트폴을 위한 DQN
      • 아타리 게임을 위한 DQN
      • DQN 변종
        • 더블 DQN
        • 듀얼링 DQN
        • 레인보우
    • 딥 확정적 정책 그래디언트
    • 요약
    • 참고문헌

  • 12장. 확률적 TensorFlow
    • TensorFlow Probability
    • TensorFlow Probability 분포
      • TFP 분포 사용
        • 동전 뒤집기 예
        • 정규분포
      • 베이즈 네트워크
      • TensorFlow Probability를 사용해 예측의 불확실성 처리
        • 우연적 불확실성
        • 인식론적 불확실성
        • 합성 데이터셋 만들기
        • TensorFlow를 사용한 회귀 모델 구축
        • 우연적 불확실성에 대한 확률론적 신경망
        • 인식적 불확실성에 대한 설명
    • 요약
    • 참고문헌

  • 13장. AutoML 소개
    • AutoML이란 무엇인가?
    • AutoML의 성취
    • 자동 데이터 준비
    • 자동 특징 공학
    • 자동 모델 생성
    • AutoKeras
    • Google 클라우드 AutoML과 Vertex AI
      • Google 클라우드 AutoML 표 솔루션의 사용
      • Google 클라우드 AutoML 텍스트 솔루션 사용
    • Google 클라우드 AutoML 비디오 솔루션 사용
      • 비용
    • 요약
    • 참고문헌

  • 14장. 딥러닝 배경 수학
    • 역사
    • 몇 가지 수학 도구
      • 벡터
      • 미분과 그래디언트
      • 그래디언트 하강
      • 연쇄 법칙
      • 몇 가지 미분 규칙
      • 행렬 연산
    • 활성화 함수
      • Sigmoid의 도함수
      • tanh의 도함수
      • ReLU의 도함수
    • 역전파
      • 전방 단계
      • 역단계
        • 경우 1: 은닉층에서 출력층까지
        • 경우 2: 은닉층에서 은닉층으로
      • 교차엔트로피와 그 도함수
      • 배치 그래디언트 하강, 확률적 그래디언트 하강, 미니-배치
        • 배치 그래디언트 하강(BGD)
        • 확률적 그래디언트 하강(SGD)
        • 미니-배치 그래디언트 하강(MBGD)
      • 역전파와 ConvNets 생각하기
      • 역전파와 RNN 생각하기
    • TensorFlow 참고 사항과 자동 미분
    • 요약
    • 참고문헌

  • 15장. TPU
    • C/G/T 프로세스 유닛
      • CPU와 GPU
      • TPU
    • 4세대 TPU와 에지 TPU
      • 1세대 TPU
      • 2세대 TPU
      • 3세대 TPU
      • 4세대 TPU
      • 에지 TPU
    • TPU 성능
    • TPU를 Colab에서 사용하기
      • TPU를 쓸 수 있는지 확인하기
      • Keras MNIST TPU 엔드-투-엔드 훈련
    • 사전 훈련된 TPU 모델 사용
    • 요약
    • 참고문헌

  • 16장. 기타 유용한 딥러닝 라이브러리
    • 허깅 페이스
    • OpenAI
      • OpenAI GPT-3 API
      • OpenAI DALL-E 2
      • OpenAI Codex
    • PyTorch
    • ONNX
    • H2O.ai
      • H2O AutoML
      • H2O를 사용한 AutoML
      • H2O 모델 설명 가능성
        • 부분 종속 도표
        • 변수 중요도 히트맵
        • 모델 상관관계
    • 요약

  • 17장. 그래프 신경망
    • 그래프 기초
    • 그래프 머신러닝
    • 그래프 컨볼루션 - GNN의 직관
    • 일반 그래프 계층
      • 그래프 컨볼루션 네트워크
      • 그래프 어텐션 네트워크
      • GraphSAGE
      • 그래프 동형 네트워크
    • 일반 그래프 응용
      • 노드 분류
      • 그래프 분류
      • 링크 예측
    • 그래프 사용자 지정
      • 사용자 지정 계층 및 메시지 전달
      • 사용자 정의 그래프 데이터셋
        • 데이터셋의 단일 그래프
        • 데이터셋의 복수 그래프 집합
    • 향후 방향
      • 이종 그래프
      • 임시 그래프
    • 요약
    • 참고문헌

  • 18장. 머신러닝 모범 사례
    • 모범 사례의 필요성
    • 데이터 모범 사례
      • 특징 선택
      • 특징과 데이터
        • 텍스트 데이터 증강
    • 모델 모범 사례
      • 기준 모델
      • 사전 훈련된 모델, 모델 API 및 AutoML
      • 모델 평가 및 검증
      • 모델 개선
    • 요약
    • 참고문헌

  • 19장. TensorFlow 2 생태계
    • TensorFlow Hub
      • 추론을 위해 사전 훈련된 모델 사용
    • TensorFlow Datasets
      • TFDS 데이터셋 로드
      • TFDS를 사용한 데이터 파이프라인 구축
    • TensorFlow Lite
      • 양자화
      • FlatBuffers
      • 모바일 변환기
      • 모바일에 최적화된 인터프리터
      • 지원되는 플랫폼
      • 아키텍처
      • TensorFlow Lite 사용
      • 응용 일반 사례
      • GPU 및 가속기 사용
      • 응용 사례
    • TensorFlow Lite에서 사전 학습된 모델
      • 이미지 분류
      • 객체 탐지
      • 자세 추정
      • 스마트 응답
      • 세그멘테이션
      • 스타일 변환
      • 텍스트 분류
      • 거대 언어 모델
      • 모바일 GPU 사용에 대한 참고 사항
    • 에지에서의 연합 학습 개요
      • TensorFlow FL API
    • TensorFlow.js
      • 바닐라 TensorFlow.js
      • 모델 변환
      • 사전 훈련된 모델
      • Node.js
    • 요약
    • 참고문헌

  • 20장. 고급 컨볼루션 신경망
    • 복잡한 작업을 위한 CNN 구성
      • 분류 및 지역화
      • 의미론적 세그멘테이션
      • 개체 탐지
      • 인스턴스 세그멘테이션
    • tf.Keras 및 TensorFlow Hub를 사용한 응용 동물원
      • Keras 애플리케이션
      • TensorFlow Hub
    • 이미지에 대한 질문에 답하기(시각적 Q&A)
    • DeepDream 네트워크 만들기
    • 네트워크가 학습한 내용 검사
    • 비디오
      • 여섯 가지 방식으로 사전 훈련된 네트워크로 비디오 분류
    • 텍스트 문서
      • 감정 분석을 위한 CNN 사용
    • 오디오와 음악
      • Dilated ConvNets, WaveNet 및 NSynth
    • 컨볼루션 작업 요약
      • 기본 CNN
      • 확장된 컨볼루션
      • 전치 컨볼루션
      • 분리 가능한 컨볼루션
      • 깊이별 컨볼루션
      • 깊이별 분리 가능한 컨볼루션
    • 캡슐 네트워크
      • CNN의 문제점
      • 캡슐 네트워크의 새로운 기능
    • 요약
    • 참고문헌

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안