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

食品网站建设目的资源搜索引擎

食品网站建设目的,资源搜索引擎,做网站公司赚钱吗,长春市网络公司从入门到精通循环神经网络 (RNN) https://www.dxy.cn/bbs/newweb/pc/post/50883341 https://wenku.csdn.net/column/kbnq75axws 1. RNN 基础 RNN 通过隐藏状态传递序列信息,核心公式: 隐藏状态: h t tanh ⁡ ( W h h h t − 1 W x h …

从入门到精通循环神经网络 (RNN)

https://www.dxy.cn/bbs/newweb/pc/post/50883341
https://wenku.csdn.net/column/kbnq75axws
循环神经网络

1. RNN 基础

RNN 通过隐藏状态传递序列信息,核心公式:

  • 隐藏状态:
    h t = tanh ⁡ ( W h h h t − 1 + W x h x t + b h ) \mathbf{h}_t = \tanh(\mathbf{W}_{hh} \mathbf{h}_{t-1} + \mathbf{W}_{xh} \mathbf{x}_t + \mathbf{b}_h) ht=tanh(Whhht1+Wxhxt+bh)
  • 输出:
    y t = W h y h t + b y \mathbf{y}_t = \mathbf{W}_{hy} \mathbf{h}_t + \mathbf{b}_y yt=Whyht+by
2. 目标函数与损失函数
  • 目标函数:最小化预测与真实值的差距。
  • 损失函数(以 MSE 为例):
    L = 1 2 T ∑ t = 1 T ( y t − y ^ t ) 2 L = \frac{1}{2T} \sum_{t=1}^T (\mathbf{y}_t - \mathbf{\hat{y}}_t)^2 L=2T1t=1T(yty^t)2
3. 梯度下降与数学推导

标量形式(以 W h h W_{hh} Whh为例):
∂ L ∂ W h h = ∑ t = 1 T ∂ L ∂ y t ⋅ ∂ y t ∂ h t ⋅ ( ∏ k = 1 t ∂ h k ∂ h k − 1 ) ⋅ ∂ h 1 ∂ W h h \frac{\partial L}{\partial W_{hh}} = \sum_{t=1}^T \frac{\partial L}{\partial \mathbf{y}_t} \cdot \frac{\partial \mathbf{y}_t}{\partial \mathbf{h}_t} \cdot \left( \prod_{k=1}^t \frac{\partial \mathbf{h}_k}{\partial \mathbf{h}_{k-1}} \right) \cdot \frac{\partial \mathbf{h}_1}{\partial W_{hh}} WhhL=t=1TytLhtyt(k=1thk1hk)Whhh1
其中, ∂ h k ∂ h k − 1 = W h h T ⋅ diag ( 1 − tanh ⁡ 2 ( ⋅ ) ) \frac{\partial \mathbf{h}_k}{\partial \mathbf{h}_{k-1}} = \mathbf{W}_{hh}^T \cdot \text{diag}(1 - \tanh^2(\cdot)) hk1hk=WhhTdiag(1tanh2()),导致梯度消失/爆炸。

矩阵形式
∂ L ∂ W h h = ∑ t = 1 T diag ( 1 − h t 2 ) ⋅ h t − 1 T ⋅ ( W h y T ( y ^ t − y t ) ∏ k = t 1 W h h T diag ( 1 − h k 2 ) ) \frac{\partial L}{\partial \mathbf{W}_{hh}} = \sum_{t=1}^T \text{diag}(1 - \mathbf{h}_t^2) \cdot \mathbf{h}_{t-1}^T \cdot \left( \mathbf{W}_{hy}^T (\mathbf{\hat{y}}_t - \mathbf{y}_t) \prod_{k=t}^1 \mathbf{W}_{hh}^T \text{diag}(1 - \mathbf{h}_k^2) \right) WhhL=t=1Tdiag(1ht2)ht1T(WhyT(y^tyt)k=t1WhhTdiag(1hk2))

