keras代码:https://github.com/DingKe/qrnn
QRNN为LSTM加速算法,模型结构如下:
qrnn第一层为卷积层,用于提取输入特征,第二层为pooling层,用于减少特征数目,但语常用的pooling层不同的是,qrnn采用fo-pool方法,具体计算如下.
卷积层:
对于输入X,分别通过三个卷积层和非线性层得到Z,F,O,公式如下:
这里
即滤波器的宽度越大.越能计算更高的n-gram特征,因此为了考虑更多时刻的特征,可以适当增加滤波宽度.
pooling层:
f-pooling:
fo-pooling:
ifo-pooling:
在每种情况下,初始化h,c为0.
GTMM