首页 > 其他分享 >MA-IndRNN模型的设计

MA-IndRNN模型的设计

时间:2023-03-05 21:35:11浏览次数:28  
标签:表示 MA 函数 模型 文本 IndRNN 输入


为了全面准确提取评论文本中的特征信息,将引入多头自注意力机制来解决上述问题。设计的MA-IndRNN的模型主要分为输入层、特征提取层、注意力层和最终的输出层,加入多头注意力机制的目的就是分析特征维度的权重。

输入层:

在这里模型的输入数据为分割好的文本评论数据,为了可以将自然语言文本处理为可以使计算机识别的向量化表示,将采用word2vec进行训练词向量模型,首先网上下载各种商品评论数据集进行预训练词嵌入特征。设置word2vec.Word2Vec(sentences, size=100)函数用于预训练词向量,设置buildVecs()函数构建文本的特征表示,其词向量的表示维度为100。在进行表示文本特征之前,需要将文本划成统一的长度,因此,统一设置文本的最大长度为50,对每个评论文本进行处理,短的补0;接着,采用训练好的词嵌入表示评论文本特征。

在本实验中,设给出的一段文本,其中K为文本的长度,经过词嵌入的特征表示则输入的特征则为,其中D为词嵌入的特征维度。在表示好输入特征向量之后,将输入传递进入Dropout层,随机减少参数。Dropout技术保证在神经网络每一次训练迭代中都会随机停止一定数量的隐藏层神经元个数,并使用mask过程将这些隐藏层神经元的输出设置为0,而非工作神经元的连接权值在本次迭代过程中不会更新。当训练好的模型用于测试集时,需要使用所有的节点,让处于停止工作状态的神经元恢复工作。 Dropout技术有效增强了深度神经网络模型的泛化能力,对防止深度学习模型过拟合起到了重要作用。

特征提取层:

为了进一步增强特征提取能力,本层基于嵌入特征引入了深度IndRNN模型。在IndRNN神经网络模型中,每个神经元细胞都能接收到来自当前时刻的输入和上一个时刻隐藏状态的信息,每个神经元都被看作是一个独立的个体,这种方式降低了构建深度网络模型的难度,增强了对长序列嵌入特征的特征提取能力,同时采用Relu等非饱和激活函数,可以增强IndRNN模型的鲁棒性。假设嵌入层的输入为X,则该隐藏层的输出公式如下:

其中,为当前的时刻的输入,为上一个时刻隐藏层神经元的输出,其中W、U和b为权值系数,为哈达马积(hadamard product)。

注意力层:

自注意力是一种注意力机制,将单个输入序列的不同位置相关联以计算同一序列的表示。 为了获得这些表示,每个输入都乘以一组键的权重(表示为 K)、一组查询的权重(表示为 Q)和一组值的权重(表示为 V)。 然后,self-attention学习到一个将查询 Q 映射到一系列键值对 (K, V) 的函数,如下所示:

Attention的本质上是给序列中的每个元素分配一个权重系数,也可以理解为软寻址,self-attention学习到一个将查询Q映射到一系列键值对(K, V)的函数,其中一组键的权重(表示为 K)、一组查询的权重(表示为Q)和一组值的权重(表示为 V)。 Attention可以用于计算Q和K的相似度,Q和K计算的相似度反映了提取V值的重要性,即权重,然后加权求和得到attention值。 K、Q、V模型中Self Attention机制的特殊点在于Q = K = V:

在自注意力基础上引入多头注意力机制,实际上就是分头操作,获取每个h(head)中Q,K,V的不同表示,计算每个表示的自注意力,并将结果连接起来。其公式如下所示:

输出层:

为了正确预测输入文本的情感值,进一步在神经网络之上部署了一个 softmax 层。 softmax层的基本过程是将编码层的输出表示映射到一个概率区间(0, 1)。 在本层中,将情感分析问题视为二元分类问题。 然后将输入样本转发到编码网络,其输出进一步通过 softmax 层映射到概率区间 (0, 1),经过softmax函数可得分类概率为y:

