前馈神经网络.

上传人:我** 文档编号:116744631 上传时间:2019-11-17 格式:PPT 页数:53 大小:1.48MB
返回 下载 相关 举报
前馈神经网络._第1页
第1页 / 共53页
前馈神经网络._第2页
第2页 / 共53页
前馈神经网络._第3页
第3页 / 共53页
前馈神经网络._第4页
第4页 / 共53页
前馈神经网络._第5页
第5页 / 共53页
点击查看更多>>
资源描述

《前馈神经网络.》由会员分享,可在线阅读,更多相关《前馈神经网络.(53页珍藏版)》请在金锄头文库上搜索。

1、1 深度学习 第6章 深度前馈网络 2 概述 p以学习异或为例 p基于梯度的学习 n成本函数 n输出单元 p隐藏单元 n线性修正单元 nSigmoid单元和双曲正切单元 p设计结构 p反向传播算法 3 深度前馈网络 p深度前馈网络也被称之为前馈神经网或者多层感 知机。 p一个前馈网络定义了一个映射函数 y=f(x;) ,通过学习参数,得到最接近样本数据的函数 f*估计。 p“前馈”并不意味着网络中的信号不能反传,而 是指网络拓扑中不能存在回路或环(反馈)。 4 6.1:以学习异或为例 p目标:让 X = 0, 0, 0 , 1 ,1, 0, 1, 1 在网络中获得正确的结果。 p前期准备: n

2、认为是回归问题 n采用均方误差作为损失函数 n假设选择线性模型 5 6.1:以学习异或为例 p通过求解正规方程得到 w=0,b=0.5 p线性模型不能实现异或。 n当x1为0时,模型的输出要随着x2的增长而增长,当x1 为1时,模型输出要随着x2的增长而减小。线性模型不能 通过x1来改变x2的系数!该问题是线性不可分的。 6 6.1:以学习异或为例 p解决方法:引入含有一个隐层的前馈网络。 p引入了激活函数: n使用线性修正单元作为激活函数: g(z) = max0, z 7 6.2:基于梯度的学习 p对于机器学习模型,为了应用梯度下降我们必须 选择一个cost函数。 p深度神经网络设计的一个

3、重要方面是cost函数的 选择。 p大多情况下,我们使用训练数据和模型预测之间 的cross-entropy(交叉熵)作为cost函数。 8 6.2.1.1:使用最大似然学习条件分布 p大多数现代神经网络是用最大似然训练的,其 cost函数为: p由于概率模型p不同,故cost函数是变化的。 p很多的输出单元包括一个exp函数,这个exp函 数能够在参数是很负值的时候饱和,而log- likelihood的log函数会抵消输出单元的exp。 9 6.2.1.2:学习条件统计 p与其训练一个全概率的分布p(y|x;),我们更 想仅仅训练一个在输入为x时,y的条件统计。 n比如,我们有一个预测器f

4、(x;)想要预测y的平均值 。 p我们使用一个足够强大的神经网络,我们可以认 为这个神经网络能够表示任何f,这些函数f只受到 像连续性有界性这样的特征限制。 n根据上述观点,可以把cost函数看作是一个 functional(泛函)而不是function。 nfunctional:把function映射为实数的映射。 10 6.2.1.2:学习条件统计 p使用变分法得到两个结果: p结果一: p如果我们训练来自真实数据产生的样本分布,最 小化均方误差函数将会给出一个函数,该函数给 出了在输入为x时y的均值。 11 6.2.1.2:学习条件统计 p使用变分法得到两个结果: p结果二: p该函数产

5、生出在输入为x时y的中值。 p均方误差和平均绝对误差使用梯度学习时会产生 很差的结果。 12 6.2.2:输出单元 pcost函数的选择和输出单元联系紧密,大多数时 候,我们仅仅在数据分布和模型分布之间使用 cross-entropy。 n如何选择输出单元决定着交叉熵函数的形式。 p任意类型的神经网络单元作为输出也能作为隐藏 单元。 p这部分,我们认为前馈网提供了由h=f(x;) 定义的特征。输出层的任务就是完成神经网络要 执行的一种转变。 13 6.2.2.1:线性输出单元 p使用线性单元的高斯分布: n线性单元:无阈值限制的感知器。 n给定特征h,一层线性输出层单元输出一个向量: n线性单

