PNN文章理解
模型结构
从上到下进行解释
1、最后的输出为一个实数y属于[0,1],其计算为
其中W3∈R1×D2,b3∈R为输出层的参数,l2∈RD2为第二隐藏层的输出,σ(x)为sigmiod激活函数:σ(x)=1/(1+e−x)。我们用Di来表示第i个隐藏层的维数。
2、第二层隐藏层的输出l2计算如下
这里采用relu作为激活函数,l1∈RD1是第一个隐藏层的输出。这里的l1为第一个隐藏层的输出,有lz和lp组成,lz为线性信号,lp为二次信号。
3、即l1的计算公式为
b1为bias vector。
接下来介绍张量的内积操作
首先对A、B两个矩阵进行乘积得到一个标量,基于此我们可以计算lz和lp。具体如下
这里面的W和z以及W和p为内积运算。其中,Wzn和Wpn为乘积层的权重,其形状分别由z和p决定。通过引入一个“1”常数信号,乘积层不仅可以产生二次信号p,还可以保持线性信号z,如结构图中Embeding的那个圈圈1所产生的p和z
这里表示z和p的生成来源,fi属于RM,为字段i的嵌入向量,pij是交互影响的特征对,进行pij计算的时候,我们采用了两种方法,内积和外积,在之后会继续讨论。在这部分我们讨论第i个词的嵌入向量fi,其输出为
x为多个词的输入特征相连,同时x[start:end]表示从start到end的one-hot编码。W0表示嵌入层的参数,同时
为第i个词的全连接参数。
最后是loss的计算,本文采用log loss,目前已被广泛于捕获两个概率分布之间散度,,这里y是一个真实值,0/1,作为我们模型预测的结果。
IPNN内积PNN
这里我们采用的g为内积操作,对于常数信号(1)所计算的线性信号z表示计算lz,公式为对于二次信息p,结合上面的lp计算
。
,为lp的值。向量内积p和Wpn的交换律应该是对称的。N是输入字段的数字,M是超参数。基于以上计算的复杂性,可以通过矩阵的因子分解减少起计算复杂度,
将WN *p进行分解。其中,为方便起见,我们使用δi∈RM来表示一个由θi加权的特征向量fi,即δi=θifi。我们还有δn=(δ1…δN)。那么第一次分解为
,由这个公式对lp的计算进行分解。
外积的OPNN
向量内积取一对向量作为输入,输出一个标量。与此不同的是,向量外积取一对向量并生成一个矩阵。IPNN通过向量内积来定义特征交互作用,这部分我们讨论基于外积的神经网络(OPNN)。内积和外积的唯一区别在于外积,而内积
,因此对于p中的每一个元素,pij属于方阵M*M。因此,这是外积时p的公式