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

计算机视觉CS231n学习(5)

循环神经网络 RNN

recurrent neural networks

  1. RNN序列处理能力(RNN核心作用)

    RNN处理序列数据,相比“Vanilla”神经网络(仅支持一对一映射),RNN支持多种序列映射模式:

    1. 一对一:传统分类
    2. 一对多:如图像captioning:图像→文字序列
    3. 多对一:如情感分析:文字序列→情感标签
    4. 多对多:如机器翻译:文字序列→文字序列
    5. 时序多对多:视频帧分类
  2. RNN非序列数据的序列处理

    例如通过瞥视序列分类图像,或逐部分生成图像

  3. RNN的数学定义与计算图

    1. 前向传播公式

      状态更新:

      ht:t时刻的隐藏状态;xt:t时刻的输入
      ht=fw(ht−1,xt) h_t = f_w(h_{t-1},x_t) ht=fw(ht1,xt)
      vanilla RNN具体公式:
      ht=tanh(Whhht−1+Wxhxt),输出yt=Whyht h_t = tanh(W_{hh}h_{t-1}+W_{xh}x_t),输出y_t = W_{hy}ht ht=tanh(Whhht1+Wxhxt),输出yt=Whyht

    2. 计算图结构

      时间步共享参数W,隐藏状态ht依赖于前一时刻ht-1,形成循环结构

      不同映射模式的计算图:

      1. 多对多:每个时间步输出
      2. 多对一:最后时间步输出
      3. 一对多:单输入生成序列
    3. 序列到序列模型 Sequence to Sequence模型

      由 多对一编码器(将输入序列编码为向量)和 一对多解码器(从向量生成输出序列)组成,用于机器翻译等任务

  4. RNN反向传播

    1. 通过时间的反向传播(BPTT):前向计算整个序列的损失后(每个时间步loss的和),反向传播梯度至所有时间步,更新共享参数
    2. 截断BPTT:将长序列分割为子序列,仅在子序列内反向传播,避免计算量过大,同时保留隐藏状态的时序传递
  5. RNN的可解释性分析

    通过可视化RNN隐藏单元,发现部分单元具有特定功能:

    引号检测单元:对引号内文本敏感

    行位置敏感单元:跟踪文本在句中的位置

    代码深度单元:跟踪代码块嵌套深度

  6. 图像captioning与注意力机制

    1. 图像captioning基本框架

      结合CNN(提取图像特征)和RNN(生成文字序列),CNN输出图像特征向量,去掉最后两层全连接层,作为RNN的初始输入,RNN逐步生成序列

    2. 注意力机制

      RNN生成每个单词时,会关注图像的不同区域(比如生成straw时关注帽子的straw部分),通过加权特征向量Z=Σpivi实现(pi为注意力权重,vi为图像特征)

  7. 视觉问答 VQA

    任务定义:给定图像和问题,RNN结合CNN特征和问题序列,输出答案

    注意力机制应用:RNN在处理问题时,会关注图像中与问题相关的区域

  8. RNN的梯度问题与LSTM

    1. vanilla RNN的梯度问题

      反向传播时,梯度需要经过多个矩阵乘法(W的连乘),若W的最大奇异值>1,梯度爆炸;若W的最小奇异值<1,梯度消失,导致长序列依赖难以学习

      解决方法:梯度裁剪(梯度范数超过阈值时缩放)缓解爆炸;改进架构(如LSTM)缓解消失

    2. LSTM:长短期记忆网络

      核心公式:通过输入门(i),遗忘门(f),输出门(o),门之门(g:写多少到细胞里)和细胞状态(c)控制信息流动:
      在这里插入图片描述

      梯度优势:细胞状态ct通过元素乘法传递梯度(无矩阵连乘),实现”不间断梯度流“,类似ResNet的残差连接

  9. RNN变体 GRU

    1. GRU(门控循环单元)

      简化LSTM,合并输入门和遗忘门为更新门(z),保留重置门(r):

      在这里插入图片描述

      在这里插入图片描述

    2. 其他RNN变体:如MUT1/2/3等,通过调整门控机制优化性能

http://www.lryc.cn/news/613918.html

相关文章:

  • 手搓MCP全流程指南:从本地开发部署到PyPI公开发布
  • 构建健壮的数据库连接池:高并发 Web 应用的制胜之匙
  • 面向真实场景的定制化图像降质模型设计方案
  • 深度剖析主流AI大模型的编程语言与架构选择:行业实践与技术细节解读
  • Linux系统编程Day9 -- gdb (linux)和lldb(macOS)调试工具
  • 什么是2米分辨率卫星影像数据?
  • Baumer相机如何通过YoloV8深度学习模型实现高速公路车辆的实时检测计数(C#代码UI界面版)
  • 无服务器日志分析由 Elasticsearch 提供支持,推出新的低价层
  • 14. isaacsim4.2教程-April Tags/给相机加噪声
  • 解析工业机器视觉中的飞拍技术
  • MySQL binlog日志文件转为可正常查看的文本文件
  • 双目标定中旋转矩阵参数应用及旋转角度计算(聚焦坐标系平行)
  • 系统网络端口安全扫描脚本及详解
  • Fabarta个人专属智能体:三维搜索链+动态大纲重构教材开发范式
  • 南方略咨询与与清源科技正式启动国际市场GTM流程规划咨询项目!!!
  • 论文阅读:User Behavior Simulation with Large Language Model-based Agents
  • Langchain入门:构建一个基于SQL数据的问答系统
  • 云平台运维工具 ——Azure 原生工具
  • 化工厂安全升级:分布式光纤传感的 “实时监测 + 精准预警” 方案
  • 高校合作 | 世冠科技联合普华、北邮项目入选教育部第二批工程案例
  • 分布式膛压应变测量系统
  • 稿定科技:多云架构下的 AI 存储挑战与 JuiceFS 实践
  • No time to train! Training-Free Reference-Based Instance Segmentation之论文阅读
  • 无人机教育热潮下,超优航空如何为青少年插上科技翅膀?
  • 芯科科技成为全球首家通过PSA 4级认证的物联网芯片厂商巩固其在物联网安全领域的领导地位
  • Claude Code 实战场景解析:从代码生成到系统重构的典型应用案例
  • 负氧离子监测站:守护清新空气的科技卫士
  • Horse3D引擎研发记录(二):基于QtOpenGL使用仿Three.js的BufferAttribute结构重构三角形绘制
  • 技术融合赋能文旅元宇宙:虚实共生重构产业新生态
  • 天翼云与飞轮科技达成战略合作,共筑云数融合新生态