昨天和师兄聊了一下对attention的理解
其实相似性矩阵本身并不是模型的参数,是参数的只是后面的dense layers;
看了好久才弄懂ABCNN的卷积过程。
其实卷积也还是就是Yoon Kim的方法。
协助理解的时候,这篇讲的还是很好的:
https://blog.csdn.net/liuchonge/article/details/69587681
后面这里提了一下,说把中间pooling层的输出也合并到最后的输出里,可以增强performance,但是实测效果却一般。感觉原因还是:
基于Yoon Kim的方法的话,第二层卷积的输入本身就是各个kernel输出的结果了,再卷积就没有提取局部特征的解释性了。
以下是ABCNN_1的过程:
输入的时候是两个句子
首先计算一个相似度矩阵
表示对应的词向量
则是 , 其中 是欧氏距离
那么其实现在
接下来,我们可以得到
其中:
然后将 看成句子的两个channels输入到CNN中,做卷积
channel的作用其实可以看这里:
https://blog.csdn.net/sscc_learning/article/details/79814146
这样其实就是卷积核的维度也要增加一维。