【趣谈】BP神经网络是如何演变出RNN神经网络的

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/

目录

有些朋友学习了BP神经网络,却认为RNN很遥远,或者有些朋友学了RNN,却不知它的意义,这两者差不多就是同一个东西,因此不妨来聊聊BP是如何演变出RNN的,以此加深对两者的了解。

一、BP神经网络是什么

一般最常用的是三层的BP神经网络,它只要隐节点足够多就足以拟合任意曲线。

如果从它的数学表达式来看,就更容易理解它的意义了:

是的,BP神经网络简单来说就只是用多个tansig函数来拟合目标函数。

如果要简洁地总结BP神经网络是什么,那就是"一个可以拟合任意函数的模型"

二、BP神经网络如何解决序列预测问题

序列数据的后一个数据与前面的数据相关,这是序列数据的特性。例如房价就是序列数据,每月的房价不仅受当前市场各种因素的影响,它还与上个月的房价紧密相关。

2.1. BP解决序列预测-Jordan神经网络

要用bp神经网络预测序列数据,最简易的思路就是把前一个数据的输出加入到当前数据中作为输入变量,因为当前的输出不仅受x的影响,还受之前的y的影响:

没错,就是这么简单,就诞生了最初代的循环神经网络-Jordan神经网络。

2.2.RNN神经网络

而Elman则提出,不要把上一时刻的y加到隐层,而是把上一时刻的隐层加到当前隐层

为啥要用上一时刻的隐层来替代y呢?因为y就是隐层计算得到的,可见隐层是"更原始"的变量,这样对信息的使用更为充分。没错,Elman的这一改动可以说是个壮举,太实用了,所以都不叫Elman神经网络了,直接称为"RNN神经网络"或"基础RNN神经网络"。

RNN一般按时序展开,就如下图所示:

它实际就是一个三层的BP神经网络,然后每层除了实时输入X,还接受来自上一层的隐层作为延迟输入。RNN就是如此简单,实际就是"用于解决序列预测的BP神经网络"。

BP神经网络是一个非常有趣的东西,不仅它自身在曲线拟合上取得的极佳效果,它还生了几个儿子:CNN,RNN,编码器,个个儿子都这么出色。


相关链接:

《老饼讲解-机器学习》:老饼讲解-机器学习教程-通俗易懂

《老饼讲解-神经网络》:老饼讲解-matlab神经网络-通俗易懂

《老饼讲解-神经网络》:老饼讲解-深度学习-通俗易懂

相关推荐
cici158749 小时前
卡尔曼滤波器实现RBF神经网络训练
人工智能·深度学习·神经网络
Neolnfra12 小时前
拒绝数据“裸奔”!把顶级AI装进自己的硬盘,这款神仙开源工具我粉了
人工智能·开源·蓝耘maas
code_li12 小时前
只花了几分钟,用AI开发了一个微信小程序!(附教程)
人工智能·微信小程序·小程序
飞Link13 小时前
瑞萨联姻 Irida Labs:嵌入式开发者如何玩转“端侧视觉 AI”新范式?
人工智能
RSTJ_162513 小时前
PYTHON+AI LLM DAY THREETY-SEVEN
开发语言·人工智能·python
郝学胜-神的一滴13 小时前
深度学习优化核心:梯度下降与网络训练全解析
数据结构·人工智能·python·深度学习·算法·机器学习
Aision_13 小时前
Agent 为什么需要 Checkpoint?
人工智能·python·gpt·langchain·prompt·aigc·agi
小贺儿开发13 小时前
《唐朝诡事录之长安》——盛世马球
人工智能·unity·ai·shader·绘画·影视·互动
秋913 小时前
ESP32 与 Air780E 4G 模块配合做 MQTT 数据传输
人工智能
DeepFlow 零侵扰全栈可观测13 小时前
运动战:AI 时代 IT 运维的决胜之道——DeepFlow 业务全链路可观测性的落地实践
运维·网络·人工智能·arcgis·云计算