全连接网络的设计---深度特征交叉网络 CDN (Deep & Cross Network)

深度特征交叉网络

之前常常研究CNN的网络结构,却不知道多层感知机(MLP)的设计也有很多讲究。可以设计出很多不同的网络。

对于传统的分类算法来说,输入数据通常是一个一维的向量,向量中的每个值都是一个特征,这时候可以选择的分类算法很多,svm,逻辑回归,决策树,多层感知机等。

多层感知机也是用的比较多的方法,这里介绍一个多层感知机的一个改进。加入一个深度特征交叉网络。如下图黄色单元所示:
全连接网络的设计---深度特征交叉网络 CDN (Deep & Cross Network)
可以看到有个公式:
全连接网络的设计---深度特征交叉网络 CDN (Deep & Cross Network)
整个核心就是这个公式。x0是一个列向量,其中的主要运算可以看成:

  1. x0和自己的转置进行相乘(矩阵的相乘);
  2. 然后和一个权重向量相乘;
  3. 最后和自己原始的x相加。

具体的矩阵shape看图片中黄色的注释。

1、乘积
用于矩阵相乘,表示为C=A*B,A的列数与B的行数必须相同,C也是矩阵,C的行数等于A的行数,C的列数等于B的列数。Cij为A的第i行与B的第j列的点积。
2、点积
用于向量相乘,表示为C=A.*B,A与B均为向量,C为标量,也称标量积、内积、数量积等

x和自己的转置相乘,相当于得到了一个二次方的项,然后乘以一个权重w,权重w的作用是给二次方的项加权,极端情况就是w中的某个值为0,那么这个多项式就不会传下去了。然后加上原来的x,这样原来的x就传下去了。最后经过L层,那么就可以得到0-L次方的一个特征,因为有权重w的存在,所以存在不同次方的项。
全连接网络的设计---深度特征交叉网络 CDN (Deep & Cross Network)

最后,多次项的特征和多层感知机提取的特征一块concat到一起,然后做个分类。