美文网首页
bilinear model

bilinear model

作者: natsuki_priver | 来源:发表于2019-07-28 17:54 被阅读0次

bilinear model是一种将多个特征结合起来作为input的方法。比如:对于一个词,他的特征就包括:词性特征,word embedding特征etc. 如果结合多source的特征,就加入了更多信息,实现更有效的表征。
最简单的做法是:

  1. 直接拼接两个特征 [f_1:f_2]
  2. 线性组合 F=W_1f_1+W_2f_2

bilinear model实现了特征的多通道输入。我们可以设想,人脑可能有一个通道专门处理位置信息,有另一个通道专门处理色彩信息。


bilinear model.png

Specifically, for feature f_a(l,P)\in \mathbb{R}^{T \times M} and f_b(l,P) \in \mathbb{R}^{T \times N} of picture P at location l, we compute:
b(l,P,f_a,f_b)=f^T_a(l,P)f_b(l,P) \in \mathbb{R}^{M \times N}
\zeta(P)=\sum_{l} b(l,P,f_a,f_b) \in \mathbb{R}^{M \times N}
x=vec(\zeta(P)) \in \mathbb{R^{MN \times 1}}
通俗一点讲,bilinear就是对每个位置上的特征进行矩阵相乘,然后进行sum pooling 或者进行max-pooling。对于一个CNN来讲,有c个通道数,那么在位置i上的特征就是1 \times c的大小,然后与同一位置上,不同CNN得到的1 \times c的矩阵进行乘积,得到c \times c的矩阵,然后将所有位置上的c \times c的矩阵进行求和,再转换成向量的形式就可以得到Bilinear vector。得到的特征需要进行开平方,和归一化操作。
之所以叫bilinear model是因为,f(x,y)=x^TAy固定x时,这个变换对于y是线性的。

相关文章

网友评论

      本文标题:bilinear model

      本文链接:https://www.haomeiwen.com/subject/cbyprctx.html