非结构化建模面临的挑战研究

2019-12-04 14:34来学伟三门峡职业技术学院信息传媒学院
数码世界 2019年11期
关键词:概率模型概率分布结构化

来学伟 三门峡职业技术学院 信息传媒学院

引言

深度学习启发了研究者的建模和算法设计的思路。在这许多思路中有一种是结构化概率模型。结构化概率模型作为深度学习的一种重要的研究方向,它主要用来说明和描述概率分布中随机的变量和变量之间的直接或者间接的互相作用,进而描述一个概率分布[1]。因为模型的结构是由图来定义和描述的,因此我们使用图论中图的概念,正是因为这个原因,我们通常把这类模型叫为图模型(graphical model)。

图模型可供研究的方向非常多,研究人员曾经提出了非常多的推断算法、训练算法及模型。在这篇论文中,我们着重研究图模型在深度学习领域里被公认为是有效的。和普通的图模型的研究者不同的是,深度学习领域中的研究者经常会使用完全不一样的模型结构、推断过程和学习算法。我们分析了这种区别而且还对其中的原因进行了解释。最然后分析了构建大尺度概率模型所面临的挑战。最后我们研究了如何利用一个图来描述概率分布的构造,即使这个办法能够帮助我们解决许多问题和挑战。尽管它本身也有很多缺陷。

1 非结构化建模的挑战

深度学习的目的就是使得机器可以自主学习解决很多人工智能中需要解决的问题和挑战。这就意味着必须让机器可以理解具备丰富数据结构的多维数据。我们以图片为例,研究者希望人工智能的算法可以理解自然图像、语音的声音信号级得到许多词及标点的文档。

我们可以把来自多维分布的数据作为输入的数据,接下来用一个标志来描述它,这个标志既可以是图片中的某一种物品,也可以是一段声音中的某个单词,甚至可以是一段文档中说明的某一个话题。在分类时,丢弃了输入数据的大多数数据。接下来给出了一个单个值的输出或者是一个输出值的概率分布,这个分类一般可以忽略输入数据的大部分内容。也就是说,当我们识别图片中某个物品的时候,通常可以忽略图片中的背景及与该物品无关的东西。

我们也可以利用概率模型实现其他许多的任务。这些任务和分类任务不同,其中一些任务需要很多个输出。还有一些任务需要对整个数据结构进行完整的理解,因此并不能舍弃数据。包含以下几个部分:

(1)估计密度函数:给一个输入数据x,机器自主学习系统则返回了一个对数据生成分布的真实密度函数 p(x) 的估计。这种情况仅仅需要一个输出,不过它需要彻底完全理解整个输入。那怕向量中仅仅一个元素不太正常,系统也可能会给它赋予很低的概率值。

(2)去噪:给定一个有损耗的或者观察有误差的输入数据 ,机器自主学习系统则会返回一个对原始的真实x 进行的估计。例如,有时候我们需要机器自主学习系统能够从一幅老相片中清除抓痕或者污渍。这个系统肯定会产生出多个输出(照应着估计的干净样本x 的每一个元素),而且需要我们对输入有一个整体的理解(即使一个比较严重损害的区域也必需要在最后的输出中恢复)。

(3)缺失值的填补:给一个x 的某些元素作为观察值,该模型被要求返回一个x 或者一些或者全部未观察值的概率分布。此模型返回的同样是多个输出。因为这个模型需要恢复x 的每一个元素,因此它必须理解整个输入。

(4)采样:应用模型从分布为 p(x)的概率中抽取新的样本。语音合成为该应用的一部分,也就是说生成了一个听起来很像人说话的声音。该模型同样需要多个输出以及就输入整体而言的良好建模。哪怕样本只有一个从错误分布中得到的元素,采样的过程也是错误的。

就随机变量的数量来说,超过上千甚至是上百万规模,不管是从计算上还是从统计的意义上来说,都是一个几乎无法完成的有挑战的任务。如果假设我们只想对两个值的随机变量建立模型,这就是一个最简单的例子[2],但是依然无法实现,就一个小的32 × 32 像素的彩色(RGB)图片而言,就有23072 种可能性的二值图片。这个数值比10800 还多,也就是说比宇宙中存在的原子总数还要多。

一般来讲,如果我们想对某个包含n 个离散的随机变量进行分布建模时,需要能对每个随机变量都取k 个值得x 分布,这样一来最容易的表示为 P(x) 的方法就需要存储一个可以用来进行查询的表格。该表格表示了每一种可能的值得概率,这样就必须记录kn 个参数。

