【AI前沿】深度学习:神经网络基础

文章目录

  • 📑引言
  • 一、神经元和感知器
    • 1.1 神经元的基本概念
    • 1.2 感知器模型
  • 二、多层感知器(MLP)
    • 2.1 MLP的基本结构
    • 2.2 激活函数的重要性
    • 2.3 激活函数
    • 2.4 激活函数的选择
  • 三、小结

image.png

📑引言

深度学习是现代人工智能的核心技术之一,而神经网络是深度学习的基础结构。神经网络通过模拟人脑的神经元工作原理,从数据中自动提取特征并进行复杂的模式识别和分类任务。在这篇博客中,我们将详细探讨神经网络的基本概念、构成单元、重要特性以及它们在深度学习中的关键作用。

一、神经元和感知器

1.1 神经元的基本概念

神经元是神经网络的基本计算单元,其灵感来源于生物神经元。生物神经元通过接收输入信号(来自其他神经元或感受器),经过处理后传递输出信号。人工神经元模拟了这一过程,主要由以下部分组成:

  • 输入(Input): 接收来自其他神经元或输入数据的信号。
  • 权重(Weight): 每个输入信号都与一个权重相乘,权重决定了该输入信号的重要性。
  • 加权求和(Weighted Sum): 所有输入信号与对应权重的乘积之和。
  • 激活函数(Activation Function): 将加权求和的结果转换为输出信号。

数学上,一个神经元的输出可以表示为:
image.png
其中,( x_i ) 是输入信号,( w_i ) 是权重,( b ) 是偏置,( f ) 是激活函数。

1.2 感知器模型

感知器(Perceptron)是最简单的人工神经元模型,由Frank Rosenblatt在1958年提出。感知器是一种线性分类器,能够将输入数据分为两个类别。其基本结构如下:

  • 输入层: 接收输入数据,每个输入与一个权重相乘。
  • 加权求和: 将所有加权后的输入信号相加,加上偏置。
  • 激活函数: 使用阶跃函数(Step Function)作为激活函数,将加权求和结果转换为输出。

阶跃函数定义为:
image.png
感知器模型可以表示为:
image.png
感知器的训练过程通过调整权重和偏置,使模型能够正确分类输入数据。感知器的局限性在于它只能处理线性可分的数据集,对于复杂的非线性数据无能为力。

二、多层感知器(MLP)

2.1 MLP的基本结构

多层感知器(Multi-Layer Perceptron,MLP)是由多个感知器层叠组成的神经网络模型。MLP通过引入隐藏层(Hidden Layer),能够处理复杂的非线性数据。MLP的基本结构包括:

  • 输入层: 接收输入数据。
  • 隐藏层: 由多个神经元组成,通过激活函数进行非线性变换。
  • 输出层: 生成最终的输出结果。

每一层的输出作为下一层的输入,层与层之间全连接(Fully Connected),即每个神经元与上一层的所有神经元相连。

2.2 激活函数的重要性

激活函数是MLP中引入非线性的关键,使得神经网络能够拟合复杂的非线性关系。
常见的激活函数包括:

  • Sigmoid函数:

image.png
Sigmoid函数将输入压缩到(0, 1)之间,适用于输出为概率的任务,但容易导致梯度消失问题。

  • Tanh函数:

image.png
Tanh函数将输入压缩到(-1, 1)之间,相比Sigmoid具有零中心,但仍有梯度消失问题。

  • ReLU函数(Rectified Linear Unit):

image.png
ReLU函数解决了梯度消失问题,计算简单,广泛应用于现代神经网络中。但其可能导致部分神经元“死亡”,即在训练过程中输出恒为零。

  • Leaky ReLU函数:

image.png
Leaky ReLU在负轴上保留一部分信息,避免了神经元死亡的问题。
MLP的训练
MLP的训练过程包括前向传播(Forward Propagation)和反向传播(Backpropagation)。前向传播计算每层的输出,反向传播计算误差梯度并更新权重。

  • 前向传播: 从输入层开始,逐层计算输出,直到输出层生成最终结果。
  • 反向传播: 从输出层开始,逐层计算误差梯度,并使用梯度下降法更新权重和偏置。

反向传播的关键是链式法则(Chain Rule),通过链式法则计算每层的梯度:
image.png
其中,( L ) 是损失函数,( y ) 是输出,( w ) 是权重。

2.3 激活函数

激活函数的作用
激活函数在神经网络中起到引入非线性的作用,使得神经网络能够学习和拟合复杂的非线性关系。不同的激活函数具有不同的特性和应用场景。
常见激活函数

  1. Sigmoid函数:

