【Pytorch神经网络理论篇】 17 循环神经网络结构:概述+BP算法+BPTT算法

简介: 链式地、有顺序地存储信息”很节省空间,对于中间状态的序列,大脑没有选择直接记住,而是存储计算方达。当我们需要取值时,直接将具体的数据输入,通过计算得出相应的给果。

同学你好!本文章于2021年末编写,获得广泛的好评!


故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现


Pytorch深度学习·理论篇(2023版)目录地址为:


CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录


本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理进行讲解与分析,通过将深度学习知识与Pytorch的高效结合,帮助各位新入门的读者理解深度学习各个模板之间的关系,这些均是在Pytorch上实现的,可以有效的结合当前各位研究生的研究方向,设计人工智能的各个领域,是经过一年时间打磨的精品专栏!

https://v9999.blog.csdn.net/article/details/127587345


欢迎大家订阅(2023版)理论篇

以下为2021版原文~~~~

e2d24c163bcb439297a40f7dfa612d7f.png


1 循环神经网络结构概述


循环神经网络(Recurrent Neural Network,RNN)是一个具有记忆功能的网络模型。它可以发现样本彼此之间的相互关系。它多用于处理带有序列特征的样本数据。


91341a76c625bd7aff0b5a9300c7b920.png


1.1 生物大脑中的循环神经网络


当获得“我找你来玩游”信息后,大脑的语言模型会自动预测后一个字为“戏”,而不是“乐”“泳”等其他字。


1a9184e946e2473c8a17a7fdd4fc5fe4.png


每个预测的结果都会放到下个输入里面进行运算,与下一次的食人鱼一起来生成下一次的结果。


cf0179f7827e4826937660c8ae5daf03.png


链式地、有顺序地存储信息”很节省空间,对于中间状态的序列,大脑没有选择直接记住,而是存储计算方达。当我们需要取值时,直接将具体的数据输入,通过计算得出相应的给果。


1.2 循环神经网络的应用领域


对于序列化的特征任务,适合用循环神经网路来解决。这类任务包括情感分析、关键字提取、语音识别、机器翻译和股票分析等。


1.3 循环神经网络的正向传播过程


ec0a1e4f639c401d98b5e8c813a82dbc.png

dbfa74f73ab44c42984c1d6448e9ad6e.png


假设有3个时序t1,t2,t3,如图7-26所示,循环神经网络的处理过程可以分解成以下3个步骤:


(1)开始时t1通过自己的输入权重和0作为输入,生成了out1;


(2)out1通过自己的权重生成了h1,然后和t2与经过输入权重转化后一起作为输入,生成了out2;


(3)out2通过同样的隐藏层权重生成了h2,然后和t3经过输入权重转化后一起作为输入,生成了out3。


使得模型的结果既有该样本之前序列的信息,又含有该样本身的数据信息,从而使网络具有记忆功能。


2 BP算法与BPTT算法的原理剖析


2.1 BP算法==》卷积神经网络


51a404fd40c34a22a25d293b0095cbc4.png


假设有一个包含一个隐藏层的神经网络,隐藏层只有一个节点。该神经网络在BP算法中具体的实现过程如下。


(1)有一个批次的数据,含有3个数据A、B、C,批次中每个样本有两个数(x1、x2)通过权重(w1、w2)来到隐藏层H并生成批次h,如图7-27中w1和w2所在的两条直线方向。


(2)该批次的h通过隐藏层权重p1生成最终的输出结果y。


(3)y与最终的标签p比较,生成输出层误差loss(y,p)。


(4)loss(y,p)与生成y的导数相乘,得到DeL_y。DeL_y为输出层所需要的修改值。


