深度学习入门(BP神经网络)

前言

本篇主要讲解深度学习的基础BP神经网络,结合了其他博客内容。
BP神经网络(反向传播神经网络)是一种用于监督学习任务。BP神经网络是深度学习的基础,是一种最基本的人工神经网络,它由输入层、多个隐层和输出层组成。BP神经网络通过反向传播算法来训练网络,即通过不断调整神经元之间的连接权重,使得网络的输出与标记数据之间的误差最小化。这种算法的核心思想是利用梯度下降法更新网络中的权重,使得网络能够逐渐学习到输入数据之间的模式和关联性。BP神经网络在许多领域如图像识别、语音识别、预测分析等方面有广泛的应用。

1.基本知识

1.1人工神经网络

人工神经网络(ANN)也简称为神经网络,是一种模仿动物大脑神经网络运行特征,进行分布式并行信息处理的数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。
分布式并行处理是指在人工神经网络中,信息处理过程同时在多个节点之间进行,并且这些节点之间可以相互独立地处理信息。这种并行处理方式有助于加快信息处理速度,并提高网络的效率和性能。

1.2 什么是监督学习任务?

监督学习任务是机器学习中的一种任务,其特点是在训练集中给每个样本(样本即数据)打上标签(标签:每条数据对应的已知结果或类别)。在监督学习任务中,算法会通过学习这些标注数据来构建一个模型,然后用这个模型来预测新的未知数据的结果。
监督学习任务包括分类回归问题。在分类问题中,算法预测样本属于哪个类别;在回归问题中,算法预测连续数值。监督学习是机器学习中最常见和广泛应用的一种方法。

1.2 激活函数

激活函数是神经网络中的一种函数,用来引入非线性特性,从而使神经网络能够学习并解决复杂的模式。激活函数接收神经元的输入,对它们进行加权和求和,然后将结果输入激活函数以产生神经元的输出,作为下一层神经元的输入。
作用包括:

  • 引入非线性:激活函数引入了非线性特性,使得神经网络具备了学习和表示复杂模式和关系的能力。如果没有激活函数,多层神经网络将等同于单层线性模型。
  • 支持网络学习复杂函数:通过使用非线性的激活函数,神经网络可以学习和表示各种非线性函数,从而提高模型的表达能力。
  • 解决梯度消失问题:某些激活函数能够有效地缓解梯度消失问题,有助于训练深层神经网络。
  • 输出范围控制:激活函数可以控制神经元输出的范围,确保在适当的范围内。例如,Sigmoid激活函数将输出值缩放到0到1之间,而tanh函数将其缩放到-1到1之间。
1.2.1常见的激活函数
  1. Sigmoid函数(Logistic函数):
    公式: σ ( x ) = 1 1 + e − x \text{公式:} σ(x) = \frac{1}{1+e^{-x}} 公式:σ(x)=1+ex1
    作用:将输入函数映射到0-1之间,适合用于输出层二分类问题。
    Sigmoid函数的特性:
  • Sigmoid函数的输出范围是0到1。由于输出值限定在0到1,因此它对每个神经元的输出进行了归一化。
  • 用于将预测概率作为输出的模型。由于概率的取值范围是0到1,因此Sigmoid函数非常合适
    梯度平滑,避免跳跃的输出值
  • 函数是可微的。这意味着可以找到任意两个点的Sigmoid曲线的斜率
    明确的预测,即非常接近1或0。

函数图:
在这里插入图片描述
2. Softmax函数:
公式: S o f t m a x ( X i ) = e x j ∑ j − 1 N e x j \text{公式:}Softmax(X_i) = \frac{e^{x_j}}{\sum^N_{j-1}e^xj} 公式:Softmax(Xi)=j1Nexjexj
作用:将向量映射为概率分布,常用于多分类问题的输出层。
函数图:
在这里插入图片描述

  1. ReLU函数(修正线性单元)
    公式: R e L U ( x ) = m a x ( 0 , x ) \text{公式:} ReLU(x) = max(0,x) 公式:ReLU(x)=max(0,x)
    作用:提供了快速的收敛速度和稀疏激活性,解决了梯度消失的问题,适合用于隐藏层,但存在神经元死亡问题。。
    函数图:
    !](https://img-blog.csdnimg.cn/direct/6bdd67173b9b42ff8da2c7ed757b9b11.png)

  2. Leaky ReLU函数:
    公式: L e a k y   R e L U ( x ) = { a x ,   i f   x ≤ 0 x ,   i f   x > 0 \text{公式:} Leaky\text{ }ReLU(x) = \{ ^{x,\text{ } if\text{ } x > 0}_{ax,\text{ } if\text{ } x ≤ 0} 公式:Leaky ReLU(x)={ax, if x0x, if x>0
    作用:在负数部分引入小的斜率,解决了ReLU函数中神经元死亡的问题。
    函数图:

  3. Tanh函数(双曲正切函数):
    公式: t a n h ( x ) = e x − e − x e x + e − x \text{公式:} tanh(x) = \frac{e^x-e^{-x}}{e^x+e{-x}} 公式:tanh(x)=ex+exexex
    作用:将输入映射到-1到1之间,解决了Sigmoid函数梯度消失的问题,适合用于隐藏层
    公式: J α ( x ) = ∑ m = 0 ∞ ( − 1 ) m m ! Γ ( m + α + 1 ) ( x 2 ) 2 m + α \text{公式:} J_\alpha(x) = \sum_{m=0}^\infty \frac{(-1)^m}{m! \Gamma (m + \alpha + 1)} {\left({ \frac{x}{2} }\right)}^{2m + \alpha} 公式:Jα(x)=m=0m!Γ(m+α+1)(1)m(2x)2m+α

深度学习的模型 就像 高中就函数的 系数一样,训练模型就是求系数的过程。

  • 19
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式AI工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值