InfoGAN 生成时序序列

article/2025/3/4 8:56:19

InfoGAN 生成时序序列

简介

完整代码:https://github.com/SongDark/timeseries_infogan

  本文介绍用InfoGAN生成多维时序序列。


数据

数据集下载地址

NameClassDimensionTrain SizeTest SizeTruncated
CharacterTrajectories20314221436182

样本介绍

  CharacterTrajectories数据集是小写英文字符轨迹的数据集,包含20个类’a’ ‘b’ ‘c’ ‘d’ ‘e’ ‘g’ ‘h’ ‘l’ ‘m’ ‘n’ ‘o’ ‘p’ ‘q’ ‘r’ ‘s’ ‘u’ ‘v’ ‘w’ ‘y’ ‘z’。每个样本是一个时序序列,有三个维度,分别是 x x x轴坐标、 y y y轴坐标和笔尖力度。作者将所有样本都进行了截断或补零,统一变成长度为182的序列。样本进行了一阶差分处理,需要通过累积(cumsum)来恢复原本的坐标轨迹。

样本处理

  只选用样本的前两维: x x x轴坐标、 y y y轴坐标。
  尺寸为 [ N , 182 , 2 ] [N,182,2] [N,182,2]的mini-batch应该处理(Reshape)成 [ N , 182 , 2 , 1 ] [N,182,2,1] [N,182,2,1],而不是 [ N , 182 , 1 , 2 ] [N,182,1,2] [N,182,1,2],前者将样本作为长182宽2的单通道图像,后者将样本作为长182宽1的双通道图像。经试验,后者无法生成,前者可以。


InfoGAN

论文地址:InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets

  论文认为普通的GAN做生成的时候,输入的噪声对输出的图像造成的影响十分不明确,噪声与图像之间的映射关系可能非常复杂。InfoGAN希望GAN能达到这样的效果:改变z的某个维度,能让生成的样本有明显改变。
  InfoGAN将噪声分成两部分: z z z c c c,其中 z z z是普通噪声部分,用于生成复杂的样本, c c c是编码部分,用于控制生成样本的关键信息(例如类别、旋转等)。InfoGAN由三部分组成:生成器 G G G(用于生成样本)、判别器 D D D(用于和G对抗)、分类器 Q Q Q(用于恢复 c c c)。分类器 Q Q Q的任务是猜测样本是由什么样的 c c c控制生成的,它要求 G G G不能把一些无意义的东西塞进 c c c里,这里 G G G Q Q Q的组合其实有点像AutoEncoder。然而, G G G有可能直接把 c c c拼在输入的某处直接送给 Q Q Q,为了避免这样的情况,判别器 D D D要求 G G G必须生成足够真实的样本。


生成效果

c c c 的构成

   c c c 有12位,前10位是one-hot过的标签,用于控制类别,后2位是随机数,控制属性未知,需要网络学习。

1. 随机生成

2. 固定噪声

3. 固定标签,噪声连续变化

在MNIST中,两位的噪声分别可以控制生成字符的宽度和旋转角度,但是在生成时序序列的任务中,两位噪声的作用不太显著。


一些经验和心得

1. 生成器最后一层

有些GAN的实现里,生成器最后一层加了sigmoid或tanh,我这里没有任何激活函数,也能生成。

2. 样本的shape

样本处理成 [ N , 182 , 2 , 1 ] [N,182,2,1] [N,182,2,1]尺寸能生成, [ N , 182 , 1 , 2 ] [N,182,1,2] [N,182,1,2]不能。

3. 类别控制

尽管 c c c中有类别,生成的样本并不是与给定的类别一致的。例如在 c c c中编码字符a,原本是希望能生成a的样本,但实际上生成的可能是b的样本。然而幸运的是,尽管类别是乱序的,但编码了某个类别后,生成的必然是某一类的样本,不会是多类的。原本我以为是我代码写错了,但github上一个高star代码的结果也是乱序的,应该不是我的问题。

4. 属性控制

MNIST做数据集时, c c c的最后两位可以控制宽度和旋转角度,而在时序序列的生成任务里,似乎效果不显著,可能有这样的效果:增大 c c c的数值,字符的尾巴会变长。其实InfoGAN原论文里也只是说作者发现改变这两位刚好对应了不同宽度和旋转的MNIST数字,要是能够在训练前就指定好某一位就是控制宽度、某一位就是控制旋转就好了。


完整代码

https://github.com/SongDark/timeseries_infogan

参考资料

tensorflow-generative-model-collections
timeseries_gan


http://chatgpt.dhexx.cn/article/CeVC5Pkx.shtml

相关文章

InfoGAN详解与实现(采用tensorflow2.x实现)

InfoGAN详解与实现(采用tensorflow2.x实现) InfoGAN原理InfoGAN实现导入必要库生成器鉴别器模型构建模型训练效果展示 InfoGAN原理 最初的GAN能够产生有意义的输出,但是缺点是它的属性无法控制。例如,无法明确向生成器提出生成女…

InfoGAN论文笔记+源码解析

论文地址:InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets 源码地址:InfoGAN in TensorFlow GAN,Generative Adversarial Network是目前非常火也是非常有潜力的一个发展方向&#…

InfoGAN(基于信息最大化生成对抗网的可解释表征学习)

前言: 这篇博客为阅读论文后的总结与感受,方便日后翻阅、查缺补漏,侵删! 论文: InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets 解决的问题: In…

InfoGAN学习笔记

InfoGAN: Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets Xi Chen, Yan Duan, Rein Houthooft, John Schulman, Ilya Sutskever, Pieter Abbeel https://arxiv.org/abs/1606.03657 一、从GAN到InfoGAN 1.GAN存在的问题 GAN…

