CNN与NLP任务

目录

一、为什么CNN可以用到文本处理中

  1、CNN网络善于处理的场景

  2、CNN用于文本处理中的场景

    2.1、CNN用于文本分类(尤其是长文本分类)

二、激活函数区别

  1、sign 函数

  2、sigmoid 函数

  3、tanh 函数

  4、relu 函数

三、多层卷积的理解 和 CNN 网络bn、relu、pool层的顺序


​​​​​​​

一、为什么CNN可以用到文本处理中

  1、CNN网络善于处理的场景

1、特征分布局部性
2、局部特征具有可平移性,参数共享(如一个人的脸放在图片任意一个位置都是那张脸)
3、特征具有收缩性(如图片分辨率的大小不会影响图片类别的判断)

  2、CNN用于文本处理中的场景

    2.1、CNN用于文本分类(尤其是长文本分类)

1、分析一下文本分类场景的特点:
    ① 特征具有局部性(如:一段话的类别往往会集中在某几个高重要性的短语上)
    ② 特征具有平移性(如:同一个重要短语可以出现句子中的任意位置)
    ③ 特征具有收缩性(如:去掉句子中一些不相关的词不会影响句子类别的判断)
    ④ 当文本过长时RNN分类效果不是很好
    综上所述:文本分类符合CNN网络的处理场景
2、CNN网络处理文本分类的优点
    ① 可以提取更长文本的重要 n-gram 特征,CNN网络的输入可以作为RNN网络输入
    ② CNN 网络局部感知且参数共享,模型迭代速度快

二、激活函数区别

  1、sign 函数

最开始感知机模型的激活函数

特点有以下几点:
    ① 激活函数是离散的输出,BP 过程会出现“偏转”现象,做无用的迭代

  2、sigmoid 函数

由sign离散激活转化为 0-1 连续激活函数

特点有以下几点:
    ① sigmoid 在非“活跃区”容易出现梯度消失
    ② sigmoid 的输出结果均是>0的值,容易产生偏置效果,如果初始化的值不合适,可能永远达不到最优解。

  3、tanh 函数

对sigmoid做改变,循环神经网络中通常使用的是tanh

特点有以下几点:
    ① tanh 输出值是0中心化的,不会出现偏置问题
    ② tanh 函数“活跃区”的梯度比sigmoid大,模型收敛速度快
    ③ tanh 函数同样存在非“活跃区”,它也会出现梯度消失或梯度爆炸

  4、relu 函数

CNN通常使用的relu激活
tip:RNN网络中通常用的是tanh与sigmoid函数,不会使用relu,因为RNN内部有循环结构,使用relu容易导致数值爆炸

特点有以下几点:
    ① relu函数计算很简单,模型迭代速度很快 
    ② relu“活跃区”梯度为1,不会出现梯度消失,relu右侧存在截取,不会存在梯度爆炸;relu同时存在失活区,可以屏蔽一些噪声

三、多层卷积的理解 和 CNN 网络bn、relu、pool层的顺序

0、conv2d 与 pool2d 的理解:
   当 stride > 1 且没有padding时,多层conv2d具有下采样的作用,扩大感知视野【即便不使用pooling】
   可以理解pooling是一种极端的下采样方式,相对conv2d来说,maxpool类似于仅仅是最大特征的参数为1其他区域参
       数为0的卷积层    
1、pool层的作用
    ① 增加模型的迭代速度 ② 增加感受视野
2、​conv、bn、relu、pool顺序
    conv --- bn --- relu ---- pool

​
​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值