从神经元到神经网络:深度学习的进化之旅

神经元、神经网络

神经元 Neuron ),又名感知机( Perceptron ),在模型结构上与 逻辑回归 一致,这里以一个二维输入量的例子对其进行进一步 的解释: 假设模型的输 入向 量是一 维特征向 (x1,x2). 则单神 经元的模型结构 如下图所示
单神经元的模型结构
其中,蓝圈 内的 部分可以看作线性的加权求和 再加 一个常 数偏操作,最终得到输入如下 (X 1 . W1) + (X2 . W2) + b
图中的蓝圈可以看作激活函数,它的主要作用是把一个无界输入映射到 个规范的、有界的值域上 常用的激活函数除了 sigmoid 函数, 还包括 tanh ReLU 单神经元由于受到简单结构的限制,拟合能力不强, 因此在解决复杂问题时经常会用多神经元组成一个网络,使之具备拟合任意复杂函数的能力,这就是我们常说的神经网络。
一个由输入层、 两神经元隐层和单神经元输出层组成的简单神经网络

神经网络是通过将多个神经元以某种方式连接起来形成的网络,神经网络的训练方法就是基于链式法则的梯度反向传播。

前向传播和反向传播

前向传播(Forward Propagation)和反向传播(Backpropagation)是神经网络训练中的两个核心过程。它们在神经网络学习、权重更新和误差修正方面扮演关键角色。以下是二者的主要区别:

  1. 前向传播(Forward Propagation):

    • 输入信号(x1, x2)被赋予相应的权重(w1-w4)并加上偏差(b1),然后传递到隐藏层的节点(h1, h2)。
    • 在隐藏层节点,这些值通常会通过激活函数(如sigmoid或ReLU)进行非线性转换。
    • 转换后的值再次被赋予权重(w5-w8)并加上偏差(b2),然后传递到输出层的节点(o1, o2)。
    • 输出层通常也会应用一个激活函数,以得到最终的预测输出。
  2. 计算误差(Error Calculation):

    • 输出层的预测值与实际值(这里看起来像是0.01和0.99)比较,以计算误差。
    • 误差通常通过误差函数(如均方误差MSE或交叉熵)计算。
  3. 反向传播(Backpropagation):

    • 误差被用来计算每个输出节点对于总误差的贡献,这是通过误差对输出节点的预测的偏导数来实现的。
    • 然后,计算每个隐藏层节点对总误差的贡献,这需要应用链式法则,递归计算误差相对于隐藏层节点激活前的值的偏导数。
    • 这个过程将继续传递回网络,计算误差相对于每个权重的偏导数。
  4. 权重更新(Weight Update):

    • 一旦计算了相对于每个权重的误差的偏导数,权重可以根据学习率(learning rate)进行更新,以减少总误差。
    • 权重的更新公式通常是:新权重 = 旧权重 - 学习率 * 偏导数。

总结起来,前向传播是数据在网络中正向流动的过程,用于生成预测输出。反向传播是一种通过网络反向传递误差的算法,用于优化权重参数,以提高模型的预测性能。在训练过程中,这两个过程交替进行:先通过前向传播计算预测结果,然后通过反向传播对权重进行优化,如此反复直至训练完成。

 LLM大模型预训练 

标题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/59703.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试题:Spring(一)

1. Spring框架中bean是单例么? Service Scope("singleton") public class UserServiceImpl implements UserService { }singleton : bean在每个Spring IOC容器中只有一个实例。prototype:一个bean的定义可以有多个实例。 2. Spring框架中的…

qt QFileSystemModel详解

1、概述 QFileSystemModel是Qt框架中的一个关键类,它继承自QAbstractItemModel,专门用于在Qt应用程序中展示文件系统的数据。这个模型提供了一个方便的接口,使得开发者可以轻松地在应用程序中集成文件和目录的树形结构,并通过视图…

从0开始深度学习(26)——汇聚层/池化层

池化层通过减少特征图的尺寸来降低计算量和参数数量,同时增加模型的平移不变性和鲁棒性。汇聚层的主要优点之一是减轻卷积层对位置的过度敏感。 1 最大汇聚层、平均汇聚层 汇聚层和卷积核一样,是在输入图片上进行滑动计算,但是不同于卷积层的…

右旋圆极化散射后的stocks矢量 与T3矩阵的关系

T3矩阵如下 斯托克斯与T3的关系如下。 斯托克斯与T3均没有平均处理,即斯托克斯是完全极化波的(一种琼斯矢量得到),T3是由一个散射矩阵得到,只有一个特征值。

Java的枚举(详细)

