textcnn

59 阅读2分钟

image.png

image.png

输入部分

  • 句子矩阵 (Sentence matrix) :输入是一个 7×5 的矩阵,表示一个句子的词嵌入表示。

    • 7 表示句子的长度(单词数)。
    • 5 表示词嵌入的维度(每个单词被表示为一个 5 维向量)。
  • 示例句子是:“I like this movie very much!”,它被转换为一个 7×5 的矩阵。

2. 卷积层 (Convolution)

  • 区域大小 (Region sizes) :使用 3 种不同的区域大小(4, 3, 2),分别表示卷积核的大小,表示卷积核在句子长度方向上滑动的窗口大小。注意:3组卷积核中每个的宽和embeding的d=5相等,所以这个卷积是向下移动,而非像图片卷积要左右移动。这种设置确保了卷积操作能够有效地捕捉句子中的局部上下文信息,同时保持计算效率。
  • 滤波器数量 (Filters) :每种区域大小使用 2 个滤波器,总共使用 6 个滤波器。
  • 卷积操作:每个滤波器在输入矩阵上滑动,提取局部特征,生成特征图(feature maps)。
  • 激活函数 (Activation function) :对卷积后的特征图应用激活函数(通常是 ReLU),增强非线性表达能力。
  • 分析最后一组,卷积大小为2,句子长7大小2步长1+1=6\frac{句子长7-大小2}{步长1}+1=6,输出[6,1]

3. 池化层 (Pooling)

  • 1-max pooling:对每个特征图进行池化操作,提取最重要的特征。

    • 每个特征图经过池化后,输出一个标量(最大值)。
  • 特征向量拼接:将所有池化后的标量拼接成一个长向量,作为最终的特征表示。

  • 每组的滤波器1-max pooling然后拼接输出[2,1],最后对3个组的输出再次拼接[6,1]

image.png

4. 输出层

  • Softmax 函数:将拼接后的特征向量输入到一个全连接层,使用 Softmax 函数进行分类。
  • 类别输出 (Classes) :输出 2 个类别的概率分布(例如,正面情感和负面情感)。
  • 正则化图中提到“softmax function regularization in this layer”,表示在输出层应用了正则化技术(如 L2 正则化),以防止过拟合。