机器学习与深度学习系列连载: 第四部分 对抗网络GAN (四) 对抗网络 Cycle GAN

2024-03-18 19:30

本文主要是介绍机器学习与深度学习系列连载: 第四部分 对抗网络GAN (四) 对抗网络 Cycle GAN,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对抗网络GAN (四) 对抗网络 Cycle GAN

我们目前看到的GAN都是有正确结果做参照的GAN(Supervised),但是如果没有正确结果做参照(Unsupuervised)的。

最典型的例子就是风格迁移了(和Style Transfer算法不通,我们这里考虑用GAN),我们要把普通的照片迁移成梵高的画作,以前是没有这样的例子的,无从参考。

在这里插入图片描述

我们还可以把进行声音转换:男人的声音转换成女人的

在这里插入图片描述

以上就是非监督条件下的结构化数据生成。

1. 直接转换 Direct Transfermation

首先我们需要一个鉴别器D,能够区分正常画作和梵高的画作。 这样,生成器G就需要生成的图片能够“骗过” D

在这里插入图片描述

直接转换过程中,我们是有个前提条件的,并不是生成梵高的画作就是好的,我们还有尊重原来照片的内容。

在这里插入图片描述

我们需要增加Y到X的生成,进行内容的一致设定,确保照片内容不变形。

这个时候我们需要两个鉴定器Dx(鉴定是不是梵高的画作)和Dy(鉴定是不是普通照片),
还有两个生成器Gx(照片到梵高),Gy(梵高到照片)

  • 对于普片转换成梵高的画作,我们针对结果进行限制,是不是很像AutoEncoder
    在这里插入图片描述

  • 对于梵高的画作转换成普通图片,我们结果限制,是不是很像AutoEncoder

  • 在这里插入图片描述

把以上两个结合起来,就是Gycle GAN

在这里插入图片描述

2. Star GAN

在Cycle GAN中有Domain X 和 Domain Y之间的互相转换,如果Domain特别多,转换起来的复杂度非常大。 是 C n 2 C^{2}_{n} Cn2中转换方式。 我们需要统一集中的转换。

Star GAN(来自论文Yunjey Choi, arXiv, 2017)就是做一个中心转换节点:
在这里插入图片描述

我们举一个实际例子说明问题:
我们的目标是生成一个棕色长发的男子。

在这里插入图片描述
lable就是 00101,每一位代表一个domain

同样,我们有不通情绪的domain
在这里插入图片描述

然后通过Star GAN进行不通domain间的转换(中间reconstruction的目的是保证图片的内容不失真)
在这里插入图片描述

我们修改图片表情也这样:
在这里插入图片描述

3.直接投射到普通空间 Projection to Common Space

在这里插入图片描述
投射的过程很像是Autoencoder的过程。从DomainX (照片)到 DomainY(动漫)

训练的过程:
在这里插入图片描述
但是上图的训练过程会造成一个现象,两个Autoencoder相对独立,并没有将图片投射到同一个空间。而且没有鉴别器D。

实际上,我们训练的过程:
在这里插入图片描述
目标是: encoder 和 Decoder的 参数共享。

训练模型是:(参考
Couple GAN[Ming-Yu Liu, et al., NIPS, 2016]
UNIT[Ming-Yu Liu, et al., NIPS, 2017]

在这里插入图片描述

4. 声音互转应用

我们从图片的的框框跳出来,用一个人的声音转换成另一个人的声音。

一般的,我们如果用监督学习,必须将两个都都请过来,一起念一些文字(必须是同样的内容),记录声音,然后用监督学习硬train。
在这里插入图片描述

但是使用GAN后,两个人甚至使用的不同语言,说不同的事情(训练数据),都可以用声音互转。(英语发音的人就会用洋腔洋调说中文哦)

在这里插入图片描述

本专栏图片、公式很多来自台湾大学李宏毅老师的深度学习课程,在这里,感谢这些经典课程,向李老师致敬!

这篇关于机器学习与深度学习系列连载: 第四部分 对抗网络GAN (四) 对抗网络 Cycle GAN的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/823400

相关文章

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

SSID究竟是什么? WiFi网络名称及工作方式解析

《SSID究竟是什么?WiFi网络名称及工作方式解析》SID可以看作是无线网络的名称,类似于有线网络中的网络名称或者路由器的名称,在无线网络中,设备通过SSID来识别和连接到特定的无线网络... 当提到 Wi-Fi 网络时,就避不开「SSID」这个术语。简单来说,SSID 就是 Wi-Fi 网络的名称。比如

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor