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

网站 沙盒网络服务器忙3008

网站 沙盒,网络服务器忙3008,玉林网站设计,中国工程建设信息网官网查询RNN循环神经网络 什么是循环神经网络? 循环神经网络(Recurrent Neural Network, RNN)是一类专门用于处理序列数据的神经网络架构。与传统的前馈神经网络不同,RNN具有"记忆"能力,能够捕捉数据中的时间依赖关系…

RNN循环神经网络

什么是循环神经网络?

循环神经网络(Recurrent Neural Network, RNN)是一类专门用于处理序列数据的神经网络架构。与传统的前馈神经网络不同,RNN具有"记忆"能力,能够捕捉数据中的时间依赖关系。

核心特点:

  1. 循环连接:RNN单元之间存在循环连接,使得信息能够在网络内部持续传递
  2. 参数共享:相同的权重参数在时间步之间共享,大大减少了模型参数数量
  3. 序列处理:能够处理可变长度的输入序列,适用于时序数据

基本结构:

RNN的基本单元包含一个隐藏状态(hidden state),它在每个时间步都会被更新:

  • 新隐藏状态 = f(当前输入, 前一个隐藏状态)

举一个简单的例子:

在这里插入图片描述

简单的循环神经网络例子(多对多)

我们来做一个简单的循环神经网络,其实也就是跟上图一致。

import torch
from torch import nnclass RNNCell(nn.Module):def __init__(self,input_size,hidden_size):super().__init__()self.input_size = input_sizeself.hidden_size = hidden_sizeself.w_hidden = torch.randn(hidden_size,hidden_size)self.w_input = torch.randn(input_size,hidden_size)self.tanh = nn.Tanh()def forward(self,x,hidden_state=None):N,input_size = x.shapeif hidden_state is None:hidden_state = torch.zeros(N,self.hidden_size)hidden_state = self.tanh(hidden_state @ self.w_hidden + x @ self.w_input)return hidden_stateclass RNN(nn.Module):def __init__(self,input_size,hidden_size):super().__init__()self.cell = RNNCell(input_size,hidden_size)self.w_output = torch.randn(hidden_size,hidden_size)def forward(self,x,hidden_state=None):N,L,input_size = x.shapeoutputs = []for i in range(L):x_i = x[:,i]hidden_state = self.cell(x_i,hidden_state)out = hidden_state @ self.w_outputoutputs.append(out)outputs = torch.stack(outputs,dim=1)return outputs,hidden_stateif __name__ == "__main__":x = torch.randn(5,3,10)model = RNN(10,20)y,h = model(x)print(y.shape)print(h.shape)

双向循环神经网络

双向RNN其实也就是两层RNN的叠加,分别更新的是两层隐藏状态以及两层输出。

在这里插入图片描述

import torch
from torch import nnclass BiRNN(nn.Module):def __init__(self,input_size,hidden_size):super().__init__()self.input_size = input_sizeself.hidden_size = hidden_size#前向RNN和线性层self.forward_cell = nn.RNNCell(input_size,hidden_size)self.backward_cell = nn.RNNCell(input_size,hidden_size)#反向RNN和线性层self.forward_Linear = nn.Linear(hidden_size,hidden_size)self.backward_Linear = nn.Linear(hidden_size,hidden_size)def forward(self,x,hidden = None):N,L,input_size = x.shapeif hidden is None:#堆叠两层隐藏层hidden = torch.zeros(2,N,self.hidden_size)h_forward = hidden[0]out_forward = []for i in range(L):h_forward = self.forward_cell(x[:,i],h_forward)out = self.forward_Linear(h_forward)out_forward.append(out)out_forward = torch.stack(out_forward,dim=1)x = torch.flip(x,dims=[1])h_backward = hidden[1]out_backward = []for i in range(L):h_backward = self.backward_cell(x[:,i],h_backward)out = self.backward_Linear(h_backward)out_backward.append(out)out_backward = torch.stack(out_backward,dim=1)outputs = torch.concat((out_forward,out_backward),dim=-1)hidden = torch.stack([h_forward,h_backward])return outputs,hiddenif __name__ == '__main__':x = torch.randn((5,3,10))model = BiRNN(10,20)outputs,hidden = model(x)print(outputs.shape)print(hidden.shape)
http://www.dtcms.com/a/548236.html

相关文章:

  • 物流网站公司免费网站免费领地
  • 陕西建设机械股份有限公司网站深圳企业微电影拍摄
  • 网站运营建设岗位职责天津市网站建站制作
  • 网站设计佛山大宇网络潍坊网站建设
  • 网站建设费用怎么算网站开发公司需要那些硬件设备
  • 常州建设企业网站网站站内推广计划书
  • 高端的网站推广企业网站建设方案策划
  • 电子商务网站建设应该侧重哪方面精细化学品网站建设
  • 云南政务网站建设lamp网站开发黄金组合 pdf
  • 怎么查询网站的点击量wordpress 最后一页
  • 网站区域名是什么伪静态 多个网站
  • 自己做网站原始代码seo网站有优化培训班吗
  • 怎么建设国际网站一站式电商网站建设
  • 制作人是做什么的宜昌seo优化服务
  • 网站管理助手4.0教程短视频关键词优化
  • 网站建设的规模设想旅游类网站建设的结论
  • 宣城老品牌网站建设wordpress 汉化失败
  • 如何制作官方网站网站设计规划方案
  • .net做网站实例 贴吧线上营销有哪些
  • 小网站下载渠道有哪些买完服务器怎么做网站
  • 做效果图常用的网站有哪些软件冒险岛cms是什么意思
  • 网站设计制作的介绍全栈网站开发工程师
  • 免备案网站建设中国 网站服务器 租金
  • 做任务网站有哪些内容外网怎样访问自己做的网站
  • 国外网站平台长丰县住房和建设局网站
  • 网站建设续费多少钱江西网站设计哪家好
  • 加盟平台网站怎么做濮阳
  • 岳阳二手房网站wordpress添加菜单选项
  • wordpress安装云服务器百度关键词优化多少钱一年
  • 一般网站设计多大宽度wordpress做超链接