其中,d为隐藏层的输出,w和b为权值系数,softmax为线性激活函数。对模型的训练采用Adam优化器来优化交叉熵损失函数(Cross Entropy Loss)数。为了防止模型出现过拟合现象,在这个小节,将通过修改损失函数来提高模型的推荐能力。至此,基于情感分析的打分模型构建完毕,通过模型解决问题的特点,解决打分问题的角度从直接打分转换为寻找模型最优的分数分类性能,在模型真实预测数据时,则使用其分类器给出的概率值。因此。打分问题转换为一个多分类问题得到了解决。此处的交叉熵损失函数公式如下:

其中M为分类任务中总的样本标签,为模型预测样本为第i个标签的概率,为样本的真实标签,为上层网络的输出,为模型内超参数。为了防止训练的模型过拟合,在该损失函数后面加入L2正则化,其中为模型的内部权值参数,例如w,b等,模型采用adma优化器进行优化交叉熵损失函数,寻找最优梯度下降方向,从而优化模型的内部参数。

 

标签:表示,MA,函数,模型,文本,IndRNN,输入
From: https://www.cnblogs.com/haosenstudio/p/17181718.html

相关文章

  • markdown语法
    一级标题二级标题三级标题列表无序列表列表1列表2引用这是一条引用行内代码intmian(){printf("helloworld");}代码块intmain(){printf......
  • Java位集合之BitMap,BitSet解析
    目录1Java位集合1.1Bit-Map1.1.1简介1.1.2添加1.1.3清除1.1.4查找1.2Bitmap应用1.2.1快速排序1.2.2快速去重1.2.3快速查找1.3BitSet1.4BloomFilters1.4.1简......
  • 【数据库】数据模型之数据模型 1
    数据模型数据库结构的基础是数据模型。数据模型三要素:数据结构、数据操作和数据约束。1.分类   概念数据模型:仅仅用于表达设计思路(实体-联系模型(E-R)),就行设计大楼前的......
  • P2946 [USACO09MAR]Cow Frisbee Team S
    从序列A中选出一些数,使得总和为m的倍数,求有几种选法?  f[i][j],考虑前i个,总和的余数为j时的方案数(a[i]%m) f[i][j]+=f[i-1][j]+f[i-1][j-a[i]] #includ......
  • Python数据分析之财政收入影响因素分析及预测模型
    #-*-coding:utf-8-*-#代码6-1importnumpyasnpimportpandasaspdinputfile='../data/data.csv'#输入的数据文件data=pd.read_csv(inputfile)#......
  • 【数据库】数据模型之概念模型
    概念模型 实体和属性  一本书是一个实体,书的特性(页数、出版日期、定价等)就是属性。一堆书就是一个实体集。 实体集和实体键之间的关系  实体之间联......
  • 结构化概率模型的深度学习方法
    深度学习从业者通常与其他从事结构化概率模型研究的机器学习研究者使用相同的基本计算工具。然而,在深度学习中,我们通常对如何组合这些工具作出不同的设计决定,导致总体算法......
  • [ABC231E] Minimal payments
    [ABC231E]Minimalpayments-洛谷|计算机科学教育新生态(luogu.com.cn)题目关键信息,a[i]是a[i-1]的倍数,a[1]=1;举例一组数据:3129110100显然可以有,2*100找......
  • 技术管理学习笔记(二)- 能力模型
    一:建立合理的沟通通道    稳定性 通道的稳定,其重点在于双方信任, 不会因为小误会而崩解,更容易获得包容与谅解。    性能   通道的性能,在于双方的......
  • int main(int argc, const char *argv[])
    (一)intargcargc是命令行总的参数个数(二)constchar*argv[]argv[]为保存命令行参数的字符串指针,其中第0个参数是程序的全名,以后的参数为命令行后面跟的用户输入的参数,ar......