猜你喜欢
GAN:实战生成对抗网络

GAN:实战生成对抗网络

书籍作者:Kuntal Ganguly ISBN:9787121342547
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:7425
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《GAN:实战生成对抗网络》介绍深度学习领域一个十分活跃的分支——生成对抗网络(GAN)。《GAN:实战生成对抗网络》中覆盖了深度学习的基础、对抗网络背后的原理以及构建方式等内容。同时《GAN:实战生成对抗网络》还介绍了多个真实世界中使用对抗网络构建智能应用的案例并提供了具体的代码以及部署方法,旨在帮助读者能够在真正的生产环境中使用生成对抗网络。

《GAN:实战生成对抗网络》适合数据科学家、算法工程师、数据挖掘工程师以及其他机器学习领域相关的从业人员,以帮助他们在工作中应用生成对抗模型;也适合机器学习和深度学习的爱好者、初学者来了解深度学习领域的新魔力。

作者简介

Kuntal Ganguly是一位大数据分析工程师,其利用机器学习和大数据框架来搭建大规模数据驱动系统。Kuntal具有7年的大数据和机器学习应用构建经验。

Kuntal为云上客户提供搭建实时分析系统的解决方案。这其中利用到了托管式的云服务和开源Hadoop生态系统工具,诸如Spark、Kafka、Storm、Solr以及机器学习和深度学习框架。

Kuntal也喜欢亲自动手参与软件的开发过程,并且曾经独自一人完成了多个大规模分布式应用从构思、架构、开发一直到部署的整个过程。他也是一位机器学习和深度学习的从业者,十分热衷于构建智能应用。

编辑推荐
适读人群 :想要了解生成模型和从头开始实施生成对抗网络的人。

使用生成模型构建的AI系统可自动地利用源数据进行学习和理解,且无须对数据进行标记。本书将帮助你构建和分析深度学习模型并将其应用于现实问题,从多个数据集(主要集中于图像领域)来开发智能和具有创造力的应用。本书从生成模型的基础开始,带你了解生成对抗网络及其构建模块背后的理论。通过使用TensorFlow、Keras和PyTorch等库,你可以利用GAN来克服文本到图像合成的问题。在处理大型数据集时,将风格从一个域传递到另一个域会变得令人头痛。本书将使用真实世界的例子来展示如何克服这一困难。本书将帮助你理解并构建生成对抗网络模型,并在生产环境中有效、准确地使用它们。通过本书你将会:

◎了解深度学习的基础知识,以及判别模型和生成模型之间的区别

◎利用基于生成对抗网络(GAN)和真实世界的数据集构建半监督学习模型来生成图像

◎通过利用小批量、特征匹配和边界均衡等技术来解决模式崩溃、训练不稳定等挑战,以对GAN模型进行调优

◎使用深度学习堆叠架构从文本生成图像

◎组合多个生成模型来探索跨域的关系

◎探索多种在生产环境部署深度模型的方法


前言

  译者序
  机器学习领域的发展日新月异,并已经深入我们的日常生活。语音识别、图像识别、机器翻译这些技术都在改变着我们的生活方式,而这些都和深度学习紧密相关。尽管机器拥有的能力越来越令人震撼,然而作为人类的我们依然可以安慰自己说,机器拥有的只是计算能力,只有我们人类才拥有创造性的智能。
  诚然目前应用最广泛的机器学习方式还是监督学习,需要人类预先对数据进行标记,需要人类先验的经验总结,机器才能更好地工作。由于人类并不能完全将自己的经验符号化、数字化,因此,即使机器可以处理更大量的数据,也无法完全拥有人类的智能。而至于音乐、绘画、文学等艺术创作更被认为是人类的专属,机器永远望尘莫及,机器离真正的智能还有很大的距离。
  而生成对抗网络(GAN)的出现,让事情发生了变化,生成对抗网络采用无监督学习的方式,自动从源数据中进行学习,在不需要人工对数据集进行标记的情况下就可以产生令人惊叹的效果。从维基百科的词条学习专业知识,然后写出一个令普通人可以理解的科普文章,模仿知名画家的作品并学习他们的风格进行再创作,这种看似只有人类这样拥有智能和创造性的物种才会做的事情,机器学习现在真的可以做到了!
  而这本书的作者Kuntal Ganguly就将在本书中向你介绍这个神奇的技术。生成对抗网络也是如今深度学习里最为前沿也是最为令人着迷的领域之一。本书从生成模型的基础讲起,逐步介绍了各种生成对抗网络的变体和使用场景。除了深度学习相关的理论,书中还有大量基于现实世界的使用案例和代码,给读者提供了充足的实践方法。相信通过本书你可以快速地领略到生成对抗网络的魅力及其无限的可能性,并将其应用到你的实际工作之中。
  非常荣幸获得电子工业出版社张春雨先生的邀请来负责本书的中文翻译。在翻译的过程中我深感自己的中英文能力十分有限,加之自己在机器学习领域也还是个新手,故译文仍有不足之处,十分期待大家的指正。
  刘梦馨
  2018年5月19日

