相关文章
浅层神经网络主要包括 浅层神经网络有哪些
2024-11-10 17:39

浅层神经网络主要包括 浅层神经网络有哪些

首先,我们从整体结构上来大致看一下神经网络模型。

前面的课程中,我们已经使用计算图的方式介绍了逻辑回归梯度下降算法的正向传播和反向传播两个过程。如下图所示。神经网络的结构与逻辑回归类似,只是神经网络的层数比逻辑回归多一层,多出来的中间那层称为隐藏层/中间层。这样从计算上来说,神经网络的正向传播和反向传播过程只是比逻辑回归多了一次重复的计算。正向传播过程分成两层,第一层是输入层到隐藏层,用上标[1]来表示:

浅层神经网络主要包括 浅层神经网络有哪些_深度学习

第二层是隐藏层到输出层,用上标[2]来表示:

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_02

在写法上值得注意的是,方括号上标[i]表示当前所处的层数;圆括号上标(i)表示第i个样本。

同样,反向传播过程也分成两层。第一层是输出层到隐藏层,第二层是隐藏层到输入层。

浅层神经网络主要包括 浅层神经网络有哪些_深度学习_03

单隐藏层神经网络就是典型的浅层(shallow)神经网络如下图所示。

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_04

 结构上,从左到右,可以分成三层:输入层(Input layer),隐藏层(Hidden layer)和输出层(Output layer)。输入层和输出层,顾名思义,对应着训练样本的输入和输出,很好理解。隐藏层是抽象的非线性的中间层。

在写法上,我们通常把输入矩阵X记为

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_05

,把隐藏层输出记为

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_06

,上标从0开始。用下标表示第几个神经元,注意下标从1开始。例如浅层神经网络主要包括 浅层神经网络有哪些_神经网络_07表示隐藏层第1个神经元,

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_08

表示隐藏层第2个神经元。这样,隐藏层有4个神经元就可以将其输出浅层神经网络主要包括 浅层神经网络有哪些_深度学习_09写成矩阵的形式:

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_10

 最后,相应的输出层记为浅层神经网络主要包括 浅层神经网络有哪些_人工智能_11,即y^。这种单隐藏层神经网络也被称为两层神经网络(2 layer NN)。之所以叫两层神经网络是因为,通常我们只会计算隐藏层输出和输出层的输出,输入层是不用计算的。这也是我们把输入层层数上标记为0的原因(

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_12

)。

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_13

接下来我们开始详细推导神经网络的计算过程。两层神经网络可以看成是逻辑回归再重复计算一次。如下图所示,逻辑回归的正向计算可以分解成计算z和a的两部分:

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_14

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_15

对于两层神经网络,从输入层到隐藏层对应一次逻辑回归运算;从隐藏层到输出层对应一次逻辑回归运算。每层计算时,要注意对应的上标和下标,一般我们记上标方括号表示layer,下标表示第几个神经元。例如浅层神经网络主要包括 浅层神经网络有哪些_深度学习_16表示第l层的第i个神经元。注意,i从1开始,l从0开始。

下面,我们将从输入层到输出层的计算公式列出来:

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_17

 然后,从隐藏层到输出层的计算公式为:

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_18

 其中a[1]为:

浅层神经网络主要包括 浅层神经网络有哪些_神经网络_19

上述每个节点的计算都对应着一次逻辑运算的过程,分别由计算z和a两部分组成。

 为了提高程序运算速度,我们引入向量化和矩阵运算的思想,将上述表达式转换成矩阵运算的形式:

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_20

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_21

 之前也介绍过,这里顺便提一下,W[1]的维度是(4,3),b[1]的维度是(4,1),W[2]的维度是(1,4),b[2]的维度是(1,1)。这点需要特别注意。

上一部分我们只是介绍了单个样本的神经网络正向传播矩阵运算过程。而对于m个训练样本,我们也可以使用矩阵相乘的形式来提高计算效率。而且它的形式与上一部分单个样本的矩阵运算十分相似,比较简单。

浅层神经网络主要包括 浅层神经网络有哪些_深度学习_22

不使用for循环,利用矩阵运算的思想,输入矩阵X的维度为(nx,m)。这样,我们可以把上面的for循环写成矩阵运算的形式:

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_23

其中,

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_24

的维度是(4,m),4是隐藏层神经元的个数;

浅层神经网络主要包括 浅层神经网络有哪些_神经网络_25

的维度与

浅层神经网络主要包括 浅层神经网络有哪些_神经网络_26

相同;浅层神经网络主要包括 浅层神经网络有哪些_激活函数_27

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_28

的维度均为(1,m)。

对上面这四个矩阵来说,均可以这样来理解:行表示神经元个数,列表示样本数目m。

这部分Andrew用图示的方式解释了m个样本的神经网络矩阵运算过程。其实内容比较简单,只要记住上述四个矩阵的行表示神经元个数,列表示样本数目m就行了。

值得注意的是输入矩阵X也可以写成

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_29

神经网络隐藏层和输出层都需要激活函数(activation function),在之前的课程中我们都默认使用Sigmoid函数σ(x)σ(x)作为激活函数。其实,还有其它激活函数可供使用,不同的激活函数有各自的优点。下面我们就来介绍几个不同的激活函数g(x)。

sigmoid函数

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_30

tanh函数

 

浅层神经网络主要包括 浅层神经网络有哪些_深度学习_31

ReLU函数

浅层神经网络主要包括 浅层神经网络有哪些_神经网络_32

Leaky ReLU函数 

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_33

如上图所示,不同激活函数形状不同,a的取值范围也有差异。

如何选择合适的激活函数呢?首先我们来比较sigmoid函数和tanh函数。对于隐藏层的激活函数,一般来说,tanh函数要比sigmoid函数表现更好一些。因为tanh函数的取值范围在[-1,+1]之间,隐藏层的输出被限定在[-1,+1]之间,可以看成是在0值附近分布,均值为0。这样从隐藏层到输出层,数据起到了归一化(均值为0)的效果。因此,隐藏层的激活函数,tanh比sigmoid更好一些。

而对于输出层的激活函数,因为二分类问题的输出取值为{0,+1},所以一般会选择sigmoid作为激活函数。

观察sigmoid函数和tanh函数,我们发现有这样一个问题,就是当|z|很大的时候,激活函数的斜率(梯度)很小。因此,在这个区域内,梯度下降算法会运行得比较慢。在实际应用中,应尽量避免使z落在这个区域,使|z|尽可能限定在零值附近,从而提高梯度下降算法运算速度。

为了弥补sigmoid函数和tanh函数的这个缺陷,就出现了ReLU激活函数。ReLU激活函数在z大于零时梯度始终为1;在z小于零时梯度始终为0;z等于零时的梯度可以当成1也可以当成0,实际应用中并不影响。

对于隐藏层,选择ReLU作为激活函数能够保证z大于零时,梯度始终为1,从而提高神经网络梯度下降算法运算速度。但当z小于零时,存在梯度为0的缺点,实际应用中,这个缺点影响不是很大。为了弥补这个缺点,出现了Leaky ReLU激活函数,能够保证z小于零是梯度不为0。

最后总结一下,

如果是分类问题,输出层的激活函数一般会选择sigmoid函数。但是隐藏层的激活函数通常不会选择sigmoid函数,tanh函数的表现会比sigmoid函数好一些。实际应用中,通常会会选择使用ReLU或者Leaky ReLU函数,保证梯度下降速度不会太小。其实,具体选择哪个函数作为激活函数没有一个固定的准确的答案,应该要根据具体实际问题进行验证(validation)。

我们知道上一部分讲的四种激活函数都是非线性(non-linear)的。那是否可以使用线性激活函数呢?答案是不行!下面我们就来进行简要的解释和说明。

假设所有的激活函数都是线性的,为了简化计算,我们直接令激活函数g(z)=zg,即a=z。那么,浅层神经网络的各层输出为:

浅层神经网络主要包括 浅层神经网络有哪些_深度学习_34

我们对上式中a[2]进行化简计算:

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_35

 经过推导我们发现a[2]仍是输入变量x的线性组合。这表明,使用神经网络与直接使用线性模型的效果并没有什么两样。即便是包含多层隐藏层的神经网络,如果使用线性函数作为激活函数,最终的输出仍然是输入x的线性模型。这样的话神经网络就没有任何作用了。因此,隐藏层的激活函数必须要是非线性的。

另外,如果所有的隐藏层全部使用线性激活函数,只有输出层使用非线性激活函数,那么整个神经网络的结构就类似于一个简单的逻辑回归模型,而失去了神经网络模型本身的优势和价值。

值得一提的是,如果是预测问题而不是分类问题,输出y是连续的情况下,输出层的激活函数可以使用线性函数。如果输出y恒为正值,则也可以使用ReLU激活函数,具体情况,具体分析。

在梯度下降反向计算过程中少不了计算激活函数的导数即梯度。

我们先来看一下sigmoid函数的导数:

浅层神经网络主要包括 浅层神经网络有哪些_深度学习_36

对于tanh函数的导数:

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_37

对于ReLU函数的导数:

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_38

对于Leaky ReLU函数:

浅层神经网络主要包括 浅层神经网络有哪些_神经网络_39

接下来看一下在神经网络中如何进行梯度计算。

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_40

该神经网络正向传播过程为:

浅层神经网络主要包括 浅层神经网络有哪些_深度学习_41

其中,g(⋅)g(⋅)表示激活函数。

反向传播是计算导数(梯度)的过程,这里先列出来Cost function对各个参数的梯度:

浅层神经网络主要包括 浅层神经网络有哪些_神经网络_42

反向传播的具体推导过程我们下一部分再进行详细说明。

我们仍然使用计算图的方式来推导神经网络反向传播过程。记得之前介绍逻辑回归时,我们就引入了计算图来推导正向传播和反向传播,其过程如下图所示:

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_43

 由于多了一个隐藏层,神经网络的计算图要比逻辑回归的复杂一些,如下图所示。对于单个训练样本,正向过程很容易,反向过程可以根据梯度计算方法逐一推导。

浅层神经网络主要包括 浅层神经网络有哪些_人工智能_44

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_45

 总结一下,浅层神经网络(包含一个隐藏层),m个训练样本的正向传播过程和反向传播过程分别包含了6个表达式,其向量化矩阵形式如下图所示:

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_46

神经网络模型中的参数权重W是不能全部初始化为零的,接下来我们分析一下原因。

举个简单的例子,一个浅层神经网络包含两个输入,隐藏层包含两个神经元。如果权重W[1]和W[2]都初始化为零,即:

浅层神经网络主要包括 浅层神经网络有哪些_深度学习_47

浅层神经网络主要包括 浅层神经网络有哪些_深度学习_48

 我们把这种权重W全部初始化为零带来的问题称为symmetry breaking problem。解决方法也很简单,就是将W进行随机初始化(b可初始化为零)。python里可以使用如下语句进行W和b的初始化:

这里我们将

浅层神经网络主要包括 浅层神经网络有哪些_浅层神经网络主要包括_49

浅层神经网络主要包括 浅层神经网络有哪些_激活函数_50

乘以0.01的目的是尽量使得权重W初始化比较小的值。之所以让W比较小,是因为如果使用sigmoid函数或者tanh函数作为激活函数的话,W比较小,得到的|z|也比较小(靠近零点),而零点区域的梯度比较大,这样能大大提高梯度下降算法的更新速度,尽快找到全局最优解。如果W较大,得到的|z|也比较大,附近曲线平缓,梯度较小,训练过程会慢很多。

当然,如果激活函数是ReLU或者Leaky ReLU函数,则不需要考虑这个问题。但是,如果输出层是sigmoid函数,则对应的权重W最好初始化到比较小的值。

