《深度学习》-之“前馈神经网络”

神经元模型

在前馈神经网络中,各神经元分别属于不同的层。每一层的神经元可以接收前一层神经元的信号,并产生信号输出到下一层。第 0 层叫输入层,最后一层叫输出层,其它中间层叫做隐藏层,相邻两层的神经元之间为全连接关系,也称为全连接神经网络(F N N FNNFNN),表现形式如下图所示。

我们用下面的记号来描述一个前馈神经网络:
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

神经网络的发展历程

1

神经元(M-P)

1943 年,美国神经生理学家沃伦·麦卡洛克( Warren McCulloch ) 和数学家沃尔特 ·皮茨(Walter Pitts )对生物神经元进行建模,首次提出了一种形式神经元模型,并命名为McCulloch-Pitts模型,即后 来广为人知的M-P模型。

2

在M-P模型中,神经元接受其他n个神经元的输入信号(0或1),这些输入信号经过权重加权并求和,将求和结果与阈值(threshold) θ 比较,然后经过激活函数处理,得到神经元的输出。

y=f\left(\sum_{i=1}^{n} \omega_{i j} x_{i}-\theta\right)y=f(i=1∑n​ωij​xi​−θ)

M-P 模型可以表示多种逻辑运算,如取反运算、逻辑或、逻辑与。

  • 取反运算可以用单输入单输出模型表示,即如果输入为0则输出1,如果输入为1则输出0。由M-P模型的运算规则可得 w = -2, θ = -1w=−2,θ=−1.

4.1

  • 逻辑或与逻辑与运算可以用双输入单输出模型表示。以逻辑与运算为例, w_1=1,w_2=1, θ =1.5w1​=1,w2​=1,θ=1.5.

4.2

网络结构

人工神经网络由神经元模型构成,这种由许多神经元组成的信息处理网络具有并行分布结构。

4.3

其中圆形节点表示一个神经元,方形节点表示一组神经元。

感知器

单层感知器

1958 年,罗森布拉特( Roseblatt )提出了感知器,与 M-P 模型需 要人为确定参数不同,感知器能够通过训练自动确定参数。训练方式为有监督学习,即需要设定训练样本和期望输出,然后调整实际输出和期望输出之差的方式(误差修正学习)。

\begin{aligned} w_{i} & \leftarrow w_{i}+\alpha(r-y) x \\ \theta & \leftarrow \theta-\alpha(r-y) \end{aligned}wi​θ​←wi​+α(r−y)x←θ−α(r−y)​

其中,\alphaα 是学习率,rr 和 yy 分别是期望输出和实际输出。

感知器权重调整的基本思路:

  • 实际输出 y 与期望输出 r 相等时,w 和 θ 不变
  • 实际输出 y 与期望输出 r 不相等时,调整 w 和 θ 的值

\begin{aligned} w_{i} & \leftarrow w_{i}+\alpha(r-y) x \\ \theta & \leftarrow \theta-\alpha(r-y) \end{aligned}wi​θ​←wi​+α(r−y)x←θ−α(r−y)​

4.4

下面给出感知器模型的训练过程

4.5

多层感知器

单层感知器只能解决线性可分问题,而不能解决线性不可分问题;为了解决线性不可分问题,我们需要使用多层感知器。

在这里插入图片描述

多层感知器指的是由多层结构的感知器递阶组成的输入值向前传播的网络,也被称为前馈网络或正向传播网络。

以三层结构的多层感知器为例,它由输入层、中间层及输出层组成

  • 与M-P模型相同,中间层的感知器通过权重与输入层的各单元相连接,通过阈值函数计算中间层各单元的输出值
  • 中间层与输出层之间同样是通过权重相连接

4.7
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈


BP算法

多层感知器的训练使用误差反向传播算法(Error Back Propagation),即BP算法。BP算法最早有沃博斯于1974年提出,鲁梅尔哈特等人进一步发展了该理论。

