反向传播算法

算法学习--反向传播

夙愿已清 提交于 2019-12-02 18:12:30
如有侵权,请留言,会尽快删除。 此文为笔记性质的文章,目的是方便自己以后回顾反向传播的思想和基本原理。 以下内容来自网易云课堂中李飞飞老师的cs231n的视频课程。 图解基本原理 一旦我们能用 计算图 来表示一个函数,那就能用所谓的反向传播技术 递归的调用链式法则 ,来计算一下计算图中每个变量的梯度。 复杂一些的计算图 在最右侧的计算时,函数对于自身的求导是1这没什么好说的,函数1/x 的倒数是 -1/x^2 ,将其中x的值1.37 带入,在与前一层得出的梯度值 1 进行相乘,得出的结果 -0.53 ,作为前一层梯度计算的输入。 最大门问题 解释:如果你要改变这个节点一点点,当你正通过这个图进行前向传递时,它会 在前向传递中影响到所有连接到这个节点的节点 ,然后当你进行反向传播的时, 所有传回的梯度都会影响这个节点 ,这就是我们如何将这些加起来得到回流到这个节点的总上游梯度。 来源: https://www.cnblogs.com/lyj0123/p/11756971.html

9、神经网络的学习

孤者浪人 提交于 2019-12-01 12:44:53
九、神经网络的学习(Neural Networks: Learning) 9.1 代价函数 参考视频: 9 - 1 - Cost Function (7 min).mkv 首先引入一些便于稍后讨论的新标记方法: 假设神经网络的训练样本有 m个,每个包含一组输入 x 和一组输出信号 y , L 表示神经网络层数 S I 表示每层的neuron个数( S l 表示输出层神经元个数), S L 代表最后一层中处理单元的个数。 将神经网络的分类定义为两种情况:二类分类和多类分类, 二类分类: S L = 0 , y = 0 o r S L =1,y=1各表示一类; K 类分类:S L = k , y i = 1 SL=k,yi=1表示分到第 i 类; ( k > 2 ) 我们回顾逻辑回归问题中我们的代价函数为: 在逻辑回归中,我们只有一个输出变量,又称标量(scalar),也只有一个因变量 y ,但是在神经网络中,我们可以有很多输出变量,我们的 hθ(x)是一个维度为 K 的向量,并且我们训练集中的因变量也是同样维度的一个向量 ,因此我们的代价函数会比逻辑回归更加复杂一些,为: h θ ( x ) ∈ R K ,( h θ (x)) i = i t h output 这个看起来复杂很多的代价函数背后的思想还是一样的,我们希望通过代价函数来观察算法预测的结果与真实情况的误差有多大

反向传播算法简介

我怕爱的太早我们不能终老 提交于 2019-11-28 13:28:52
反向传播算法 参考: http://neuralnetworksanddeeplearning.com/chap2.html BP 算法所关注的是损失函数 C 关于神经网络每一个权重 w 和偏置 b 的偏导。BP 算法向我们展示权值和偏置对损失值的影响。BP 不仅仅是一个快速的算法,其同时为我们提供了一个视角,让我们观察权值和偏置是如何影响网络输出的。 热身:使用矩阵计算网络输出 先介绍一个网络权重和偏置值的数学表示:$w_{jk}^l$,左侧的数学表达式表示第 $l$ 层网络的第 $j$ 个元素和第 $l-1$ 层第 $k$ 个元素之间的权重。同样的,$b_j^l$ 表示第 $l$ 层第$j$个元素的偏置值,$a_j^l$ 表示 $l$ 层第 $j$ 个元素的激活函数输出。利用这种数学表示,$a_j^l$ 可以表示为: $$ a_j^l = \sigma(\sum_k w_{jk}^l a_k^{l-1} + b_j^l) \tag{1} $$ 使用矩阵形式表示上述表达式: $$ a^l = \sigma(w^l a^{l-1} + b^l) \tag{2} $$ 定义 $z^l = w^l a^{l-1} + b^l$ 为激活函数的输入值则可以将上面表达式$(2)$ 表示为: $$ a^l = \sigma(z^l) \tag{3} $$ 损失函数的两个要求 BP

[学习笔记]深度学习-卷积神经网络从入门到精通

只愿长相守 提交于 2019-11-28 05:37:23
第二章 预备知识 2.1激活函数 激活函数也就是人工神经网络的神经元上运行的函数。 理论上可以是非线性的,但一般选非线性的。如sigmod函数,双曲正切函数,硬限幅函数,斜面函数等等 2.2矩阵运算 包括转置,旋转,乘积,加减法,阿达马积,克罗内克积,逐元函数。 2.3导数函数 包括sigmoid函数等的导数 2.4梯度下降算法 在无约束条件下计算出可微函数极小值的基本方法。负梯度方向就是函数此时下降最快的方向。 梯度下降算法一般线性收敛,速度通常较慢。 2.5反向传播算法 深度神经网络的基本学习训练方法是反向传播算法。 本质上是具有递归结构的梯度下降算法,往往需要给出足够多的训练样本才能获得满意的效果。 理解方向传播算法的基础是:任意前馈神经网络的通用反向传播算法和深层神经网络的逐层反向传播算法。 2.5.1通用反向传播算法https://yq.aliyun.com/articles/89551 来源: https://www.cnblogs.com/cyber-shady/p/11394107.html