6、元可以输出有条件的高斯分布的均值。 n可以让高斯分布的协方差成为一个输入的函数,但是 要保证让协方差矩阵正定,线性单元难以做到。 n由于线性单元的不饱和性质,使用梯度下降学习有一 定的困难。 14 6.2.2.2:使用sigmoid单元的伯努利分布 p很多任务要求预测y的一个二元取值,比如二分 类问题。 p对于二项分布,我们只需要预测 时的 情况。 p假设我们用线性单元来模拟二项分布: p缺陷:当 在0,1区间外时,输出的 梯度变为0。 15 6.2.2.2:使用sigmoid单元的伯努利分布 p线性单元不能很好的满足我们的需求。 p可以用sigmoid输出单元结合最大似然来模拟一 个二项分布

7、。 pSigmoid单元的输出: n把sigmoid单元的输出看成两部分:加权求和(线性 层)和使用激活函数输出。 16 6.2.2.2:sigmoid单元模拟伯努利分布 p过程: n在y和z中,使用未归一化的log概率: n取对数: n归一化: n得到结果: 17 6.2.2.2:sigmoid单元模拟伯努利分布 p选取最大似然函数法学习获得cost function。 n这样成本函数中log可以化简sigmoid函数中的exp ,且只有函数得到正确答案时才会饱和。 n使用均方误差作为损失函数,不管得到的是不是正确 答案cost函数都可能饱和。 p损失函数: 18 6.2.2.3:softm

8、ax单元模拟Multinoulli分布 pMultinoulli分布:单一离散变量拥有有限K个 不同的状态。 n通过向量 参数化,每一个pi为第i个状态概 率。最后的概率由 得到。 n是多项分布的一种特例。 psoftmax函数最通常被用来作为输出的分类器。 p为了能够产生一个n个值的离散变量,我们现在 需要产生一个向量, i=P(y=i|x),我们不 仅要求的每个元素在0和1之间,还要求的所 有元素之和为1。 19 6.2.2.3:softmax单元模拟Multinoulli分 布 p过程: n使用未归一化的log概率,其中z由线性层产生: n取对数并且归一化: p选取最大似然函数法学习获得

9、cost function。 20 6.2.2.3:softmax单元模拟Multinoulli分 布 p未正则化的最大似然模型会让softmax预测在训 练集中观察到的每一个输出项的个数所占的比例 : p对于softmax,许多目标函数并没有像log- likelihood那样好。 n不使用log模型,不太容易消除softmax函数中的指 数项,当指数项趋近于负无穷时会产生梯度消失现象 。 p关于softmax 函数性质: 21 6.2.2.3:softmax单元模拟Multinoulli p关于softmax 函数性质: n饱和性质:当输入中存在zi相对于其他输入大得多时 ,softmax

10、(z)i比值接近于1,当输入中存在zi相对 于其他输入小得多时, softmax(z)i比值接近于0. p对于softmax中的z的产生: n通过之前层的加权求和得到。 n由于softmax输出之和为1,n个输出只需要知道n-1 个概率即可。 p可以把z中的任意一维度固定。比如令zn=0 p可以利用概率之和为1的特点来模拟各单元之间 的竞争。 22 6.2.2.4:其他输出单元 p最大似然原则对几乎对任何种类的输出层都提供 了良好的设计cost函数的引导。 p一般而言,函数f的输出并不是直接预测y的值, 而是提供了一个带参函数之上的y的分布。 p比如我们要学习对于x,输出y的有条件的高斯协 方

