前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SRU模型在文本分类中的应用

SRU模型在文本分类中的应用

作者头像
用户1332428
发布2018-07-30 15:00:01
2K0
发布2018-07-30 15:00:01
举报
文章被收录于专栏:人工智能LeadAI人工智能LeadAI

正文共1927个字,预计阅读时间10分钟。

针对rnn网络训练速度较慢,不方便并行计算的问题,作者提出了一种SRU的网络,目的是为了加快网络的训练。

SRU模型、GRU模型与LSTM模型设计上十分的相似,LSTM包含三个门函数(input gate、forget gate和output gate),而GRU模型是LSTM模型的简化版,仅仅包含两个门函数(reset gate和update gate)。reset gate决定先前的信息如何结合当前的输入,update gate决定保留多少先前的信息。如果将reset全部设置为1,并且update gate设置为0,则模型退化为RNN模型。

SRU模型结构类似于GRU网络,但又与GRU网络有所区别,图1为lstm网络结构,图2为gru网络结构,图三为sru网络结构。从图1和图2可以看出,一次计算需要依赖于上一次的状态s计算完成,因此作者修改网络结构为图3,类似于gru网络,只包含forget gate和reset gate,这两个函数可以在循环迭代前一次计算完成,便于并行计算。

LSTM模型公式

GRU模型公式

SRU模型公式

实验步骤

1:本次实验采用SST2数据。实验之前首先对文本按单词进行分词,然后采用word2vec进行预训练(这里采用按字切词的方式避免的切词的麻烦,并且同样能获得较高的准确率)。

2:由于本次实验对比采用的是定长模型,因此需要对文本进行截断(过长)或补充(过短)。

3:实验建模Input。本次实验采用文本标签对的形式进行建模(text,label),text代表问题,label代表正负情绪标签。

4:将text进行Embedding(batch_size, sequence_len, embedding_size)表示。

5:对text采用双向序列模型计算特征(sequence_len, batch_size, rnn_size)。

SRU代码实现

6:对时序模型特征进行选择,这里采用max-pooling。

7:损失函数采用负对数损失函数。

参数设置:

1:、这里优化函数采用论文中使用的ADAM优化器。

2、学习速率为1e-4。

3、训练100轮,大概需要0.5个小时的时间。

4、这里训练采用dropout=0.5和l2约束防止过拟合。

6、batch_size这里采用256字。

7、rnn_size为200

实验效果对比:

实验效果对比

注:这里分别实验了双向的GUR算法、双向的LSTM算法和双向的SRU算法。单向GRU/LSTM/SRU的算法只能捕获当前词之前词的特征,而双向的GRU/LSTM/SRU算法则能够同时捕获前后词的特征,因此实验采用的双向的序列模型。从实验结果来看,LSTM算法性能优于GRU算法和SRU算法,SRU算法优于GRU算法;但是GRU算法训练速度要比SRU算法、LSTM算法快,实际使用可以根据自己的要求做出权衡。

参考文献

TRAINING RNNS AS FAST AS CNNS(https://arxiv.org/pdf/1709.02755.pdf)

原文链接:https://www.jianshu.com/p/e7e308584b20

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能LeadAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档