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

Week4:时序建模

目录

摘要

Abstract

1. 循环神经网络(RNN)

1.1 RNN的必要性

1.2 RNN的核心思想

1.3 RNN的展开

1.4 RNN的缺点

2. 长短时记忆网络(LSTM)

2.1 核心设计

3 Keras代码演示

3.1 用LSTM做情感分类

3.2 堆叠LSTM与双向LSTM

4 总结


摘要

本周进入序列建模学习,掌握处理时序数据的核心架构,具体分为循环神经网络的基本结构与工作原理、RNN的梯度消失问题与LSTM的解决方案以及使用Keras搭建RNN/LSTM模型

Abstract

This week, we dive into sequence modeling and master the core architectures for processing time-series data. The topics are divided into: the basic structure and working principles of recurrent neural networks, the vanishing gradient problem in RNNs and the LSTM solution, and building RNN/LSTM models using Keras.

1. 循环神经网络(RNN)

1.1 RNN的必要性

全连接网络和CNN都假设输入是固定长度的向量,且样本之间独立。但句子“我喜欢这部手机”和“手机这部喜欢我”词序不同,语义完全不同。要捕捉这种顺序信息,网络必须具有记忆能力,能够把前面时刻的信息传递到后面。

1.2 RNN的核心思想

RNN在隐藏层引入循环连接:当前时刻的隐藏状态不仅取决于当前输入,还取决于上一时刻的隐藏状态。用公式表示如下:

其中是输入到隐藏层的权重,是隐藏层到自身的循环权重,是隐藏层到输出的权重。f 通常是tanh或ReLU,g 根据任务选择。关键点在于每一时刻使用的权重矩阵,,是共享的,与CNN的权重共享思想一致,大幅减少参数量,且能处理任意长度的序列。

1.3 RNN的展开

如果把RNN按时间展开,它等价于一个深度为序列长度的前馈网络,各层共享权重。反向传播时需要沿时间轴反向计算梯度,称为沿时间反向传播(BPTT)。权重共享意味着他处理每个词的方法是一样的,不因位置不同而区别对待。

1.4 RNN的缺点

BPTT本质上是在时间轴上反复乘以同一个权重矩阵。假设其最大特征值为,经过 T 步反向传播后,梯度约正比于;当> 1,梯度指数级增长,参数剧烈震荡;当< 1,梯度指数级衰减,早期时刻信号完全丢失,RNN无法学习长距离依赖关系,只能记住最近几步的信息。

2. 长短时记忆网络(LSTM)

2.1 核心设计

LSTM通过门控机制控制信息的流入、保存与输出,让重要信息可以跨越很长的距离保持不变。每个LSTM单元有以下几个部分:

遗忘门

输入门

候选记忆

记忆更新

输出门:决定当前隐藏状态的输出内容

记忆单元的更新是加法而非乘法。遗忘门和输入门的输出在 0 到 1 之间,通过逐元素乘法和加法来调节,避免了普通RNN中反复乘以权重矩阵导致的梯度指数衰减。梯度可以通过记忆单元的“高速公路”几乎无损地传到很远的时间步。

3 Keras代码演示

3.1 用LSTM做情感分类

以IMDB电影评论数据集为例,输入是变长词序列,输出是正面/负面情感。

import numpy as np from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Embedding, LSTM, Dense, Dropout from tensorflow.keras.preprocessing.sequence import pad_sequences 模拟数据:假设已经完成分词和数值化 x_train: 每条评论截断/填充到200个词,每个词用一个整数ID表示 y_train: 0或1 max_features = 10000 # 词汇表大小 maxlen = 200 # 每条评论最大长度 embedding_dim = 128 # 词向量维度 lstm_units = 64 # LSTM隐藏单元数 model = Sequential() 嵌入层:将整数ID映射为稠密向量 model.add(Embedding(input_dim=max_features, output_dim=embedding_dim, input_length=maxlen)) LSTM层 model.add(LSTM(units=lstm_units, dropout=0.2, # 输入dropout recurrent_dropout=0.2)) # 循环dropout 全连接输出层 model.add(Dense(1, activation='sigmoid')) model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy']) model.summary() 训练(假设数据已准备好) history = model.fit(x_train, y_train, batch_size=32, epochs=10, validation_split=0.2)

