“충분히 발전한 기술은 마법과 구별할 수 없다.”
--아서 C. 클라크(2001: 스페이스 오디세이 저자)
PyTorch로 생성적 AI 배우기는 처음부터 다양한 콘텐츠(모양, 숫자, 이미지, 텍스트 및 음악)를 만드는 과정을 안내하는 것을 목표로 합니다. 이 책은 간단한 모델로 시작하여 독자가 더 복잡한 문제로 넘어가기 전에 기본적인 딥 러닝 기술을 구축하도록 돕습니다. 이 책에 나오는 모든 생성 모델은 심층 신경망입니다. 이 책은 이 분야에 처음 입문하는 사람들에게 이상적인 PyTorch의 포괄적인 딥 러닝 프로젝트로 시작됩니다. 각 장은 이전 장을 기반으로 세심하게 구성되어 있습니다. 먼저 간단한 아키텍처를 갖춘 생성적 적대 신경망(GAN)을 사용하여 모양, 숫자, 이미지와 같은 기본 콘텐츠를 만듭니다. 진행하면서 복잡성이 증가하여 변환기 및 확산 모델과 같은 최첨단 모델을 구축하게 됩니다.
PyTorch로 생성적 AI 배우기는 중급 Python 프로그래밍 기술을 보유한 다양한 비즈니스 분야의 기계 학습 애호가 및 데이터 과학자를 위해 설계되었습니다. 이 책은 이미지, 텍스트, 패턴, 숫자, 도형, 오디오 등 참신하고 혁신적인 콘텐츠를 생성하기 위한 생성적 AI 기술을 가르쳐 고용주의 비즈니스와 경력을 모두 향상시키는 것을 목표로 합니다. 개별 주제를 다루는 많은 무료 학습 자료가 온라인에서 제공되지만 이 책은 모든 내용을 명확하고 따라하기 쉬운 최신 형식으로 통합하여 생성 AI 전문가가 되고자 하는 모든 사람에게 귀중한 리소스입니다.
이 책은 총 16개의 장으로 구성되어 있으며, 네 부분으로 구성되어 있습니다.
1부에서는 PyTorch를 사용한 생성적 AI와 딥 러닝을 소개합니다.
• 1장에서는 생성 AI가 무엇인지 설명하고 이 책에서 생성 모델 구축을 위해 TensorFlow와 같은 다른 AI 프레임워크 대신 PyTorch를 선택하는 이유를 설명합니다.
• 2장에서는 PyTorch를 사용하여 심층 신경망을 만들어 이진 및 다중 범주 분류를 수행하므로 딥 러닝 및 분류 작업에 정통해집니다. 목표는 PyTorch의 심층 신경망을 사용하여 다양한 생성 모델을 만드는 다음 장을 준비하는 것입니다.
• 3장에서는 생성적 적대 신경망(GAN)을 소개합니다. GAN을 사용하여 특정 패턴으로 숫자의 모양과 시퀀스를 생성하는 방법을 배웁니다.
2부에서는 이미지 생성을 다룹니다.
• 4장에서는 고해상도 컬러 이미지를 생성하기 위해 GAN을 구축하고 훈련하는 방법을 설명합니다. 특히 CNN(컨벌루션 신경망)을 사용하여 이미지의 공간 특징을 캡처하는 방법을 배우게 됩니다. 또한 이미지에서 고해상도 특징 맵을 업샘플링하고 생성하기 위해 전치된 컨벌루션 레이어를 사용하는 방법도 배웁니다.
• 5장에서는 생성된 이미지의 특성을 선택하는 두 가지 방법을 자세히 설명합니다. 첫 번째 방법은 잠재 공간에서 특정 벡터를 선택하는 것입니다. 두 번째 방법은 레이블이 지정된 데이터로 GAN을 구축하고 교육하는 조건부 GAN을 사용합니다.
• 6장에서는 CycleGAN을 사용하여 검은 머리 이미지와 금발 머리 이미지, 말 이미지와 얼룩말 이미지 등 두 도메인 간의 이미지를 변환하는 방법을 설명합니다.
• 7장에서는 또 다른 생성 모델인 자동 인코더(AE)와 그 변형인 변형 자동 인코더(VAE)를 사용하여 고해상도 이미지를 생성하는 방법을 설명합니다.
3부에서는 자연어 처리(NLP)와 텍스트 생성에 대해 알아봅니다.
• 8장에서는 순환 신경망(RNN)을 사용한 텍스트 생성에 대해 설명합니다. 그 과정에서 토큰화와 단어 임베딩이 작동하는 방식을 배웁니다. 또한 훈련된 모델을 사용하여 자동 회귀 방식으로 텍스트를 생성하는 방법과 온도 및 Top-K 샘플링을 사용하여 생성된 텍스트의 창의성을 제어하는 방법을 배우게 됩니다.
• 9장에서는 Attention Is All You Need라는 논문을 기반으로 두 언어 간 번역을 위해 처음부터 Transformer를 구축합니다. 다중 헤드 주의 메커니즘과 인코더-디코더 변환기를 한 줄씩 구현하게 됩니다.
• 10장에서는 47,000개 이상의 영어-프랑스어 번역 쌍을 사용하여 9장에서 구축한 Transformer를 훈련합니다. 훈련된 모델을 사용하여 일반적인 영어 문구를 프랑스어로 번역하는 방법을 배우게 됩니다.
• 11장에서는 GPT-2의 가장 큰 버전인 GPT-2XL을 처음부터 구축합니다. 그런 다음 Hugging Face에서 사전 훈련된 가중치를 추출하고 이를 자체 GPT-2 모델에 로드하여 텍스트를 생성하는 방법을 알아봅니다.
• 12장에서는 일반 컴퓨터에서 훈련할 수 있도록 약 500만 개의 매개변수를 사용하여 GPT 모델의 축소 버전을 구성합니다. Ernest Hemingway의 소설 세 권을 학습 데이터로 사용합니다. 훈련된 모델은 Hemingway 스타일로 텍스트를 생성할 수 있습니다.
4부에서는 이 책에 나오는 생성 모델의 실제 적용과 생성 AI 분야의 최신 개발 상황에 대해 논의합니다.
• 13장에서는 음악을 생성하기 위해 MuseGAN을 구축하고 훈련합니다. MuseGAN은 음악을 이미지와 유사한 다차원 개체로 취급합니다. 생성기는 완전한 음악 작품을 제작하고 평가를 위해 비평가에게 제출합니다. 그런 다음 생성기는 훈련 데이터 세트의 실제 음악과 매우 유사할 때까지 비평가의 피드백을 기반으로 음악을 수정합니다. 생성된 음악의 예를 들어보세요: https://gattonweb.uky.edu/faculty/lium/ml/MuseGAN_song.mp3
• 14장에서는 AI 음악 창작에 대해 다른 접근 방식을 취합니다. 음악을 다차원적 대상으로 취급하는 대신 음악적 사건의 연속으로 취급합니다. 그런 다음 텍스트 생성 기술을 적용하여 시퀀스의 다음 요소를 예측합니다. 생성된 음악의 예를 들어보세요: https://gattonweb.uky.edu/faculty/lium/ml/musicTrans.mp3
• 15장에서는 모든 주요 텍스트-이미지 변환기(예: DALL-E 또는 Imagen)의 기초를 형성하는 확산 모델을 소개합니다. 고해상도 꽃 이미지를 생성하기 위해 확산 모델을 구축하고 학습시킵니다.
• 16장은 LangChain 라이브러리를 사용하여 사전 훈련된 LLM(대형 언어 모델)을 Wolfram Alpha 및 Wikipedia API와 결합하여 모든 것을 다 아는 개인 비서를 만드는 프로젝트로 책을 마무리합니다.
부록에서는 CUDA(Compute Unified Device Architecture) 지원 GPU 유무에 관계없이 컴퓨터에 PyTorch를 설치하는 방법을 설명합니다.
이 책에 나오는 모든 Python 프로그램은 책의 GitHub 저장소(https://github.com/markhliu/DGAI)에서 다운로드할 수 있습니다. 프로그램은 단일 Jupyter Notebook 파일의 각 장으로 구성된 장으로 구성됩니다. 컴퓨터에 Python, PyTorch 및 Jupyter Notebook을 설치하는 방법은 책의 부록을 참조하세요.