GAN论文中的基础概念

有限状态机

有限状态机:(Finite State Machine FSM)是用来设计计算机程序和俩个电脑程序和顺序逻辑电路的数学模型。它是一个概念工具可以被用来建模决策软件或硬件系统中的生产和控制过程。

基础的FSM组件:

  1. 状态:它们表示在任何给定时间系统的可能条件或配置。
  2. 输入符号:这是一个可以导致系统发生变化从一个状态到另一个状态的输入
  3. 转换(transition):它定义了系统如何根据输入将一个状态移动为另一个状态
  4. 初始状态:系统开始运行的状态
  5. 最终状态:这个状态表示成功完成了处理或者接受了输入的序列

有限状态机的类型:

  • 确定有限自动机:Deterministic Finite Automaton 在DFA中,对于每个状态和每个输入符号,恰好存在一个转移。没有从同一状态出发针对多个输入符号的转移,也没有ε(epsilon)转移(即不消耗输入的转移)。
  • 非确定性有限自动机:Nondeterministic Finite Automaton NFA允许在同一个符号上从单一状态进行多次转化。即ε-transitions.尽管存在不确定性,但NFA可以转化为等效的DFA

随机游走模型

随机游走模型是一个路径数学的形式化,它由连续不断的随机步调组成。被广泛应用在不同领域以建模不同类型的随机过程。

在最简单的模式中,包括了步行开始的点(通常取0)让一系列脚步要么向前要么向后,每一步的长度相同但是方向是随机的,

马尔科夫链(markov chains)

介绍

Markov Chains | Brilliant Math & Science Wiki

马尔科夫链是一个数学系统,它根据一定的概率规则经历从一个状态到另一个状态的转换。马尔科夫链的定义特征是,不管这个过程是如何发展到现在的状态的,未来可能的状态是固定的。换句话说,转换到任何特定状态的概率仅取决于当前的状态和经过的时间。状态空间或者说所有的可能性状态集合,可以是任何东西,字母,数字,天气条件,棒球分数或者股票表现。

马尔科夫链可以用有限状态机和随机漫步进行建模,它们在数学中的应用提供了一个丰富的例子。它们广泛的在统计学中和信息论的上下文中出现,被广泛的应用于经济,游戏理论,队列理论,遗传学中和金融业中。然而,讨论任何大小的马尔科夫链,最初的理论和大多数的应用都集中在有限(或无限)状态的情况下。

马尔科夫链是一个随机过程,不同于一般的随机过程,在马尔科夫链中必须要有“无记忆的”。这是说,未来的行动不取决于导致现在状态的上一步。这被叫做马尔科夫特性。马尔科夫链的理论是重要的,因为许多日常的性质都满足马尔科夫链,但也有许多不满足马尔可夫性质的随机性质的常见例子。

例子

齐次时间只某些系统,过程或者模型的特性,他们不随着时间改变。换句话说,如果系统和过程的特征和反应在不同时间点是不变的,那么我们就称之为齐次时间。这个概念通常被用在随机处理的过程中,

在概率论中最直接的例子是齐次时间的马尔科夫链,其中任何状态转换的概率无关于时间,这样的过程可以用有向图来可视化,其中任意顶点的出边标签和为1。

建立在状态A和B上的(时间齐次)马尔科夫链。从a开始的进程经过俩次移动后到达B的概率是多少?

为了让A移动到B, 这个过程要么第一步留在A上,第二部移动到B。或者第一步移动到B上,然后第二部留在B上。根据图案,这个概率为0.3⋅0.7+0.7⋅0.2=0.35.

或者,俩次移动后在A上这个过程发生的概率为0.3⋅0.3+0.7⋅0.8=0.65。因为只有俩中状态在链中,如果不是在A上他就在b上,在移动2步到B这个过程发生的概率为1-0.65=0.35

定义

在条件概率或者随机变量的语言中,马尔科夫链是随机变量的一个序列$X_0,X_1,X_2,X_3,...$满足条件规则马尔科夫性:

对于任何正整数m和可能的随机变量状态$i_0,i_2,i_3....$

$$ P(X_n=i_n\mid X_{n-1}=i_{n-1})=P(X_n=i_n\mid X_0=i_0, X_1=i_1, \ldots, X_{n-1}=i_{n-1}). $$

马尔科夫特性,在时间n时状态为$i_n$,而它之前的时间为n-1,$X_n$代表了系统中第n步的状态,$i_n$代表了系统在某一时刻n时的状态

