cnn和rnn可以结合使用吗,rnn和cnn优点缺点对比

本文对比了CNN和RNN在文本分类中的使用,CNN适合捕捉局部特征,RNN则擅长处理序列依赖。在语音识别中,RNN的长依赖特性优势明显,而CNN用于频谱图分析。基于RNN的seq2seq模型常优于CNN,因为RNN更好地处理变长序列。此外,讨论了如何用RNN替代CNN处理图像和深度学习的分类。
摘要由CSDN通过智能技术生成

CNN和RNN在文本分类过程中的区别整理

用CNN卷积的情况,这里面有几个关键点:一个是文本跟图片不一样,图片有长宽,然后还有深度(RGB)。

对应到文本上,假设文章总共N个词,每个词嵌入维度K维,那么输入是N*K的,N可以理解为高度,K作为长度,深度为1。那么卷积的时候的特征抽取器(filter)高度h一般设置多大呢?

一般可以从3开始,表示捕获住trigram特征。更多的是使用几种不同的filter(比如有高度各为2,3,5的)。

特征抽取器(filter)的长度一般设置为词向量的维度,这样保证每个filter抽取出来一个N-h+1个特征点,而不是一个平面(想想为什么)。

最重要的,在文本上work的pooling层一般是max-pooling,对每个filter应用整个序列上的max-pooling得到一个特征点(也有用k-max-pooling得到k个点),组合多个filter就能得到一系列特征,最后一个全连接层做分类。

这里为什么是max-pooling而不是min-pooling呢?一般来说,pooling后我们引入非线性是用Relu,relu对于小于0的直接就不激活了。

然后我们对比图像的深度,文本一般深度只有一个,如何增加深度以及为什么增加呢?

一般我们的词向量都是先预训练出来的,然后在一个特定任务上使用,梯度会回传回来进一步finetune,如果语料不是特别大,这个finetune过程只会对部分词进行更新,有些词就一直不动,这样在测试阶段,出现那些没finetune到的词就会有所偏差。

我们可以同时使用两份词向量(相当于通道数为2,深度加深为2),一份finetune一份静态地不更新,来缓解前面提到的问题。

二)对于RNN做文本分类,相当于把每个词作为一个时间节点

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值