Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

小舟、陈萍编辑

Alex Graves新作贝叶斯流网络,解决离散数据生成问题,满论文都是数学公式

这是一篇需要仔细研读的论文。

近来,大规模神经网络彻底改变了生成式模型,使模型具有前所未有的捕捉许多变量之间复杂关系的能力,例如建立高分辨率图像中所有像素的联合模型。


大多数神经网络(包括自回归模型、基于流的模型、深度 VAE 和扩散模型)表达能力的关键在于,它们编码的联合分布被分解为一系列步骤,从而避免了「维数灾难(curse of dimensionality)」。也就是说,它们将难题分解成多个简单问题来解决。


自回归网络目前是语言建模领域的 SOTA 方法,并且通常在自然排序的离散数据上表现良好。然而,事实证明自回归网络在图像生成等领域效果较差,因为这些领域的数据是连续的,并且变量之间不存在自然顺序。自回归模型还有一个缺点是,生成样本需要与数据中变量一样多的网络更新。扩散模型是一种应用于图像生成的有效替代框架,但传输过程会变得更加复杂。


然而,当数据是离散的,扩散模型的性能仍不及自回归模型。最近,机器学习领域知名研究者、神经图灵机(NTM)提出者和可微神经计算机的创造者之一 Alex Graves 以第一作者的身份发表了一篇新论文,提出了一种新型生成模型 —— 贝叶斯流网络(Bayesian Flow Networks,BFN)。与扩散模型不同的是,BFN 对数据分布的参数进行操作,而不是对数据本身的噪声版本进行操作。这确保了生成过程是完全连续且可微的,即使数据是离散的。



论文地址:https://arxiv.org/abs/2308.07037


论文一作 Alex Graves,他是图灵奖得主 Geoffrey Hinton 的学生。


BFN 方法会根据噪声数据样本使用贝叶斯推断修改一组独立分布的参数,然后将其作为输入传递给神经网络,该神经网络会输出一个相互依赖的分布,然后从简单的先验开始并迭代更新上述两个分布,产生一种类似于扩散模型逆过程的生成过程,但 BFN 在概念上更简单,因为不需要前向过程。


BFN 的整体概览如下图 1 所示。在每一步中,消息发送者(Sender)Alice 都会向消息接收者(Receiver)Bob 发送一条消息,包含关于数据的一些信息。



其中,Bob 会尝试猜测消息是什么:他猜测得越好,传输消息所需的比特数就越少。收到消息后,Bob 使用刚刚获得的信息来改进对下一条消息的猜测。


重复该过程,每一步的预测都会得到改进。传输成本之和是完整文本序列的负对数概率,通过最大似然训练进行损失函数最小化。这也是 Alice 使用算术编码将片段传输给 Bob 所需的最小位数。因此,用最大似然拟合自回归模型与训练数据压缩之间存在直接的对应关系。


上述传输过程定义了一个 n 步损失函数,通过将 n 扩展到∞,就能推广到连续时间。连续时间损失函数在数学上比离散时间损失函数更简单、易于计算。经过连续时间损失训练的 BFN 可以在推断和采样期间运行任意数量的离散步骤,并且性能随着步骤数量的增加而提升。


总的来说,BFN 结合了贝叶斯推断深度学习的优势,前者为单个变量提供了一种极佳的数学方法,后者则擅长整合多个相关变量的信息。


LSTM 提出者和奠基者 Sepp Hochreiter 表示:「贝叶斯流网络 (BFN) 作为扩散模型的替代者,它更新的两个分布过程可看作是一个生成过程,就像没有前向传递的扩散模型一样。实验显示,在 text8 字符级语言建模上优于离散扩散。」



论文作者之一 Rupesh Kumar Srivastava 表示,「这项研究使得我们可以通过选择合适的分布,轻松地将 BFN 框架适应于连续和离散数据,并且在 MNIST、CIFAR-10 和 text8 任务上得到了很好的结果。」



贝叶斯流网络


接下来我们介绍一下贝叶斯流网络(Bayesian Flow Networks,BFN)的基本数学形式。本节都是公式推导,大家可以参考原论文了解更详细的信息。


输入分布和 Sender 分布:给定 D 维数据为因式输入分布参数,则输入分布公式如下:



经过一系列变换后,得到 Sender 分布公式:



输出分布数据传输过程中,输入参数 θ 与过程时间 t 一起作为输入传递给神经网络 Ψ,然后网络输出一个向量,得到输出分布:



与输入分布不同,输出分布可以利用上下文信息,例如图像中的周围像素或文本中的相关单词。


Receiver 分布给定 Sender 分布和输出分布, Receiver 分布可以表述为:



由上式可得,Receiver 分布有两个不确定来源,即 Sender 分布和输出分布。


贝叶斯更新


对于给定的参数 θ,参数更新的方式如下所示,其中 y 为 Sender 样本, α 为准确率



得到贝叶斯更新分布:



本文认为,从某种意义上讲,准确率 α 是可以相加的,从而得到总的贝叶斯更新分布公式:



通过执行无限多的传输步骤,贝叶斯更新过程可以推广到连续时间。假设 t ∈ [0, 1] 为处理时间,α(t) > 0 为时间 t 的准确率,得到准确率时间表:



贝叶斯流分布


给定先验参数 θ_0、贝叶斯更新分布以及准确率时间表 β(t), 贝叶斯流分布可以表示为



损失函数


损失函数定义为如下方式:



其中,




L (x) 可以推导为变分自编码器(VAE)的损失函数,经过一系列变化,损失函数表述为:



根据损失函数(16),该研究又推导出了离散损失:



以及连续时间损失:



实验


该研究在以下生成基准上评估了 BFN 网络,包括 CIFAR-10(32×32 8 位彩色图像)、动态二值化 MNIST(28×28 手写数字的二值化图像)以及 text8(长度 256 个字符序列,大小为 27 个字母)。


动态二值化 MNIST


从表 1 可以看出,BFN 在没有数据增强的情况下达到该任务最好的性能。 



下图为 MNIST 损失曲线:表明对于二进制数据,准确率时间表不是最优的。



CIFAR-10


该研究在 CIFAR-10 上进行了两组生成建模实验,一组 bit-depth 为 8 ,对应于颜色通道有 256 个离散 bin,另一组 bit-depth 为 4 ,对应于颜色通道为 16 个 bin。


表 3 显示,对于 16 bins,离散损失比连续损失提供了更好的性能,并且训练时间也快得多。这一结果对应了这样一个假设,即 bin 相对较低时,使用离散损失进行训练是最有益的。此外,对于 16 和 256 个 bin,当步数 n 较低(例如 10 或 25)时,离散训练会给出更好的结果。然而,在 256 个 bin 上,连续损失比离散损失具有更好的性能。



图 15 显示,使用 16 个 bin 进行离散训练比使用 256 个 bin 进行离散训练可提供更好的样本质量。



TEXT8


表 4 显示,BFN 在 text8 测试集上产生了 1.41 BPC,这比其他文献中发现的所有离散扩散模型都要好,并且接近最佳模型 MAC(1.40 BPC)。




表 5 显示,对于步数 n 的减少,BFN 的性能还是相当稳健的,只需 100 步即可达到 1.43 BPC。通过离散时间损失训练可能会改善这个结果。


理论贝叶斯网络
相关数据
Sepp Hochreiter人物

Sepp Hochreiter 是一名德国计算机科学家。 1991 年,Sepp Hochreiter 发表了德语论文,探讨了循环神经网络的梯度随着序列长度增加倾向于消失或爆炸。与 Yoshua Bengio 的相关工作几乎同时,并且开发了 LSTM 的雏形。

相关技术
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

神经图灵机技术

神经图灵机(NTMs)是Alex Graves等人发表的一种递归神经网络模型。NTM将神经网络的模糊模式匹配能力与可编程计算机的算法能力相结合。一个NTM有一个神经网络控制器连接到外部存储器资源,通过注意机制与外部存储器资源进行交互。 记忆交互是端对端可区分的,可以使用梯度下降对其进行优化。 具有长期短期记忆(LSTM)网络控制器的NTM可以从输入和输出示例推断简单的算法,例如复制,排序和关联回忆。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

二值化技术

二值化是将像素图像转换为二进制图像的过程。

维数灾难技术

维数灾难(英语:curse of dimensionality,又名维度的诅咒)是一个最早由理查德·贝尔曼(Richard E. Bellman)在考虑优化问题时首次提出来的术语,用来描述当(数学)空间维度增加时,分析和组织高维空间(通常有成百上千维),因体积指数增加而遇到各种问题场景。这样的难题在低维空间中不会遇到,如物理空间通常只用三维来建模。

变分自编码器技术

变分自编码器可用于对先验数据分布进行建模。从名字上就可以看出,它包括两部分:编码器和解码器。编码器将数据分布的高级特征映射到数据的低级表征,低级表征叫作本征向量(latent vector)。解码器吸收数据的低级表征,然后输出同样数据的高级表征。变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。在自动编码器中,需要输入一张图片,然后将一张图片编码之后得到一个隐含向量,这比原始方法的随机取一个随机噪声更好,因为这包含着原图片的信息,然后隐含向量解码得到与原图片对应的照片。但是这样其实并不能任意生成图片,因为没有办法自己去构造隐藏向量,所以它需要通过一张图片输入编码才知道得到的隐含向量是什么,这时就可以通过变分自动编码器来解决这个问题。解决办法就是在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。这样生成一张新图片就比较容易,只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成想要的图片,而不需要给它一张原始图片先编码。

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

贝叶斯推断技术

贝叶斯推断(英语:Bayesian inference)是推论统计的一种方法。这种方法使用贝叶斯定理,在有更多证据及信息时,更新特定假设的概率。贝叶斯推断是统计学(特别是数理统计学)中很重要的技巧之一。贝叶斯更新(Bayesian updating)在序列分析中格外的重要。贝叶斯推断应用在许多的领域中,包括科学、工程学、哲学、医学、体育运动、法律等。在决策论的哲学中,贝叶斯推断和主观概率有密切关系,常常称为贝叶斯概率。

数据压缩技术

数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。数据压缩包括有损压缩和无损压缩。在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据位元(或者其它信息相关的单位)表示信息的过程。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

图像生成技术

图像生成(合成)是从现有数据集生成新图像的任务。

生成模型技术

在概率统计理论中, 生成模型是指能够随机生成观测数据的模型,尤其是在给定某些隐含参数的条件下。 它给观测值和标注数据序列指定一个联合概率分布。 在机器学习中,生成模型可以用来直接对数据建模(例如根据某个变量的概率密度函数进行数据采样),也可以用来建立变量间的条件概率分布。

自回归模型技术

自回归模型,是统计上一种处理时间序列的方法,自回归模型被广泛运用在经济学、资讯学、自然现象的预测上。

算术技术

算术(英语:arithmetic)是数学最古老且最简单的一个分支,几乎被每个人使用着,从日常生活上简单的算数到高深的科学及工商业计算都会用到。一般而言,算术这一词指的是记录数字某些运算基本性质的数学分支。

推荐文章
暂无评论
暂无评论~