BP算法的基本过程

  • 前向传播计算:由输入层经过隐含层向输出层的计算网络输出
  • 误差反向逐层传递:网络的期望输出与实际输出之差的误差信号由输出层经过隐含层逐层向输入层传递
  • 由“前向传播计算”与“误差反向逐层传递”的反复进行的网络训练 过程

BP算法就是通过比较实际输出和期望输出得到误差信号,把误差信 号从输出层逐层向前传播得到各层的误差信号,再通过调整各层的连接权重以减小误差。权重的调整主要使用梯度下降法:

\Delta w = -\alpha \frac{\partial E}{\partial w}Δw=−α∂w∂E​

激活函数

通过误差反向传播算法调整多层感知器的连接权重时,一个瓶颈问题就是激活函数

  • M-P 模型中使用阶跃函数作为激活函数,只能输出 0或 1,不连续所以 不可导
  • 为了使误差能够传播,鲁梅尔哈特等人提出使用可导函数Sigmoid作为激活函数

4.8

Sigmoid函数的导数:\frac{df(u)}{du} = f(u)(1-f(u))dudf(u)​=f(u)(1−f(u))

4.9

其他常见的激活函数:ReLU (Rectified Linear Unit,修正线性单元)和tanh等

4.10

BP算法示例

以包含一个中间层和一个输出单元 yy 的多层感知器为例:w_{1ij}w1ij​ 表示输 入层与中间层之间的连接权重,w_{2j1}w2j1​ 表示中间层与输出层之间的连接权重, ii 表示输入层单元,jj 表示中间层单元。

4.11

  • 首先调整中间层与输出层之间的连接权重,其中 y=f(u)y=f(u), ff 是激活函数,u_{21} = \sum_{j = 1}^{m}w_{2j1}z_ju21​=∑j=1m​w2j1​zj​,把误差函数 E 对连接权重w_{2j1}w2j1​ 的求导展开成复合函数求导:

\begin{array}{c}\frac{\partial E}{\partial w_{2 j 1}} =\frac{\partial E}{\partial y} \frac{\partial y}{\partial u_{21}} \frac{\partial u_{21}}{\partial w_{2 j 1}} \\ =-(r-y) y(1-y) z_{j}\end{array}∂w2j1​∂E​=∂y∂E​∂u21​∂y​∂w2j1​∂u21​​=−(r−y)y(1−y)zj​​

这里 z_jzj​ 表示的是中间层的值。

  • 第二,中间层到输出层的连接权重调整值如下所示:

\Delta w_{2 j 1}=\alpha(r-y) y(1-y) z_{j}Δw2j1​=α(r−y)y(1−y)zj​

  • 第三,调整输入层与中间层之间的连接权重

\begin{aligned} \frac{\partial E}{\partial w_{1 i j}} &=\frac{\partial E}{\partial y} \frac{\partial y}{\partial u_{21}} \frac{\partial u_{21}}{\partial w_{1 i j}} \\ &=-(r-y) y(1-y) \frac{\partial u_{21}}{\partial w_{1 i j}} \end{aligned}∂w1ij​∂E​​=∂y∂E​∂u21​∂y​∂w1ij​∂u21​​=−(r−y)y(1−y)∂w1ij​∂u21​​​

中间层到输出层

4.12

输入层到中间层

4.13

优化问题

难点

  • 参数过多,影响训练
  • 非凸优化问题:即存在局部最优而非全局最优解,影响迭代
  • 梯度消失问题,下层参数比较难调
  • 参数解释起来比较困难

需求

  • 计算资源要大
  • 数据要多
  • 算法效率要好:即收敛快

非凸优化问题

4.14

梯度消失问题

4.15

总结:

本文就是简单学习了神经网络的发展流程,从单层感知机(单层神经元)到多层感知机,从只能处理线性问题到可以处理越来越复杂的非线性问题,从人工设置参数到误差修正自动学习参数,更有反向传播算法的诞生,为之后的深度神经网络奠定了基础。对于神经网络中的优化问题,是一门比较复杂的学问,需要非常深厚的理论基础,如梯度下降算法、Adam算法等。

如何学习AI大模型?

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值