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

python深度神经网络_PyTorch进阶:深度神经网络中的前馈过程(图解分析)

现在, 我们知道了将具有不同权重和偏差的线组合在一起如何产生非线性模型。神经网络如何知道每一层要具有的权重和偏差值?这与我们对基于单个感知器模型的处理方式没有什么不同。

我们仍在使用梯度下降优化算法, 该算法通过在最陡峭的下降方向(确保模型误差最小的同时更新模型参数的方向)上反复移动, 从而将模型的误差最小化。它会更新每个图层中每个模型的权重。稍后, 我们将更多地讨论优化算法和反向传播。

重要的是要认识到我们神经网络的后续训练。通过将我们的数据样本除以某个决策边界来完成识别。

“接收输入以产生某种输出以进行某种预测的过程称为前馈。”前馈神经网络是许多其他重要神经网络(例如卷积神经网络)的核心。

在前馈神经网络中, 网络中没有任何反馈回路或连接。这里只是一个输入层, 一个隐藏层和一个输出层。

pytorch-feed-forward-process-in-deep-neural-network.png

可能有多个隐藏层, 具体取决于你要处理的数据类型。隐藏层的数量称为神经网络的深度。深度神经网络可以从更多功能中学习。输入层首先为神经网络提供数据, 然后输出层基于一系列功能对该数据进行预测。 ReLU函数是深度神经网络中最常用的激活函数。

为了深入了解前馈过程, 让我们从数学上看一下。

1)第一个输入被馈送到网络, 用矩阵x1, x2表示, 其中一个是偏置值。

pytorch-feed-forward-process-in-deep-neural-network2.png

2)将每个输入相对于第一模型和第二模型的权重相乘, 以获得它们在每个模型中处于正数区域的概率。

因此, 我们将使用矩阵乘法将输入乘以权重矩阵。

pytorch-feed-forward-process-in-deep-neural-network3.png

3)之后, 我们将分数取为S形, 并给出两个模型中该点处于正区域的概率。

pytorch-feed-forward-process-in-deep-neural-network4.png

4)我们将从上一步获得的概率乘以第二组权重。每当组合输入时, 我们总是将偏差设为1。

pytorch-feed-forward-process-in-deep-neural-network5.png

并且我们知道要获得该点在该模型的正区域中的概率, 我们采用S型曲线, 从而在前馈过程中产生最终输出。

pytorch-feed-forward-process-in-deep-neural-network6.png

让我们采用先前具有以下线性模型和隐藏层的神经网络, 它们结合在一起在输出层中形成非线性模型。

pytorch-feed-forward-process-in-deep-neural-network7.png

因此, 我们将使用非线性模型来产生输出, 该输出描述该点位于正区域中的概率。该点由2和2表示。连同偏差, 我们将输入表示为

pytorch-feed-forward-process-in-deep-neural-network8.png

隐藏层调用中的第一个线性模型及其方程式定义了该模型

pytorch-feed-forward-process-in-deep-neural-network9.png

这意味着在第一层中, 为了获得线性组合, 将输入乘以-4, -1, 并将偏置值乘以十二。

pytorch-feed-forward-process-in-deep-neural-network10.png

输入的权重乘以-1 / 5、1, 偏差乘以3即可在我们的第二个模型中获得同一点的线性组合。

pytorch-feed-forward-process-in-deep-neural-network11.png

现在, 为了获得该点相对于两个模型的正区域中的概率, 我们将S形应用于两个点

pytorch-feed-forward-process-in-deep-neural-network12.png

第二层包含权重, 该权重指示第一层中的线性模型的组合以获得第二层中的非线性模型。权重为1.5、1, 偏差值为0.5。

现在, 我们必须将第一层的概率乘以第二组权重

pytorch-feed-forward-process-in-deep-neural-network13.png

现在, 我们将以最终分数的S形表示

pytorch-feed-forward-process-in-deep-neural-network14.png

这是前馈过程背后的完整数学运算, 在该过程中, 来自输入的输入遍历了神经网络的整个深度。在此示例中, 只有一个隐藏层。无论是一个隐藏层还是二十个隐藏层, 所有隐藏层的计算过程都相同。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python判断能否组成三角形_如何用PYTHON判断三角形的类型 需要技巧
  • 查看python安装成功的命令_Python sqlite3模块 安装查询命令等使用讲解
  • python输入半径计算公式_python练习:取输入半径的周长和面积
  • python重命名文件或目录_命令和Python重命名文件
  • python 列表_Python 算法 09 -- 散列表
  • python粘性拓展_拓展Python Markdown
  • ping不通服务器_服务器远程桌面不上不要急,这就告诉你原因
  • 钢笔墨水能否代替打印机墨水_喷墨打印机该用染料墨水还是颜料墨水,区别在哪里?...
  • 零基础学python靠谱吗_零基础学python的我(开篇扯淡)
  • linux安装ssh_如何为Ubuntu服务器建立无密码SSH认证
  • responseentity 返回异常_Spring Boot异常处理
  • sklearn逻辑回归 极大似然 损失_算法 | 一个硬币与逻辑回归的故事
  • restful api和普通api有什么特点_Django REST Framework教程(1): 为什么要学习DRF, 什么是序列化和RESTful的API...
  • sql语言编程学习_在读大学生是否该重点学习一门编程语言,以及该如何选择编程语言...
  • .net 反编译_.net反编译的相关问题
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • css的样式优先级
  • extjs4学习之配置
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • java小心机(3)| 浅析finalize()
  • JS函数式编程 数组部分风格 ES6版
  • js正则,这点儿就够用了
  • linux安装openssl、swoole等扩展的具体步骤
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • mysql中InnoDB引擎中页的概念
  • Quartz实现数据同步 | 从0开始构建SpringCloud微服务(3)
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • underscore源码剖析之整体架构
  • 初识 beanstalkd
  • 从重复到重用
  • 动态魔术使用DBMS_SQL
  • 翻译--Thinking in React
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 简析gRPC client 连接管理
  • 京东美团研发面经
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 山寨一个 Promise
  • 中文输入法与React文本输入框的问题与解决方案
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ## 基础知识
  • #FPGA(基础知识)
  • #QT(TCP网络编程-服务端)
  • (Matlab)遗传算法优化的BP神经网络实现回归预测
  • (算法)求1到1亿间的质数或素数
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .htaccess配置重写url引擎
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .net 受管制代码
  • @Bean, @Component, @Configuration简析
  • [4]CUDA中的向量计算与并行通信模式
  • [AIGC] Java List接口详解
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [BZOJ 3680]吊打XXX(模拟退火)
  • [E单调栈] lc2487. 从链表中移除节点(单调栈+递归+反转链表+多思路)