DAY15 神经网络的参数和变量

DAY15 神经网络的参数和变量

一、参数和变量

在神经网络中,参数和变量是两个关键概念,它们分别指代不同类型的数据和设置。

参数(Parameters)

  1. 定义:参数是指在训练过程中学习到的模型内部变量,这些变量决定了模型的预测能力。
  2. 组成:对于神经网络而言,参数主要包括 权重weights偏置biases。每个连接都有一个对应的权重,而每个神经元通常会有一个偏置项。
  3. 作用:参数通过反向传播算法和梯度下降等优化方法不断更新,以最小化损失函数(Loss Function),从而提高模型的性能。
  4. 计算方法:参数个数通常基于神经网络的层次结构和节点数量来计算。
  5. 迭代更新:参数的更新取决于学习率、误差反向传播过程中输出的误差和输入信号。

变量(Variables)

  1. 定义:变量在神经网络中通常指的是那些在训练过程中不直接参与参数更新的数据或设置,但它们对模型的训练和性能有重要影响。

  2. 类型:变量可以包括训练集、验证集和测试集等数据集,以及超参数(如学习率、批次大小、层数等)。

  3. 作用:变量用于指导模型的训练过程,评估模型的性能,并帮助调优模型结构。例如,训练集用于确定W、b参数,而验证集用于选择超参数。

  4. 表示形式:在TensorFlow等深度学习框架中,变量可以表示为张量(Tensor),具有不同的类型和阶数。

总的来说:

参数是神经网络模型内部的可学习变量,它们通过训练过程不断调整以优化模型性能;

变量则包括了更广泛的数据和设置,它们虽然不直接参与参数更新,但对模型的训练和性能评估至关重要。

示例
  • 在神经网络中,当输入为 x 1 、 x 2 、 x 3 x1、x2、x3 x1x2x3时,神经单元将它们如下整合为加权输入 z z z,通过激活函数 a ( z ) a(z) a(z) 来处理。

z 1 = w 1 x 1 + w 2 x 2 + w 3 x 3 + b ( w 1 , w 2 , w 3 为权重, b 为偏置 ) z_{1} = w_{1}x_{1} + w_{2}x_{2} + w_{3}x_{3} + b (w_{1}, w_{2}, w_{3}为权重,b为偏置) z1=w1x1+w2x2+w3x3+b(w1,w2,w3为权重,b为偏置)

a 1 = a ( z 1 ) a_{1} = a(z_{1}) a1=a(z1)

在这里插入图片描述

  • 此时,权重 w 1 w_{1} w1 w 2 w_{2} w2 w 3 w_{3} w3 与偏置 b b b参数,输入 x 1 x_{1} x1 x 2 x_{2} x2 x 3 x_{3} x3、加权输入 z 1 z_{1} z1、神经单元的输出 a 1 a_{1} a1变量,变量的值根据学习数据的学习实例而变化。

神经网络中参数和变量的量级

神经网络在实际应用中,其参数和变量的数量非常庞大。以下是一些实际例子来说明这一点:

  1. 鸢尾花分类案例:在这个案例中,一个简单的神经网络被用来对鸢尾花进行分类。该网络有4个输入神经元(对应于花萼长度、花萼宽度、花瓣长度和花瓣宽度四个特征),3个输出神经元(对应于三种不同的花类别)。仅连接关系就有12个,这还不包括权重和偏置参数。

  2. 手写数字识别:在MNIST数据集上训练的卷积神经网络(CNN)通常包含多个卷积层、池化层和全连接层。例如,一个典型的CNN可能第一层有32个滤波器,每个滤波器的大小为5x5,那么仅这一层的权重数量就是32x(5x5+1)=832个。再加上偏置项,参数数量更多。而整个网络可能有数十层,每层的参数数量都相当可观。

  3. 图像分类:在ImageNet数据集上训练的深度神经网络,如ResNet-50,它有超过2500万个参数。这些参数包括了所有卷积层、全连接层以及批量归一化和残差连接中的参数。

  4. 自然语言处理:在NLP任务中,如机器翻译或文本生成,使用的模型如Transformer,其参数数量更是惊人。例如,OpenAI的GPT-3模型拥有1750亿个参数。

  • 综上所述,这些例子展示了神经网络中参数和变量数量的庞大性,这也是为什么训练神经网络需要大量的数据和计算资源。
    • 随着网络深度和宽度的增加,构成神经网络的神经单元的数量非常大,参数的数量呈指数级增长,相应地表示偏置、权重、输入、输出的变量的数目也变得非常庞大,这也使得神经网络能够学习和表示更加复杂和精细的特征。