11、差。 n简单情况下方差是一个constant,可以通过得到的y 和期望值之间有一个闭式表达得到。 n一个比较复杂的方法是把方差作为分布p(y|x)的一个 属性,而且是受到 影响的,可以写成 p(y;w(x),然后用-log模型学习方差。 23 6.2.2.4:其他输出单元 p比如我们要学习对于x,输出y的有条件的高斯协 方差。 n在简单的情况下,标准差不取决于输入,我们可以产 生新的参数w,用-logp(y;w(x)模型去学习。 p异方差模型:对于不同的x值,模型可以预测在 输出y中不同的方差(?)。 n在异方差的模型里,我们简单地让方差成为f(x;)的 一个输出值。 n更好的方法是使用精度或

12、精度的对角矩阵而非方差, 因为能够在梯度下降中表现的很好。 n不管使用方差,标准差,还是精度,都要保证协方差 阵正定。 24 6.2.2.4:其他输出单元 pN成分的高斯混合输出: p混合密度网络:使用高斯混合作为输出的网络。 p : 每个成分的比例,n个不同成分的 多项分布,可由softmax得到,可以保证概率之 和为1. p :第i个高斯成分的均值。 p :第i个成分协方差阵。 25 6.2.2.4:其他输出单元 p有条件的高斯混合分布使用梯度学习可能是不稳 定的。 p三个成分的混和密度网络: 26 6.3 隐藏单元 p很难去决定什么时候去选取哪种隐藏单元,也很 难事先去预测哪个单元会产生

13、的效果会更好。 p一些隐藏单元并不是在所有的输入点都是可微的 。 n比如:rectified linear函数g(z)=max0,z 在0点不是可微分的。这貌似会使rectified linear 函数不能使用基于梯度的训练算法。而实践中,梯度 下降仍然表现很好。 p大多数隐藏单元可以被描述成接受一个输入向量 x,进行计算z= , 最后计算非线性激 活函数g(z)的值,大多数隐藏单元之间的不同 只是激活函数的不同。 27 6.3.1 :修正线性单元以及其推广 p修正线性单元使用的激活函数: n在0点处不可导,大于0部分导数为1,小于0部分导数 为0。 p优点: n收敛速度较快,有可能是因为它是

14、线性的,且非饱和 导致。 nReLU 只需要一个阈值就可以得到激活值,计算简便 。 p缺点: n“坏死现象”:在z0时梯度为0,这样就导致这个神 经元有可能再也不会被任何数据激活。如果这个情况 发生了,那么这个神经元之后的梯度就永远是0了。 28 6.3.1 :修正线性单元以及其推广 p由于在zi小于0时出现的问题,作出如下改进: n当zi小于0时,增加一个非零比例系数得到: n绝对值修正单元:令=-1有 nLeaky ReLU:让成为一个非常小的值。 nPReLU:令成为一个可学习的参数。 p改进后效果与Relu单元相当或更好些。 29 6.3.1 :修正线性单元以及其推广 pMaxout单

15、元: n把z向量分组,每组k个值。 30 6.3.1 :修正线性单元以及其推广 pMaxout单元性质: n可以学习一个分段线性,凸函数。 n它是一个可学习的激活函数,因为我们W参数是学习 变化的,导致zj也是变化的,选取的最大值也是变的 。 nmaxout激活函数并不是一个固定的函数,是一个固 定的函数方程。 n可以把线性修正单元看成是拥有两段的maxout单元 。 nMaxout单元会造成一定的冗余,这些冗余会一定程 度上抵制了神经网络中被称之为“灾难性忘却”的现象 。 31 6.3.2 : Logistic Sigmoid and Hyperbolic Tangent p逻辑回归sigm

16、oid激活函数: p即: p双区正切激活函数: p即: p两者之间的关系: 32 6.3.2 : Logistic Sigmoid and Hyperbolic Tangent p逻辑sigmoid与双曲正切图像: pSigmoid单元在输入非常大或非常小时容易饱和 ,导致出现梯度消失情况,因此作为隐藏单元效 果不好。 p相比之下,双曲正切比逻辑sigmoid要好一些。 33 6.3.3 : 其他隐藏单元 p通常新的隐藏单元只有在被证明有重大的改进的 时候才被发布,否则并没有太大的吸引力。 p考虑是否可以在隐层没有激活函数或者使用恒等 函数分f(x)=x作为激活函数? n线性单元可以作为神经网络的输出,同样也许可以作 为隐层。 n考虑神经网络有n个输入,p个输出,转换为 。可以使用两个层替代它,一层使用权 值矩阵U,另一层使用权值矩阵V,将W分解成U*V的 形式再去计算 ,如果U产生的输出q很

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号