Sigmoid函数将输入值映射到(0, 1)之间,常用于二分类问题的输出层。其数学表达式为:
image.png
**优点:**平滑且连续,输出范围在(0, 1)之间。
**缺点:**容易导致梯度消失问题,训练深层网络时效果不佳。

  1. Tanh函数:

Tanh函数将输入值映射到(-1, 1)之间,常用于隐藏层的激活函数。其数学表达式为:
image.png
**优点:**零中心化,输出范围在(-1, 1)之间。
**缺点:**与Sigmoid函数类似,也容易导致梯度消失问题。

  1. ReLU函数:

ReLU函数是现代神经网络中最常用的激活函数,输出输入值与0的较大者。其数学表达式为:
image.png
**优点:**计算简单,能够有效解决梯度消失问题,提高训练速度。
**缺点:**可能导致部分神经元“死亡”,即在训练过程中输出恒为零。

  1. Leaky ReLU函数:

Leaky ReLU函数是ReLU的变种,在负轴上保留一部分信息,避免神经元死亡的问题。其数学表达式为:
image.png
**优点:**避免神经元死亡,保留负值信息。
**缺点:**需要手动调节参数 ( \alpha )。

2.4 激活函数的选择

激活函数的选择对神经网络的性能有重要影响。
一般来说,隐藏层使用ReLU或其变种(如Leaky ReLU),输出层根据具体任务选择Sigmoid或Tanh函数。对于回归问题,输出层可以直接使用线性激活函数。

三、小结

神经网络是深度学习的基础结构,通过模拟人脑的神经元工作原理,能够从数据中自动提取特征并进行复杂的模式识别和分类任务。本文详细探讨了神经元和感知器、多层感知器(MLP)、激活函数的基本概念和关键技术。希望通过这篇详细的博客,读者能够全面理解神经网络的基础知识,为深入学习和研究深度学习技术打下坚实的基础。

image.png

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

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

相关文章

kotlin Flow 学习指南 (三)最终篇

目录 前言Flow生命周期StateFlow 替代LiveDataSharedFlow其他常见应用场景处理复杂、耗时逻辑存在依赖关系的接口请求组合多个接口的数据 Flow使用注意事项总结 前言 前面两篇文章,介绍了Flow是什么,如何使用,以及相关的操作符进阶&#xff…

如何挑选适合的需求池管理系统?10款优质工具分享

本文将分享10款优质需求池管理工具:PingCode、Worktile、Teambition、Epicor Kinetic、TAPD、SAP IBP、Logility、RELEX Solutions、JIRA、明道云。 在管理项目和产品需求时,正确的工具能够大幅提高效率与透明度。如何从众多需求池工具中选择最适合团队的…

第一节 SHELL脚本中的常用命令(2)

二,网络管理命令nmcli 1.查看网卡 # 或者先用ip addr或ip a等查看网卡 ip a s 网卡名 ifconfig 网卡名 nmcil device show 网卡名 nmcil device status nmcil connection show 网卡名2.设置网卡 a)当网卡未被设置过时 设置dncp网络工作模式 nmcil connection add con-name…

Rust编程-编写自动化测试

编写单元测试步骤: 1. 准备所需的数据 2. 调用需要测试的代码 3. 断言运行结果与我们所期望的一致 Rust的test元数据: #[cfg(test)]:是一个属性宏(attribute macro)。用于控制特定的代码段仅在测试环境中编译…

自定义类型:联合体

像结构体一样,联合体也是由一个或者多个成员组成,这些成员可以是不同的类型。 联合体类型的声明 编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所以联合体也叫:共⽤体。 输出结果: 联合体…

size_t 数据类型的好处

什么是size_t size_t 类型在不同的平台上对应不同的底层整数类型,具体取决于平台的指针大小。size_t 主要用于表示大小和长度,如数组的元素数量、缓冲区的大小等,它的设计目的是为了匹配指针的大小,以避免类型不匹配引起的错误。…

代码随想录算法训练营DAY58|101.孤岛的总面积、102.沉没孤岛、103. 水流问题、104.建造最大岛屿

