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

谷歌浏览器安卓版深圳排名seo公司

谷歌浏览器安卓版,深圳排名seo公司,顺德高端网站设计,变装app制作教程文章目录 1 提出背景2 RNN2.1 RNN结构2.2 RNN代码实现2.3 代码简洁实现 1 提出背景 为什么要引入RNN呢#xff1f; 非常简单#xff0c;之前我们的卷积神经网络CNN#xff0c;全连接神经网络等都是单个神经元计算 但在序列模型中#xff0c;前一个神经元往往对后面一个神… 文章目录 1 提出背景2 RNN2.1 RNN结构2.2 RNN代码实现2.3 代码简洁实现 1 提出背景 为什么要引入RNN呢 非常简单之前我们的卷积神经网络CNN全连接神经网络等都是单个神经元计算 但在序列模型中前一个神经元往往对后面一个神经元有影响 比如 两句话 I like eating apples. I want to have a apple watch 第一个苹果和第二个苹果的概念是不一样的第一个苹果是红彤彤的苹果第二个苹果是苹果公司的意思 如何知道 是因为apple的翻译参考了上下文第一句话看到了eating这个单词第二句话看到了watch这个单词 因而可见对于语言这种时序信息利用需要参考上下文进行 还有其他原因 拿人类的某句话来说也就是人类的自然语言是不是符合某个逻辑或规则的字词拼凑排列起来的这就是符合序列特性。语音我们发出的声音每一帧每一帧的衔接起来才凑成了我们听到的话这也具有序列特性、股票随着时间的推移会产生具有顺序的一系列数字这些数字也是具有序列特性。 2 RNN 具有时序功能从某种意义来说RNN也就具有了记忆功能好比我们人类自己为什么会受到过去影响因为我们具有记忆能力。 同时只有记忆能力是不够的处理后的信息得储存起来形成“新的记忆” 对于RNN可以分为单向RNN和双向RNN其中单向的是只利用前面的信息而双向的RNN既可以利用前面的信息也可以利用后面的信息。 2.1 RNN结构 RNN的基本单元包含以下关键组件 输入 ( x t x_t xt​ ) 表示在时间步 (t) 的输入序列。隐藏状态 ( h t h_t ht​ ) 在时间步 (t) 的隐藏状态是网络在处理序列过程中保留的信息相当于ht里面藏着上下文信息每一步的输出(Oi)每一个时间步有一个输出OiOi综合了当前时间步和之前的很多信息那么对于某些特定任务如分类什么的就可以直接用Oi去做判断。很多时候直接把隐藏状态拿去做了输出 如下图图片来自《动手学深度学习》 那么每一个隐状态是通过怎样的方式得到的呢 RNN的隐藏状态 (ht ) 的计算通过以下数学公式完成 $h_ttanh(W_{ih}x_tb_{ih}W_{hh}h_{t−1}b_{hh}) $ 这个公式展示了RNN如何根据当前输入 (xt ) 和前一个时间步的隐藏状态 (ht−1 ) 来计算当前时间步的隐藏状态 (ht )。其中 (tanh) 是双曲正切激活函数用于引入非线性。 实际中我们可以看到 权重矩阵 ($W_{ih} , W_{hh} $) 分别是输入到隐藏状态和隐藏状态到隐藏状态的权重矩阵。偏差 ($b_{ih} , b_{hh} $) 对应的偏差。 第一个问题 是每一个句子的长度不一致你怎么用统一的矩阵呢 ​ 只实现了一个单层神经元可以通过获得句子长度知道时间步数t进一步做相关的调整 2.2 RNN代码实现 代码实现首先实现上图的一个神经元 def rnn(inputs, state, params):# inputs的形状(时间步数量批量大小词表大小)W_xh, W_hh, b_h, W_hq, b_q paramsH, stateoutputs []# X的形状(批量大小词表大小)for X in inputs:H torch.tanh(torch.mm(X, W_xh) torch.mm(H, W_hh) b_h)Y torch.mm(H, W_hq) b_qoutputs.append(Y)return torch.cat(outputs, dim0), (H,)class RNNModelScratch: #save从零开始实现的循环神经网络模型def __init__(self, vocab_size, num_hiddens, device,get_params, init_state, forward_fn):self.vocab_size, self.num_hiddens vocab_size, num_hiddensself.params get_params(vocab_size, num_hiddens, device)self.init_state, self.forward_fn init_state, forward_fndef __call__(self, X, state):X F.one_hot(X.T, self.vocab_size).type(torch.float32)return self.forward_fn(X, state, self.params)def begin_state(self, batch_size, device):return self.init_state(batch_size, self.num_hiddens, device)然后利用循环根据语句长度做预测判断损失函数计算优化 def predict_ch8(prefix, num_preds, net, vocab, device): #save在prefix后面生成新字符state net.begin_state(batch_size1, devicedevice)outputs [vocab[prefix[0]]]get_input lambda: torch.tensor([outputs[-1]], devicedevice).reshape((1, 1))for y in prefix[1:]: # 预热期_, state net(get_input(), state)outputs.append(vocab[y])for _ in range(num_preds): # 预测num_preds步y, state net(get_input(), state)outputs.append(int(y.argmax(dim1).reshape(1)))return .join([vocab.idx_to_token[i] for i in outputs])2.3 代码简洁实现 往往通过一个nn.RNN来实现 nn.RNN(input_size, hidden_size, num_layers1, nonlinearitytanh, biasTrue, batch_firstFalse, dropout0, bidirectionalFalse) 参数说明 input_size输入特征的维度 一般rnn中输入的是词向量那么 input_size 就等于一个词向量的维度 hidden_size隐藏层神经元个数或者也叫输出的维度因为rnn输出为各个时间步上的隐藏状态 num_layers网络的层数一般可以默认为1 nonlinearity激活函数 bias是否使用偏置 batch_first输入数据的形式默认是 False就是这样形式(seq(num_step), batch, input_dim)也就是将序列长度放在第一位batch 放在第二位 dropout是否应用dropout, 默认不使用如若使用将其设置成一个0-1的数字即可 birdirectional是否使用双向的 rnn默认是 False 注意某些参数的默认值在标题中已注明 rnn_layer nn.RNN(input_sizevocab_size, hidden_sizenum_hiddens, )定义模型 其中vocab_size 1027, hidden_size 256
http://www.zqtcl.cn/news/503600/