目录

前言

1 深度学习概述

1.1 深度学习的演化

1.1.1 sigmoid激发

1.1.2 修正线性单元(ReLU)

1.1.3 指数线性单元(ELU)

1.1.4 随机梯度下降(SGD)

1.1.5 学习速率调优

1.1.6 正则化

1.1.7 权重分享以及池化

1.1.8 局部感受野

1.1.9 卷积网络(ConvNet)

1.2 逆卷积/转置卷积

1.2.1 递归神经网络和LSTM

1.2.2 深度神经网络

1.2.3 判别模型和生成模型的对比

1.3 总结

2 无监督学习GAN

2.1 利用深度神经网络自动化人类任务

2.1.1 GAN的目的

2.1.2 现实世界的一个比喻

2.1.3 GAN的组成

2.2 GAN的实现

2.2.1 GAN的应用

2.2.2 在Keras上利用DCGAN实现图像生成

2.2.3 利用TensorFlow实现SSGAN

2.3 GAN模型的挑战

2.3.1 启动及初始化的问题

2.3.2 模型坍塌

2.3.3 计数方面的问题

2.3.4 角度方面的问题

2.3.5 全局结构方面的问题

2.4 提升GAN训练效果的方法

2.4.1 特征匹配

2.4.2 小批量

2.4.3 历史平均

2.4.4 单侧标签平滑

2.4.5 输入规范化

2.4.6 批规范化

2.4.7 利用ReLU和MaxPool避免稀疏梯度

2.4.8 优化器和噪声

2.4.9 不要仅根据统计信息平衡损失

2.5 总结

3 图像风格跨域转换

3.1 弥补监督学习和无监督学习之间的空隙

3.2 条件GAN介绍

3.2.1 利用CGAN生成时尚衣柜

3.2.2 利用边界均衡固化GAN训练

3.3 BEGAN的训练过程

3.3.1 BEGAN的架构

3.3.2 利用TensorFlow实现BEGAN

3.4 利用CycleGAN实现图像风格的转换

3.4.1 CycleGAN的模型公式

3.4.2 利用TensorFlow将苹果变成橘子

3.4.3 利用CycleGAN将马变为斑马

3.5 总结

4 从文本构建逼真的图像

4.1 StackGAN介绍

4.1.1 条件强化

4.1.2 StackGAN的架构细节

4.1.3 利用TensorFlow从文本生成图像

4.2 利用DiscoGAN探索跨域的关系

4.2.1 DiscoGAN架构以及模型公式

4.2.2 DiscoGAN的实现

4.3 利用PyTorch从边框生成手提包

4.4 利用PyTorch进行性别转换

4.5 DiscoGAN和CycleGAN的对比

4.6 总结

5 利用多种生成模型生成图像

5.1 迁移学习介绍

5.1.1 迁移学习的目的

5.1.2 多种利用预训练模型的方法

5.1.3 利用Keras对车、猫、狗和花进行分类

5.2 利用Apache Spark进行大规模深度学习

5.2.1 利用Spark深度学习模块运行预训练模型

5.2.2 利用BigDL运行大规模手写数字识别

5.2.3 利用SRGAN生成高清晰度图像

5.2.4 SRGAN的架构

5.3 利用DeepDream生成梦幻的艺术图像

5.4 在TensorFlow上利用VAE生成手写数字

5.5 VAE在真实世界的比喻

5.6 GAN和VAE两个生成模型的比较

5.7 总结

6 将机器学习带入生产环境

6.1 利用DCGAN构建一个图像矫正系统

6.1.1 构建图像矫正系统的步骤

6.1.2 在生产环境部署模型的挑战

6.2 利用容器的微服务架构

6.2.1 单体架构的缺陷

6.2.2 微服务架构的优点

6.2.3 使用容器的优点

6.3 部署深度模型的多种方法

6.3.1 方法1——离线建模和基于微服务的容器化部署

6.3.2 方法2——离线建模和无服务器部署

6.3.3 方法3——在线学习

6.3.4 方法4——利用托管机器学习服务

6.4 在Docker上运行基于Keras的深度模型

6.5 在GKE上部署深度模型

6.6 利用AWS Lambda和Polly进行无服务器的图像识别并生成音频

6.6.1 修改Lambda环境下代码和包的步骤

6.6.2 利用云托管服务进行人脸识别

6.7 总结

产品特色