换句话说,以前状态的知识,是确定当前概率分布式所必须的。这个定义比上面讨论的更广泛,因为它允许非平稳转移概率,因此非齐次马尔科夫链,它随着时间的推移,步数会增加,从一种状态移动到另一种状态的概率可能会改变.

与贝叶斯网络

由于网络中,每个节点的概率都可以用贝叶斯公式来计算,因此得名贝叶斯网络。马尔科夫假设保证了贝叶斯网络便于计算,即网络中的每个状态取决于前面有限个状态,但贝叶斯网络的拓扑结构比马尔可夫链灵活,不受其链状结构的约束。即马尔科夫链是贝叶斯网络的特例,而贝叶斯网络是马尔科夫链的推广。贝叶斯网络是一个加权的有向图。

贝叶斯网络有很多节点(状态),节点之间通过有向弧连接,各个节点之间的相互转化可能存在一定的概率。

贝叶斯网络的训练

首先确定贝叶斯网络的结构。优化的贝叶斯结构要保证其产生的序列可能性最大即后验概率最大。理论上需要考虑每一天路径,计算复杂度无法实现。一般采用贪心算法(Greedy Algorithm)即在每一步方向寻找有限步,缺点是会陷入局部最优,最终远离全局最优解。可以采用蒙特卡洛(Monte Carlo)的方法,找许多随机数在贝叶斯网络中检测是否陷入局部最优,但其计算量较大。还有一个新方法是计算网络中节点之间两两的互信息,保留互信息较大的节点直接的链接,然后对简化的网络进行完备的搜索,找到全局优化的结构。

然后,要通过参数训练确定这些节点之间的弧的权重(参考前面提到的EM过程)。实际上,结构的训练和参数的训练是交替进行、不断优化的,直至得到收敛或者误差较小的模型。

近似推断网络

unrolled approximate inference networks

似然函数

似然函数(Likelihood Function)是统计模型参数的函数,给定一个可见数据记为$L(\theta|x)$其中$\theta$代表了模型的参数,而x代表了观测到的数据。它衡量了在给定特定参数的情况下,是观测到的数据的可能性有多大。

定义:

给定观测到的数据集$\mathbf{x}=(x_1,x_2,\ldots,x_n)$统计模型的参数$\theta$是未知的,似然函数$L(\theta|x)$是定义了,当模型的数据设置为$\theta$,观测到的数据有多大可能性为X。

$$ L(\theta|\mathbf{x})=f(\mathbf{x}|\theta) $$

其中$f(\mathbf{x}|\theta)$是联合概率密度或者,给定参数$\theta$的观测数据的质量函数。

最大似然

目标在许多统计学方法中是找到一个$\theta$的值,可以极大化似然函数这个方法也被叫$\theta$做极大似然估计(MLE)

对数似然法

通常,使用似然函数的对数,因为他方便计算因为对数能把乘机变成和,对数似然的表示为

$$ \ell(\theta|\mathbf{x})=\log L(\theta|\mathbf{x}) $$

受限玻尔兹曼机

什么是玻尔兹曼机

神经网络中的所有神经元是彼此之间互相连接的。在这个机器中有俩个层一个是输入层或者可见层一个是隐藏层。可见层记作v,隐藏层记作h。在玻尔兹曼机中,没有输出层。玻尔兹曼机随机和生成神经元,能够学习内部表征,并且能够表示并解决(只要时间足够的话)很难的组合问题。

玻尔兹曼分布(也叫吉布斯分布)它是统计力学重要的组成部分,也解释了热力学中熵和温度等参数对于量子态的影响。因此,它也叫做基于能量的模型。1985年,时任卡内基梅隆大学教授的Geoffrey Hinton和时任约翰霍普金斯大学教授的Terry Sejnowski发明了它。

什么是受限玻尔兹曼机

受限代表着它彼此之间不连接相同类型的层。换句话说,俩个输入输出的神经元彼此之间内部不能互相连接。虽然隐藏层可以和输入层相互连接。

在这个机器中,没有输出层,所以问题在如何进行识别,调节权重和如何衡量我们预测准确与否。这些所有问题只有一个答案。首先玻尔兹曼机。

RBM算法是 Geoffrey Hinton (2007)提出的,它学习了样本训练输如数据中的概率分布。它在监督、无监督机器学习如特征学习,降维,分类,协同过滤和主题建模之中有广泛的应用。

考虑推荐系统中讨论的电影评级。