二、神经网络中用到的变量名和参数名

  • 首先,我们对神经网络中各层进行编号,如下图所示,最左边的输入层为层 1,隐藏层(中间层)为层 2、层 3……最右边的输出层为层 l l l(这里的 l l l l a s t last last 的首字母,表示层的总数)。

在这里插入图片描述

  • 进行以上准备后,将如下表所示来表示变量和参数。
分类符号含义
变量名 x i x_i xi表示输入层(层1)的第 i i i个神经单元的输入的变量
1.由于输入层的神经单元的输入和输出为同一值,所以也是表示输出的变量
2.这个变量名也作为神经单元的名称使用
参数名 w j i l w_{ji}^l wjil从层 l − 1 l-1 l1的第 i i i个神经单元指向层 l l l的第 j j j个神经单元的箭头的权重
注意 i i i j j j的顺序。
变量名 z j l z_j^l zjl表示层 l l l的第 j j j个神经单元的加权输入的变量
参数名 b j l b_j^l bjl l l l的第 j j j个神经单元的偏置
变量名 a j l a_j^l ajl l l l的第 j j j个神经单元的输出变量
此外,这个变量名也作为神经单元的名称使用

提供上表中字母符号对应的英文标注,用于加深的理解记忆:

w w w w e i g h t weight weight | l l l l a y e r layer layer | b b b b i a s bias bias | a a a a c t i v a t i o n activation activation|

  • 上表中各个符号的逻辑含义如下:

在这里插入图片描述

  • 在神经网络中,每个神经元计算一个线性组合(即加权输入 z z z),然后通过一个非线性的激活函数 f ( z ) f(z) f(z) 来生成最终的输出。这个经过激活函数处理后的值通常用 a a a 表示,因为它代表了激活函数的输出,也就是神经元的实际激活水平。

  • 具体来说,对于第 l l l 层的第 j j j 个神经元,我们有:
    z j l = ∑ i w j i l a i l − 1 + b j l z_j^l = \sum_{i} w_{ji}^l a_i^{l-1} + b_j^l zjl=iwjilail1+bjl

    这里 z j l z_j^l zjl 是未激活的输入,而
    a j l = f ( z j l ) a_j^l = f(z_j^l) ajl=f(zjl)
    ​这里的 a j l a_j^l ajl 就是经过激活函数 f f f 处理后的输出,表示该神经元被激活的程度。

输入层相关的变量名

  • 输入层为神经网络的数据入口,如果表示输入层的输入的变量名依次为 x 1 , x 2 , … x_1,x_2, … x1,x2,由于输入层中神经单元的输入和输出为同一值,那么它们也是输出的变量名。

在这里插入图片描述

隐藏层、输出层相关的参数名与变量名

  • 这里我们截取神经网络的一部分,并按照前面表格中的约定标注变量名和参数名,如下图所示。

在这里插入图片描述

注意:上图中的 a j l a_j^l ajl并不表示输出变量,而是作为神经单元的名称使用。

  • 下表列举了图中几个符号的具体含义。
符号示例符号示例的含义
b 1 2 b_1^2 b12层 2(隐藏层)的第 1 个神经单元的偏置
b 1 3 b_1^3 b13层 3(输出层)的第 1 个神经单元的偏置
w 12 2 w_{12}^2 w122从层 1 的第 2 个神经单元指向层 2 的第 1 个神经单元的箭头的权重,也就是层 2(隐藏层)的第 1 个神经单元分配给层 1(输入层)的第 2 个神经单元的输出 x 2 x_2 x2 的权重
w 12 3 w_{12}^3 w123从层 2 的第 2 个神经单元指向层 3 的第 1 个神经单元的箭头的权重,也就是层 3(输出层)的第 1 个神经单元分配给层 2(隐藏层)的第 2 个神经单元的输出 a 2 2 a_2^2 a22 的权重

三、变量值的表示方法

示例一