本节课主要介绍了浅层神经网络。

    以上就是本篇文章【浅层神经网络主要包括 浅层神经网络有哪些】的全部内容了,欢迎阅览 ! 文章地址:http://dh99988.xhstdz.com/news/3125.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://dh99988.xhstdz.com/mobile/ , 查看更多   
最新文章
适合中老年游戏活动的项目有哪些?
引言:为何中老年游戏活动尤为重要 随着社会的不断发展和生活水平的提升,中老年人的生活方式也随之改变。对于他们来说,健康和快乐成为了生活的重要组成部分。而游戏活动,不仅能够增加社交互动,还能锻炼身体与思维。因此,选择适合中老
上海旅游攻略:探访繁华之都的风情韵味
引言:开启上海的奇妙之旅 上海,这座迷人的城市,拥有着深厚的文化底蕴与现代化的繁华景象,无论是初次造访还是再次归来,都会让人惊叹于它独特的风情韵味。在这里,历史与现代交融,传统与创新并存,等待着你去探索这座繁华之都的每个角
高新企业网站优化方法大揭秘!
高新企业网站的重要性 随着互联网的快速发展,企业网站已经成为企业宣传、推广和营销的重要渠道。对于高新技术企业来说,网站更是展示企业形象、产品技术、行业影响力的窗口。因此,如何优化企业网站,提升网站的曝光率和用户体验成为了高
探索旅游景区的独特魅力:人文、自然与体验的完美结合”
引言:旅游景区的魅力所在 在如今快节奏的生活中,越来越多的人选择通过旅行来放松身心,寻找内心的宁静。在旅游的过程中,景区的选择则显得尤为重要。一个优质的旅游景区不仅仅是壮丽的自然风光,还有深厚的人文底蕴和丰富的体验活动。本
提升健康与活力:探索运动健身的多样化内容与方法
引言:健身的时代已来临 随着人们生活水平的提高,越来越多的人开始关注自身的健康与活力。运动健身不再是一种单一的方式,而是发展出了多样化的内容与方法。无论是为了减肥、塑形,还是增强体质,运动健身都成为了许多人的日常习惯和生活
80岁老人旅游规定的常见问题及注意事项解析
引言:老年人的旅游热潮 随着社会的发展和生活水平的提升,越来越多的老年人开始积极参与到旅游活动中。他们用实际行动证明,年龄并不是旅途的限制,反而是丰富人生经验的体现。虽然老年游客在旅途中享有更多的自由和乐趣,但在旅游规定及
AI写作论文是否会被检测?解密检测机制!
引言:AI写作的崛起 近年来,人工智能(AI)技术的发展迅猛,尤其是在写作领域。AI写作工具不仅能生成高质量的文章,还能满足不同用户的需求,成为内容创作的得力助手。然而,伴随着AI写作的普及,一个新的问题也逐渐显现出来:AI写作论文
几月份去兰州旅游最宜?
探索兰州的四季魅力 兰州,作为甘肃省的省会,坐落于黄河之畔,是一座历史悠久的城市,兼具独特的自然风貌与深厚的人文底蕴。每个季节,兰州展现出不同的面貌,吸引着四面八方的游客前来探索。那到底几月份去兰州旅游最为宜人呢?接下来,
探索中国旅游标志的原型与文化内涵的深度解读
探索中国旅游标志的原型与文化内涵 中国作为一个拥有悠久历史和丰富文化的国家,其旅游标志更是象征着一种独特的文化内涵。中国旅游标志的原型多取材于中国传统艺术元素,加之对中国文化的理解与诠释,形成了独具魅力的形象。 中国国徽与中
轻松搞定!服务器配置RAID:提高性能数据安全双保险!
轻松搞定!服务器配置RAID:提高性能数据安全双保险! 随着信息技术的不断发展,服务器在企业中扮演着至关重要的角色。为了提高性能和数据安全,服务器配置RAID已经成为了一种常见的选择。RAID(Redundant Array of Independent Disks)即
相关文章