textCNN原理
一、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
感谢分享:知识共享推动世界进步!
textCNN原理的更多相关文章
- 【原创】TextCNN原理详解(一)
最近一直在研究textCNN算法,准备写一个系列,每周更新一篇,大致包括以下内容: TextCNN基本原理和优劣势 TextCNN代码详解(附Github链接) TextCNN模型实践迭代经验总结 ...
- TextCNN 代码详解(附测试数据集以及GitHub 地址)
前言:本篇是TextCNN系列的第三篇,分享TextCNN的优化经验 前两篇可见: 文本分类算法TextCNN原理详解(一) 一.textCNN 整体框架 1. 模型架构 图一:textCNN 模型结 ...
- 听说你不会调参?TextCNN的优化经验Tricks汇总
前言:本篇是TextCNN系列的第三篇,分享TextCNN的优化经验 前两篇可见: 文本分类算法TextCNN原理详解(一) TextCNN代码详解(附测试数据集以及GitHub 地址)(二) 调优模 ...
- tensorflow模型在实际上线进行预测的时候,使用CPU工作
最近已经训练好了一版基于DeepLearning的文本分类模型,TextCNN原理.在实际的预测中,如果默认模型会优先选择GPU那么每一次实例调用,都会加载GPU信息,这会造成很大的性能降低. 那么, ...
- Task7.卷积神经网络
卷积定义: 所谓卷积,其实是一种数学运算.但是在我们的学习生涯中,往往它都是披上了一层外衣,使得我们经常知其然不知其所以然.比如在信号系统中,他是以一维卷积的形式出现描述系统脉冲响应.又比如在图像处理 ...
- [NLP] TextCNN模型原理和实现
1. 模型原理 1.1 论文 Yoon Kim在论文(2014 EMNLP) Convolutional Neural Networks for Sentence Classification提出Te ...
- fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择
https://mp.weixin.qq.com/s/_xILvfEMx3URcB-5C8vfTw 这个库的目的是探索用深度学习进行NLP文本分类的方法. 它具有文本分类的各种基准模型,还支持多标签分 ...
- textRNN & textCNN的网络结构与代码实现!
1. 什么是textRNN textRNN指的是利用RNN循环神经网络解决文本分类问题,文本分类是自然语言处理的一个基本任务,试图推断出给定文本(句子.文档等)的标签或标签集合. 文本分类的应用非常广 ...
- 文本分类(TFIDF/朴素贝叶斯分类器/TextRNN/TextCNN/TextRCNN/FastText/HAN)
目录 简介 TFIDF 朴素贝叶斯分类器 贝叶斯公式 贝叶斯决策论的理解 极大似然估计 朴素贝叶斯分类器 TextRNN TextCNN TextRCNN FastText HAN Highway N ...
随机推荐
- poi控制简单的word
官方model网址:http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xwpf/usermodel/e ...
- Invalid Host header
这个主要是自己遇到很多次了,每次都去网上查改哪里,这次记到自己这里吧,以后把遇到的vue工具的一些问题都整理到这里 在vue中开发的项目有时候需要到手机上看效果,但是你配好本地端口之后,会出现访问内容 ...
- 重庆3Shape CAMbridge都有哪些功能
三维打印技术创新领导者Objet Geometries公司和牙科领域三维扫描仪.CAD/CAM软件解决方案供应商3Shape A/S公司日前宣布两家公司合作研发的牙科领域三维修复解决方案已付诸实施.此 ...
- SQLServer之ISO游标使用
什么是游标 结果集,结果集就是select查询之后返回的所有行数据的集合. 游标则是处理结果集的一种机制吧,它可以定位到结果集中的某一行,多数据进行读写,也可以移动游标定位到你所需要的行中进行操作数据 ...
- 利用ZYNQ SOC快速打开算法验证通路(6)——LWIP实现千兆TCP/IP网络传输
一.前言 之前ZYNQ与PC之间的网络连接依赖于外接硬件协议栈芯片,虽然C驱动非常简单,但网络带宽受限.现采用LWIP+PS端MAC控制器+PHY芯片的通用架构.关于LWIP库,已经有很多现成的资料和 ...
- MySQL基础知识-安装MySQL
前导: 昨天去参加了一个面试,公司不太大,是一家日资企业,在国内有几家分公司,面试官问到了MySQL的基本操作和性能优化,说了一大堆,倒是比较轻松的过了,但是面试结束之后,想了一下,基本操作忘的还是挺 ...
- 一个ELK日志检索实施案例
figure:first-child { margin-top: -20px; } #write ol, #write ul { position: relative; } img { max-wid ...
- 【夯实shell基础】shell基础面面观
本文地址 点击关注微信公众号 wenyuqinghuai 分享提纲: 1. shell中的函数 2. shell中的数组 3. shell中的变量 4. shell中的运算符 5. Linux的一些命 ...
- 【Teradata SQL】行转列函数TDStats.udfConcat
TDstats.udfConcat为Teradata自带UDF,定义如下: show function tdstats.udfconcat; REPLACE FUNCTION tdstats.UDFC ...
- SQL 表值函数/标量函数
表值函数 定义表值函数 --定义表值函数 CREATE FUNCTION GetStuScore(@Stu_ID INT ) RETURNS TABLE AS RETURN (SELECT ),[St ...