system: [SYSTEM]

user: 4. 构造轴的训练模型 4.1. 构造无向图 为说明问题，以图4所示的简单轴零件模型为例，构造无向图。在图4(a)中，主视图一共有8个环，将识别出的各个环根据图2中特征与特征之间的关系建立一个无向图，如图4(b)所示。 在获得无向图之后，需要生成CRFs模型的图结构，由于要实现的目标是根据CRFs模型假设来预测 图3. 线性链CRFs的结构 图4. CRFS模型图结构的构建：(a) 轴的轮廓环识别；(b) 无向图；(c) CRFS模型图 环的标记，所以隐藏标记也与观察序列具有相同的关系，如图4(c)显示了CRFs模型的相应图形结构。 X = { x 1 ， ⋯ ， x 8 } 是观测变量的集合， Y = { y 1 ， ⋯ ， y 8 } 是输出变量的集合，它表示要预测的隐藏标记。X和Y的基数是相同的，因为一个循环只有一个预测结果。 4.2. 特征集 跟据每一种特征在平面图中独特的图形表示以及环与环之间的关系，总结出每一个环的属性特征、以及环与环之间的关系特征，建立属性特征集与关系特征集，如表1所示。 表1中使用的几个术语解释如下： 1) 边界线/非边界线，位于视图边界的轮廓线被定义为边界线否则，这是一条非边界线。 2) 切割线，一条切割线显示了一个物体被切割的位置，以获得剖面图。 在表1中，n表示环的序号，e表示环与环之间的关系，总共有6个属性特征和3个关系特征。以图4为例，环 x 4 的属性特征集为 AFS ( x 4 ) = { 0 ， 1 ， 0 ， 2 ， 0 ， 1 } ，环 x 7 的属性特征集为 AFS ( x 7 ) = { 1 ， 1 ， 1 ， 5 ， 0 ， 1 } 。假设 x 1 ， x 2 的关系是 e 12 ， x 2 ， x 3 的关系是 e 23 。 e 12 的关系特征集是 RFS ( e 12 ) = { 1 ， 0 ， 0 } ， e 23 的关系特征集是 RFS ( e 23 ) = { 0 ， 1 ， 0 } 。 Table 1 Attribute feature set and relational feature se 类型 特征说明 符号 值 特征 如果环L的所有线都是非边界线 BJX(n) BJX(n) = 1: yes BJX(n) = 0: no 如果环L与视图的中心线对称 DC(n) DC(n) = 1: yes DC(n) = 0: no 如果有跨环L的切割线 QGX(n) QGX(n) = 1: yes QGX(n) = 0: no 环L的类型 TY(n) TY(n) = 1: 圆形 TY(n) = 2: 长方形 TY(n) = 3: 梯形 TY(n) = 4: 带半圆的矩形 TY(n) = 5: 对称线加两个半圆(键槽) TY(n) = 0: 其他 如果环L中的是剖面线 PMX(n) PMX(n) = 1: yes PMX(n) = 0: no 环L中的直线长度是否有小于5 mm XCC(n) XCC(n) = 1: yes XCC(n) = 0: no 关系 如果两个环是相邻环关系 XL(e) XL(e) = 1: yes XL(e) = 0: no 如果两个环是内部环/外部环关系 NWB(e) NWB(e) = 1: yes NWB(e) = 0: no 如果两个环是内切环/外切环关系 NWQ(e) NWQ(e) = 1: yes NWQ(e) = 0: no 表1. 属性特征集与关系特征集 4.3. 特征函数 特征函数 f k ( y ， y ′ ， x ) 包括两种类型：一种是状态特征函数 s k ( y ， x ) ，它模拟了标记y和观测值x之间的关系；另一个是转换特征函数 t k ( y ， y ′ ， x ) ，其模拟标记y和 y ′ 之间的关系，标记关系还可以取决于观察值x。则 p ( y | x ) ： p ( y | x ) = 1 Z ( x ) exp { ∑ k ∑ i = 1 n − 1   λ k t k ( y i + 1 ， y i ， x i ) + ∑ j ∑ i = 1 n   μ j s j ( y i ， x i ) } 其中，参数 λ k 和 μ j 可以由从训练数据中估计，大的非负参数值意味着优先选择相应的特征事件，大的负值所对应的特征事件不太可能发生。 我们根据表1列出的特征定义离散特征函数。例如，属性特征DC(n)的相应状态特征函数为： s j ( y i ， x i ) = { 1             如 是 关 于 中 心 线 对 称 0                                 其 它 其中y是节点i的标记，x对应于观察到的变量。关系特征XL(e)的相应转换特征函数是： t k ( y i + 1 ， y i ， x i ) = { 1         如 是 相 邻 环 0                 其 它 其中y是节点i的标记， y i + 1 是节点i通过边e连接的标记。 4.4. 参数估计和预测 要估计参数值以及预测最佳标记有两个子任务：第一，由于特征函数是手工定义的，需要知道参数 θ = { λ k } 的值以便计算 p ( y | x ) ；其次，需要为新实例x找到最好的预测。如果实例包含n个节点，并且有m个标记，则y的标记分配数量为 m × n 。从这些指数计算中找到最好的分配是没有效率的，需要采用一种有效的方法来预测最佳的标记分配。 因此，要训练CRFs模型，参数估计是用标记的训练数据集 { x i ， y i } i = 1 N 来估计参数 θ = { λ k } ，由最大熵模型可知参数估计的实质是对概率的对数最大似然函数求最值。在这里，使用条件对数似然： L ( θ ) = ∑ i = 1 N log p ( y ( i ) | x (i) ) 目标是解决优化问题： arg max θ = { λ k } L ( θ ) ，为了避免过度拟合，增加一个正规化器来惩罚大的参数值。正规化的对数似然是： L ( θ ) = ∑ i = 1 N log p ( y ( i ) | x ( i ) ) − ∑ k = 1 K λ k 2 2 ω 2 正则化的对数似然关于参数 的导数是： L ( θ ) λ k = ∑ i = 1 N ∑ t = 1 T   f k ( y t ( i ) ， y t ` ( i ) ， x t ( i ) ) − ∑ i = 1 N ∑ t = 1 T ∑ y = y ′   f k ( y ， y ′ ， x t ( i ) ) p ( y ， y ′ | x ( i ) ) − ∑ k = 1 K λ k 2 2 ω 2 其中 p ( y ， y ′ | x ( i ) ) 是给定 x ( i ) 的变量y和 y ′ 的边际分布。 有几种推理算法来计算树型CRFs模型的边际分布，Sum-Product算法 [ 7 ] 是一个精确的推理算法，它采用消息传递技术迭代处理相邻变量。这是一个动态规划算法，它提供了一个有效的方法来计算边际分布，因此Sum-Product算法可以作为推理算法。同时，由于目标函数L(θ)是凹的，所以保证局部最大值是全局最大值，这个优化函数可以通过L-BFGS算法 [ 8 ] 迭代技术来解决。 在获得训练步骤中的所有参数值之后，要在测试步骤中预测新实例的标记。预测过程是为新实例x找到最可能的标记分配 y * ： y * = arg max y p ( y | x ) 为了找到获得概率 p ( y | x ) 最大的最佳 y * ，不可能列举所有的标记赋值，因为这个蛮力方法的时间复杂度是 O ( m n ) ，其中m是类别或标记类型的数量，n是实例x中的节点数量。Max-Product [ 7 ] 是找到最佳预测的一种有效方法，它是Sum-Product算法的一个变种，前一种算法将后一种算法中的和计算更改为最大乘积计算。Max-Product算法也是一种动态规划方法，它将预测复杂度从 O ( m n ) 降低到 O ( m 2 ) ，使用Max-Product算法来找到最好的标记分配 y * 。利用训练的参数，可以正确地预测图4中8个环的标记，预测结果如表2所示。