像复仇者联盟星际穿越有着很强的联系在最新奇幻想和科幻元素方面。基于用户评分,RBM会发现潜在的影响因素,它可以解释电影的选择。总之,RBM描述了在输入数据集变量之间的可变性在潜在的较低数量的未观察到的变量方面。

能量函数如下

$$ E(v,h)=-a^Tv-b^Th-v^TWh $$

受限玻尔兹曼机如何工作

在RBM的工作中有俩个阶段。

1阶段:在这个阶段中,我们让输入层使用权重和偏执的概念,我们激活隐藏层。这个过程叫做前馈传递。其中我们定义正关联和负关联。

前馈方式

  • 正相关:可见单元与隐藏单元的关联为正时
  • 负相关:可见单元与隐藏单元的关联为负是

2阶段:我们没有任何其他输出层。我们不再计算输出层,我们通过激活的隐藏层状态重构输入层。这个过程被叫做向后传递。我们只是通过激活的隐藏层神经元回溯输入层。执行完这之后,我们通过激活的隐藏层状态重构了输入。在这之后我们可以计算误差调整权重。

反馈方程:

  • 误差=重建输入层-实际输入层
  • 调节的权重=输入*误差*学习率(0.1)

做完了这些所有步骤我们获取了激活隐藏层神经元的模式。为了理解他是如何工作的:

让我们考虑一个例子,其中我们有一些假设V1可见单元激活h1和h2隐藏单元,V2可见单元激活h2和h3隐藏单元。现在,当任何新的可见单元让V5进入机器时,它也激活了h1和h2单元。因此我们可以很容易的回溯隐藏单元,也可以识别出新的V5神经元的特征与V1的特征相匹配。这是因为V1也被同样的隐藏单元激活。

受限玻尔兹曼机的对比散度

Contrastive Divergence in Restricted Boltzmann Machines - GeeksforGeeks

Contrastive Divergence in Restricted Boltzmann Machine

散度对比是机器学习领域的基础技术,特别是无监督学习和训练受限玻尔兹曼机。比较这些模型中需要更新梯度的权重。最初是由Geoffrey Hinto在训练RBM的背景下引入的,散度对比已经成为各种深度学习算法的基石,本文从基础概念和特定应用讨论了基础散度。

受限玻尔兹曼机(RBM)

随机人工神经网络(SANN)指的是那些在计算中包含了随机性神经网络的模型。随机神经网络在不同的神经网络操作中引入了随机性,通常是为了提高学习动力,实现更好的泛化,或者解决特定模型类型的计算挑战。

玻尔兹曼机包含了受限玻尔兹曼机,它是一种随机的神经网络。这个模型使用了吉布斯采样,马尔科夫链蒙特卡洛方法,以从可见和隐藏单元的联合分布中生成样例。

RBM由两层组成——一个可见层和一个隐藏层——每层都有二进制单位。与传统的神经网络不同,在可见层或隐藏层之间没有连接。每个可见单元与每个隐藏单元连通,反之亦然,形成一个可以完全连接的二分图。

它是一种简化的玻尔兹曼机,和玻尔兹曼机的区别是,只有一个隐藏层,玻尔兹曼机一般使用吉布斯采样进行梯度下降较为耗时,RBM使用对比散度算法进行训练更快。而玻尔兹曼机是全连接的。

RBM的能量函数决定了居中表示法中可见和隐藏单元的配置兼容性。

$$ E(v,h)=-a^Tv-b^Th-v^TWh $$

  • E是能源的布局
  • v是可见层的状态向量
  • h是隐藏层的状态向量
  • a和b分别是可见层和隐藏层的偏置
  • W是连接可见单元和隐藏单元的权重矩阵

能量函数为可见性和隐藏单元状态的每个可能配置定义的一个能量值。求和项前面的负号表示较低的能量值对应于较可能或者理想状态。

基于能量的模型EBM

对比散度(CD)与基于能量模型密切相关(EBM)。EMB是概率机器学习的一类模型。它使用能量函数在一组配置上定义了概率分布。RBM是一种特殊的EBM,以其在无监督学习的适应性而闻名。如降维学习和特征学习。

能量函数为系统的每个可能配置分配一个标量值,通常称为“能量”。较低的能量值通常对应于更可能的配置。

在机器学习的上下文中,EBM能够被用作多个任务比如分类,密度估计,和生成模型。

能量函数:EBM定义了能量函数$E(x,\theta)$,其中x是输入数据,$\theta$是模型的参数。这个函数将输入映射为一个实数,它表示了特定配置的能量。

