【机器学习】Gans生成对抗网络入门

news/2024/9/23 6:30:59/

Generative Adversarial Networks,生成对抗网络

从未学过AI,从超分辨率接触到这个概念,初步学习记录,受益匪浅,记录如下。

什么是生成对抗网络(GANs)?

2014年Goodfellow 等人启发自博弈论中的二人零和博弈,开创性地提出了生成对抗网络 (GAN)。生成对抗网络包含一个生成模型和一个判别模型。其中,生成模型负责捕捉样本数据的分布,而判别模型一般情况下是一个二分类器,判别输入是真实数据还是生成的样本。这个模型的优化过程是一个“二元极小极大博弈”问题 ,训练时固定其中一方(判别网络或生成网络),更新另一个模型的参数,交替迭代,最终,生成模型能够估测出样本数据的分布。生成对抗网络的出现对无监督学习,图片生成的研究起到极大的促进作用。生成对抗网络已经从最初的图片生成,被拓展到计算机视觉的各个领域,如图像分割、视频预测、风格迁移等。

上面这段话有几个关键点

1.GANs的开创者:Goodfellow 

2.GANs包含两个主要的模型:生成模型和判别模型。

3.两个模型交替迭代,直到生成模型达到输出要求。

4.算法对无监督学习的研究起到极大的促进作用。

5.应用领域图片生成、图像分割、视频预测、风格迁移

借鉴其他网友朴实的描述生成对抗网络:“假设一个城市治安混乱,很快,这个城市里就会出现无数的小偷。在这些小偷中,有的可能是盗窃高手,有的可能毫无技术可言。假如这个城市开始整饬其治安,突然开展一场打击犯罪的「运动」,警察们开始恢复城市中的巡逻,很快,一批「学艺不精」的小偷就被捉住了。之所以捉住的是那些没有技术含量的小偷,是因为警察们的技术也不行了,在捉住一批低端小偷后,城市的治安水平变得怎样倒还不好说,但很明显,城市里小偷们的平均水平已经大大提高了。”

GANs 架构

GAN架构由两个主要网络组成:

1.生成器:试图将随机噪声转换为看起来像是从原始数据集中采样的观测值。

2.鉴别器:试图预测一个观测值是来自原始数据集还是生成器的伪造品。

不用数学的方式描述,因为我也是入门学习。

应用

图像分割

图像分割是指将图像的中的内容根据不同的语义分割开来。绝大多数分割的方法是将图像的每个像素进行分类,这样就忽略了空间一致性这个重要信息。生成对抗网络做图像分割时,生成模型被图像像素分类的网络替换,判别模型用于判断是网络的分类产生的分割图(Class predictions)还是标准的分割图(Ground truth)。

视频预测

视频预测是根据当前的几帧视频预测接下来的一帧或者多帧视频。一般常用的做法是用最小二乘回归视频帧的逐个像素值,这样做的一个问题就是生成视频帧存在动作模糊(Motion blur)。一种采用生成对抗网络的做法是,将现有视频帧改变不同尺寸输入生成模型G,让其输出接下来的真值帧(Ground truth frame)。图6给出了生成对抗网络应用于视频预测时生成网络部分示意图。判别模型和一般生成对抗网络相同,即判断视频帧是生成的还是训练数据原有的。

给一张人脸照片, GANs 就可以帮你预测不同年龄阶段你会长成什么样。

风格迁移

风格迁移是指将目标图像的风格迁移到源图像当中,使得源图像保留内容的同时具有目标图像的风格,比如将卡通人物的风格迁移到真实人脸图像使其成为卡通头像。生成对抗网络用于图像风格迁移时其特点有3个:1)将源图像输入生成网络后,生成网络输出目标图像风格的图片;2)生成图像和源图像特征相同(或者说保持内容);3)当把目标图像输入生成网络后,生成网络仍然输出目标图像(相当于单位映射)。

看了很多资料,觉得写的好的如下

“AI”科普丨超详细整理,一文彻底搞懂生成对抗网络(GANs)原理

生成对抗网络 – Generative Adversarial Networks | GAN-腾讯云开发者社区-腾讯云


http://www.ppmy.cn/news/1509884.html

相关文章

VUE最强学习宝典01

目录 1.Vue是什么? 2. 两种使用方法 3.创建第一个vue实例 4.补充小知识 5.错误查询 1.Vue是什么? 概念:动态构建用户界面的渐进式 JavaScript 框架 。 优点:大大提升开发效率(70%) 缺点:需要理解记忆规划-->官…

【生成式人工智能-十一一个不修改模型就能加速语言模型生成的方法】

一个加速语言模型生成的方法 现在语言模型的一个弊端speculative decoding预言家预测的问题 speculative decoding 模块的实现方法NAT Non-autoregressive模型压缩使用搜索引擎 一些更复杂些的speculative decoding 实现方式 speculative decoding 是一个适用于目前生成模型的加…

一台佳能G3811彩色喷墨打印机打印没颜色报5200的维修记录

一台佳能G3811彩色喷墨打印机,用户送修,称打印没有颜色,加电开机连电脑安驱动打印测试,确实没有颜色,于是清洗喷头结果打印机那个显示屏上 ,上来就报错P08,电脑提示5200; 话不多说,开始维修,仅记录当时的维修方法及步骤,其它未列出。。。 维修方法: 1、进维…

MDK常见概念

(1)typedef定义结构体类型 typedef struct {uint32_t BaudRate;uint32_t WordLength;uint32_t StopBits;uint32_t Parity;uint32_t Mode;uint32_t HwFlowCtl;uint32_t OverSampling; } UART_InitTypeDef; (2)寄存器 (3)DMA DMA 是…

快速搭建Vue_cli以及ElementUI简单项目学生管理系统雏形

为了帮助大家快速搭建Vue_cli脚手架还有ElementUI的简单项目,今天我给大家提供方法. 因为这个搭建这个项目步骤繁多,容易忘记,所以给大家提供这个资料希望可以帮助到你们. 废话不多说开始搭建项目: 搭建Vue_cli项目 首先点开HBuilder左上角的文件点击新建,点击项目,选择vue项…

uniprot数据库转换ID功能

1.登入uniprot数据库 uniprot 2. 选择ID mapping,输入P31946和P62258等uniprot数据库中的蛋白质ID 然后在To database选项中选择:sequence databases---RefSeq Protein---map 显示已完成,点击ID MAPPING 下方的网址,则可以看到uni…

【React】自动补全标签(包有效果的)

0. react写标签的时候无法自动补全&#xff0c;需要自己敲<xxx> 如图&#xff0c;想写p标签&#xff0c;很麻烦 1. 打开vscode左下角setting 2. 搜索include Languages&#xff0c;点击emment&#xff0c;点击add item 3. 分别输入javascript&#xff0c;javascriptreac…

我标记了一个属性 img loading=“lazy“

img属性loading 一个属性实现图片懒加载。 <!-- 示例代码 --> <img src"demo.jpg" alt"示例图片" loading"lazy">参数&#xff1a; 值描述eager默认&#xff0c;图像立即加载。lazy图像延迟加载&#xff0c;只有鼠标滚动到该图片所…