TensorFlow2 Python深度学习 - 循环神经网络(RNN)- 简介

锋哥原创的TensorFlow2 Python深度学习视频教程:

https://www.bilibili.com/video/BV1X5xVz6E4w/

课程介绍

​

本课程主要讲解基于TensorFlow2的Python深度学习知识,包括深度学习概述,TensorFlow2框架入门知识,以及卷积神经网络(CNN),循环神经网络(RNN),生成对抗网络(GAN),模型保存与加载等。

TensorFlow2 Python深度学习 - 循环神经网络(RNN)- 简介

TensorFlow 2 是一个开源的深度学习框架,支持多种神经网络模型,包括 循环神经网络(RNN)。RNN 是一种用于处理序列数据的神经网络,它能够处理时序信息或序列数据的依赖关系,广泛应用于自然语言处理、时间序列预测、语音识别等领域。

1. RNN 的基本概念

RNN(Recurrent Neural Network)是一种具有循环结构的神经网络,它在处理每个输入时,不仅考虑当前的输入,还会考虑之前的计算结果。具体来说,RNN 会保持一个隐藏状态(hidden state),该状态包含了之前所有时刻的输入信息。

工作原理:
  • 输入数据(例如,文本序列)被逐步传递给网络。
  • 在每个时间步,网络会处理当前的输入并结合上一个时间步的隐藏状态来计算新的隐藏状态。
  • 最终的隐藏状态可以用于预测或分类任务。
公式:

2,通俗易懂理解循环神经网络(RNN)

🧠 用一个生活比喻来理解RNN

想象你在看电影时理解剧情的过程:

  • 传统神经网络:像只看电影的一帧画面,不知道前后剧情

  • 循环神经网络:像正常人看电影,能记住前面发生了什么,理解当前画面在整体剧情中的位置

📚 什么是RNN?简单说就是"有记忆的神经网络"

基本概念:

  • 普通神经网络:每次分析都是"从零开始",没有记忆

  • RNN:会"记住"之前看到的内容,用来帮助理解现在的内容

就像:

  • 读句子时,你理解每个词的意思都依赖于前面的词

  • "我今天吃了苹果" vs "我买了苹果手机"

  • 同样的"苹果",意思完全不同,需要前面的语境来理解

🔄 RNN如何工作?"时间旅行"的神经网络

核心机制:

复制代码
输入 → [当前分析 + 之前记忆] → 输出 + 新记忆

具体过程:

  1. 收到新的输入(比如一个新词)

  2. 结合"刚才的记忆"来理解这个输入

  3. 产生输出(比如理解这个词的意思)

  4. 更新记忆,为下一个输入做准备

举个读句子的例子:

复制代码
句子:"我爱" + "吃" + "苹果"

第一步:看到"我爱"

  • 记忆:空

  • 输出:这是一个关于喜好的句子

  • 新记忆:主题是"喜欢某物"

第二步:看到"吃"

  • 记忆:主题是"喜欢某物"

  • 输出:喜欢与吃相关的东西

  • 新记忆:喜欢+吃 → 可能是食物

第三步:看到"苹果"

  • 记忆:喜欢吃的食物

  • 输出:喜欢吃的苹果(水果)

  • 新记忆:完整的句子意思

🏗️ RNN的三种主要类型

  1. 基础RNN - 短期记忆型
  • 像金鱼,只能记住最近的一点信息

  • 简单但容易"忘记"太早的事情

  1. LSTM - 长期记忆高手 🎯
  • 像聪明的人,能选择性记住重要信息

  • 有三个"门"来控制记忆:

    • 输入门:决定什么新信息要记住

    • 忘记门:决定什么旧信息要忘记

    • 输出门:决定输出什么信息

  1. GRU - 简化版LSTM
  • 像LSTM的弟弟,简单但有效

  • 只有两个门,计算更快

🌟 RNN的实际应用场景

📝 文本相关:

  • 机器翻译:理解整个句子再翻译

  • 聊天机器人:记住对话历史

  • 文章生成:写小说时保持情节连贯

🎵 音频处理:

  • 语音识别:根据前后语音判断当前词

  • 音乐生成:创作连贯的旋律

⏰ 时间序列:

  • 股票预测:基于历史价格预测未来

  • 天气预报:基于过去天气预测未来

🆚 RNN vs 传统神经网络

传统神经网络 RNN
每次输入独立处理 考虑输入之间的关联
像看单张照片 像看连续视频
适合图片分类 适合语言、时间序列

💡 举个更生活的例子:聊天对话

你问AI:"今天天气怎么样?明天呢?"

普通神经网络回答:

  • "今天天气怎么样?" → "今天晴天"

  • "明天呢?" → "我不知道你在问什么"

RNN回答:

  • "今天天气怎么样?" → "今天晴天"

  • "明天呢?" → "明天也是晴天" (记得你在问天气)

⚠️ RNN的局限性

主要问题:记忆有限

  • 就像人记不住太长的故事细节

  • 处理很长序列时,会"忘记"开头的内容

解决方案:

  • LSTM/GRU:改善长序列记忆

  • 注意力机制:让模型能"回头看"重要部分

🎯 总结

RNN = 神经网络 + 记忆功能

  • 核心价值:能处理有顺序、有关联的数据

  • 关键思想:当前理解依赖于历史信息

  • 适用场景:任何需要"上下文"的任务

就像人类理解语言需要上下文一样,RNN让AI也能具备这种"联系前后文"的能力! 🚀

相关推荐
东莞市云毅网络有限公司5 分钟前
AI 引用句逐条回指原文:让回答可回溯的校验实现
python·数据清洗·rag·企业知识库·文档解析
极客 - L U2 小时前
神经网络 - 激活函数、损失函数、优化器
人工智能·深度学习·神经网络
数字融合2 小时前
透明化视频三维矿山井下照明重建技术
人工智能·python·数码相机
yi0112 小时前
LeetCode 219:存在重复元素 II——哈希表记录“最近一次出现的位置”
数据结构·人工智能·笔记·python·算法·leetcode·哈希表
Marst Code3 小时前
上位机开发日记 · 第 2 篇 · 架构先行:六层分层与边界
python
李日华大战鸡红4 小时前
FOC状态空间方程模型推导(学习记录)
python·学习·线性代数
小蒋观天下5 小时前
专项方案:大场景港口AI安防、多干扰环境下的算法调优与落地实操
人工智能·深度学习·算法·安全·机器学习·计算机视觉·ai大模型
外收内放6 小时前
Python基础语法练习题(57-58)
开发语言·python
朝朝辞暮i7 小时前
VLA 系统学习第 3 课:从一次机器人示范,到真正送进神经网络的 Batch
人工智能·python·深度学习·神经网络·vla
小鹿的周先生7 小时前
第11章-Structured-Output
开发语言·人工智能·python