(Review cs231n) Gradient Vectorized

Posted chenke-cheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(Review cs231n) Gradient Vectorized相关的知识,希望对你有一定的参考价值。

注意:

  1.每次更新,都要进行一次完整的forward和backward,想要进行更新,需要梯度,所以你需要前馈样本,马上反向求导,得到梯度,然后根据求得的梯度进行权值微调,完成权值更新。

  2.前馈得到损失,反馈得到梯度,对梯度的使用来完成权值更新。

  3. 训练的过程,前馈,反馈,更新;......

 

我们需要进行向量处理,网络中流动的数据并不是标量,全是向量,局部梯度原本是标量,现在它们是雅可比矩阵(雅可比矩阵类似于多元函数的导数,函数的一阶偏导数以一定方式排列成的矩阵)

雅可比矩阵是二维矩阵,表示x中每个元素对z中每个元素的影响,这些由雅可比矩阵存储,梯度和以前一样

 

dL/dz是一个向量,dz/dx是雅可比矩阵(局部梯度),最终得到了一个矩阵和向量的乘积,来表示梯度的反向传播。

技术图片

雅可比矩阵可不要求出:

技术图片

雅可比矩阵是一个4096*4096的矩阵,但只有在对角线才有值,进行的是单个元素的操作,对角线不全为1,小于0的数据要提升为0,所以对角线的1被取代0,求出雅可比矩阵不可取,也不会真的矩阵和向量相乘。

因为矩阵有特殊结构,可以进行利用,因为你只需要观察那些小于0的输入,然后将这些维度上的梯度置0,你从这得到输出梯度,对于小于0的数将梯度置0,继续反向传播。

最终输出的是一个数求得损失函数,我们对分别计算梯度感兴趣,如果我们有多重输出,在反向传播中,必须同时对所以梯度的流向进行跟踪,最终的损失是一个标量。

在进行mini-batch时候,每个样例都是独立的,只是同时进行传播。雅可比矩阵非常大,利用稀疏性。

技术图片

层与层之间连接通过向量的传递完成,传递的n维数组,数组在各层之间传递。

技术图片

以上是关于(Review cs231n) Gradient Vectorized的主要内容,如果未能解决你的问题,请参考以下文章

(Review cs231n) Spatial Localization and Detection(classification and localization)

CS231n笔记 Lecture 9, CNN Architectures

[转] 贺完结!CS231n官方笔记授权翻译总集篇发布

CS231n课程笔记翻译

cs231n 学习笔记 by qscqesze

CS231n:基础知识