在前面讲解变量名的表格中, x i x_i xi z j l z_j^l zjl a j l a_j^l ajl为变量,它们的值根据学习数据的学习实例而变化。

  • 假设给出了下面的图像作为学习实例。在将这个图像输入到神经网络中时,求隐藏层(层 2)的第 1 个神经单元的加权输入的值,即求 z 1 2 z_1^2 z12

在这里插入图片描述

若具体地给出了学习数据的一个图像,则 x i x_i xi z j l z_j^l zjl a j l a_j^l ajl就变成了数值,而不是变量。

  • 根据前面的变量名的一般约定,加权输入 z 1 2 z_{1}^{2} z12可以如下表示。
    z 1 2 = w 11 2 x 1 + w 12 2 x 2 + w 13 2 x 3 + ⋯ + w 112 2 x 12 + b 1 2 \begin{matrix}z_{1}^{2}=w_{11}^{2}x_{1}+w_{12}^{2}x_{2}+w_{13}^{2}x_{3}+\cdots +w_{112}^{2}x_{12}+b_{1}^{2}\end{matrix} z12=w112x1+w122x2+w132x3++w1122x12+b12

  • 由于读取图像后,输入层的 x 1 , x 2 , ⋯ , x 12 x_{1}, x_{2}, \cdots, x_{12} x1,x2,,x12的值就确定了,所以加权输入 z 1 2 z_{1}^{2} z12的值可以像下面这样确定。
    z 1 2 的值 = w 11 2 × 1 + w 12 2 × 1 + w 13 2 × 0 + ⋯ + w 112 2 × 0 + b 1 2 = w 11 2 + w 12 2 + w 15 2 + w 18 2 + w 111 2 \begin{matrix}z_{1}^{2}的值=w_{11}^{2}\times 1+w_{12}^{2}\times 1+w_{13}^{2}\times 0+\cdots +w_{112}^{2}\times 0+b_{1}^{2}\\ =w_{11}^{2}+w_{12}^{2}+w_{15}^{2}+w_{18}^{2}+w_{111}^{2}\end{matrix} z12的值=w112×1+w122×1+w132×0++w1122×0+b12=w112+w122+w152+w182+w1112

  • 这样一来,加权输入 z 1 2 z_{1}^{2} z12的具体值就可以以上计算给出。

权重( w 11 2 w_{11}^{2} w112等)和偏置 b 1 2 b_{1}^{2} b12为参数,它们都是常数。

在不清楚变量和常数的关系时,请参考Day14 最优化问题和回归分析(番外二:常数和变量?)。

示例二

从示例一中可以知道,我们需要区分变量 x i x_i xi z j l z_j^l zjl a j l a_j^l ajl的符号与它们的值。在后面计算代价函数时,这一点非常重要。

  • 在给定学习数据的第 k k k 个学习实例时,各个变量的值可以如下表示。
    • x i [ k ] x_{i}[k] xi[k]:输入层的第 i i i 个神经元的输入值(=输出值)
    • z j l [ k ] z_{j}^l[k] zjl[k]:层 l l l 的第 j j j 个神经元的加权输入的值
    • a j l [ k ] a_{j}^l[k] ajl[k]:层 l l l 的第 j j j 个神经元的输出值

这种表示方法是以 C 语言等编程语言的数组变量的表示方法为依据的。

  • 在示例一中,假设输入图像为学习数据的第 7 张图像,按照上述约定,输入层的变量的值以及加权输入 z 1 2 z_1^2 z12 的值可以如下表示。
    x 1 [ 7 ] = 1 , x 2 [ 7 ] = 1 , x 3 [ 7 ] = 0 , x 4 [ 7 ] = 0 , x 5 [ 7 ] = 1 , x 6 [ 7 ] = 0 , x_{1}[7]=1, x_{2}[7]=1, x_{3}[7]=0, x_{4}[7]=0, x_{5}[7]=1, x_{6}[7]=0, x1[7]=1,x2[7]=1,x3[7]=0,x4[7]=0,x5[7]=1,x6[7]=0,

    x 7 [ 7 ] = 0 , x 8 [ 7 ] = 1 , x 9 [ 7 ] = 0 , x 10 [ 7 ] = 0 , x 11 [ 7 ] = 1 , x 12 [ 7 ] = 0 , x_{7}[7]=0, x_{8}[7]=1, x_{9}[7]=0, x_{10}[7]=0, x_{11}[7]=1, x_{12}[7]=0, x7[7]=0,x8[7]=1,x9[7]=0,x10[7]=0,x11[7]=1,x12[7]=0,

    z 1 2 [ 7 ] = w 11 2 + w 12 2 + w 15 2 + w 18 2 + w 111 2 + b 1 2 z_{1}^2[7]=w_{11}^{2}+w_{12}^{2}+w_{15}^{2}+w_{18}^{2}+w_{111}^{2}+b_{1}^{2} z12[7]=w112+w122+w152+w182+w1112+b12

    在这里插入图片描述

