textcnn(从cnn的迁移)

1. 前提说明

本博客主要为了介绍textcnn,因此首先需要了解cnn的基本知识

2. 卷积层

2.1 cnn

在这里插入图片描述

  • 一般来讲输入都是[batch, height, weight, in_channles]
  • 卷积核由三部分组成:
    • kernel_size(上图中一个2×2的小方块)
    • in_channels(与输入的in_channel一样,因为要对应相乘)
    • out_channels可以理解成输出的维度,其实就是filter的个数

2.2 text_cnn

在这里插入图片描述

  • 一般来讲输入都是[batch, height, in_channles](相当于cnn中的width=1并省略)
  • 卷积核由三部分组成:
    • kernel_size(上图中一个2×1的小方块)
    • in_channels(与输入的in_channel一样,也即词向量的维度
    • out_channels可以理解成输出的维度,其实就是filter的个数

小结:text_cnn是一种特殊的cnn,即cnn的width=1,并省略

3. 池化层

3.1 cnn

在这里插入图片描述
池化层有最大池化、平均池化、随机池化等

3.2 text_cnn

在这里插入图片描述
text_cnn一般是全局最大池化,或全局平均池化,无论哪种,height都会变成1(会不会省略看框架),最终只剩下out_channel即filter的个数了。
以上均是一个样本图,如果加上batch_size,那么text最后的输出就是**(batch,out_channel)或者(batch, 1, out_channel)**。具体顺序还得由框架决定

猜你喜欢

转载自blog.csdn.net/weixin_43178406/article/details/105174596