CNN for NLP

Understanding Convolutional Neural Networks for NLP

卷积

应用于矩阵的滑动窗口函数。滑动窗口又称内核,过滤器或特征检测器。 我们使用3×3滤波器,将其元素值与原始矩阵相乘然后相加。 通过在整个矩阵上滑动滤波器来为每个元素执行此操作获得完整的卷积。

(1)用相邻值对每个像素求平均使图像模糊

(2)取像素与其邻居之间的差异来检测边缘

CNN

CNN基本上是几层卷积,利用非线性激活函数如ReLU或tanh对结果进行处理

计算特点:位置不变性和组合性

CNN for NLP

输入:表示为矩阵的句子或文档,矩阵的每一行对应一个单词或字符(word2vec, GloVe, one-hot vectors可进行词映射)

filter:“宽度”通常与输入矩阵的宽度相同;高度或区域大小可能有所不同,但典型的滑动窗口大于2-5个单词或字符

CNN超参数

狭窄卷积与宽卷积

zero-padding:所有落在矩阵之外的元素都被认为是零

输出:n_ {out} =(n_{in}+2*n_{padding}-n_{filter})+1

窄卷积的输出:(7-5)+1=3,宽卷积的输出:(7+2*4-5)+1=11

步幅大小

每一步过滤器移动的长度

池化

池层对其输入进行子采样, 将最大操作应用于每个过滤器的结果

池化提供固定大小的输出矩阵

池化会降低输出维数,但可以保留最显着的信息

通道

可以为不同的单词映射(如word2vec,GloVe)设置单独通道,可以为不同语言表示的相同句子设置通道,或以不同方式表达

CNN在NLP中的应用

1.分类任务的应用:情感分析,垃圾邮件检测或主题分类

2.CNN架构的建立:超参的选择--输入的表示(word2vec,GloVe,one-hot),卷积滤波器的数量和大小,池化策略(最大值,平均值)和激活函数(ReLU,tanh)

max-pooling总是超过average-pooling
理想的滤波器尺寸很重要,但与任务有关
正规化在NLP任务没有产生很大不同

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值