深度学习day06

其实深度学习是我们老师让我们学的东西,然后数据结构是我看师兄找工作学的。所以我一般数据结构更新的更勤,但是有多余的时间还是要把深度学习这些进度给补上。

但我一般也是搞懂大概的东西,就是能看懂大概的原理,和这段代码在干什么

具体数学推导没到那种每一步都会算的地步,还有让我直接敲深度学习代码我还是不会

循环神经网络

循环神经网络(RNN)的核心在于处理序列数据时引入时间维度上的状态传递。其关键原理包括:

  • 时间展开 :将网络在时间步上展开,每个时间步共享同一组参数()。
  • 隐藏状态 :,其中通常为tanh或ReLU。
  • 梯度消失/爆炸:传统RNN因连乘雅可比矩阵易出现梯度问题,LSTM/GRU通过门控机制缓解。

数学表达:

关键知识点

网络变体

  • LSTM :引入输入门、遗忘门、输出门和细胞状态
  • GRU :合并遗忘门和输入门,简化计算

训练技巧

  • 梯度裁剪(解决梯度爆炸)

  • 双向RNN(Bi-RNN)处理双向依赖

  • 序列到序列(Seq2Seq)架构

  • Teacher Forcing训练策略

代码实现(PyTorch示例)

基础RNN单元

python 复制代码
import torch.nn as nn

class SimpleRNN(nn.Module):
    def __init__(self, input_size, hidden_size):
        super().__init__()
        self.rnn = nn.RNNCell(input_size, hidden_size)
        
    def forward(self, x):  # x: (seq_len, batch, input_size)
        h = torch.zeros(x.size(1), self.hidden_size)
        outputs = []
        for t in range(x.size(0)):
            h = self.rnn(x[t], h)
            outputs.append(h)
        return torch.stack(outputs)

LSTM实战示例

python 复制代码
lstm = nn.LSTM(input_size=128, hidden_size=64, num_layers=2, bidirectional=True)
input_seq = torch.randn(10, 32, 128)  # (seq_len, batch, features)
output, (h_n, c_n) = lstm(input_seq)  # output shape: (10, 32, 128)

序列分类任务

python 复制代码
class RNNClassifier(nn.Module):
    def __init__(self, vocab_size, embed_dim, hidden_dim):
        super().__init__()
        self.embedding = nn.Embedding(vocab_size, embed_dim)
        self.rnn = nn.GRU(embed_dim, hidden_dim, batch_first=True)
        self.fc = nn.Linear(hidden_dim, num_classes)
        
    def forward(self, x):
        x = self.embedding(x)  # (batch, seq, embed)
        _, h_n = self.rnn(x)   # h_n: (num_layers, batch, hidden)
        return self.fc(h_n[-1])

应用场景

  • 自然语言处理(机器翻译、文本生成)
  • 时间序列预测(股票价格、传感器数据)
  • 语音识别与合成
  • 视频帧分析
相关推荐
用户2991422196804 小时前
AI 日报(2026年11月8日)
人工智能
天天被压力4 小时前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
miofly4 小时前
NVIDIA 开源 Cosmos 3 四款模型,用于交互式世界模拟与自动驾驶场景生成
人工智能
用户2991422196804 小时前
GitHub 热榜项目:日榜(2026-11-08)
人工智能·开源·github
Dawson Zhu5 小时前
【LLM推理与Serving⑤】Prefix Cache前缀缓存:让重复prompt不再重复计算
人工智能·语言模型·架构·aigc·agi
Rocky Ding*5 小时前
深入浅出IDM-VTON论文精读:虚拟试衣怎样同时保住服装语义与局部细节
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·idm-vton
严肃小白兔5 小时前
MATLAB 数值计算中的精度与误差问题:浮点运算、误差传播与数值稳定性
人工智能·算法·matlab
AI导出鸭PC端5 小时前
Perplexity批量导出没有PDF模式?AI导出鸭插件补上最后一块拼图
人工智能·pdf·c#·ai导出鸭
汽车人——Yin5 小时前
《重构汽车软件基础设施》白皮书核心解读 AUTOSAR、CAPI与AI定义汽车的产业变革
人工智能·autosar·汽车开发
weixin_468466855 小时前
视觉Transformer的“第二次革命”:ViT³如何用测试时训练重构注意力范式
人工智能·深度学习·机器学习·ai·重构·transformer·vit