2.23 贝叶斯规划学习
BPL 算法通过学习简单的随机规划来表示概念,这些规划是由部件(见图 3A iii)、子部件(见图 3A ii)以及空间关系(见图 3A iv)组合而成的。BPL 定义了一个生成过程,它可以通过用新的方式组合部件以及子部件来采样出新的概念类型。每种新的类型也表示为一个生成模型,这个较低层次的生成模型可以产生概念的新样例(或者记号)(见图 3A v),从而使 BPL 成为一个产生生成模型的模型。模型的最后一步用原始数据的格式来渲染记号级变量(见图 3A vi)。我们把类型 ψ、类型对应的一组 M 个记号 θ (1) ,θ (2) ,…,θ (M) ,以及相应的二值图片 I (1) ,I (2) …,I (M) 的联合分布分解为
类型 P(ψ) 和记号 P(θ (m) |ψ) 的生成过程由图 3B的伪代码描述,具体细节参见补充材料 S2 章节的图片模型 P(I (m)|θ(m) ) 部分,源代码可在线获得。该模型同时利用图片和笔画数据,通过对来自 30 个字符系统的背景字符集的条件分布拟合来学会学习,而这个图片集合也用来对其他深度模型进行预学习。这些生产数据以及这个集合中的任何字符都没有用于后续的评价任务,在评价时只提供给模型新字符的原始图片。
手写字符类型 ψ 是部件、子部件以及空间关系的一种抽象模式。字符部件 S i 是从落笔到提笔的笔画过程(见图 3Aiii),体现了手写过程的因果性结构,而子部件 si1,si2,…, si1则是由笔的停顿分隔形成的元轨迹(见图3A ii)。为了构建一种新的字符类型,模型会先采样出部件数目 κ,并对每个部件根据背景集合测得的经验分布采样出子部件数目 n i ,i=1,2,…,κ。接着,模型从背景集合学得的一组离散的元轨迹中采样出子部件,其中下一个轨迹的概率依赖于前一个,从而为部件 S i 构建出一个模板(见图3A i)。然后,通过从每个子部件采样控制点和尺度参数,部件被具化为参数化曲线(样条函数)。最后,依据关系 R i 的定义,这些部件会被当作独立的起始、置于前端、置于尾端或沿着前一个部件的方式大致地进行放置。
字符记号 θ (m) 通过对部件及关系的实施并建模油墨从笔流向页面的方式产生出来。首先,通过对子部件的控制点和尺度参数加入噪声来创建记号层次的笔画轨迹 S (m) 。接着,轨迹的精确起始位置 L (m)会依据它和之前笔画的关系 R i 所形成的模式采样得到。然后,采样出全局变形参数,包括仿射变形A (m) 以及可以简化概率推断的自适应噪声参数。最后,基于一个随机渲染函数,用灰色的墨水描出笔画轨迹并用独立的伯努利概率建模像素值,从而创作出一个二值图片 I (m) 。
后验推断需要对庞大的规划组合空间进行搜索以找到可以生成原始图片 I (m) 的规划。我们采用快速的自底向上策略来产生一定范围的候选解析集。最有可能的候选集会进一步采用连续域优化和局部搜索的方式进行精炼,形成对后验分布 P(ψ,θ (m)|I(m) ),在一个离散域上的近似逼近(见 S3 章节)。图 4A展示了一些根据训练图片 I (1) 得到的一些规划,以及它们是如何来拟合不同的测试图片 I (2) 以计算分类得分 log P(I (2)|I(1) ) 的(对数后验预测概率),得分越高说明其越有可能来自同一个类别。当至少有一组部件和关系能同时成功地解释训练和测试图片,并满足学得的类内变形模型的软约束条件时,该得分才会高。图 4B 对一些字符上模型最优得分的解析结构和真实的人类解析结构进行了对比。