本文共1000字,建议阅读5分钟。
本书囊括了关于GAN的定义、训练、变体等,是关于GAN的最好的书籍之一。
[ 导读 ]生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。牛津大学Jakub Langr 撰写了《GANs in Action》的著作,囊括了关于GAN的定义、训练、变体等,是学习生成式对抗网络非常好的学习图书,是关于GAN的最好的书籍之一。
公众号后台回复“GAN” 获取《GAN实战》下载链接
https://www.manning.com/books/gans-in-action
实战GAN
深度学习系统在识别文本、图像和视频中的模式方面做得非常好。但事实证明,创建逼真的图像、自然的句子和段落,或翻译成地道英语的应用程序是难以实现的。生成式对抗网络(GANs)通过将两个相互对抗的神经网络(一个生成内容,另一个拒绝质量较差的样本)配对,为这些挑战提供了一个有希望的解决方案。
GAN
GANs已经取得了被认为是人工系统不可能取得的显著成果,例如能够生成逼真的人脸、将涂鸦变成类似照片的图像、将马的视频片段变成奔跑的斑马。最重要的是,GANs学得很快,不需要费力地标注大量训练数据。
2014年由谷歌的Ian Goodfellow发明的生成式对抗网络(GANs)是深度学习中最重要的创新之一。在GANs中,一个神经网络(生成器)生成内容(图像、句子等等),另一个神经网络(识别器)确定它们是否来自生成器,因此是“假的”,还是来自训练数据集,因此是“真实的”。在这两个系统之间的相互作用中,当生成器试图欺骗鉴别器相信“赝品”是真实的时,它会产生更真实的输出。其结果是一个可以生成逼真图像或自然文本和语音的生成器,以及一个训练有素的识别器,可以精确地识别和分类这类内容。
本书简介
实战GAN:用生成对抗式网络进行深度学习可以教会你如何构建和训练自己的生成对抗式网络。首先,您将了解生成模型以及GAN的工作原理,并概述它们的潜在用途。然后,随着您探索GAN体系结构的基础:生成器和鉴别器网络,您将开始构建自己的简单的对抗系统。
通过本书迷人的示例和详细的插图,您将学习为不同的场景培训不同的GAN体系结构。您将探索生成高分辨率图像、图像到图像的转换、对抗性学习以及目标数据生成,从而使您的系统变得智能、有效和快速。
本书目录
1 INTRODUCTION TO GANS
1.1 Introduction
1.2 Prerequisites
1.3 What Are Generative Adversarial Networks?
1.3.1 GAN in Action
1.3.2 GAN Training
1.3.3 GAN Training Visualized
1.3.4 Reaching Equilibrium
1.3.5 The Pros and Cons of Studying GANs
1.4 Applications of GANs
1.5 Guide to this Book
1.6 Summary
2 AUTOENCODERS AS A PATH TO GANS
2.1 Why did we include this chapter?
2.1.1 Generative learning is a new area for most
2.1.2 Challenges of generative modelling
2.1.3 An Important part of the literature today
2.2 So what are autoencoders to GANs?
2.3 What are the reasons behind autoencoders?
2.4 Overview of Autoencoders
2.5 Usage of autoencoders
2.6 Unsupervised learning
2.7 New take on an old idea
2.8 Variational autoencoder (VAE)
2.9 Code is life
2.10 Summary
3 YOUR FIRST GAN: GENERATING HANDWRITTEN DIGITS
3.1 Introduction
3.1.1 Adversarial Training
3.1.2 The Generator and the Discriminator
3.1.3 GAN Training Algorithm
3.2 Tutorial: Generating Handwritten Digits
3.2.1 Import Statements
3.2.2 The Generator
3.2.3 The Discriminator
3.2.4 Build the Model
3.2.5 Training
3.2.6 Outputting Sample Images
3.2.7 Run the Model
3.2.8 Inspecting the Results
3.3 Conclusion
3.4 Chapter Summary
4 DEEP CONVOLUTIONAL GAN (DCGAN)
4.1 Introduction
4.2 Convolutional Neural Networks (ConvNets)
4.3 Brief History of the DCGAN
4.4 Batch Normalization
4.4.1 Computing Batch Normalization
4.5 Tutorial: Generating Handwritten Digits with DCGAN
4.5.1 Import Statements
4.5.2 The Generator
4.5.3 The Discriminator
4.5.4 Build & Run the DCGAN
4.5.5 Model Output
4.6 Conclusion
4.7 Chapter Summary
5 TRAINING & COMMON CHALLENGES: GANING FOR SUCCESS
5.1 Evaluation
5.1.1 Inception Score
5.1.2 Fréchet Inception Distance
5.2 Training challenges
5.2.1 Network depth
5.2.2 Game set-ups
5.2.3 Min-Max GAN (MM-GAN)
5.2.4 Non-Saturating GAN (NS-GAN)
5.2.5 Summary of game setups
5.2.6 Training hacks
5.3 Chapter summary
6 PROGRESSING WITH GANS
6.1 Latent space interpolation
6.2 They grow up so fast
6.2.1 Progressive Growing & Smoothing in of Higher Resolution Layers
6.2.2 Minibatch Standard Deviation
6.2.3 Equalized Learning Rate
6.2.4 Pixel-wise Feature Normalization
6.3 Summary of key innovations
6.4 Tensorflow Hub and hands-on
6.5 Practical Applications
6.6 Chapter summary
7 SEMI-SUPERVISED GAN
7.1 Introduction: “The GAN Zoo”
7.2 Semi-Supervised GAN (SGAN)
7.2.1 Why Semi-Supervised Learning?
7.2.2 What is Semi-Supervised GAN?
7.3 Tutorial: Implementing Semi-Supervised GAN
7.3.1 Architecture Diagram
7.3.2 Implementation
7.3.3 Setup
7.3.4 The Dataset
7.3.5 The Generator
7.3.6 The Discriminator
7.3.7 Build the Model
7.3.8 Training
7.3.9 Train the Model
7.3.10 Model Training and Test Accuracy
7.3.11 Comparison to a Fully-Supervised Classifier
7.4 Conclusion
7.5 Summary
8 CONDITIONAL GAN
8.1 Introduction
8.2 Conditional GAN (CGAN)
8.2.1 What is Conditional GAN?
8.3 Tutorial: Implementing Conditional GAN
8.3.1 Implementation
8.3.2 Setup
8.3.3 The Generator
8.3.4 Build the Model
8.3.5 Training
8.3.6 Outputting Sample Images
8.3.7 Train the Model
8.4 Inspecting the Output: Targeted Data Generation
8.5 Conclusion
8.6 Summary
9 CYCLEGAN
9.1 Introduction
9.2 Image-to-Image Translation
9.3 Cycle Consistent Loss: there and back aGAN
9.4 Adversarial Loss
9.5 Identity Loss
9.6 Architecture
9.7 CycleGAN architecture: building the network
9.8 Generator architecture
9.9 Discriminator architecture
9.10 Object Oriented Design of GANs
9.11 Tutorial: CycleGAN
9.12 Building the network
9.13 Running CycleGAN
9.14 Expansions, augmentations and applications
9.15 Applications
9.16 Summary
10 ADVERSARIAL EXAMPLES
10.1 Introduction
10.2 Context of Adversarial Examples
10.3 Lies, Damned Lies and Distributions
10.4 Use and abuse of training
10.5 Signal and the noise
10.6 Not all hope is lost
10.7 Conclusion
10.8 Summary
11 PRACTICAL APPLICATIONS OF GANS
11.1 Introduction
11.2 GANs in Medicine
11.2.1 Using GANs to Improve Diagnostic Accuracy
11.3 GANs in Fashion
11.3.1 Using GANs to Design Fashion
11.4 Conclusion
11.5 Summary
12 LOOKING AHEAD
12.1 Introduction
12.2 Ethics
12.3 GAN Innovations
12.4 Relativistic GAN (RGAN)
12.4.1 Application
12.5 Self-Attention GAN (SAGAN)
12.5.1 Application
12.6 BigGAN
12.6.1 Application
12.7 Further reading
12.8 Looking Back & Closing Thoughts
12.9 Conclusion
12.10 Summary
APPENDIXES
APPENDIX A: TECHNICAL/DEPLOYMENTS
公众号后台回复“GAN” 获取《GAN实战》下载链接
作者介绍
Jakub Langr毕业于牛津大学,并在牛津大学的计算服务院任教。他从2013年开始从事数据科学工作,最近开始担任Filtered.com的数据科学技术主管和Mudano的研发数据科学家。Jakub是曼宁出版社出版的《GANs in Action》的合著作者,这本书是市场上目前唯一一本关于生成对抗网络(GAN)的书。Jakub还在伯明翰大学参与设计并教授数据科学课程。
弗拉基米尔•博克(Vladimir Bok)是Intent Media的高级产品经理。Intent Media是一家为领先旅游网站提供数据科学服务的公司,他帮助监管该公司的机器学习研究和基础设施团队。在此之前,他是微软的项目经理。弗拉迪米尔以优异成绩毕业于哈佛大学计算机科学专业。他曾在早期的金融科技公司担任软件工程师,包括PayPal联合创始人Max Levchin创办的一家公司,以及Y Combinator初创公司的数据科学家。
编辑:黄继彦
校对:林亦霖