| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> 阅读笔记-VAE相关论文:Multi-Object Representation Learning with Iterative Variational Inference -> 正文阅读 |
|
[游戏开发]阅读笔记-VAE相关论文:Multi-Object Representation Learning with Iterative Variational Inference |
原文地址:Multi-object representation learning with iterative variational inference提出一种名为“IODINE”的方法,实现对多目标图像的解耦。 ? ?摘要翻译:
Introduction(节选):
方法:
1.??在生成框架(Generative modelling)内表达多目标表征学习。标准VAE使用的方法不适用组合对象结构。为了实现系统概括(Systematic generalization),提出使用 multi-slot 表征, 其中给每个slot共享基本的表征格式,且可描述独立部分。 例如结构上看,Figure1中场景由八个对象组成,每个有自己的属性如形状,大小,颜色,位置和材料。为了分离对象,标准VAE会使用单独的特征维度来表示每个物体,但事实是这些物体是拥有共同属性的可互换对象。 生成模型: 使用K个潜在物体表征,来表示每个场景。由此生成输入图像。 假设是独立的,且共享生成机制,这样无论任何排序都可生成相同图像。 图像使用空间高斯混合模型(Spatial Gaussian Mixture Model)建模?,每个slot对应一个单独的对象。 即每个对象变量被解码为一个像素级的平均值(物体的外观)和一个图像级的Assignment?(Segmentation Mask)。 假设像素是独立与, 似然估计为: ? 对所有对象使用一个全局固定方差。 解码器结构: 由图2(d)可知,每一物体的潜在被分别解码为像素级别的平均值和Mask-logits,然后用一个横跨各slot的softmax操作进行归一化,使得每个像素的mask 和为1。和?一起完成了参数化空间混合分布。 使用Broadcast decoder,在空间上复制潜在变量,并复制两个坐标向量(水平,垂直,-1~1),再应用一系列的 size-preserving卷积层。该结构可以将整个图像的位置与其他变量(颜色,纹理等)分离开,并大体上支持解耦。为了保持共同的格式,所有的slot?共享权重,独立解码,直至mask归一化。 2. 推论与VAE相似,使用摊销变分推断(amortized variational inference)获取近似的后验,参数为高斯 。 但存在其他问题:
因此使用一个更有效的推断方法。
?使用一个与训练的细化网络,但与原作不同,此时仅考虑对后验的加法更新,并使用几个突出的辅助输入到细化网络。独立且平行地更新K个slot的后验。Slot仅在输入层交互。 ? ?对于细化网络,使用卷积网络和LSTM。与常见的VAE编码器不同,该细化网络可以被认为是梯度后验的摊销。后验和似然估计的交替更新可以被视为信息传递。 ? 该算法的伪代码如下: ? 输入: 对于每个Slot?,均向细化网络提供一组辅助输入并用其计算后验概率的更新。输入还包括关于ELBO的梯度信息。该信息提供了哪些信息尚未被其他slots解释。 输入的为:图像, 均值,mask,mask-logits?,均值梯度,mask梯度, 后验梯度, 后验mask, 像素级别似然估计,leave-one-out似然估计, 和decoder中两个坐标通道。 ?3. 训练使用通过unrolled iterations 的梯度下降训练如下参数:decoder(),细化网络(),初始后验()。? ?原则上只需要最小化最后的负ELBO即可,但使用包含早期条件的加权和更有效。公式如下: 每一步细化都使用梯度信息优化后验。但通过该过程的反向传播会导致数值不稳定。 停止梯度通过梯度梯度输入,,的反向传播可解决这个问题。 结果:?IODINE成功地学习了分离的表征,因为它能够首先分解场景,然后表示单个物体(图6右)。在?图6 中,我们展示了标准VAE与IODINE的最重要特征(由KL选择)的遍历。虽然标准的VAE明显地将许多属性纠缠在一起,甚至跨越多个物体,但IODINE能够整齐地将它们分开。 ? 另外,重要的两个超参数分别是迭代次数和Slot数量。
推理在最初的3-5次迭代中迅速收敛,之后,分割和重建都没有什么变化。第二个重要的发现是,该系统在比它所训练的迭代次数长得多的时间里都非常稳定。当模型运行更多的迭代时,它甚至进一步改善了分割和重建,尽管在大约两到三倍的训练迭代次数后,它最终开始发散。 ?
Slot数量控制了系统可以分离的最大对象数量。如果模型在训练时有足够多的Slots来适应所有的物体(K=7,K=9),那么测试时会生成很好的test-time behavior。 如果该模型的训练Slots 过少(K=3和K=5),其性能就会受到很大影响。发生这种情况是因为,在这里,在训练期间重建整个场景的唯一方法是在每个Slot中持续地表示多个物体。而这导致了模型学习低效和entangled的表征。 ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/28 2:31:35- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |