TEXTCNN

TEXTCNN出自论文《Convolutional Neural Networks for Sentence Classification》中,作者将CNN网络用于句子级别的文本分类。
原文中TEXTCNN网络结构图如图所示:
TEXTCNN
首先,将n个映射为词向量的单词链接成一句话,即:
TEXTCNN
在卷积操作中,作者采用了多个不同高度的卷积核进行卷积操作,即:
TEXTCNN
从而形成特征映射c:
TEXTCNN
在c上采用1-max池化操作得出这个卷积核过滤器的特征向量cˇ=max(c)\check{c}=max(c).由于作者采用多个不同高度的卷积核(多种、每种多个)会得到多个ciˇ\check{c_i},即:
TEXTCNN
最后将z送入全连接的softmax层,得出句子的标签概率分布。
另外作者在网络结构的倒数第二层采用了dropout思想进行正则化来防止过拟合。TEXTCNN
更为直观的图:
TEXTCNN
另外在词向量嵌入阶段,作者采用了四种方式:
CNN-rand:作者在模型中随机初始化词向量,再在模型训练中进行微调修改。
CNN-static:作者采用预训练好的词向量,并且在模型训练中保持不变。
CNN-non-static:作者采用预训练好的词向量,并且在模型训练中进行微调。
CNN-multichannel:作者采用两个不同的预训练好的词向量,视为两个通道,但是梯度只通过一个通道进行传播,这样可以保持一组词向量不变,另一组微调。