注意:

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

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

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

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

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

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

雅可比矩阵可不要求出:

雅可比矩阵是一个4096*4096的矩阵,但只有在对角线才有值,进行的是单个元素的操作(因为输入和输出的维度是相同的,然后是单个单个的做RELU操作,所以这个雅可比矩阵的对角线上才有值,相对应的那个维度组才会有梯度的贡献,若输入大于0,则输入和输出相等,梯度为1;若输入小于0,则输出值提升到0,梯度),对角线不全为1,小于0的数据要提升为0,所以对角线的1被取代(dy/dx=0, 导数为0),求出雅可比矩阵不可取,也不会真的矩阵和向量相乘。

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

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

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

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

(Review cs231n) Gradient Vectorized的更多相关文章

  1. (Review cs231n) Gradient Calculation and Backward

    ---恢复内容开始--- 昨日之补充web. 求解下图的梯度的流动,反向更新参数的过程,表示为 输入与损失梯度的关系,借助链式法则,当前输入与损失之间的梯度关系为局部梯度乘以后一层的梯度. ---恢复 ...

  2. (Review cs231n) The Gradient Calculation of Neural Network

    前言:牵扯到较多的数学问题 原始的评分函数: 两层神经网络,经过一个激活函数: 如图所示,中间隐藏层的个数的各数为超参数: 和SVM,一个单独的线性分类器需要处理不同朝向的汽车,但是它并不能处理不同颜 ...

  3. (Review cs231n) Object Detection

    目标:我们有几个类别,然后我们要在这张图中找到这些类的所有实例 解决思路:是否可以按照回归的思路进行求解呢? 但是受限制于确定的种类输出问题. 方法:分类和回归是解决问题的两个套路,我们现在对于目标的 ...

  4. (Review cs231n) Training of Neural Network2

    FFDNet---matlab 调用并批处理 format compact; global sigmas; % input noise level or input noise level map a ...

  5. (Review cs231n) Optimized Methods

    Mini-batch SGD的步骤: 1.Sample a batch of data 2.Forward prop it through the graph,get loss 3.backprop ...

  6. (Review cs231n) CNN in Practice

    Make the most of your data Data augmentation 加载图像后,对图像做一些变化,这些变换不改变图像的标签. 通过各种变换人为的增大数据集,可以避免过拟合提高模型 ...

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

     重在图像的定位和检测的内容. 一张图片中只有一种给定类别标签的对象,定位则是图像中有对象框:再这些类中,每一个训练目标都有一个类和许多的图像内部对应类的位置选框. 猜想的仅是类标签,不如说它们是位置 ...

  8. (Review cs231n) ConvNet

    概念 神经网络的深度和数据据体的深度(图像的通道数channels)要主要区分. 输入 1.得到一些数据,作为网络的输入. 2.在CNN中有filter,the size of filter is s ...

  9. (Review cs231n) BN and Activation Function

    CNN网络的迁移学习(transfer learning) 1.在ImageNet上进行网络的预训练 2.将最上方的层,即分类器移除,然后将整个神经网络看成是固定特征提取器来训练,将这个特征提取器置于 ...

随机推荐

  1. 第二章 构建布局良好的windows程序

    工具箱→菜单和工具栏 菜单栏 MenuStrip的类型 MenuItem:菜单项 TextBox:文本框 ComboBoX:组合框 Separato:分割线 前面都有ToolStrip做前缀 Appl ...

  2. 使用IntelliJ IDEA创建Maven聚合工程、创建resources文件夹、ssm框架整合、项目运行一体化

    一.创建一个空的项目作为存放整个项目的路径 1.选择 File——>new——>Project ——>Empty Project 2.WorkspaceforTest为项目存放文件夹 ...

  3. LeetCode-52.N-Queen II

    The n-queens puzzle is the problem of placing n queens on an n×n chessboard such that no two queens ...

  4. 自然语言处理nlp工具

    1.结巴 适合语言:python 应用场景:中文分词较好 不适用于命名实体识别.信息抽取 2.nltk 适合语言:python 应用场景:不适用于中文分词,效果较差 提供了一些用于方便的方法

  5. 强制禁用gitlab的双因子认证:Two-Factor Authentication

    (一)问题描述: 此博客解决如下问题:禁用gitlab的双因子认证 禁用前,如图(此时,你在gitlab中什么也干不了) (二)思路分析: 百度了很多方法,都不可靠(如不可靠的说明:https://s ...

  6. python 合并列表 从大到小排序

    #!/usr/bin/env python # -*- coding: utf-8 -*- a = [1,2,3,4,5] b = [6,7,8,9,10] a.extend(b) a.reverse ...

  7. 爬虫解析库——BeautifulSoup

    解析库就是在爬虫时自己制定一个规则,帮助我们抓取想要的内容时用的.常用的解析库有re模块的正则.beautifulsoup.pyquery等等.正则完全可以帮我们匹配到我们想要住区的内容,但正则比较麻 ...

  8. centos 打包报错License for package Android SDK Build-Tools 25.0.3 not accepted

    报错如下: 提示没有25.0.3的安卓环境,那么,接下来就需要安装这个环境 1.android list sdk -a 会显示需要更新 类似如下(截图只是一部分,前后还有一部分): 2.android ...

  9. mac 安装geckodriver和chromedriver

    Last login: Fri Apr :: on ttys000 (base) localhost:~ ligaijiang$ env TERM_PROGRAM=Apple_Terminal SHE ...

  10. [LeetCode] 276. Paint Fence_Easy tag: Dynamic Programming

    There is a fence with n posts, each post can be painted with one of the k colors. You have to paint ...