(5)将h的转置与DeL_y相乘得到DeL_p1,这是源于h与p1相乘得到的y(见第2步.


(6)最终将该批次的DeL_p1,求和并更新到p1。


(7)同理,再将误差反向传递到上一层:计算Del_h。得到Del_h后再计算权重(w1,w2)的Del值并更新。


2.2 BPTT算法(BP算法+序列序列)==》循环神经网络


80aa3016e0da43bf98e804e74a1b5012.png


在图7-28中,同样是一个批次的数据ABC,按顺序进入循环神经网络。正向传播的实例是,B正在进入神经网络的过程,可以看到A的h参与了进来,一起经过p1生成了B的y。因为C还没有进入,为了清晰,所以这里用灰色(虚线方框)来表示。


当所有块都进入之后,会将p标签与输出进行Del_y的运算。由于C块中的y值是最后生成的,因此我们先从C块开始对h的输出传递误差Del_h。


图7-28中的反向传播是表示C块已经反向传播完成,开始B块反向传播的状态,可以看到B块Del_h是由B块的Del_y和C块的Del_h(图7-28中的fur _Del_h)通过计算得来的。


2.3 对比


这就是与BP算法不同的地方(在BP算法中Del_h直接与自己的Del_y相关,不会与其他的值有联系)。作为一个批次的数据,正向传播时是沿着4BC的顺序升当反向传播时,就按照正向传播的相反顺序接照每个节点的CBA顺序,挨个计算并传递梯度。


2.4 代码代补充  P149

目录
相关文章
|
17天前
|
机器学习/深度学习 算法 Serverless
基于WOA-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目利用鲸鱼优化算法(WOA)优化支持向量机(SVM)参数,针对乳腺癌早期诊断问题,通过MATLAB 2022a实现。核心代码包括参数初始化、目标函数计算、位置更新等步骤,并附有详细中文注释及操作视频。实验结果显示,WOA-SVM在提高分类精度和泛化能力方面表现出色,为乳腺癌的早期诊断提供了有效的技术支持。
|
5天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
23天前
|
机器学习/深度学习 运维 安全
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
金融交易网络与蛋白质结构的共同特点是它们无法通过简单的欧几里得空间模型来准确描述,而是需要复杂的图结构来捕捉实体间的交互模式。传统深度学习方法在处理这类数据时效果不佳,图神经网络(GNNs)因此成为解决此类问题的关键技术。GNNs通过消息传递机制,能有效提取图结构中的深层特征,适用于欺诈检测和蛋白质功能预测等复杂网络建模任务。
47 2
图神经网络在欺诈检测与蛋白质功能预测中的应用概述
|
8天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。
|
14天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-GRU网络的数据分类识别算法matlab仿真
本项目展示了使用MATLAB2022a实现的贝叶斯优化、CNN和GRU算法优化效果。优化前后对比显著,完整代码附带中文注释及操作视频。贝叶斯优化适用于黑盒函数,CNN用于时间序列特征提取,GRU改进了RNN的长序列处理能力。
|
24天前
|
机器学习/深度学习 算法 关系型数据库
基于PSO-SVM的乳腺癌数据分类识别算法matlab仿真,对比BP神经网络和SVM
本项目展示了利用粒子群优化(PSO)算法优化支持向量机(SVM)参数的过程,提高了分类准确性和泛化能力。包括无水印的算法运行效果预览、Matlab2022a环境下的实现、核心代码及详细注释、操作视频,以及对PSO和SVM理论的概述。PSO-SVM结合了PSO的全局搜索能力和SVM的分类优势,特别适用于复杂数据集的分类任务,如乳腺癌诊断等。
|
25天前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
29天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
75 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
18天前
|
SQL 存储 安全
网络安全与信息安全概述####
本文探讨了网络安全(Cybersecurity)和信息安全(Information Security)的基本概念及其差异,重点介绍了网络安全漏洞、加密技术及安全意识在信息保护中的重要性。本文旨在通过深入分析这些关键技术和策略,提升对信息安全整体性的理解,帮助读者在数字化时代更好地应对信息安全挑战。 ####
|
1月前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
81 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型