示例三

  • 若输出层(层 3)的第 j j j 个神经单元的加权输入为 z j 3 z_j^3 zj3 ,输出变量为 a j 3 a_j^3 aj3
    • 在将学习数据的第 1 张图像作为图像实例输入时
      • 输出层(层 3)的第 j j j个神经单元的加权输入的值为 z j 3 [ 1 ] z_j^3[1] zj3[1],输出值为 a j 3 [ 1 ] a_j^3[1] aj3[1] ,如下图所示。

在这里插入图片描述


四、更简洁的使用神经单元符号和变量名

  • 到目前为止,本Day的示意图都是将参数和变量写在一个神经单元的周围,这就导致图看起来非常吃力(见下图左)。之后将根据情况使用如下所示的标有参数和变量的神经单元示意图(见下图右)。

在这里插入图片描述

  • 利用这种整合了参数和变量的示意图,就可以简洁地表示两个神经单元的关系,如下所示。

在这里插入图片描述

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

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

相关文章

VS Code 可视化查看 C 调用链插件 C Relation

简介 一直想用 SourceInsight 一样的可以查看函数调用链一样的功能,但是又不想用 SourceInsight,找了一圈没有找到 VS Code 有类似功能的插件,索性自己开发了一个。 这是一个可以可视化显示 C 函数调用关系的 VS Code 插件,功能纯…

(k8s)kubectl不断重启问题解决!

1.问题描述: 在服务器上安装完k8s之后,会出现kubectl有时候连得上,等之后再去连接的时候又断开,同时节点出现了NotReady的情况, 出现了这两种双重症状 2.解决问题 自己的思路:查看日志,检查报…

什么是数据湖?大数据架构的未来趋势

💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…

【Leetcode·中等·数组】59. 螺旋矩阵 II(spiral matrix ii)

题目描述 英文版描述 Given a positive integer n, generate an n x n matrix filled with elements from 1 to n(2) in spiral order. Example 1: Input: n 3 Output: [[1,2,3],[8,9,4],[7,6,5]] 提示&#xff1a; 1 < n < 20 英文版地址 https://leetcode.com…

Open WebUI 与 AnythingLLM 安装部署

在前文 Ollama私有化部署大语言模型LLM&#xff08;上&#xff09;-CSDN博客 中通过Ollama来搭建运行私有化大语言模型&#xff0c;但缺少用户交互的界面&#xff0c;特别是Web可视化界面。 对此&#xff0c;本文以Open WebUI和AnythingLLM为例分别作为Ollama的前端Web可视化界…

论文导读 | 数据库系统中基于机器学习的基数估计方法

背景 基数估计任务是在一个查询执行之前预测其基数&#xff0c;基于代价的查询优化器&#xff08;Cost Based Optimizer&#xff09;将枚举所有可能的执行计划&#xff0c;并利用估计的基数选出期望执行代价最小的计划&#xff0c;从而完成查询优化的任务。 然而&#xff0c;…

3D扫描建模有哪些优势和劣势?

3D扫描建模作为一种先进的数字化手段&#xff0c;在多个领域展现出了巨大的潜力和价值&#xff0c;但同时也存在一些劣势。以下是对3D扫描建模优势和劣势的详细分析&#xff1a; 3D扫描建模的优势 高精度数据采集&#xff1a; 三维扫描技术能够以极高的精度获取物体的三维数…

网络安全 信息收集入门

1.信息收集定义 信息收集是指收集有关目标应用程序和系统的相关信息。这些信息可以帮助攻击者了解目标系统的架构、技术实现细节、运行环境、网络拓扑结构、安全措施等方面的信息&#xff0c;以便我们在后续的渗透过程更好的进行。 2.收集方式-主动和被动收集 ①收集方式不同…