枚举(enum)是Java中的一种特殊类型,用于定义一组常量。枚举类型可以提高代码的可读性和可维护性,使得常量的使用更加清晰和安全。以下是关于枚举的详细介绍: ENUM的源码 package java.lang; ​ import java.io.Serial…

蓝桥杯顺子日期(填空题)

题目:小明特别喜欢顺子。顺子指的就是连续的三个数字:123、456 等。顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。例如 20220123 就是一个顺子日期,因为它出现了一个顺子:123&a…

支持 Mermaid 语言预览,用通义灵码画流程图

想像看图片一样快速读复杂代码和架构?通义灵码上新功能:智能问答支持 Mermaid 语言的预览模式,即支持代码逻辑可视化,可以把每段代码画成流程图,像脑图工具一样画出代码逻辑和框架。 操作步骤:选中代码块&a…

promise的用法以及注意事项,看了这篇你就会了

一,为什么要使用promise,ta能解决那些问题? Promise 是异步编程的一种解决方案: 从语法上讲,Promise是一个对象,从它可以获取异步操作的消息;从本意上讲,它是承诺,承诺它过一段时间…

DRAM有驱动吗?/usr/bin/cpp是C++相关的程序吗?BIOS到底是什么?

DRAM有驱动吗? 一般而言,以DRAM提供R/W操作的角度,DRAM不存在内核级驱动,因为各硬件访问DRAM都是通过硬件PATH,不需要软件驱动干预,这与一般所说的驱动程序不同,那些驱动程序大多是协调上层应用或内核程式…

汉明重量汉明距离译码与纠错

目录 汉明重量汉明距离汉明重量与校验矩阵的关系错误图样&最小距离译码规则检错纠错能力与最小汉明重量 汉明重量 定义14 设 G G G 不是零矩阵,则称非零码字中非零元的数量为该码字的汉明重。一个编码中所有非零码字的汉明重的最小值称为 G G G的最小汉明重。 …

【Unity】Unity拖拽在Android设备有延迟和卡顿问题的解决

一、介绍 在制作Block类游戏时,其核心的逻辑就是拖拽方块放入到地图中,这里最先想到的就是Unity的拖拽接口IDragHandler,然后通过 IPointerDownHandler, IPointerUpHandler 这两个接口判断按下和松手,具体的实现逻辑就是下面 public void On…

解线性方程组(二)

实验类型:●验证性实验 ○综合性实验 ○设计性实验 实验目的:进一步熟练掌握用Jacobi迭代法和Gauss-Seidel法解线性方程组的算法,提高编程能力和解算线性方程组问题的实践技能。 实验内容: 1)取初值性x(0)(0,0,0,0)T, 精度要求ε…

易语言模拟真人动态生成鼠标滑动路径

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序,它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言,原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势: 模拟…

python语言基础-4 常用模块-4.2 time模块

声明:本内容非盈利性质,也不支持任何组织或个人将其用作盈利用途。本内容来源于参考书或网站,会尽量附上原文链接,并鼓励大家看原文。侵删。 4.2 time模块 python中提供了处理时间的标准库time。利用time库可以获取时间、进行时…

Charles抓包_Android

1.下载地址 2.破解方法 3.安卓调试办法 查看官方文档,Android N之后抓包要声明App可用User目录下的CA证书 3.1.在Proxy下进行以下设置(路径Proxy->Proxy Settings) 3.1.1.不抓包Windows,即不勾选此项,免得打输出不…

进程崩溃难以定位,日志分析五步搞定|OceanBase故障排查实践

作者:胡呈清,爱可生 DBA 团队成员,擅长故障分析、性能优化。 背景 Server 进程崩溃的常见原因包括程序bug、文件损坏、磁盘坏块以及内存坏块,这类故障通常较难分析和定位。 在OceanBase 集群部署时,系统会自动配置co…

[spring源码]spring配置类解析

解析配置类 在启动Spring时,需要传入一个AppConfig.class给ApplicationContext,ApplicationContext会根据AppConfig类封装为一个BeanDefinition,这种BeanDefinition我们把它称为配置类BeanDefinition AnnotationConfigApplicationContext a…

低压电容器衰减的计算方法

低压电容器的衰减(通常指电容器容量的衰减)是指电容器在长时间运行或经历一些不良工作环境下,电容值随时间逐渐减少的现象。这个衰减会影响电容器的工作性能,尤其是在无功补偿和功率因数校正等应用中。计算电容器衰减的具体方法可…

C++之priority_queue容器

priority_queue 是 C STL (Standard Template Library) 中的一种容器适配器,用于实现优先队列。优先队列是一种特殊的队列,其中每个元素都有一个优先级,元素的出队顺序取决于其优先级,而不是插入顺序。默认情况下,优先…