这种方式几乎是不可行的,主要有以下几个原因:

(1) 内存:用来存储变量的开销。剔除极小的k 和 n 的值的极端情况,其余的情况用表格的形式来描述这样一个分布必须一个非常大的存储空间。

(2)统计的高效性:当一个模型中的参数的数量增加的时候,利用随机估计时用来训练数据的数量也会需要相对应的增加。由于基于查表的模型一般会拥有天文数字级别的参数,为了精确地模拟,相对应的训练集合的大小也是相同的天文数字级别的。不管哪种类似这样的模型都会引起严重的过拟合,只有我们向其添加许多额外的假设来关联表格中的不同元素。

(3)运行时间:推断的开销。假如我们需要实现有关推断的一个任务,其中我们必须需要利用联合分布的P(x)来进行运算某些其它的分布,例如边缘分布P (x1)或许是条件分布P (X2)Xl)。运算如此的分布就必须对整个表格中的某些项进行完整的求和操作,所以如此的操作就运行时间而言,和上面所描述的高昂的内存的开销是一个级别的。

(4)运行时间:采样的开销。和推断的开销相类似,假如我们想要从如此的模型中采样。最基本的方法就是从均匀分布中进行采样,接下来对表格中的元素进行累加,一直到和超过该元素u,最终返回最后一个加上的元素。在最不理想的情况下,这个如此的操作需要读取全部表格,因此和其他操作相比,它需要的时间是指数级别的。

就对表格进行操作的方法而言,其最根本的问题是,我们必须显式的对每一种有可能的变量的子集上可能产生的所有可能的类型之间的互相作用进行建立模型。但是在实际问题中,我们碰见的概率分布也许远远比这个容易的多。一般情况下,这些变量之间的相互作用是间接的。

我们举个简单的例子来说明,我们想要计算在接力赛中某个队伍完成比赛所需要的时间。我们需要对其进行建立模型,假如这个队伍由三名队员组成。在刚开始比赛的时候,由A 跑第一棒,当A 跑了一段距离后直至跑完他的路程后。这时他需要把接力棒传递给B,接接下来B 开始跑,同样跑完子集的路程后,把接力棒给 C,C 跑完最后一棒。这样一来,根据我们的分析,我们可以使用连续的变量来分别建模每个人完成比赛所需要的时间。

由于A跑第一棒,因此她并不依赖于其他人而独立完成。B则不同,B 跑完所需要的时间必须和A 的完成时间相关,原因是B 只能在A跑完后才能开始比赛,假如A 跑的更快,则B 也会完成的更早。以此类推,C 的完成时间也同样一来A 和B,同样的道理,假如A 跑的非常慢,B 的完成时间则会更晚,C 的起步也会更晚,所以它的完成时间只能更晚。但是,如果给定了B 得完成时间,则C 的完成时间就只受A 的完成时间的影响了,假如我们已经得到了B 的完成时间,了解了A 得完成时间对C 并无任何实质性的帮助。也就是说,我们可以通过两个互相作用来对这个接力赛建立模型,其中两个互相作用分别是A 的完成时间对B 的完成时间的影响以及B 的完成时间对C 的完成时间的影响。也就是时候,我们可以忽略A 的完成时间对C 的完成时间的影响。

2 总结

结构化概率模型为随机变量之间的直接作用提供了一个正式的建模框架。这种方式大大减少了模型的参数个数以致于模型只需要更少的数据来进行有效的估计。这些更轻便的模型在模型存储,模型推断以及采样的时候有着更小的计算开销。

就随机变量之间的直接作用建立模型框架来说,结构化概率模型提供一个非常好的解决方案,使用这种模型,可以减少模型中参数的个数,进而需要更少的数据可以做到有效的估计,使用这种更轻便的模型,在模型推断、采样及存储就会有更小的计算开销,从而大大提高了效率。

猜你喜欢
概率模型概率分布结构化
在精彩交汇中,理解两个概率模型
改进的非结构化对等网络动态搜索算法
深度学习的单元结构化教学实践与思考
结构化面试方法在研究生复试中的应用
一类摸球问题及其解法
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
弹性水击情况下随机非线性水轮机的概率分布控制
关于概率分布函数定义的辨析
风速概率分布对风电齿轮
一类概率模型的探究与应用