深度学习(32)——CycleGAN(1)

深度学习(32)——CycleGAN(1)

文章目录

  • 深度学习(32)——CycleGAN(1)
    • 1. GAN原理
    • 2. CycleGAN
      • (1)原理
      • (2)核心思想
      • (3)优点
      • (4)缺点
      • (5)应用

前几天被Ly问GAN,所以去学了学,之前只知道大概,现在稍微懂一点

1. GAN原理

在这里插入图片描述
一个随机向量经过生成器生成的一个图像作为fake image,然后在训练集上随机挑选一张图片real image,将两张image输入辨别器,让他判断照片是real 或者fake

  • generator生成的数据是fake,在做loss的时候要保证fake image和real image的数据格式是相同的
  • real image是在训练集上随便选择的
  • 我们期望generator生成的数据是无限逼近甚至是可以和真实数据相似的
  • 生成器是辨别生成数据是假的(生成的)还是真的(训练集本有的),因此是一个二分类模型
  • 损失函数很重要,损失函数的定义决定了网络的最终结果

2. CycleGAN

CycleGAN是一种无监督的图像转换模型,它可以在两个不同领域的图像之间进行转换,而无需配对的训练样本。其核心理念是通过两个生成器和两个判别器相互竞争来实现图像的转换
在这里插入图片描述

(1)原理

  • 生成器(Generator):包括一个从域A到域B的生成器G_AB和一个从域B到域A的生成器G_BA。这两个生成器用于学习两个域之间的映射关系,并尝试将输入图像转换为目标域。
  • 判别器(Discriminator):包括一个用于区分域A图像和生成器G_BA生成的图像的判别器D_A,以及一个用于区分域B图像和生成器G_AB生成的图像的判别器D_B。这两个判别器用于评估生成图像的真实性。
  • 循环一致性损失(Cycle Consistency Loss):为了保持图像转换的一致性,CycleGAN引入了循环一致性损失。即通过将一个生成的图像再次转换回原始域,并计算其与原始图像之间的差异,来确保转换过程中信息的保留
  • 4个网络:generator(G_AB& G_BA),discriminator(D_A& D_B)
  • 4个损失:generator,discriminator,cycle,identity

(2)核心思想

通过竞争性训练生成器和判别器,以及引入循环一致性损失,来实现不同域之间的图像转换。通过反复迭代训练过程,生成器可以学习到两个域之间的映射关系,并生成高质量的转换图像。

(3)优点

  • 无需配对样本:CycleGAN不需要配对的训练数据,因此可以在两个不同领域之间进行转换,而无需手动标记每个图像对。这使得其适用于许多实际场景,如风格迁移、动漫化等。
  • 可学习的映射关系:通过竞争性训练生成器和判别器的过程,CycleGAN能够学习到两个域之间的映射关系,从而实现高质量的图像转换。

(4)缺点

  • 训练过程相对复杂:由于要训练两个生成器和两个判别器,以及计算循环一致性损失,CycleGAN的训练过程相对复杂,需要更多的计算资源和时间。
  • 生成图像可能存在一些失真:由于CycleGAN是一种无监督方法,它不能保证生成的图像与目标域的图像完全一致,因此生成的图像可能会存在一些失真或偏差。

(5)应用

  • 输入数据集:两个不同域的图像数据集,这些数据集中的图像可以代表两个领域的样本。例如,一个数据集可以包含城市景观照片(域A),另一个数据集可以包含油画图片(域B)。
  • 输出结果:CycleGAN可以将输入域A的图像转换为目标域B的图像,并将输入域B的图像转换为目标域A的图像。因此,输出结果是经过转换后的图像集合,这些图像可以在两个不同领域之间进行转换。

OK,今天就先这样,下一期上代码,886

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/52655.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直播课 | 大橡科技研发总监丁端尘博士“类器官芯片技术在新药研发中的应用”

从类器官到类器官芯片,正在生物科学领域大放异彩。 药物研发需要新方法 众所周知,一款新药是一个风险大、周期长、成本高的艰难历程,国际上有一个传统的“双十”说法——10年时间,10亿美金,才可能成功研发出一款新药…

8.4 day05软件学习

文章目录 微服务的概念微服务的原则微服务的特征:集群介绍 spring aop 在家学习效率真不高,下午好兄弟喊出去玩,一直到晚上才回来,赶紧总结一下早上学习的内容。 继续看java基础进阶的思想,之前学的很多都忘了。 微服…

【JDK 11】【JDK 8】项目 jdk 版本升级,修改方案与实践

前言 工作中,难免会遇到升级版本的事情。这次由于两个系统中,系统 A 是用的 JDK8 版本,系统 B 是用 JDK11 版本;要求同步 JDK 版本,也就是升级到11版本。那么接下来将进行介绍~ 问题与解决 1. .sh 脚本启动无法启动…

JVM | 从类加载到JVM内存结构

引言 我在上篇文章:JVM | 基于类加载的一次完全实践 中为你讲解如何请“建筑工人”来做一些定制化的工作。但是,大型的Java应用程序时,材料(类)何止数万,我们直接堆放在工地上(JVM)…

死锁的发生原因和怎么避免

项目场景: 提示:这里简述项目相关背景: 例如:项目场景:示例:通过蓝牙芯片(HC-05)与手机 APP 通信,每隔 5s 传输一批传感器数据(不是很大) 问题描述 死锁,简单来说就是两个或者两个以上的线程在…

WebGL Shader着色器GLSL语言

在2D绘图中的坐标系统,默认情况下是与窗口坐标系统相同,它以canvas的左上角为坐标原点,沿X轴向右为正值,沿Y轴向下为正值。其中canvas坐标的单位都是’px’。 WebGL使用的是正交右手坐标系,且每个方向都有可使用的值的…

【物理】带电粒子在磁场和电场中移动的 3D 轨迹研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

轻松搭建酒店小程序

酒店小程序的制作并不需要编程经验,只需要按照以下步骤进行操作,就能很快地搭建自己的小程序商城。 第一步,注册登录账号进入操作后台,找到并点击【商城】中的【去管理】进入商城的后台管理页面,然后再点击【小程序商城…

Java on Azure Tooling 6月更新|标准消费和专用计划及本地存储账户(Azurite)支持

作者:Jialuo Gan - Program Manager, Developer Division at Microsoft 排版:Alan Wang 大家好,欢迎阅读 Java on Azure 工具的六月更新。在本次更新中,我们将介绍 Azure Spring Apps 标准消费和专用计划支持以及本地存储账户&…

RFID资产管理系统的选择

RFID资产管理是一种有效的资产过程控制方法,可以帮助企业实现高效的资产管理。选择RFID技术,可以高度集成各种资产信息,完成实时跟踪管理。   根据RFID资产管理系统,可以做到资产的实时管理,使企业管理者可以实时了解…

微信小程序iconfont真机渲染失败

解决方法: 1.将下载的.woff文件在transfonter转为base64, 2.打开网站,导入文件,开启base64按钮,下载转换后的文件 3. 在下载解压后的文件夹中找到stylesheet.css,并复制其中的base64 4. 修改index.wxss文…

vue使用拖拽功能实现仓库存放货物的需求

效果&#xff1a; 代码 <template><div><div class"bigTitle">xxxxxxxxxxxxxx仓库拖拽系统</div><div class"container2 flex-j-space-between"><div class"product-list"><div class"leftTree h…