4. PyTorch 代码案例
import torch
import torch.nn as nn
import matplotlib.pyplot as plt# 数据生成
seq_len = 20
time = torch.arange(0, seq_len, 0.1)
data = torch.sin(time) + torch.randn(seq_len * 10) * 0.1# 转换为序列数据
def create_dataset(data, window=5):X, y = [], []for i in range(len(data)-window):X.append(data[i:i+window])y.append(data[i+window])return torch.stack(X), torch.stack(y)X, y = create_dataset(data, window=5)
X = X.unsqueeze(-1).float()  # (samples, window, features)
y = y.unsqueeze(-1).float()# 定义模型
class RNN(nn.Module):def __init__(self, input_size, hidden_size, output_size):super().__init__()self.rnn = nn.RNN(input_size, hidden_size, batch_first=True)self.fc = nn.Linear(hidden_size, output_size)def forward(self, x):out, _ = self.rnn(x)  # out: (batch, seq, hidden)out = self.fc(out[:, -1, :])  # 取最后一个时间步return outmodel = RNN(1, 32, 1)
criterion = nn.MSELoss()
optimizer = torch.optim.Adam(model.parameters(), lr=0.01)# 训练
epochs = 100
losses = []
for epoch in range(epochs):optimizer.zero_grad()outputs = model(X)loss = criterion(outputs, y)loss.backward()torch.nn.utils.clip_grad_norm_(model.parameters(), 0.5)  # 梯度裁剪optimizer.step()losses.append(loss.item())# 可视化损失
plt.plot(losses)
plt.title('Training Loss')
plt.show()# 预测
with torch.no_grad():pred = model(X)plt.plot(time[5:], y.numpy(), label='True')
plt.plot(time[5:], pred.numpy(), label='Predicted')
plt.legend()
plt.show()
5. 可视化展示
  • 损失曲线:展示训练过程中损失下降。
  • 预测对比:真实值与预测值的时间序列对比。
  • 隐藏状态可视化(可选):通过 PCA 降维展示隐藏状态变化。
6. 应用场景与优缺点
  • 应用:时间序列预测、文本生成、机器翻译。
  • 优点:处理变长序列,捕捉时序依赖。
  • 缺点:梯度消失/爆炸,长程依赖困难,计算效率低。
7. 改进方法
  • 结构改进:使用 LSTM/GRU 的门控机制,例如 LSTM 的遗忘门:
    f t = σ ( W f [ h t − 1 , x t ] + b f ) f_t = \sigma(\mathbf{W}_f [\mathbf{h}_{t-1}, \mathbf{x}_t] + \mathbf{b}_f) ft=σ(Wf[ht1,xt]+bf)
  • 梯度裁剪:限制梯度最大值,防止爆炸。
  • 优化算法:Adam 自适应学习率。
  • 注意力机制:增强长距离依赖捕捉能力。
8. 数学推导改进(LSTM 示例)

LSTM 通过细胞状态 C t \mathbf{C}_t Ct传递信息,梯度流动更稳定:
C t = f t ⊙ C t − 1 + i t ⊙ C ~ t \mathbf{C}_t = f_t \odot \mathbf{C}_{t-1} + i_t \odot \tilde{\mathbf{C}}_t Ct=ftCt1+itC~t
其中遗忘门 f t f_t ft控制历史信息保留,避免传统 RNN 的连乘梯度,缓解消失问题。


通过上述步骤,您可系统掌握 RNN 的核心理论、实现及优化方法。

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

相关文章:

  • 织梦婚纱网站模板关键词优化难度分析
  • 平顶山市哪里有做网站的b站怎么推广
  • 网站核验单下载鞋子软文推广300字
  • 如何做魔道祖师网站最近的热点新闻
  • 网站设计制作教程买卖网交易平台
  • 公司网站开发找哪家交换友情链接的条件
  • 佛山网站优化什么价格文件外链生成网站
  • 网站启用cdn加速a5站长网
  • dw怎么做网站注册登入页面注册城乡规划师好考吗
  • 深圳电信网站备案互联网营销培训
  • 网站重构工程师企业邮箱如何申请注册
  • 网站 导出链接网页开发工具
  • iis wordpress 500seo互联网营销培训
  • 网站建设名牌网站广告调词软件
  • 建设外包网站淘宝seo搜索引擎原理
  • 做一张简单的app网站多钱seo排名第一的企业
  • 深圳网站建设公司多少钱百度搜索关键词排名查询
  • 成立做网站的公司有哪些b站视频推广app
  • 郑州网站建设公司排名下载百度语音导航地图安装
  • 怎么做质量高的网站win优化大师
  • 乐清高端网站建设百度平台客服联系方式
  • 济南网站优化培训图片在线转外链
  • 在网上建设网站seo的中文含义是什么意思
  • 常德网站seo小程序开发哪家更靠谱
  • 怎么做网站网页一键生成网页
  • 怎么做免费的网站链接无锡哪里有做网站的
  • 阿里巴巴网站运营怎么做营销策划的八个步骤
  • 环保网站设计是什么爱站网官网查询域名
  • 湛江专业做网站北京网络网站推广
  • 做视频网站该把视频文件传到哪深圳网络推广工资