简易深度学习(1)深入分析神经元及多层感知机

一、神经元

单个神经元结构其实可以认为是一个线性回归模型。例如下图中

该神经元输入为三个特征(x1,x2,x3),为了方便理解,大家可以认为每条线上都有一个权重和特征对应(w1,w2,w3)。当w1x1+w2x2+w3x3输入到神经元时,会加入一个偏置b,变为w1x1+w2x2+w3x3+b。我们可以把这个值当作f(x)。然后把f(x)送入激活函数比如sigmoid。最后得到的输出结果g(x) = sigmoid(f(x))。最后的g(x)作为xn会输入到下一个神经元。

记忆技巧tips:每个神经元,有多少个输入特征就有多少个边,边上就有多少个w,但有且只有一个b。

在这里插入图片描述

图1


二、MLP

多个神经元按照一层层连接就组成了多层感知机(MLP)。如果是全连接网络((Fully Connected Netural Network,FCN),则每个神经元都会和它前层、后层所有神经元相连。

1、结构

(1)图2,是两层全连接神经网络,明明是三层为什么叫两层神经网络?不是输入层(第0层),隐藏层,和输出层三层吗?在书中,只有隐藏层和输出层算层,输入层不算。可能设计输入的第0层的原因是:

可以理解为这一层主要是处理数据,也就是变换X,比如让数据归一化,one-hot编码什么的。

在这里插入图片描述

图2


(2)上图是课本标准的多层神经网络,下面是为了理解绘制的不标准的示意图。其中画虚线的部分(第0层和第3层)不算神经网络的层,它只是最初的输入数据和最后的输出数据,是个名词相当于一个变量。我们看第1层(隐藏层)做了什么,它把第0层的输入x1和x2变为了输出(把黄色和绿色的线变为紫色)。第二层输出层把隐藏层的输出变为了整体的输出y(把紫色的线变为蓝色的线)。大家可以看出神经网络的层类似于动词相当于一个函数。下面的图是为了方便大家理解,如果绘制的话,还是要按照标准来。

在这里插入图片描述

图3


(3)每一层有n个神经元,为了区分不同神经元上的w,使用带两个数字的w(第一个数字是连接到本层个神经元,第二个数字是上层个神经元)来标识,比如图4,第1层的神经元中,w11标识本层第一个神经元和上层第一个神经元相连,w32表示本层第三个和上层第二个相连。b的话就是本层第几个神经元就是b几,比如b2表示本层第二个神经元上的偏置。
在这里插入图片描述

图4


(4)我们再把视野扩大,刚刚说的是一层,如何标识不同的w和b呢,比如第1层的w11和第2层的w11如何区别呢?一般我们会使用参数上标来标识是第几层的参数。如下图,比如w1表示第一层的w

在这里插入图片描述

图5


tips:其实在日常情况下使用上标标识第几层,使用下标来标识参数关系的,比如w[1]11 这是标准写法,而不是w[1]11

2、分类 or 回归

回归:最后的输出层只有一个神经元,一般预测结果是float值,比如根据x1房子面积,x2房子年龄,预测最后的房屋价格。
分类:几个分类,最后输出层就有几个神经元。比如猫狗二分类,最后输出层是两个神经元,如果最后是十分类,那么最后一层就是十个神经元。

图6

图6




3、前向传播

(1)从神经网络前面把数据从输入到输出的过程为前向传播。比如图2,数据x1,x2输入到隐藏层1,然后计算后输入到输出层,最后输出结果。
类似线性模型,即输入x,使用参数w,b计算wx+b的过程。
(2)平时都是按照一个批次进行矩阵计算的,下面是批量为3时输入到图5第一层神经网络的情况。
输入的数据为(批量*特征个数)形状的矩阵,
隐藏层的参数W为(特征个数*本层神经元个数)形状的矩阵,
b为(1*神经元个数)形状的向量。
在这里插入图片描述

图7




4、反向传播

反向传播的是梯度,梯度下降是为了优化每一层的参数。
step1:
神经网络最后的输出结果为y_hat,训练数据中的标签为y,使用损失函数计算两者的误差。此时,第2层的w、b参数可以使用梯度下降直接更新了,因为本层的w,b直接组成了loss函数即 :   loss(w[2]11O1+w[2]12O2+w[2]13O3+w[2]14O4+b[2]1-y),比如该值为loss1,loss1对w[2]11求偏导,然后乘以学习率得出更新的值,w[2]11减去更新的值即为更新后的w[2]11
step2:
把第2层的梯度传到第1层,根据链式法则,第1层的参数可以进行更新。
在这里插入图片描述

图8


下面我们举个例子详细说一下反向传播梯度。
下图中x,y,z都可以看作是w参数,f函数看为损失函数。绿色为特征x,y,z现在的值,红色为对应的导数(梯度)。比如求x的梯度,根据链式法则,先f对q求导,然后求q对x的导数,结果为-4*1,1是本地计算的梯度,-4是反向传过来的梯度。

在这里插入图片描述

图9 图片来源:李飞飞cs231n 2017_lecture4




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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

麒麟系统安装MySQL

搞了一整天,终于搞定了,记录一下。 一、背景 项目的原因,基于JeecgBoot开发的系统需要国产化支持,这就需要在电脑上安装MySQL等支撑软件。 国产化项目的操作系统多是麒麟系统,我的系统如下: arm64架构。…

ISSCC论文详解2024 34.2——双端口设计实现高面积利用的浮点/整数存算

本文将要介绍的文献主题为浮点存内计算,题目为《A 16nm 96Kb Integer/Floating-Point Dual-Mode-Gain-CellComputing-in-Memory Macro Achieving 73.3-163.3TOPS/W and 33.2-91.2TFLOPS/W for AI-Edge Devices》,下面本文将从文章基本信息与背景知识、创…

5.9k!一款清新好用的后台管理系统!【送源码】

今天给大家分享的开源项目是一个优雅清新后台管理系统——Soybean Admin。 简介 官方是这样介绍这个项目的: Soybean Admin 使用的是Vue3作为前端框架,TypeScript作为开发语言,同时还整合了NaiveUI组件库,使得系统具有高可用性和…

分页处理封装+分页查询题目列表

文章目录 1.sun-club-common封装分页1.com/sunxiansheng/subject/common/eneity/PageInfo.java2.com/sunxiansheng/subject/common/eneity/PageResult.java 2.sun-club-application-controller1.SubjectInfoDTO.java 继承PageInfo并新增字段2.SubjectController.java 3.sun-clu…

信息学奥赛初赛天天练-37-CSP-J2021阅读程序-质数、合数、约数、约数个数、约数和、增加质因数对约数个数、约数和的影响

PDF文档公众号回复关键字:20240627 质数 质数和合数是数学中对于自然数(不包括0和1)的两种重要分类 质数 (Prime Number) 一个大于1的自然数,除了1和它本身以外不再有其他因数的数称为质数 例如 2、3、5、7、11、13、17、19等都是质数 …

从RLHF到DPO再到TDPO,大模型对齐算法已经是「token-level」

在人工智能领域的发展过程中,对大语言模型(LLM)的控制与指导始终是核心挑战之一,旨在确保这些模型既强大又安全地服务于人类社会。早期的努力集中于通过人类反馈的强化学习方法(RLHF)来管理这些模型&#x…

【深度学习】python之人工智能应用篇--跨模态生成技术

跨模态生成技术概述 跨模态生成技术是一种将不同模态的数据(如文本、图像、音频、视频等)进行融合和转换的技术。其目标是通过将一个模态的数据作为输入,生成与之对应的另一个模态的输出。这种技术对于突破单一模态的局限性,提高…

数据库怎么同步

数据库要怎么同步呢,有很多方法,看你用什么数据库,如果是Sqlserver,你要数据库同步,那么可以使用自带的订阅发布,订阅发布应该是不错的方法,但是我上次要配置双向同步,它的对等发布好像没部署成…

力扣-和为K的子数组

题目-和为 K 的子数组 解法1&#xff1a;两层for循环 public class T560 {public static int subarraySum(int[] nums, int k) {int res 0;for (int i 0; i < nums.length; i) {int tempSum 0;for (int j i; j < nums.length; j) {tempSum nums[j];if (tempSum k)…

JetBrains IDEA 2024 无线重置免费 试用

注意&#xff1a;该文档只作为参考&#xff0c;若涉及到版权问题&#xff0c;请官方购买正版软件 Idea的使用&#xff0c;不是免费的。需要自己购买&#xff0c;获取证书才能使用&#xff0c;那么怎么无限试用30天呢&#xff1f; 免费试用操作&#xff1a; 文件删除 删除C:\…

揭秘数据合并的秘密:一文掌握一对一、多对一、多对多合并技巧与实战!

使用pd.merge()合并 类似 MySQL 中表和表直接的合并merge与concat的区别在于,merge需要依据某一共同的行或列来进行合并使用pd.merge()合并时,会自动根据两者相同column名称的那一列,作为key来进行合并每一列元素的顺序不要求一致1. 一对一合并 df1 = pd.DataFrame({"…

软考系统架构师系统工程与信息系统基础考点

软考系统架构师系统工程与信息系统基础考点 系统工程 定义&#xff1a;一种组织管理技术&#xff0c;一种现代的科学决策方法 目的&#xff1a;以最好的方式实现系统 目标&#xff1a;整体最优 意义&#xff1a;利用计算机为工具&#xff0c;对系统的结构、元素、信息和反馈…

2024黑盾杯复现赛题MISC部分

一、一个logo 一张png图片&#xff0c;查看颜色通道即可发现flag 二、 学会Office 最好用联想自带的excel工具查看&#xff0c;我用WPS打开未解出题目 这里会发现有隐藏信息 隐藏信息为宏加密 。去百度了解宏加密后&#xff0c;发现有俩个宏&#xff0c;一个加密一个解密 执…

LeetCode刷题之HOT100之课程表

吃完普通的食堂饭菜&#xff0c;回到实验室&#xff0c;继续做一道题&#xff01; 1、题目描述 2、逻辑分析 这道题涉及到图相关知识&#xff0c;应用到了拓扑排序。 题意解释 一共有 n 门课要上&#xff0c;编号为 0 ~ n-1。先决条件 [1, 0]&#xff0c;意思是必须先上课 0…

不止是只有维度建模,数据仓库还有Data Vault建模

引言 在数据仓库设计中&#xff0c;传统的星型和雪花型模型有着各自的优势和劣势。随着数据量的增大和数据源的多样化&#xff0c;Data Vault&#xff08;数据仓库&#xff09;建模方法逐渐受到关注和应用。Data Vault建模是一种灵活、可扩展、适应性强的建模方法&#xff0c;…

flash申请内存失败,导致老化问题解决

背景 在闪光灯初始化阶段客制化了一个buffer&#xff0c;下发到kernel的闪光灯驱动中用于保存读取闪光灯寄存器的值。功能测试都是正常的&#xff0c;但是一旦开始批量跑产线老化测试会有1/4500左右概率的后主摄拍照卡住。定位根因是闪光灯初始化失败&#xff0c;进一步原因就…

记一次ndk版本升级

概述 事情的起因是做一次android版本的业务迭代&#xff0c;发现程序crash掉了。经过分析&#xff0c;原因是中台部门对libc_shared.so库进行了升级&#xff0c;正好我们的业务也会用到libc_shared.so库&#xff0c;导致两个库版本冲突。具体crash的原因可以参见参考文献1。 …

Coldrage Dagger

剃刀高地【寒怒匕首 Coldrage Dagger】 2020.11.26.剃刀高地刷【寒怒匕首】-1_网络游戏热门视频 2020.11.26.剃刀高地刷【寒怒匕首】-2_网络游戏热门视频

【M365运维】Outlook和Teams里不显示用户的组织架构

【问题】 由于一些误操作&#xff0c;把用户账户禁用并重新启用后&#xff0c;发现在Outlook和Teams里无法查看用户的组织结构图了。如下图所示&#xff1a; - 在Outlook 里&#xff0c;用户标签页的组织一直显示“正在加载..."&#xff0c;成员身份也是“找不到任何组。…

【项目实训】数据库内容丰富

经团队讨论&#xff0c;对前端页面展示数据进行了增加&#xff0c;于是相应的修改数据库 经团队成员使用大模型对各公司面试经验中问题的总结优化&#xff0c;我们打算将大模型的回答存储到数据库中&#xff0c;以显示在前端页面 于是在数据库中存储大模型的回答&#xff1a;…