3.2 堆叠LSTM与双向LSTM

堆叠LSTM:多层LSTM叠加,加深网络,提取更抽象特征。

model.add(LSTM(64, return_sequences=True)) # 返回完整序列给下一层 model.add(LSTM(32)) # 最后一层只返回最终输出

双向LSTM:同时从前向和后向两个方向读取序列,捕捉上下文信息。

from tensorflow.keras.layers import Bidirectional model.add(Bidirectional(LSTM(64)))

Embedding层非常巧妙,它把离散的符号(词)变成了连续空间中的向量,语义相近的词向量也接近。这个向量空间是随着任务一起训练的,不需要人工定义。LSTM的dropout有两种,普通dropout管输入,recurrent dropout管循环连接,Keras直接集成,调参方便。

4 总结

本周的核心收获是理解了序列建模的挑战与解决方案的演进逻辑。下周学习注意力机制的基本原理,理解它如何让模型“关注重点”。

http://www.cnnetsun.cn/news/3173044.html

相关文章:

  • 【共创季稿事节】密码生成器:如何构建一个安全的随机密码生成工具
  • CUDA 12.4 + cuDNN 9.2.0 Conda 安装:3步验证GPU深度学习环境
  • 【共创季稿事节】随机数生成器:Math.random() 的原理与应用
  • Java设计模式——结构型
  • HarmonyKit | 鸿蒙新特性对比:Tabs vs HdsTabs 选型深度解析
  • 2026最新7款AI编程助手学生党实测深度对比
  • 黎阳之光自研三维重构引擎,赋能全行业全域透明管理
  • 基于51/STM32单片机智能马桶设计 久坐提醒 换气除臭 杀菌消毒331(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • 混合静态与动态分析:构建自动化软件供应链漏洞检测与修复闭环
  • 为什么选择Unlock Music:3分钟快速解锁加密音乐文件的完整指南
  • AIPCowork运维实战:从微信告警到中间件巡检,一句话就够了
  • 2026最新8款AI编程助手平替实测 覆盖全场景选型参考
  • 高通CamX PDAF 驱动验证:3步Log分析与s5k3l6模组数据一致性检查
  • 鸿蒙 ArkUI 数据可视化图例对照表:组件化设计与实现
  • 燃料已燃,引擎轰鸣:具身智能从当下落地到未来星辰的应用全景
  • 同质化AI方案落地效果十倍差距解析:企业底层架构差异决定AI项目上限
  • QGC V5.0 gstreamer视频流在安卓端画面卡顿、冻结,硬件解码失败的问题解决方案
  • 144、结构化输出:JSON Mode、Function Calling、Grammars 三种方案对比
  • Java Swing贪吃蛇游戏完整实现(MVC架构+MySQL排行榜+音效系统)
  • 基于51单片机的超声波智能垃圾桶控制系统红外感应自动手动嵌入式143(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • 区间预测 | Matlab实现CNN-ABKDE卷积神经网络自适应带宽核密度估计多变量回归区间预测
  • LLaMA 2 / ChatGLM 等5款大模型位置编码对比:RoPE vs 绝对 vs 相对
  • 大模型学习率
  • Ubuntu24+Ollama+Open-WebUI+SearXNG本地部署搜索引擎联网搜索
  • 把公司数据喂给AI,会不会泄密?——老板最该问的安全问题
  • 【VRP问题】基于遗传算法求解应急物资配送路径最低成本优化问题附Matlab代码
  • DAY 15
  • Java 日志打印:别再 log.info(“dto:{}“, dto) 了,可能比你想的更坑
  • 2026最新7款AI编程助手基础版免费实测合集
  • 深入理解C++ Workflow源码(1)