忙。。。写了好久。。。。慢慢补吧。 101.孤岛的总面积 先把周边的岛屿变成水dfs def dfs(x, y, graph, s):if x<0 or x>len(graph) or y<0 or y>len(graph[0]) or graph[x][y]0:return sgraph[x][y]0s1s dfs(x1, y, graph, s)s dfs(x-1, y, graph, s)s dfs(…

【爬虫入门知识讲解:xpath】

3.3、xpath xpath在Python的爬虫学习中&#xff0c;起着举足轻重的地位&#xff0c;对比正则表达式 re两者可以完成同样的工作&#xff0c;实现的功能也差不多&#xff0c;但xpath明显比re具有优势&#xff0c;在网页分析上使re退居二线。 xpath 全称为XML Path Language 一种…

软考高级第四版备考--第16天(规划沟通管理)Plan Communication Management

定义&#xff1a;基于每个干系人或干系人群体的信息需求、可用的组织资产以及具体的项目的需求&#xff0c;为项目沟通活动制定恰当的方法和计划的过程。 作用&#xff1a; 及时向干系人提供相关信息&#xff1b;引导干系人有效参与项目&#xff1b;编制书面沟通计划&#xf…

【基于R语言群体遗传学】-16-中性检验Tajima‘s D及连锁不平衡 linkage disequilibrium (LD)

Tajimas D Test 已经开发了几种中性检验&#xff0c;用于识别模型假设的潜在偏差。在这里&#xff0c;我们将说明一种有影响力的中性检验&#xff0c;即Tajimas D&#xff08;Tajima 1989&#xff09;。Tajimas D通过比较数据集中的两个&#x1d703; 4N&#x1d707;估计值来…

vue项目中常见的一些preset及其关系

Babel的作用 Babel主要用途是用来做js代码转换的&#xff0c;将最新的js语法或者api转换成低版本浏览器可兼容执行的代码。 语法兼容是指一些浏览器新特性增加的js写法&#xff0c;例如箭头函数 ()>{}&#xff1b;低版本的浏览器无法识别这些&#xff0c;会导致一些语法解…

spark shuffle写操作——UnsafeShuffleWriter

PackedRecordPointer 使用long类型packedRecordPointer存储数据。 数据结构为&#xff1a;[24 bit partition number][13 bit memory page number][27 bit offset in page] LongArray LongArray不同于java中long数组。LongArray可以使用堆内内存也可以使用堆外内存。 Memor…

秋招突击——7/9——字节面经

文章目录 引言正文八股MySQL熟悉吗&#xff1f;讲一下MySQL索引的结构&#xff1f;追问&#xff1a;MySQL为什么要使用B树&#xff1f;在使用MySQL的时候&#xff0c;如何避免索引失效&#xff1f;讲一下MySQL的事物有哪几种特征&#xff1f;MySQL的原子性可以实现什么效果&…

GESP C++ 三级真题(2023年9月)T2 进制判断

进制判断 问题描述 N进制数指的是逢N进一的计数制。例如&#xff0c;人们日常生活中大多使用十进制计数&#xff0c; 而计算机底层则一般使用二进制。除此之外&#xff0c;八进制和十六进制在一些场合也是 常用的计数制(十六进制中&#xff0c;一般使用字母A至F表示十至十五…

【区块链+跨境服务】粤澳健康码跨境互认系统 | FISCO BCOS应用案例

2020 年突如其来的新冠肺炎疫情&#xff0c;让社会治理体系面临前所未见的考验&#xff0c;如何兼顾疫情防控与复工复产成为社会 各界共同努力的目标。区块链技术作为传递信任的新一代信息基础设施&#xff0c;善于在多方协同的场景中发挥所长&#xff0c;从 而为粤澳两地的疫情…

uniapp上传文件并获取上传进度

1. 上传普通文件 uni.chooseMessageFile({count: 1,success: (res) > {console.log(res)console.log("res123456", res.tempFiles[0].path)const uploadTask uni.uploadFile({url: http://localhost:8000/demo,filePath: res.tempFiles[0].path,name: file,form…

CSS关于居中的问题

文章目录 1. 行内和块级元素自身相对父控件居中1.1. 块级元素相对父控件居中1.2. 行内元素相对于父控件居中 2. 实现单行文字垂直居中3. 子绝父相实现子元素的水平垂直居中3.1. 方案一3.1.1. 示例 3.2. 方案二3.2.1. 示例 3.3. 方案三(推荐)3.3.1. 示例 3.4. 方案四(了解一下) …

AI大模型知识点大梳理_ai大模型的精度以下哪项描述的准确

AI大模型是什么 AI大模型是指具有巨大参数量的深度学习模型&#xff0c;通常**包含数十亿甚至数万亿个参数。**这些模型可以通过学习大量的数据来提高预测能力&#xff0c;从而在自然语言处理、计算机视觉、自主驾驶等领域取得重要突破。 AI大模型的定义具体可以根据参数规模…

短信验证码研究:公开的短信验证码接口、不需要注册的短信验证码接口

短信验证码研究&#xff1a;公开的短信验证码接口、不需要注册的短信验证码接口 0 说明 本文提供了一个短信验证码接口&#xff0c;主要用于以下场景&#xff1a; 1、用于开发调试 2、用于申请验证码困难的企业和个人 3、用于短信验证码认证还没有通过&#xff0c;但是着急…

DBeaver操作MySQL无法同时执行多条语句的解决方法

DBeaver选择数据库连接&#xff0c;在【驱动属性】中将allowMultiQueries允许执行多条语句置为True