深度卷积对抗神经网络 基础 第四部分 可控制的GANs(Controllable GANs)

news/2024/11/16 16:54:23/

不同的生成模型定义

深度卷积对抗神经网络包含两种不同的生成模型, 条件生成模型非条件生成模型。非条件生成模型就像是一个彩票机或者赌博机,你输入一个任意数字的硬币数量,而输出则是随机的彩球。这样的系统,我们不能控制输出的结果的具体类别。而条件生成模型便可以类比为一个自动售卖机,你投入任意数字的硬币,那么就会有对应价格的商品被生成出来。

非条件的生成模型

非条件生成模型 (Unconditional generation) 通过任意输入噪声,能够生成随机的假图形。

可控制的生成模型

目的: 可以通过某种方式Control GANs in some ways to manipulate the feature output instead of input classes

Controllable generation 可控制的生成器Conditional generation 条件的生成器
output with features that you want 输出的图片的特性可以自己决定output form the classes you want 输出的图片只能决定类别
training dataset doesn't need to be labeled 输出的训练集需要被标记training dataset needs to be labeled 输出的训练集需要被标记
manipulate the z vector input 通过操作z空间的向量空间来控制append a class vector to the input 将一个类别向量加到噪音向量中

条件的生成模型

条件生成模型 (Conditional generation) 通过特殊定义的输入噪声,能够得到对应的输出类的随机假图形。

  • 其需要标记的数据集来作为训练数据。 requires labeled datasets for training

  • 而带来的好处就是其能生成对应类别的图片。can produce example for the selected class

使用方式

  • 通过使用单热点向量来指定生成的图片类图片。Generator: Use one hot vector

  • 而在判别器中使用单热点通道判别器。 Discriminator :Use one hot channel layer matrices

模型架构

所遇到的挑战 Challenges

  • 图像的特性包含着非常多的相似性。 Features correlation: correlated feature are commons

  • Z空间是纠缠着的,并不会对应每一个特性都有相应的空间维度。Z-Space Entanglement(纠缠的): Doesn't have enough dimension to control all output features

Z向量空间的代数操作 Vector algebra in the Z-Space

在Z空间上进行寻找,直到找到对应的feature在噪声空间上的对应方向和位置。

在noise space上找方向,direction。通过在z-space上移动来生成拥有对应的feature的output。

分类器梯度 Classifier gradient

这种类型的模型需要一个预先训练好的特性分类器来给生成器做参考。Need a pre-trained classifier to classify the features and give these feedback to the generator.

解决纠缠问题 Disentanglement

通过将z 空间向量映射到潜在空间的方式去解决纠缠问题。 如果一个随机生成的噪声向量各个空间之间是纠缠的话,那么就通过搭建多层的神经网络,将向量映射到潜在的空间去解耦,这样我们就得到了解纠缠后的Z空间。Latent factors of variation : z -space factor to control the features

通过 supervised way 和unsupervised way去解决特征空间的纠缠问题

L_{new} = L_{original} +reg_{d}

reg_d可以通过classifier gradient 或者其他更先进的算法去解决这些问题,这就是经典的分类器所给出的特性的反馈

  • 解纠缠的Z空间可以让你控制单一的特性而不仅仅是图片的类别。 Disentangled Z-spaces let you control individual features by corresponding z values directly to them

  • 存在很多的监督或者非监督的学习方式可以解决纠缠问题。There are supervised and unsupervised methods to achieve disentanglement


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

相关文章

Leetcode:491. 递增子序列(C++)

目录 问题描述: 实现代码与解析: 回溯: 原理思路: 优化版: 原理思路: 问题描述: 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至…

3000字英文随笔(挽救下语感)

🌼遥远的她(吉他版) - 張子铭 - 单曲 - 网易云音乐 🌼New Boy - 房东的猫/陈婧霏 - 单曲 - 网易云音乐 实际只有800个单词哈 我会借助有道词典,百度翻译 结合所剩不多的语感,尽己所能地道地表达 杜绝中式英语,当…

RK3399平台开发系列讲解(文件系统篇)文件回写过程介绍

🚀返回专栏总目录 文章目录 一、编程接口二、回写过程2.1、周期回写2.2、强制回写2.3、系统调用sync沉淀、分享、成长,让自己和他人都能有所收获!😄 📢进程写文件时,内核的文件系统模块把数据写到文件的页缓存,没有立即写回到存储设备。文件系统模块会定期把脏页(即…

【时间复杂度和空间复杂度】

1.时间复杂度时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个数学函数,它定量描述了该算法的额外运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起…

JavaScript 语句

JavaScript 语句 我们可以使用设置语言来告诉浏览器需要做些什么事情,语句就是向浏览器发出一些命令。 那么JavaScript中怎样定义语句呢? 首先语句是用来给浏览器发送命令的。命令是用来告诉浏览器该做哪些事情的。 举例说明,我们想idtest的元素中设…

K8s:通过 Helmify 实现将 YAML 文件 转化为 Helm Charts

写在前面 分享一个 Yaml 资源文件转 Helm Charts 包的小工具 helmify博文内容涉及:helmify 工具安装,简单使用YAML 静态文件转化为 HELM charts 包从 kustomize 输出转化为 Helm理解不足小伙伴帮忙指正博文涉及 helmify 我心匪石,不可转也。我…

C语言深度解剖-关键字(1)

目录 1.初步了解关键字 2.第一个C程序 3.深刻理解变量 是什么? 怎么用? 为什么? 4.深刻理解定义与声明 5.auto关键字的理解 6.理解关键字register 认识: 本质: register 修饰变量 写在最后: 1…

Python装饰器使用方法详解

文章目录1 装饰器背景知识1.1 基本概念1.2 应用场景2 简单的装饰器代码3 使用装饰器记录函数执行次数4 带参数的装饰器5 装饰器处理有返回值的函数1 装饰器背景知识 1.1 基本概念 装饰器(Decorator)是 Python 中一种函数或类,用来修饰其他函…