一、TextCnn的结构

 1. 嵌入层(embedding layer)

  textcnn使用预先训练好的词向量作embedding layer。对于数据集里的所有词,因为每个词都可以表征成一个向量,因此我们可以得到一个嵌入矩阵\(M\),\(M\)中的每一行都是一个词向量

  这个\(M\)可以是静态(static)的,也就是固定不变。可以是非静态(non-static)的,也就是可以根据反向传播更新

 2.卷积池化层(convolution and pooling)

  输入一个句子,首先对这个句子进行切词,假设有\(s\)个单词,对于每个单词,我们根据上面提到的嵌入矩阵\(M\) 可以得到词向量。假设词向量一共有\(d\)维度,那么我们可以用一个\(s\)行\(d\)列矩阵\(A\)来表示这个句子:\(A \in R^{s\times d }\)

  我们可以把矩阵\(A\)看成是一幅图像(单通道:灰度图),使用卷积神经网络去提取特征。但是注意卷积核不是常用的 3 * 3或者5 * 5,而是:卷积核的宽度就是词向量的维度\(d\),高度是超参数,可以设置

 

 3.池化(pooling)

  不同尺寸的卷积核得到的特征(feature map)大小也是不一样的,因此我们对每个feature map使用池化函数,使它们的维度相同。最常用的就是1-max pooling,提取出feature map照片那个的最大值

  这样每一个卷积核得到特征就是一个值,对所有卷积核使用1-max pooling,再级联起来,可以得到最终的特征向量,这个特征向量再输入softmax layer做分类。这个地方可以使用drop out防止过拟合

  

 4.整个过程过程如下(卷积核宽度就是词向量维度,核高度可以设置):

  • 这里word embedding的维度是5。对于句子 i like this movie very much!可以转换成如上图所示的矩阵:\(A \in R^{7\times 5 }\)
  • 有6个卷积核,尺寸为\( (2 \times 5),(3 \times 5),(4 \times 5) \),每个尺寸各2个
  • 句子矩阵\(A\)分别与以上卷积核进行卷积操作,再用激活函数激活。每个卷积核都得到了特征向量(feature maps)
  • 使用1-max pooling提取出每个feature map的最大值,然后在级联得到最终的特征表达
  • 将特征输入至softmax layer进行分类, 在这层可以进行正则化操作( l2-regulariation)

二、参考

 本文参考:https://blog.csdn.net/John_xyz/article/details/79210088

 感谢分享:知识共享推动世界进步!

最新文章

  1. IDDD 实现领域驱动设计-上下文映射图及其相关概念
  2. ES6 - Note1:块级作用域与常量
  3. D/A转换器实验
  4. 比较下OceanBase的选举协议和Raft的选举协议的区别
  5. 不会JS中的OOP,你也太菜了吧!(第二篇)
  6. python 读写 Excel文件
  7. CSS:表格样式(设置表格边框/文字/背景的样式)
  8. iis6配置使用页面Gzip压缩提速
  9. nginx 伪静态大于10个参数 $10
  10. c# 面相对象1-概括
  11. js颜色转换
  12. 深入浅出数据结构C语言版(21)——合并排序
  13. SVN错误:Attempted to lock an already-locked dir的解决
  14. jQuery事件绑定,解绑,触发
  15. json2mysql
  16. react基础学习 三
  17. ASP.NET MVC4在部署IIS后,运行时显示的是整个Web的目录列表
  18. 使用eclipse利用Junit4进行程序模块的测试
  19. Python模块:日志输出—logging模块
  20. DNS协议详解

热门文章

  1. C# 离线人脸识别 ArcSoft V2.0 Demo
  2. Android:随机生成算数四则运算简单demo(随机生成2~4组数字,进行加减乘除运算)
  3. 安卓开发:初识Android Studio
  4. 【抱怨文】vscode对多项目支持不够友好
  5. eclipse 导入gradle引入多模块项目,引入eclipse后变成了好几个工程
  6. C# -- 使用Parallel并行执行任务
  7. tensorflow的基本认识
  8. typeScript面对对象篇二
  9. bound+vlan
  10. RB-Tree插入过程详解