反向传播 — 简单解释

一、说明

     关于反向传播,我有一个精雕细刻的案例计划,但是实现了一半,目前没有顾得上继续充实,就拿论文的叙述这里先起个头,我后面将修改和促进此文的表述质量。

    

二、生物神经元

        大脑是一个由大约100亿个神经元组成的复杂网络。每个神经元都有输入通道(树突)和一个输出通道(轴突),将其连接到大约 10,000 个其他神经元。神经元通过电化学信号进行交流。如果这些电输入的总和高于某个阈值,则神经元会激活或放电,这意味着它会沿着轴突将电化学信号传输到其他神经元,这些神经元的树突附着在其任何轴突上。如果总和低于阈值,则神经元不会触发。

        人工神经网络(ANN)是一种大致基于大脑架构的机器学习算法。它通过人工神经元对生物神经元进行建模。人工神经网络是人工神经元的网络(逐层连接)。

        上面有时简明扼要地表示为:

        人工神经元从数据集接收一个或多个数字输入,每个输入乘以一个权重。这些权重就像重要因素一样,影响每个输入的整体影响。然后神经元执行两个步骤:

  1. 加权总和:它计算加权输入的总和。
  2. 激活:它将非线性激活函数应用于此总和。此函数根据神经元输入的组合强度确定神经元是否“触发”(输出非零值)。

        然后,生成的输出被传递到网络中的下一个神经元或成为最终结果。

        最初,每个神经元的每个输入的权重是随机分配的,或者使用一些启发式或迁移学习。除了与每个输入相关的权重外,还为每个神经元分配了一个额外的权重。该权重称为偏差项,与偏差项相关的输入值为 -1。这是一个偏置节点。在训练过程中,所有权重都会反复更新,直到神经元输出与输出实际值之间的差异最小化。神经元输出与实际输出之间的这种差异称为误差。

        通过加权和和非线性激活函数,人工神经网络对数据执行一系列数学运算。这个过程允许他们根据他们在数据中发现的模式进行学习和预测。

        深层和浅层神经网络

        除了输入层和输出层外,神经网络还可以具有一个或多个中间层的神经元。这些层称为隐藏层。浅层神经网络只有一个隐藏层。具有多个隐藏层的网络称为深度神经网络。

        因此,在人工神经网络中,随着每层神经元数和神经元层数的增加,权重的数量也会增加。人工神经网络的训练或拟合包括从训练数据中迭代学习其权重的最佳值。使用技术优化权重

        错误

        包括神经网络在内的所有 ML 模型都会学习输入数据(称为训练数据)中的模式(模型或数学方程),并使用这些模式来预测看不见的数据(测试数据)的目标值。预测值与实际值不匹配将计为误差。

        神经网络(就像线性回归一样)从他们的错误或错误中学习。

        对于给定的数据集,通常使用量化网络所犯错误的数学函数。这种函数称为成本函数或损失函数。成本函数量化给定数据点的 DNN 输出与实际输出的接近程度。

        常见的损失函数是回归任务的均方损失,分类任务的交叉熵损失。损失函数必须是可微的。

        均方误差 (MSE):

三、人工神经网络的训练

        该错误仅在网络的输出层变得明显。成本函数相对于网络中每个权重的梯度(偏导数)用于根据梯度下降算法指定的权重更新规则或其变体更新网络的特定权重。

        函数的导数是函数值(输出)的变化与其输入(数据)的变化之比。正导数意味着函数输出随着输入的增加而增加,反之亦然。

        梯度下降是一种函数最小化算法。它用于最小化网络的成本函数/损失/错误。也就是说,梯度下降计算 epoch 之后网络权重的更新(epoch 是训练数据集的传递),直到我们得到一组误差函数梯度最小(理想情况下为零)的权重。我们在这里使用的原理是,当函数处于最小值或最大值时,函数的梯度为零。

        让我们将其可视化为其中一个权重 wi、相应的成本函数 J 和一个称为学习率的参数 η。

        

梯度下降

在梯度下降中更新权重(参数)的公式为:

        梯度下降权重更新规则

        高学习率(大η)会导致权重的大幅更新,可能会超过最小值并卡在局部最小值。相反,低学习率(小η)会导致收敛缓慢,甚至卡在起点附近。正确选择学习率对于高效培训很重要。

四、微积分的链式法则

        如何计算损失函数的偏导数是直截了当的,因为权重定向连接到输出层或输出神经元,但是我们如何计算其偏导数,而不是直接连接到输出层的权重,即隐藏层中输入的权重。

        链式法则是计算复合函数(如神经网络)导数的强大工具。

        正如我们所看到的,神经网络是一个复合函数(即使是单个神经元也是权重和输入相乘的复合函数,将这些乘积相加,应用激活函数),其中每一层都获取前一层的输出并应用转换。然后将最终输出与所需结果进行比较,从而得出成本函数值。

        链式法则指出,复合函数 f(g(x)) 的导数等于 f′(g(x)∗g′(x)。 即,复合函数 f(g(x)) 的导数等于函数 f 相对于 g(x) 的导数和函数 g 相对于 x 的导数的乘积。

        反向传播递归应用链式法则来计算网络中每个权重的成本函数梯度,然后根据梯度下降算法的规则更新该权重。

        让我们以一个非常小的神经网络为例,它只有一个输入神经元 x、一个隐藏神经元和一个输出神经元。净输出为 y′,实际输出为 y,因此误差 J(w) 为 1/n*(y−y′)^2(假设 MSE 为成本函数)。

        小型神经网络

        现在要找到 J wrt y′ 的导数,链式法则说我们需要找到 y′ wrt 的导数,它自己的输入参数,即 w2 和 z,(从网络中可以看出,y′ 是应用于 w2 和 z 乘积的 SoftMax 的组合),而 z 反过来是一个复合函数,由 sigmoid 组成,应用于 w1 和 x 的函数积。因此,我们需要计算以下导数,

        因此,链式法则的递归应用允许我们训练非常深入的神经网络,其中包含数十亿层和数十亿(数万亿)参数。一个深度(层数)和宽度(每层神经元数)足够大的深度神经网络,在足够的数据上训练足够多的纪元,可以近似任何函数。这就是为什么今天的生成式人工智能模型已经学习了英语或印地语等自然语言的模型,或者他们已经学会了生成逼真的艺术。

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

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

相关文章

寄存器(内存访问)

文章目录 寄存器(内存访问)1 内存中字的存储2 DS和[address]3 字的传送4 mov、add、sub指令5 数据段6 栈7 CPU提供的栈机制8 栈顶超界的问题9 push、pop指令10 栈段 寄存器(内存访问) 1 内存中字的存储 CPU中,用16位寄…

pycharm安装配置运行py代码与命令行运行

命令行(winr cmd python) 三个小箭头表示可以运行py代码 什么是解释器 文字翻译二进制 你对电脑说 我爱你 电脑不知道什么意思 你对电脑说 111001101000100010010001 111001111000100010110001 111001001011110110100000 电脑便知道了你爱它 那么如何给计算机说这些二进制串…

C++中的STL-string类

文章目录 一、为什么学习string类?1.1 C语言中的字符串 二、准库中的string类2.2 string类2.3 string类的常用接口说明2.4 string类对象的容量操作2.5 string类对象的访问及遍历操作2.5 string类对象的修改操作2.7 string类非成员函数2.8 模拟实现string 一、为什么…

多项式回归算法模拟

python3.6 环境 import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression from sklearn.preprocessing import PolynomialFeatures# 生成随机数作为x变量,范围在-5到5之间,共100个样本 x np.random.un…

深度学习训练GPU显卡选型攻略

‍‍🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主 📑上期文章:『仪酷LabVIEW OD实战(5)——Object DetectionTensorRT工具包快速实现yolo目标检测』 🍻本文由virobotics(仪酷智能)原创…

C++特性之一:继承

1. 派生类的成员变量、成员函数、构造、析构 2. 继承的切片 3. 重定义/隐藏 重定义/隐藏:派生类和基类有同名的成员,就叫隐藏。派生类的成员隐藏了基类的成员。 隐藏时可以通过类作用限定符来访问被隐藏的成员。 class Person { public:void Print(){…

代码学习记录19

随想录日记part19 t i m e : time: time: 2024.03.14 主要内容:今天的主要内容是二叉树的第七部分,主要涉及修剪二叉搜索树 ;将有序数组转换为二叉搜索树;把二叉搜索树转换为累加树。 669. 修剪…

【UE5】非持枪状态蹲姿移动的动画混合空间

项目资源文末百度网盘自取 在BlendSpace文件夹中单击右键选择动画(Animation)中的混合空间(Blend Space) ,选择SK_Female_Skeleton,命名为BS_NormalCrouch 打开BS_NormalCrouch 水平轴表示角色的方向,命名为Direction,方向的最…

原生php单元测试示例

下载phpunit.phar https://phpunit.de/getting-started/phpunit-9.html 官网 然后win点击这里下载 新建目录 这里目录可以作为参考&#xff0c;然后放在根目录下 新建一个示例类 <?phpdeclare(strict_types1);namespace Hjj\DesignPatterns\Creational\Hello;class He…

Flutter可重排的列表控件ReorderableListView详解

文章目录 ReorderableListView 介绍主要属性使用示例注意事项 ReorderableListView 介绍 ReorderableListView 是 Flutter 中一个可重排的列表控件&#xff0c;允许用户通过拖动来改变列表项的顺序。它继承自 ListView&#xff0c;并提供了一些额外的功能来实现重排功能。 主…

安卓通过termux部署ChatGLM

一、安装Termux并进行相关配置 1、安装termux Termux 是一个 Android 终端仿真应用程序&#xff0c;用于在 Android 手机上搭建一个完整的 Linux 环境。 不需要 root 权限 Termux 就可以正常运行。Termux 基本实现 Linux 下的许多基本操作。可以使用 Termux 安装 python&…

DB算法原理与构建

参考&#xff1a; https://aistudio.baidu.com/projectdetail/4483048 Real-Time Scene Text Detection with Differentiable Binarization 如何读论文-by 李沐 DB (Real-Time Scene Text Detection with Differentiable Binarization) 原理 DB是一个基于分割的文本检测算…

区块链基础知识(上):区块链基本原理、加密哈希、公钥加密

目录 基本原理 加密哈希&#xff1a; 公钥加密&#xff1a; 希望有人向你发送只有你才能打开的加密文档/消息时使用 PKC 希望向其他人发送加密文档/消息并证明它确实由你发送时使用 PKC 使用 PKC 和加密哈希对文档/消息进行数字签名 交易哈希链使用数字签名转让数字资产所…

SenseNova 商汤日日新大模型 Function Call(函数调用)功能讲解和应用示例

考虑到使用 magic 申请 OpenAPI 的账号挺麻烦的&#xff0c;这里以商汤日日新大模型 SenseNova 介绍 Function Call 的功能。 官方链接&#xff1a;日日新开放平台 一、Function Call 是个啥&#xff1f; 在 LLM&#xff08;Large Language Model&#xff09; 语言大模型时代&…

YOLOv9实例分割教程|(二)验证教程

专栏地址&#xff1a;目前售价售价59.9&#xff0c;改进点30个 专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;助力高效涨点&#xff01;&#xff01;&#xff01; 一、验证 打开分割验证文件&#xff0c;填入数据集配置文件、训练好的权重文件&…

报告合集 |2023年,5份必读的“数字孪生”行业报告合集(文末下载)

数字孪生正在快速改变多个行业的面貌。它通过创建物理世界对象的虚拟复制&#xff0c;使得数据分析和系统优化能够在数字空间中实现&#xff0c;正在制造业、城市规划、医疗保健等国家支柱行业展现出巨大的变革力量&#xff0c;为行业的智能决策和预测提供了强大的支撑。 作为…

【UE】AI行为树入门——以小白人跟踪玩家并攻击为例

目录 前言 效果 步骤 一、准备工作 二、用蓝图实现AI随机移动 三、用行为树实现AI随机移动与跟踪玩家并攻击的效果 3.1 AI随机移动 3.2 AI看到玩家后跟踪玩家 3.3 AI攻击玩家 前言 本篇文章要实现的效果是&#xff1a;小白人随机移动&#xff0c;并且在移动过程中如…

电玩城游戏大厅计时软件怎么用,佳易王计时计费管理系统软件定时语音提醒操作教程

电玩城游戏大厅计时软件怎么用&#xff0c;佳易王计时计费管理系统软件定时语音提醒操作教程 一、前言 以下软件操作教程以 佳易王电玩计时计费软件V18.0为例 说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、软件计时计费&#xff0c;只需点击开…

国际前十正规外汇实时行情走势app软件最新排名(综合版)

外汇交易&#xff0c;作为当今世界金融市场上一个重要的板块&#xff0c;备受关注和热议。随着金融市场的日益发展&#xff0c;外汇交易也发展成为一个新兴的投资交易渠道。为了更好地满足投资者对外汇市场的需求&#xff0c;外汇实时行情走势app软件应运而生&#xff0c;它为投…

Material UI 5 学习03-Text Field文本输入框

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Text Field文本输入框 一、最基本的本文输入框1、基础示例2、一些表单属性3、验证 二、多行文本 一、最基本的本文输入框 1、基础示例 import {Box, TextField} from "…