概率分布:给定的配置x的概率是与负能量的指数成反比,被分区函数正则化$Z(\theta)$

$$ p(x;\theta)=\frac{\exp(-E(x;\theta))}{Z(\theta)} $$

其中

$$ Z(\theta)=\sum_x\exp(-E(x;\theta)) $$

对于连续的变量将求和替换为求积分。

方法

EBM通过将为归一化的概率标准(能量)与观察能量和潜在 组合的每种相关联来补货依赖性。推论包括找到潜在变量,这些变量在给定一组观察值的情况下将能量最小化。类似地,模型学习一个参数,该函数将低能量关联到潜变量正确的值,而将高能量关联到不正确的值。

传统的EBM依靠随机梯度下降(SGD)优化方法,这些方法通常很难应用于高维数据集。在2019年,OpenAI公开了一个使用Langevin动力学(LD)的变体。LD是一种迭代优化算法,该算法将噪声引入估计器,作为学习目标函数的一部分。通过产生后验分布的样本,可将其用于贝叶斯学习场景。

EBM不需要标准化,而无需估计概率模型中的标准化常数,从而增加了灵活性。

马尔可夫链蒙特卡罗方法

对比散度依赖于马尔科夫链蒙特卡罗方法(MCMC),这个技术包括了吉布斯采样,是使用抽样来近似复杂的概率分布。现实中的吉布斯采样,是对比散度的积分,涉及从条件概率分布中迭代样例。

吉布斯采样是对比散度关键的组成部分。它是一种迭代算法,从联合概率分布中抽取每个变量的条件概率分布,同保持其他变量固定。

什么是对比散度

本质上,对比散度的迭代算法被用于训练RBM,这是一种使用了降维技术,特征学习协同过滤的概率图模型。CD的主要目标是估计与RBM相关的对数似然函数的梯度。

为了理解CD,简单的掌握RMB是很必要的,RMB由课件层和隐藏层组成,其中层之间相互连接,层内没有连接。CD通过更新他们连线权重以最小化观测数据和RBM生成的重建数据的差异。

受限玻尔兹曼机的对比散度方法

CD通过几个步骤进行操作,最开始的RBM权重是随机的。它通过吉布斯采样(Gibbs Sampling)来估计更新权重所需的梯度,这个过程通过对比观察到的数据和模型重建的数据来进行。

1.初始模型参数

该算法受限初始化RBM模型的权重和偏置,这些参数使用当前模型参数确定可见单元和隐藏单元之间的关系。RBM包括了权重W,可见偏置a,隐藏偏置b。最开始这些参数是随机的

2.计算隐藏单元的概率

给定训练样例(一个可见单元的向量),计算隐藏单元被激活的概率。它包含了在给定可见单元时计算隐藏单元的条件概率。

3.隐藏样例配置

基于计算概率对二进制隐藏单元配置进行采样。每一个隐藏单元被激活的概率取决于它的计算概率。这个采样的隐藏配置作为可见单元的重建。

4.更新模型参数

  • 根据原始训练样例与重构样例外积的差值更新模型参数。执行更新以最大化训练数据的可能性。典型的,通过调整权重矩阵和偏置举证向量,减小原始输入与重构输入之间的差值。
  • 可见单元i和隐藏单元j之间的连接的权重更新,与原始可见和隐藏单元状态的外部积($v_i * h_j$)与重建可见和隐藏单元状态的外部积($v ' _i * h ' _j$)之间的差成正比。学习率和其他的超参数可能会影响更新规则
  • 目标是让模型更有可能生成训练样例,较少可能去生成与训练样例不相似的数据

5.重复多次迭代步骤

在多个训练样本中重复步骤2-5,以进一步精炼模型参数。这个迭代过程帮助模型学习训练数据中的潜在模式和关系。

深度玻尔兹曼机

Deep Boltzmann Machines (DBMs) in Deep Learning - GeeksforGeeks

DBM

深度玻尔兹曼机是一种人工神经网络,他属于生成式模型家族。他被设计为复杂的结构在大数据中学习以再次创建给定的输入数据。把DMB想象成一个艺术家,在学完了一组绘画集之后,学习创建属于同一种集合的新的艺术品。相似的,DMB分析数据并学习如何产生新的近似的原数据。

DBM由多个隐藏层单元层所构成,它类似我们闹中的神经元。这些神经元一起工作以获得多种图案在数据中出现的概率。就像其他的神经网络一样,所有的DMB单元是跨层连接的,而不是在同一层中,这使得他们在数据的不同特征中创建了关系网。这些结构帮助了DBM更好的理解复杂的图像,文字,或者声音。