相关文章:

  • 自己做网站 套模板工具磨床东莞网站建设
  • 怎么上传图片到公司网站在深圳注册公司需要什么资料
  • 网站建设的公司哪家好用一段话来解释网站建设
  • 没有文字的网站怎么优化wordpress自定义文章类型模板
  • 东营网站设计制作网站建设匠人匠心科技
  • 海外如何淘宝网站建设2022新闻大事件摘抄
  • 仿win8 网站淘宝客网站开发视频教程
  • 宣威做网站建设的公司哈尔滨网站建设公司名字
  • 学网页设计在哪学关键词优化公司前十排名
  • 菏泽定制网站建设推广无固定ip 建设网站
  • wordpress网站制作教程视频百度云域名购买
  • 软件最全网站株洲网站排名优化价格
  • 购物便宜的网站有哪些家居企业网站建设讯息
  • 美橙网站产品详情深圳做网站的公司哪个好
  • 江苏省建设注册中心网站平面设计要素
  • 厦门网站建设_策划公司
  • 惠州建网站服务网站建设价格是哪些方面决定的
  • 如何在百度上做公司做网站搜索百度网页版
  • 松江新城投资建设发展有限公司网站产品营销文案
  • 哪个网站有做彩平的材质贴图广州app开发公司排行十强
  • 泉州网站设计蜜桃传奇免费网页版
  • 做建筑机械网站那个网站好茂名网站开发服务商
  • 网站建设制作方法网站设计昆明
  • 设计一个自己的电商网站中国建设银行官网首页登录
  • 肇庆自助网站建设系统南通网站建设项目
  • 道农网站建设工作网站开发制作
  • 网页游戏网站快手wordpress hppts
  • 男男做h的视频网站德邦公司网站建设特点
  • 嘉兴市建设教育网站html5从入门到精通
  • 双语言网站源码在哪个网站可以找到做国珍的人