当前位置: 首页 > wzjs >正文

宁波网站建设c nb账号权重查询

宁波网站建设c nb,账号权重查询,网站建设个人主页图,seo领导屋系列文章目录 第一章 1:同义词词典和基于计数方法语料库预处理 第一章 2:基于计数方法的分布式表示和假设,共现矩阵,向量相似度 第一章 3:基于计数方法的改进以及总结 第二章 1:word2vec 第二章 2:word2vec和CBOW模型的初步实现 第二章 3:CBOW模型…

系列文章目录

第一章 1:同义词词典和基于计数方法语料库预处理

第一章 2:基于计数方法的分布式表示和假设,共现矩阵,向量相似度

第一章 3:基于计数方法的改进以及总结

第二章 1:word2vec

第二章 2:word2vec和CBOW模型的初步实现

第二章 3:CBOW模型的完整实现

第二章 4:CBOW模型的补充和skip-gram模型的理论

第三章 1:word2vec的高速化(CBOW的改进)

第三章 2:word2vec高速化(CBOW的二次改进)

第三章 3:改进版word2vec的学习以及总结

第四章 1:RNN(RNN的前置知识和引入)

第四章 2:RNN(RNN的正式介绍)

第四章 3:RNN的实现

第四章 4:处理时序数据的层的实现

第四章 5:RNNLM的学习和评价


文章目录

目录

系列文章目录

文章目录

前言

一、RNNLM的全貌图

二、使用步骤


前言

本次我们的目标是使用RNN实现语言模型。目前我们已经实现了 RNN层和整体处理时序数据的Time RNN层,本节将创建几个可以处理时序数据的新层。我们将基于RNN的语言模型称为RNNLM(RNN Language Model,RNN 语言模型)。现在,我们来完成RNNLM。


一、RNNLM的全貌图

首先,我们看一下RNNLM使用的网络。图5-25所示为最简单的 RNNLM的网络,其中左图显示了RNNLM的层结构,右图显示了在时间 轴上展开后的网络。

上图中的第1层是Embedding层,该层将单词ID转化为单词的分布式表示(单词向量)。然后,这个单词向量被输入到RNN层。RNN层向下一层(上方)输出隐藏状态,同时也向下一时刻的RNN层(右侧)输出隐藏状态。RNN层向上方输出的隐藏状态经过Affine层,传给Softmax层。 现在,我们仅考虑正向传播,向上图的神经网络传入具体的数据, 并观察输出结果。这里使用的句子还是我们熟悉的“you say goodbye and i say hello.”,此时 RNNLM 进行的处理如下图所示。

如上图所示,被输入的数据是单词ID列表。首先,我们关注第1个时刻。作为第1个单词,单词ID为0的you被输入。此时,查看Softmax层输出的概率分布,可知say的概率最高,这表明正确预测出了you后面出现的单词为say。当然,这样的正确预测只在有“好的”(学习顺利的)权重时才会发生。 接着,我们关注第2个单词say。此时,Softmax层的输出在goodbye处和hello处概率较高。确实,“you say goodby”和“you say hello”都是很自然的句子(顺便说一下,正确答案是goodbye)。这里需要注意的是, RNN层“记忆”了“you say”这一上下文。更准确地说,RNN将“you say”这一过去的信息保存为了简短的隐藏状态向量。RNN层的工作是将这个信息传送到上方的Affine层和下一时刻的RNN层。 像这样,RNNLM可以“记忆”目前为止输入的单词,并以此为基础预测接下来会出现的单词。RNN层通过从过去到现在继承并传递数据,使得编码和存储过去的信息成为可能

二、使用步骤

之前我们将整体处理时序数据的层实现为了Time RNN层,这里也同 样使用Time Embedding层、Time Affine层等来实现整体处理时序数据的层。一旦创建了这些Time 层,我们的目标神经网络就可以像下图这样实现。

(我们将整体处理含有T个时序数据的层称为“Time 层”。如果 可以实现这些层,通过像组装乐高积木一样组装它们,就可以完成 处理时序数据的网络。)

Time 层的实现很简单。比如,在Time Affine层的情况下,只需要像下图那样,准备T个Affine层分别处理各个时刻的数据即可。

Time Embedding层也一样,在正向传播时准备T个Embedding层, 由各个Embedding层处理各个时刻的数据。 关于Time Affine层和Time Embedding层没有什么特别难的内容, 我们就不再赘述了。需要注意的是,Time Affine层并不是单纯地使用T个Affine层,而是使用矩阵运算实现了高效的整体处理。感兴趣的读者可以参考如下源代码:

class TimeAffine:def __init__(self, W, b):self.params = [W, b]self.grads = [np.zeros_like(W), np.zeros_like(b)]self.x = Nonedef forward(self, x):N, T, D = x.shapeW, b = self.paramsrx = x.reshape(N*T, -1)out = np.dot(rx, W) + bself.x = xreturn out.reshape(N, T, -1)def backward(self, dout):x = self.xN, T, D = x.shapeW, b = self.paramsdout = dout.reshape(N*T, -1)rx = x.reshape(N*T, -1)db = np.sum(dout, axis=0)dW = np.dot(rx.T, dout)dx = np.dot(dout, W.T)dx = dx.reshape(*x.shape)self.grads[0][...] = dWself.grads[1][...] = dbreturn dx

接下来我们看一下时序版本的Softmax。 我们在Softmax中一并实现损失误差Cross Entropy Error层。这里, 按照下图所示的网络结构实现Time Softmax with Loss层。

上图中的x0、x1等数据表示从下方的层传来的得分(得分是正规化为概率之前的值),t0、t1等数据表示正确解标签。如该图所示,T个 Softmax with Loss 层各自算出损失,然后将它们加在一起取平均,将得到的值作为最终的损失。此处进行的计算可用下式表示

Softmax with Loss层计算mini-batch的平均损失。 具体而言,假设mini-batch有N笔数据,通过先求N笔数据的损失之和, 再除以N,可以得到单笔数据的平均损失。这里也一样,通过取时序数据的 平均,可以求得单笔数据的平均损失作为最终的输出。

差点忘了,代码如下(记得三连加关注哦):

class TimeSoftmaxWithLoss:def __init__(self):self.params, self.grads = [], []self.cache = Noneself.ignore_label = -1def forward(self, xs, ts):N, T, V = xs.shapeif ts.ndim == 3:  # 在监督标签为one-hot向量的情况下ts = ts.argmax(axis=2)mask = (ts != self.ignore_label)# 按批次大小和时序大小进行整理(reshape)xs = xs.reshape(N * T, V)ts = ts.reshape(N * T)mask = mask.reshape(N * T)ys = softmax(xs)ls = np.log(ys[np.arange(N * T), ts])ls *= mask  # 与ignore_label相应的数据将损失设为0loss = -np.sum(ls)loss /= mask.sum()self.cache = (ts, ys, mask, (N, T, V))return lossdef backward(self, dout=1):ts, ys, mask, (N, T, V) = self.cachedx = ysdx[np.arange(N * T), ts] -= 1dx *= doutdx /= mask.sum()dx *= mask[:, np.newaxis]  # 与ignore_label相应的数据将梯度设为0dx = dx.reshape((N, T, V))return dx

http://www.dtcms.com/wzjs/335813.html

相关文章:

  • 西安市网站建设汕头seo公司
  • 做国外网站有哪些杭州百度推广
  • 电商网站开发python游戏推广员是做什么的
  • 国外外包平台网站关键词优化推广哪家好
  • 银川做网站公司免费s站推广网站
  • 长沙东易日盛装饰公司网络推广seo怎么做
  • 做第三方的qq互联接口时_回调到自己的网站时要延时很久是什么原因千锋教育培训机构怎么样
  • 企业做网站公司哪家好网络推广服务协议
  • 中国购物网站排名域名批量查询系统
  • 动态网站制作费用广州各区进一步强化
  • html5做图书馆网站百度seo费用
  • 外贸网站建设百度站内搜索的方法
  • 高校网站开发网站推广交换链接
  • 破解网站后台密码有人做吗谷歌搜索引擎为什么国内用不了
  • 邵阳做网站seo霸屏软件
  • 做网站模板的软件网站seo推广营销
  • 前端开发简历模板seo 优化顾问
  • 陕西的网站建设公司哪家好企业seo排名优化
  • 虞城做网站中国seo谁最厉害
  • 公司网站优点哪里可以学seo课程
  • 小学网站建设aso优化什么意思是
  • 如何选择邯郸做网站合肥关键词排名工具
  • 电子商务网站是什么上海培训机构排名榜
  • 石家庄市住房建设局网站腾讯会议价格
  • 怎么做网站安全检测百度营稍
  • 网站服务器报价网络营销推广seo
  • 企业解决方案模板黑帽seo技术培训
  • 温州专业微网站制作公司哪家好爱站seo查询
  • 网站开发后端用java叫什么源码之家
  • 中核华泰建设有限公司的网站免费建立个人网站申请