Project Icon

variational-autoencoder

变分自编码器参考实现,兼容TensorFlow和PyTorch

该项目提供了变分自编码器的参考实现,支持TensorFlow和PyTorch。项目中包含了逆自回归流变分家族的示例,通过变分推断对二值MNIST手写数字图像进行拟合。通过重要性采样估计边际似然,展示了高效的训练和验证结果。优化后的测试集边际对数似然达到了-95.33 nats。此外,该项目还提供了JAX实现,能够实现3倍于PyTorch的加速效果。

项目介绍:变分自编码器

变分自编码器(Variational Autoencoder,简称VAE)是深度学习领域中的一种生成模型,它的主要任务是对数据进行压缩和再生成。该项目提供了基于TensorFlow和PyTorch的变分自编码器的参考实现。这两个框架各有优劣,作者特别推荐了PyTorch版本,因为它包含了一个更具表现力的变分族——逆自回归流(Inverse Autoregressive Flow)。

项目背景

变分自编码器通过变分推断技法对模型进行训练,在这里模型主要用于拟合二值化的MNIST手写数字数据集。这一过程可通过编码器(推断网络)来实现,它帮助简化了推断并能在不同的数据点之间共享参数。同时,生成网络(解码器)用于参数化生成的可能性。

PyTorch 实现

在PyTorch实现中,项目通过重要性采样来估计边际似然,对于Hugo Larochelle的Binary MNIST数据集,最后在测试集上的边际似然估计达到-97.10 nats,这一数值与已发表的结果相当。项目中实现的代码可以在终端环境中运行,示例如下:

$ python train_variational_autoencoder_pytorch.py --variational mean-field --use_gpu --data_dir $DAT --max_iterations 30000 --log_interval 10000

通过使用更加复杂的逆自回归流变分后验逼近,测试集的边际对数似然提升到-95.33 nats,更好的捕捉数据特征:

$ python train_variational_autoencoder_pytorch.py --variational flow

JAX 实现

相比较而言,JAX实现版本在性能上有所突破,能够实现3倍于PyTorch的速度加快。同样的,用户可以利用命令行运行JAX版本的模型:

$ python train_variational_autoencoder_jax.py --variational mean-field 

而在使用逆自回归流时,尽管代码实现中缺乏卷积操作,但仍可达到较好的结果。使用残差块能够达到更低的ELBO值:

$ python train_variational_autoencoder_jax.py --variational flow 

生成GIF动画

为了直观展示训练过程,项目还提供了生成GIF动画的步骤。首先运行TensorFlow版本的训练脚本生成JPEG文件,然后使用ImageMagick工具合成GIF动画。

项目改进

当前项目仍在不断完善中,以下是几个未来可能的方向:

  • 添加多GPU/TPU选项,提高大规模运算中的效率。
  • 为PyTorch和JAX实现添加JaxTyping支持,以实现运行时的静态类型检查。

以上为变分自编码器项目的概况及其实现细节。该项目从构想到实现为研究者提供了一个实践探索的工具,可以帮助用户深入理解生成模型的原理及实现细节。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号