深度神经网络之前向传播算法

本文介绍了深度神经网络(DNN)的基本结构,从感知机模型过渡到DNN,强调了增加隐藏层、多输出和扩展激活函数的重要性。接着详细阐述了DNN的前向传播算法,包括线性关系系数w和偏置b的定义,以及使用矩阵运算简化计算的过程。文章以一个三层DNN为例,展示如何通过前向传播计算各层输出,并指出前向传播本身无法优化网络,后续将探讨反向传播算法来解决这一问题。
摘要由CSDN通过智能技术生成

1.深度神经网络简介

**深度神经网络(Deep Neural Networks,DNN)**从字面上理解,也就是深层次的神经网络,从网络结构上看来就是有多个隐含层的神经网络。深度神经网络不仅能够用于分类和回归,在降维、聚类、语音识别、图像识别方面也有许多应用。由于神经网络内容较多,将分多次写作,本次主要讲解深度神经网络中的前向传播算法,后续还有反向传播算法、损失函数和激活函数、正则化。

2.从感知机到神经网络

机器学习之Logistic回归之中,我们利用过感知机的模型。如下图所示,也就是有若干个输入和一个输出的感知机模型。
01

感知机通过输入和输出学习得到一个线性模型,得到中间输出结果z。然后利用激活函数,从而得到我们希望的结果,例如1或-1。
z = ∑ i = 1 m w i x i + b z=\sum _{i=1}^{m}w_i x_i +b z=i=1mwixi+b
s i g n ( z ) = { − 1 z &lt; 0 1 z ≥ 0 sign(z)=\left\{\begin{matrix} -1 &amp; z&lt;0 \\ 1 &amp; z \ge0 \end{matrix}\right. sign(z)={ 11z<0z0
上述模型只能用于二元分类,且无法学习比较复杂的非线形模型。而神经网络则是在感知机的模型上做扩展,主要增加以下三点。

  • **增加隐含层:**如下图所示,隐含层可以有多层,增加模型的表达能力。当然隐含层增加,模型的复杂度也就会增加。
    02

  • **输出层的神经元可以有多个输出:**这样模型便能够灵活的应用于分类和回归,以及其他的机器学习领域,比如降维和聚类。如下图所示,输出层有4个神经元。
    03

  • **扩展激活函数:**感知机的激活函数sign(z)处理能力有限,因此神经网络一般使用其他激活函数,比如我们在逻辑回归里面使用的Sigmoid函数。当然还有tanx,softmax,ReLU等激活函数,通过使用不同的激活函数,神经网络的表达能力也就不同,对于各种常用的激活函数,我们在后面会进行专门介绍。

f ( z ) = 1 1 + e − z f(z)=\frac{1}{1+e^{-z}} f(z)=1+ez1

3.DNN基本结构

从DNN按照不同层的位置来划分,DNN内部的神经网络层可以分为三类,分别是输入层、隐含层、输出层。如下图所示,一般来说第一层是输入层,最后一层是输出层,而中间的层数都是隐含层。
04

DNN的层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来复杂,但是从局部模型来说,还是和感知机相同,即线性关系z加上激活函数σ(z)。由于DNN层数较多,那么线性关系系数w和偏移量b也就很多。但具体的参数在DNN之中如何定义呢?
05

首先我们来看看线性关系系数 w w w的定义。以上述的三层DNN为例,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为 w 24 3 w^{3}_{24} w243。上标3代表线性系数 w w w所在的层数,而下标对应的是输出的第三层的第2个神经元和输入的第二层的第4个神经元。

但是,为什么我们不用更方便的 w 42 3 w^{3}_{42} w423表示,即输入的第二层的第4个神经元和输出的第三层的第2个神经元,而是用 w 24 3 w^{3}_{24} w243表示呢?这样做的目的主要是为了方便矩阵运算,如果是 w 42 3 w^{3}_{42} w423的话,那么每次运行的都是 w T x + b w^Tx+b wTx+b,需要进行矩阵转置。将输出的索引放在前面的话,线性运算则不需要转置,直接运算 w x + b wx+b wx+b即可。总结下也就是,第 l − 1 l-1 l1层的第 k k k个神经元到第 l l l层的第 j j

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值