【Keras+计算机视觉+Tensorflow】生成对抗神经网络中DCGAN、CycleGAN网络的讲解(图文解释 超详细)
觉得有帮助麻烦点赞关注收藏~~~
一、生成对抗网络简介
生成对抗网络(GANs,Generative Adversarial Nets),由Ian Goodfellow在2014年提出的,是当今计算机科学中最有趣的概念之一。GAN最早提出是为了弥补真实数据的不足,生成高质量的人工数据。GAN的主要思想是通过两个模型的对抗性训练。随着训练过程的推进,生成网络(Generator,G)逐渐变得擅长创建看起来真实的图像,而判别网络(Discriminator,D)则变得更擅长区分真实图像和生成器生成的图像。GAN网络不局限于提高单一网络的性能,而是希望实现生成器和鉴别器之间的纳什均衡。
事实上,整个学习优化的过程是一个极大极小博弈问题,即寻找G和D之间的平衡点,G的目标是使其输出X的分布尽可能接近真实数据的分布,而D是一个二分类器,目标在于分清是输出为0的生成数据还是输出为1的真实数据,当达到平衡点时,D便无法判断数据来自G还是真实样本,此时的G就为最优状态,综上所述,GAN在不断的对抗学习过程中,生成的数据越来越接近真实样本,而D的判别能力则越来越模糊
假设在低维空间Z存在一个简单容易采样的分布p(z),例如正态分布 ,生成网络构成一个映射函数G:Z→X,判别网络需要判别输入是来自真实数据X_real还是生成网络生成的数据X_fake,结构示意图如下图所示
随着深度卷积神经网络在图像领域的发展,GAN衍生出了很多模型,广泛应用于多个领域。例如DCGAN 为稳定的GAN网络设计和训练提供了十分宝贵的经验,其采用CNN实现对样本的无监督学习,即生成网络可以从随机噪声映射到真实数据空间,可以生成与样本相似的图像。CycleGAN使用循环一致性生成对抗网络,实现两种图像不同风格的互相转换,StackGAN可以将文字描述作为条件,生成器生成与之符合的自然图像,另外GAN还经常被用于图像修复,编辑,去模糊等领域。
二、DCGAN
DCGAN为稳定的GAN网络设计和训练提供了十分宝贵的借鉴,DCGAN使用CNN结构代替传统GAN的全连接网络,具体的改进如下
1:批处理标准化
即对每层都进行批标准化,批标准化是将分散数据统一的做法,其优化了神经网络,产生了具有统一规格的数据,能让机器更容易学习到数据之间的规律
2:使用转置卷积上采样
转置卷积上采样是神经网络生成图像时,从低分辨率到高分辨率的上采样方法,转置卷积能够让神经网络学会如何以最佳方式进行上采样
3:使用Leaky ReLU
使用它作为激活函数,从而实现神经网络的网络结构中从输入到输入的映射,正是由于这些非线性函数的反复叠加,才使得神经网络有能力来抓取复杂的类型,Leaky ReLU的应用提高了系统的计算速度,改善了梯度消失的问题
此外DCGAN的相关论文证明了随机噪声向量维度和范围变化对隐空间结构产生影响,可以改变生成图像内容,这也是我们产生多样化训练样本的原因,同时证明了生成器生成的数据也能用于图像分类任务上,这表明合成图像并不影响神经网络提取图像特征的强大能力
三、CycleGAN
CycleGAN是由两个镜像对称的GAN构成的环形网络,其输入为源域和目标域的图像,对同时输入的图像是否匹配并无要求,即CycleGAN能在输入图像不配对的情况下实现风格转换,思路框架如下
CycleGAN共包含两个生成网络和判别网络实现A域和B域图像的互相映射,CycleGAN的损失由GAN的损失和循环一致性损失共同组成
哈尔滨工业大学和腾讯优图提出加强版的CycleGAN结果如下图,可以看出CycleGAN在风格转换领域有着很强的应用价值(转成二次元啦...)
创作不易 觉得有帮助请点赞关注收藏~~~
【Keras+计算机视觉+Tensorflow】生成对抗神经网络中DCGAN、CycleGAN网络的讲解(图文解释 超详细)相关推荐
- 【Keras+计算机视觉+Tensorflow】OCR文字识别实战(附源码和数据集 超详细必看)
需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一.OCR文字识别简介 利用计算机自动识别字符的技术,是模式识别应用的一个重要领域.人们在生产和生活中,要处理大量的文字.报表和文本.为了减轻人们 ...
- 【计算机视觉】图像分割中FCN、DeepLab、SegNet、U-Net、Mask R-CNN等算法的讲解(图文解释 超详细)
觉得有帮助请点赞关注收藏~~~ 一.FCN分割算法 全卷积神经网络目标分割算法能够端到端的得到每个像素的目标分类结果,与传统的卷积神经网络只能输入固定大小图像和在网络的末端使用几个全连接层得到固定长度 ...
- 【Python自然语言处理】概率上下文无关文法(PCFG)及神经网络句法分析讲解(图文解释 超详细)
觉得有帮助或有疑问麻烦点赞关注收藏后评论区私信留言~~~ 一.句法分析 句法分析(syntactic parsing或者parsing)是识别句子包含的句法成分要素以及成分之间的内在关系,一般以句法树 ...
- 【云计算与大数据技术】分布式数据库NoSQL中KV、列式、图、文档数据库的讲解(图文解释 超详细)
一.NoSQL数据库概述 NoSQL泛指非关系型数据库,相对于传统关系型数据库,NoSQL有着更复杂的分类,包括KV数据库,文档数据库,列式数据库以及图数据库等等,这些类型的数据库能够更好的适应复杂类 ...
- 条件生成对抗神经网络,生成对抗网络gan原理
关于GAN生成式对抗网络中判别器的输出的问题 . ...摘要生成式对抗网络GAN(Generativeadversarialnetworks)目前已经成为人工智能学界一个热门的研究方向.GAN的基本思 ...
- 清华大学提出基于生成对抗神经网络的自然图像多风格卡通化方法并开源代码
近日,清华大学刘永进教授课题组在 IEEE Transactions on Visualization and Computer Graphics 上发表论文,提出基于生成对抗神经网络的自然图像多风格 ...
- 赠书 | 读懂生成对抗神经网络 GAN,看这文就够了
生成对抗神经网络(Generative Adversarial Nets,GAN)是一种深度学习的框架,它是通过一个相互对抗的过程来完成模型训练的.典型的GAN包含两个部分,一个是生成模型(Gener ...
- 清华大学提出基于生成对抗神经网络的自然图像多风格卡通化方法并开源代码...
近日,清华大学刘永进教授课题组在 IEEE Transactions on Visualization and Computer Graphics 上发表论文,提出基于生成对抗神经网络的自然图像多风格 ...
- TF之CNN:Tensorflow构建卷积神经网络CNN的简介、使用方法、应用之详细攻略
TF之CNN:Tensorflow构建卷积神经网络CNN的简介.使用方法.应用之详细攻略 目录 TensorFlow 中的卷积有关函数入门 1.tf.nn.conv2d函数 案例应用 1.TF之CNN ...
最新文章
- UVa 11729 - Commando War(贪心算法)
- Meditation Guide
- 如何使用Tmux提高终端环境下的效率
- HarmonyOS之深入解析自定义组件与布局的实现
- 我从未看过荒原写作背景_您从未听说过的最佳数据科学认证
- 如何学习matlab 知乎,知乎日报
- 发红包的测试用例设计点
- winword.exe应用程序错误0xc0000142
- c++语言计算圆周率,计算圆周率的C++程序(30000位)
- Kafka学习笔记1
- Django(投票系统项目)
- k8s 1.17.3 二进制部署
- 2、JavaScript快速入门
- 从CSDN到个人博客空间
- 鸿蒙塔罗占卜 你是他的备胎吗,鸿蒙塔罗占卜:为什么你每段感情都不长久?...
- 大数据:互联网大规模数据挖掘与分布式处理(第二版)-电子书
- 基于DF中继的协作MIMO通信系统matlab仿真
- 推荐一本小说:《无以言退》
- Centos7服务器运维服务系统安装过程中遇到的问题总结
- Unity部分属性面板解说
热门文章
- CCS TMSC6748 报错Error connecting to the target: (Error -600 @ 0x0)
- allegro导入Pads的PCB
- 【漏洞报送】泛微E-Office存在SQL注入漏洞(CNVD-2022-43246)
- Labelmx条码软件接口版调用例程
- COOX培训材料 — PMT(3.Unit Procedure)
- java论文管理系统_Java人事管理系统(论文+源码)
- VS2008按F5无法到达断点就直接显示了页面,主要有以下几种...
- Oracle入门(二)
- 创建您的ActiveReports Web端在线报表设计器
- 图像旋转中点的公式推导