2023년 인공지능 분야를 뜨겁게 달구고 있는 생성 AI를 본격적으로 해부하는 유일한 도서입니다. 딥러닝 기초부터 시작해서 오토인코더, GAN, 트랜스포머, 확산 모델, GPT 등 최신 생성 모델을 모두 다룹니다. 다양한 생성 AI 모델 이면의 이론과 훈련 방법을 배울 수 있습니다.
1판에 이어 2판을 작업할 수 있어 너무 기뻤습니다. 특별히 요즘 생성 AI가 화두라 번역이 늦어지지 않도록 각별히 신경써서 작업했습니다. 덕분에 원서가 출간된지 채 몇 달이 지나지 않았는데 번역서를 선보일 수 있었네요. 도와주신 한빛미디어와 편집자 님에게 감사드립니다.
1장은 생성 모델을 소개합니다. 전체적으로 문장을 손본듯합니다. 세계 지도 예제는 첫 번째 생성 모델로 유지했습니다. 헬로 로들! 예제는 삭제되었습니다. 아마도 2판에서 추가된 내용이 늘어남에 따라 일부 내용을 삭제한 것 같습니다. 대신 생성 모델의 패밀리 트리가 추가되어 책에서 다룰 다양한 생성 모델의 종류를 한눈에 볼 수 있습니다.
2장은 텐서플로/케라스와 머신러닝/딥러닝에 대한 간략한 소개입니다. 콘텐츠 배열이 여러군데 달라졌지만 다른 장에 비해 비교적 변경이 적습니다. CIFAR-10 데이터셋으로 MLP와 CNN을 만들고 훈련하면서 합성곱, 배치정규화, 드롭아웃 등을 익힙니다.
3장은 오토인코더입니다. 1판에서 사용한 미술전시회 비유를 옷장으로 바꾸었습니다(비유마다 미드저니로 만든 이미지가 한 장씩 곁들여 있습니다). 그리고 MNIST 대신에 패션 MNIST 데이터셋을 사용합니다. 덕분에 3장의 절반 이상 내용이 바뀌었습니다. 1판에서는 모델 코드를 모두 싣지 않아서 내용을 모두 이해하기 불편했습니다. 2판에서는 예제 코드를 모두 포함하고 있어 책과 깃허브를 번갈아 보는 일이 덜 할 것 같네요. 오토인코더 다음에는 변이형 오토인코더를 만들고 훈련합니다. 케라스 층과 모델 클래스를 상속하고 그레이디언트 테이프를 사용하는 등 코드가 훨씬 간단하고 명료해졌습니다. 마지막으로 CelebA 데이터셋으로 변이형 오토인코더를 훈련하고 얼굴 이미지를 생성해 봅니다!
4장은 GAN을 다룹니다. 1판에서는 DCGAN 훈련을 위해 퀵 드로 데이터셋을 사용했지만 2판에서는 캐글에 있는 레고 블록 데이터셋으로 바꾸었습니다. 데이터셋에 맞게 바뀐 벽돌 공장 비유도 재미있네요. 그다음에 1판에서는 CelebA 데이터셋에서 WGAN과 WGAN-GP 모델을 만들고 훈련했습니다. 2판에서는 두 모델에 대한 설명을 모두 담고 있지만 WGAN-GP만 만들고 훈련합니다. 대신 CGAN 모델 구축과 훈련이 추가되었습니다.
1판에 있는 6장 ‘쓰기’가 2판의 5장 ‘자기회귀 모델’로 바뀌었습니다. 1판에 있던 LSTM에 대한 비유는 그대로 유지됩니다. 대신 구텐베르크 프로젝트의 이솝 데이터셋이 아니라 캐글에 있는 레시피 데이터셋을 사용합니다. 1판에 있던 QA 절이 삭제되고 대신 패션 MNIST 데이터셋에서 PixelCNN을 훈련하여 훈련 세트와 비슷한 이미지를 자기회귀 방식으로 생성해 보는 예제가 추가되었습니다.
6장, 7장, 8장, 9장은 모두 새로 쓰여졌습니다.
6장은 노멀라이징 플로를 다룹니다. 먼저 노멀라이징 플로가 변이형 오토인코더나 자기회귀 모델과의 유사한 면과 다른 면을 설명합니다. 그다음 제이콥의 F.L.O.W 기계에 대한 이야기로 노멀라이징 플로의 작동 방식을 이해하기 쉽게 설명합니다. 이론적인 면으로는 노멀라이징 플로를 구현하기 위한 변수 변환과 야코비 행렬식을 설명합니다. 그다음 현실적인 애플리케이션을 구현하기 위해 독창적인 아이디어를 제시한 RealNVP 모델을 설명하고 구현합니다. 이를 위해 커플링 층과 마스킹 방법을 소개하고 이를 통해 야코비 행렬식이 어떻게 간단히 계산되는지 설명합니다. 마지막으로 사이킷런의 초승달 데이터셋에서 RealNVP 모델을 훈련하고 결과를 분석해 봅니다!
7장은 볼츠만 분포를 사용해 생성 분포를 모델링하는 에너지 기반 모델을 다룹니다. 볼츠만 분포의 분모를 직접 계산하지 않고 대조 발산을 사용해 이를 근사하는 방법과 랑주뱅 동역학을 사용해 신경망의 최종 출력 점수에 대한 입력의 그레이디언트를 계산하여 훈련 세트에 있을법한 샘플을 생성하는 방법을 소개합니다. 이 장에서는 손글씨 숫자 데이터셋을 활용합니다.
8장은 확산 모델을 다룹니다. 먼저 정방향 확산 과정에 대해 소개하고 정방향 과정의 지름길을 수식을 통해 설명합니다. 그다음 선형, 코사인, 오프셋 코사인 확산 스케줄을 소개합니다. 이어서 역방향 과정에 대해 설명하고 이미지에 포함된 잡음을 예측하기 위한 U-Net 구조를 만듭니다. 이 모델의 손실 함수는 예측된 잡음과 정방향 과정에서 사용한 잡음 사이의 MAE입니다. U-Net을 만들기 위한 사인파 임베딩, 잔차 블록 등을 설명합니다. 캐글의 옥스포드 102 플라워 데이터셋에서 이 모델을 훈련하고 새로운 이미지를 생성하기 위해 DDIM 모델의 샘플링 방식을 사용합니다. 마지막으로 역방향 단계가 생성 이미지 품질에 미치는 영향을 확인하고 가우스 공간의 두 포인트를 보간하여 이미지를 생성해 봅니다!
9장 트랜스포머가 생성 AI 책에서 빠질 수 없죠. 1판에서는 텍스트 생성을 위해 RNN+어텐션을 사용하고 마지막 장에서 트랜스포머를 잠깐 소개했습니다. 2판에서는 한 장에 걸쳐 트랜스포머를 자세히 다룹니다. 어텐션, 멀티헤드 어텐션, 코잘 마스킹, 위치 인코딩, 인코더/디코더 블록을 모두 아주 자세히 설명합니다. 위치 인코딩에서는 원본 트랜스포머가 사용한 사인 함수 대신 Embedding 층을 사용합니다. 그다음 GPT와 같은 디코더 트랜스포머를 만들어 캐글의 와인 리뷰 데이터셋으로 모델을 훈련한 다음 새로운 텍스트를 생성합니다. 또한 어텐션 점수를 조사하여 모델의 동작 방식을 이해합니다. 마지막으로 대표적인 다른 트랜스포머 모델인 T5와 GPT-3, GPT-4, ChatGPT를 소개하는 것으로 마칩니다.
10장은 고급 GAN 구조를 다룹니다. 1판에서는 이미지 생성 예제를 포함해 CycleGAN을 중점적으로 다루었습니다. 2판에서는 예제를 제외하는대신 10장에서 다양한 GAN 구조를 설명합니다. 여기에는 ProGAN, StyleGAN, StyleGAN2, SAGAN, BigGAN, VQ-Gan, ViT VQ-GAN이 포함됩니다. ProGAN의 점진적 훈련이 StyleGAN으로 이어지고 StyleGAN2에서 어떻게 개선되었는지 볼 수 있습니다. ProGAN의 미니배치 정규화, 균등 학습률, 픽셀별 정규화를 소개하고 StyleGAN의 매핑 신경망과 합성 신경망, 적응적 인스턴스 정규화를 소개합니다. StyleGAN2에서 이전 방식의 아티팩트를 제거하기 위해 사용한 변복조 방식을 알 수 있습니다. 그다음 어텐션 메커니즘을 GAN에 통합한 SAGAN, BigGAN과 이산적인 잠재 공간과 트랜스포머를 활용하는 VQ-GAN과 ViT VQ-GAN을 설명합니다.
11장은 1판의 7장을 개편한 것으로 음악 생성을 다룹니다. 1판에서는 RNN+어텐션 모델을 사용했지만 2판에서는 9장과 비슷한 디코더 트랜스포머를 사용합니다. 위치 인코딩을 위해 사인 함수를 사용하고 트랜스포머에서 음표와 지속 시간 두 개의 스트림을 처리하기 위한 방법을 설명합니다. 그다음 다성 음악 생성을 위한 그리드 토큰화와 이벤트 기반 토큰화를 소개합니다. 또한 1판과 마찬가지로 11장의 두 번째 파트에서는 MuseGAN의 구조를 설명하고 생성자와 비평자를 만들어 바흐 코랄 데이터셋에서 훈련합니다!
12장은 생성 모델링을 강화 학습에 적용한 월드 모델을 다룹니다. 이 장은 1판의 8장 내용에서 크게 바뀌지 않았습니다. Gym 대신 후속 라이브러리인 Gymnasium을 소개합니다. 늘어난 다른 장의 내용 때문에 월드 모델의 예제를 삭제하고 대신 그림을 업데이트하고 강화 학습에 미치는 영향을 소개합니다.
13장은 이 책의 백미 중 하나로 새로 추가된 장입니다. 요즘 화두인 네 개의 멀티모달 모델을 설명합니다. 먼저 DALL.E 2의 구조를 소개하고 주요 구성 요소를 차례대로 자세히 설명합니다. CLIP 모델에 대해 소개하고 DALL.E 2의 텍스트 인코더로 어떻게 사용되는지 알려 줍니다. 그다음 프라이어(prior)를 구현하기 위한 두 가지 방법(자기회귀, 확산)을 소개합니다. 프라이어에서 이미지 임베딩을 만든 다음 디코더에서 확산 모델을 사용해 이미지를 생성하고 업샘플링하는 과정을 설명합니다. 이 과정에서 DALL.E 2의 디코더와 GLIDE의 차이점을 잘 볼 수 있습니다. 이 모든 단계를 그림과 자세한 설명으로 단계적으로 진행합니다. 마지막으로 DALL.E 2의 한계를 언급하면서 구글의 Imagen으로 넘어갑니다. DALL.E 2를 자세히 다룬 덕분에 후속 모델은 비교적 쉽게 이해할 수 있습니다. Imagen의 구조와 벤치마킹 프롬프트 모음인 DrawBench를 소개합니다. 그리고 Imagen으로 생성한 이미지 예를 보여줍니다. 그다음 잠재 공간 수준의 확산을 수행하는 스테이블 디퓨전이 기존의 확산 모델과 어떻게 다른지 상세히 소개하고 생성된 이미지 예를 소개합니다. 마지막으로 텍스트와 이미지가 혼합된 데이터를 처리할 수 있는 딥마인드의 플라밍고를 소개합니다. 이를 위해 비전 인코더, 퍼시비어 리샘플러, 언어 모델을 나누어 자세히 설명합니다. 어텐션의 복잡도를 낮추기 위해 마스크드 크로스 어텐션을 수행하는 방법과 tanh 게이트를 활용하는 방법을 잘 볼 수 있습니다. 마지막으로 네 가지 모델을 요약 정리하면 마칩니다!
14장은 생성 AI 분야의 주요 발전을 요약하고 현재 최신 모델의 현황을 제시하고 이 분야의 미래를 전망해 봅니다. 먼저 생성 AI 분야를 VAE/GAN 시대, 트랜스포머 시대, 대규모 언어 모델 시대로 나누어 주요 모델을 소개합니다. 그다음 현재 최상의 성능을 내는 모델들을 LLM, 텍스트-투-코드, 텍스트-투-이미지, 기타로 나누어 자세히 소개합니다. 마지막으로 생성 AI의 미래를 일상 생활, 직장, 교육으로 나누어 예상해 봅니다. 그리고 생성 AI의 윤리와 도전과제에 대해 고찰하면서 마무리합니다!
아마존 베스트 셀러인 <Deep Learning Illustrated>의 한글 번역서인 <딥러닝 일러스트레이티드>가 출간되었습니다. 딥러닝 역사에서 GAN과 강화 학습까지 이 분야의 흥미진진한 기술을 가득담고 있습니다. 저자들의 직관적이고 명쾌한 설명으로 딥러닝의 진수를 맛볼 수 있습니다. 특히 파리지엔느인 아그레이가 그린 이 분야 거장들의 멋진 일러스트를 책 미리보기에서 지금 확인해 보세요!
깃허브에 있는 모든 코드는 구글 코랩(Colab)에서 실행할 수 있습니다! 삼엽충과 함께 딥러닝의 세계로 떠나보시죠! 🙂
432페이지 완전 풀컬러
지금 온라인 서점에서 판매중입니다. [교보문고]: 32,400원, [Yes24][알라딘]: 36,000원 [인터파크]: 34,920원