深度一次在深度玻尔兹曼机中代表的是多层的网络,让它对数据有更深的理解。每一个层捕获越来越抽象 的数据表示。第一层可能探测图像的边缘,第二层可能探测形状,第三层可能探测整个类似树或者车的对象。

如何工作的

深度玻尔兹曼机的工作原理首先是以一种无监督的方式学习,这意味着在每人要告诉你找什么的情况下寻找规律。使用的过程包含了,根据它们看到的数据调整单元之间的连接。这个过程类似调整收音器变得更清晰;DBM协调自身与数据结构产生共鸣。

当给了BDM数据集,它使用猜测或者随机过程以影响是否应该打开或关闭隐藏单元。这个决策基于输入数据和当前网络中其他单元的状态。重复这个操作,DBM学习到了数据中的概率分布。总的来说,它得到了哪些模式是近似的哪些不是。

在学习阶段,你可以使用DBM去生成新的数据。当生成新的数据,DMB的结构将随机模式,并一步一步完善它,每次更新模式将会更类似于训练期间学到的模式。

相关概念

深度铂尔曼机的几个关键概念

  • 基于能量的模型(Energy-Based Models):DBM是基于能量的模型,这意味着它分配了不同的能量等级到网络中每个可能的状态。能量更低的状态,网络通过寻找能量更小的状态来进行学习
  • 随机神经元:(Stochastic Neurons)神经元在DBM中是随机的。不像 一些类型的神经网络,他们的神经元输出有基于输入的特定值,DBM神经元使随机做出随机决策关于他们是否被激活
  • 无监督学习:(Unsupervised Learning)DMB学习不需要标签,他说聚焦于数据和尝试理解底层的结构,并试图在任何重要特征指导的情况下理解底层结构。
  • 预训练:(Pre-training)DBM通常要经过预训练阶段,其中他们一次值学习一层。在整个网络微调之前,它一步一步的学习帮助稳定学习过程。
  • 微调:(Fine-Tuning)在预训练之后,DBM要进行微调,这意味着它们可以一次调节所有的参数,以更好的模拟数据。

训练过程:

训练DBM包含了最小化模型生成的分布和真实数据的分布的差异。它通常用对比散度或其他近似方法来完成,因为精确的似然梯度在计算是不可行的。

数学概念

深度玻尔兹曼机以一些迷人的数学概念为基础,概率论起着重要作用。DBM的核心是建模的思想数据使用概率分布,它在数学上由能量函数来定义。能量函数捕获了可见单元v(数据)和隐藏单元h(特征)。

能量函数通常是个数学函数,它量化了系统中的能量。

特定状态的概率(可见状态和不可见状态的结合体)在玻尔兹曼中分布中给定为

$$ P(v,h)=\frac{e^{-E(v,h)}}{Z} $$

其中的Z代表分区函数,归一化常数确保了所有的概率和为一。它是$e^{-E(v,h)} $除以所有可能的状态和。

归一化常数通常记作N或者Z(在统计数学中通常叫做分区函数)是一个标量值用于缩放函数或者分布以便满足一定的归一化条件。归一化是将不同尺度上测量到的值调整到一个概念上的共同尺度的过程。

归一化条件特指的是特定领域的标准,它被应用在不同的领域中以确保一致性,可比性和标准化。

在不同的上下文中,归一化常熟有不同的意义和应用。

在概率论中,归一化常数PDF(概率密度函数)比喻在它的定义域中和为1。归一化常数必须满足这样的调节。其中f(x)是归一化的PDF,归一化常熟调整原始函数以满足分布调节。

DBM中的学习包含了定义最小化能量函数权重,这反过来又使得观测数据的概率最大化。典型的深度学习算法比如CD和SGD,他们调节权重来降低数据状态的能量增加他们的概率。

在这个过程中,BDM通过重复采样学习权重。采样使用马尔科夫链蒙特卡罗(MCMC)方法,允许模型基于概率探索不同的方法。

本质上,DBM使用了统计力学的语言,在概率框架中对数据进行建模,平衡不同层之间的相互作用,以一种可以直观的可是华为丘陵和山谷景观的方式捕捉数据的本质,其中数据点落在最低的位置,或者能量最低的状态。

Last modification:August 2, 2024
如果觉得我的文章对你有用,请随意赞赏