MBM指尖六维力触觉传感器:高灵敏度、低漂移,精准掌控力学世界

MBM指尖六维力触觉传感器是一种专为机器人设计的高性能传感器。它通过集成三轴力和三轴力矩的感知能力&#xff0c;能够精准捕捉复杂的力学信息。传感器采用MEMS与应变体复合测量技术&#xff0c;具备数字输出功能&#xff0c;显著降低漂移并减少安装偏移的影响。其紧凑轻便的设…

用 Python 绘制可爱的招财猫

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​​​​​ ​​​​​​​​​ ​​​​ 招财猫&#xff0c;也被称为“幸运猫”&#xff0c;是一种象征财富和好运的吉祥物&#xff0c;经常…

docker常用命令及dockerfile编写

docker常用命令及dockerfile编写 1.docker常用命令1.1镜像相关1.2容器相关1.3数据卷1.4网络模式 2.Dockerfile3.Dockerfile示例 1.docker常用命令 1.1镜像相关 镜像相当于是一个模板&#xff0c;可以实例化出很多个容器&#xff1b; #查看docker版本 docker -v#查看docker默…

2025新年源码免费送

2025很开门很开门的源码免费传递。不需要馒头就能获取4套大开门源码。 听泉偷宝&#xff0c;又进来偷我源码啦&#x1f44a;&#x1f44a;&#x1f44a;。欢迎偷源码 &#x1f525;&#x1f525;&#x1f525; 获取免费源码以及更多源码&#xff0c;可以私信联系我 我们常常…

springboot + vue+elementUI图片上传流程

1.实现背景 前端上传一张图片&#xff0c;存到后端数据库&#xff0c;并将图片回显到页面上。上传组件使用现成的elementUI的el-upload。、 2.前端页面 <el-uploadclass"upload-demo"action"http://xxxx.xxx.xxx:9090/file/upload" :show-file-list&q…

如何用 ESP32-CAM 做一个实时视频流服务器

文章目录 ESP32-CAM 概述ESP32-S 处理器内存Camera 模块MicroSD 卡槽天线板载 LED 和闪光灯其他数据手册和原理图ESP32-CAM 功耗 ESP32-CAM 引脚参考引脚排列GPIO 引脚哪些 GPIO 可以安全使用&#xff1f;GPIO 0 引脚MicroSD 卡引脚 ESP32-CAM 的烧录方式使用 ESP32-CAM-MB 编程…

Virgo:增强慢思考推理能力的多模态大语言模型

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

照片做成图书小程序开发制作介绍

照片做成图书小程序系统&#xff0c;主要是让用户直接通过小程序选择需要做成书的类型和照片排版布局模板&#xff0c;以及上传照片的数量。照片上传完成后&#xff0c;生成模板图片样式进行预览或编辑修改。修改完成全部保存。保存后生成完整的照片书进行预览没问题&#xff0…

《Spring Framework实战》10:4.1.4.2.详细的依赖和配置

欢迎观看《Spring Framework实战》视频教程 集合 <list/>、<set/>、<map/>和<props/>元素分别设置Java集合类型list、set、map和properties的属性和参数。以下示例显示了如何使用它们&#xff1a; <bean id"moreComplexObject" class&qu…

花生好坏缺陷识别数据集,7262张图片,支持yolo,coco json,pasical voc xml格式的标注,识别准确率在95.7%

花生好坏缺陷识别数据集,7262张图片&#xff0c;支持yolo&#xff0c;coco json&#xff0c;pasical voc xml格式的标注&#xff0c;识别准确率在95.7% 数据集分割 训练组87&#xff05; 6353图片 有效集8% 606图片 测试集4% 303图片 预处理 自动定…

WebLogic安全基线

WebLogic安全基线 一、 用户权限1 、检查weblogic 的启动用户2 、用户权限整改3 、使用普通用户重启weblogic 二、账户共用1 、检查weblogic 控制台的账户2 、账户共用整改3 、测试登录weblogic 控制台新账户 三、 账户清理1 、检查weblogic 控制台的账户2 、帐户清理整改 四、…

react-quill 富文本组件编写和应用

index.tsx文件 import React, { useRef, useState } from react; import { Modal, Button } from antd; import RichEditor from ./RichEditor;const AnchorTouchHistory: React.FC () > {const editorRef useRef<any>(null);const [isModalVisible, setIsModalVis…