生成对抗网络(十)----------infoGAN

一、infoGAN介绍 infoGAN采用的是无监督式学习的方式并尝试实现可解释特征。原始数据不包含任何标签信息,所有的特征都是通过网络以一种非监督的方式自动学习得到的。使用了信息论的原理,通过最大化输入噪声和观察值之间的互信息来对网络模型进行优化。…

InfoGAN详细介绍及特征解耦图像生成

InfoGAN详细介绍及特征解耦图像生成 一.InfoGAN框架理解特征耦合InfoGANInfoGAN论文实验结果 二.VAE-GAN框架理解VAE-GAN算法步骤 三.BiGAN框架理解四.InfoGAN论文复现使用MNIST数据集复现InfoGAN代码编写初始化判别器初始化生成器初始化分类器训练InfoGAN网络 总结参考文献及博…

InfoGAN介绍

今天给大家分享的是NIPS2016的InfoGAN。这篇paper所要达到的目标就是通过非监督学习得到可分解的特征表示。使用GAN加上最大化生成的图片和输入编码之间的互信息。最大的好处就是可以不需要监督学习,而且不需要大量额外的计算花销就能得到可解释的特征。 通常&#…

10.可视化、可视分析、探索式数据分析

前言:基于人大的《数据科学概论》第十章。主要内容为可视化的定义、可视化的意义、可视化的一般过程、科学可视化与信息可视化、可视化的原则、可视化实例、可视化的挑战和趋势、可视分析技术、探索式数据分析、可视化工具。 一、可视化的定义 可视化是数据的可视表…

国内外大数据可视化分析产品点评

一、KINETICA Kinetica 利用图像处理芯片提供计算支持,允许企业使用机器学习,商业智能分析和可视化技术更快速地分析海量数据; 点评:它的核心技术能力是类MapD的GPU数据库,功能性能较强大,非开源&#xf…

数据分析可视化之模型介绍

一 前言 “数据分析可视化”这条术语实现了成熟的科学可视化领域与较年轻的信息可视化领域的统一。 数据分析可视化:是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。 数据可视化已经提出了许多方法&…

5个最受欢迎的大数据可视化软件

数据可视化的本质是视觉对话,数据可视化将数据分析技术与图形技术结合,清晰有效地将分析结果信息进行解读和传达。 大数据可视化是进行各种大数据分析解决的最重要组成部分之一。 一旦原始数据流被以图像形式表示时,以此做决策就变得容易多了…

软件架构-可视化

软件架构-可视化 当我们在讨论系统时,往往都会说这个系统的架构是什么样的,在你口述的同时,如果能借助某些图表,效果会更好,传统的uml建模比较复杂,目前的软件工程大家更关注效率(这里我不谈敏捷…

48 款数据可视化分析工具大集合

作者:DC君 来源:DataCastle数据城堡 本篇专门推荐48款数据可视化工具,全到你无法想象。 1、Excel 作为一个入门级工具,是快速分析数据的理想工具,也能创建供内部使用的数据图,但是Excel在颜色、线条和样式上…

爬取某小说榜单爬虫及可视化分析

爬取某小说榜单爬虫及可视化分析(仅用于学习) gitee代码链接:https://gitee.com/huang_jia_son/duoduo.git 介绍 GUI界面python爬虫数据清洗与处理pyecharts可视化展示软件架构 (1)通过tkinter制作GUI界面&#xf…

咖啡PowerBI可视化实例

目录 一、导入数据 二、构建指标 1、构架表之间的关系 ​ 2、完善表 3、构建指标 三、可视化 1、整体分析 2、省份业务 3、产品维度 4、地区维度 5、客户维度 6、价格分析 7、利润分析 8、其它分析 一、导入数据 二、构建指标 1、构架表之间的关系 软件会…

CodeScene - 软件质量可视化工具

CodeScene - 软件质量可视化工具 CodeScene https://codescene.com/ https://codescene.io/ The powerful visualization tool using Predictive Analytics to find hidden risks and social patterns in your code. 使用 Predictive Analytics 的功能强大的可视化工具&#x…

使用excel、python、tableau对招聘数据进行数据处理及可视化分析

招聘数据数据分析及可视化 数据来源前言一、观察数据删除重复值数据加工 二、利用python进行数据分析和可视化1.引入库2.读入数据观察描述统计,了解数据大概信息 3.数据预处理3.1数据清洗3.1.1 删除重复值3.1.2缺失值处理 3.2数据加工 4.数据可视化4.1城市岗位数量4…

可视化工具软件排行榜

市面上的数据可视化工具软件如此之多,有哪些可视化软件工具居于排行榜单的前列呢?你用的软件上榜了吗? 1、FineBI 来自帆软公司,虽作一个BI工具,但是可视化效果不错,可制作Dashboard。优势在于一旦准备好…

2020年六十款数据分析的可视化工具推荐

今天小编将为大家盘点六十款数据分析的可视化工具,让你妥妥的成为会议室乃至全公司最亮的崽~ 1、ChartBlocks ChartBlocks是一款网页版的可视化图表生成工具,在线使用。通过导入电子表格或者数据库来构建可视化图表。整个过程可以在图表的向导指示下完成。它的图表在HTML…

值得推荐的13款可视化软件,快收藏!

数据可视化力求用图表结合的方式把所有的数据整合在某一图像上,这样呈现在观众眼前的画面不仅仅是美观,且比以往长篇大论或是密密麻麻的数据表格更直观易懂,更便于观察分析。到今年上半年为止,国内外已经有了很多发展的较好的数据…