生成对抗网络的基本原理

深度学习的模型可大致分为判别式模型和生成式模型

目前深度学习取得的成果主要集中在判别式模型

生成式模型是一个极具挑战的机器学习问题:首先,对真实世界进行建模需要大量先验知识,建模的好坏直接影响生成式模型的性能;其次,真实世界的数据往往非常复杂,拟合模型所需计算量往往非常庞大,甚至难以承受。

Goodfellow等于2014年提出一种新型生成式模型——生成对抗网络(GAN, generative adversarial network) ,使用对抗训练机制对两个神经网络进行训练

生成对抗网络 java实现 生成对抗网络可以干嘛_深度学习

深度学习模型分为判别式模型和生成式模型。
判别模型是将一个高维的感官输入映射为一个类别标签。
生成网络把随机点变成与数据集相似的图片。
目前深度学习取得的成果主要集中在判别式模型。
Goodfellow等于2014年提出生成对抗网络(GAN) ,使用对抗训练机制对两个神经网络进行训练。

生成对抗网络的结构与训练

生成对抗网络 java实现 生成对抗网络可以干嘛_生成式_02

金庸

《射雕英雄传》:老顽童周伯通被困桃花岛创造的“左右互搏”之术。

假币制作与识别:

生成对抗网络 java实现 生成对抗网络可以干嘛_深度学习_03

GAN的两个相互交替的训练阶段:

固定生成网络,训练判别网络
固定判别网络,训练生成网络
两个网络相互对抗的过程,就是各自网络参数不断调整的过程,即学习过程。
GAN极大地提高图像生成质量,进一步推动了计算机视觉领域的发展。
GAN在训练中容易出现一些问题,训练过程具有强烈的不稳定性,实验结果随机,具体表现:
训练过程难以收敛,经常出现震荡;
训练收敛,但是出现模式崩溃(model collapse)。
训练收敛,但是GAN还会生成一些没有意义或者现实中不可能出现的图片。

生成对抗网络在图像处理中的应用

图像修复

生成对抗网络 java实现 生成对抗网络可以干嘛_神经网络_04

图像风格迁移

生成对抗网络 java实现 生成对抗网络可以干嘛_神经网络_05


生成对抗网络 java实现 生成对抗网络可以干嘛_神经网络_06


生成对抗网络 java实现 生成对抗网络可以干嘛_神经网络_07


生成对抗网络 java实现 生成对抗网络可以干嘛_神经网络_08


生成对抗网络 java实现 生成对抗网络可以干嘛_生成对抗网络 java实现_09


生成对抗网络 java实现 生成对抗网络可以干嘛_神经网络_10


生成对抗网络 java实现 生成对抗网络可以干嘛_生成对抗网络 java实现_11

图像翻译

生成对抗网络 java实现 生成对抗网络可以干嘛_生成式_12


生成对抗网络 java实现 生成对抗网络可以干嘛_人工智能_13

生成对抗网络在语言处理中的应用

从文字描述生成图片

这只小鸟有着小小的鸟喙、胫骨和双足,蓝色的冠部和覆羽,以及黑色的脸颊。

生成对抗网络 java实现 生成对抗网络可以干嘛_人工智能_14


这朵花有着长长的粉色花瓣和朝上的橘黄色雄蕊。

生成对抗网络 java实现 生成对抗网络可以干嘛_生成对抗网络 java实现_15

诗歌写作

九歌
2017年清华孙茂松团队的计算机古诗作诗系统检验现有神经网络深度学习主流模型的能力

AI换脸术:

换脸:以GAN为代表的AI换脸术
南加州大学的Pinscreen团队的实时3D变脸技术。
美国国防部AI侦测工具,以AI攻AI ,反换脸精度99%。

新闻播报机器人

2018年11月7-9日,在乌镇第五届世界互联网大会上,新华社对外宣布:中国首个“人工智能主持人”正式上岗。

生成对抗网络 java实现 生成对抗网络可以干嘛_神经网络_16

2019.2.19新华社发布站立式合成主播

生成对抗网络 java实现 生成对抗网络可以干嘛_生成对抗网络 java实现_17