(Review cs231n) Gradient Vectorized
注意:
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的更多相关文章
- (Review cs231n) Gradient Calculation and Backward
---恢复内容开始--- 昨日之补充web. 求解下图的梯度的流动,反向更新参数的过程,表示为 输入与损失梯度的关系,借助链式法则,当前输入与损失之间的梯度关系为局部梯度乘以后一层的梯度. ---恢复 ...
- (Review cs231n) The Gradient Calculation of Neural Network
前言:牵扯到较多的数学问题 原始的评分函数: 两层神经网络,经过一个激活函数: 如图所示,中间隐藏层的个数的各数为超参数: 和SVM,一个单独的线性分类器需要处理不同朝向的汽车,但是它并不能处理不同颜 ...
- (Review cs231n) Object Detection
目标:我们有几个类别,然后我们要在这张图中找到这些类的所有实例 解决思路:是否可以按照回归的思路进行求解呢? 但是受限制于确定的种类输出问题. 方法:分类和回归是解决问题的两个套路,我们现在对于目标的 ...
- (Review cs231n) Training of Neural Network2
FFDNet---matlab 调用并批处理 format compact; global sigmas; % input noise level or input noise level map a ...
- (Review cs231n) Optimized Methods
Mini-batch SGD的步骤: 1.Sample a batch of data 2.Forward prop it through the graph,get loss 3.backprop ...
- (Review cs231n) CNN in Practice
Make the most of your data Data augmentation 加载图像后,对图像做一些变化,这些变换不改变图像的标签. 通过各种变换人为的增大数据集,可以避免过拟合提高模型 ...
- (Review cs231n) Spatial Localization and Detection(classification and localization)
重在图像的定位和检测的内容. 一张图片中只有一种给定类别标签的对象,定位则是图像中有对象框:再这些类中,每一个训练目标都有一个类和许多的图像内部对应类的位置选框. 猜想的仅是类标签,不如说它们是位置 ...
- (Review cs231n) ConvNet
概念 神经网络的深度和数据据体的深度(图像的通道数channels)要主要区分. 输入 1.得到一些数据,作为网络的输入. 2.在CNN中有filter,the size of filter is s ...
- (Review cs231n) BN and Activation Function
CNN网络的迁移学习(transfer learning) 1.在ImageNet上进行网络的预训练 2.将最上方的层,即分类器移除,然后将整个神经网络看成是固定特征提取器来训练,将这个特征提取器置于 ...
随机推荐
- Spring加载classpath与classpath*的过程剖析
使用spring-boot 1.5.7 在resource目录下创建i18n文件夹 使用spring的默认配置没有加载到文件 # INTERNATIONALIZATION (MessageSource ...
- mysql 数据操作 目录
mysql 记录的增删改查 mysql 数据操作 单表查询 mysql 数据操作 多表查询
- 设计模式之装饰模式(Decorator)摘录
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/fengbingchun/article/details/29237955 23种GOF设计模式一般分 ...
- NYOJ 最长公共子序列
# include<iostream> # include<string> # include<stdio.h> using namespace std; ][]; ...
- Linux ssh将命令放入后台
如何在关闭ssh连接的情况下,让程序继续运行? 对Unix,Linux类服务器维护经常是通过ssh完成的,而有些操作比较费时,如更新程序等.此时如果断开ssh连接的话,更新程序就会随之被中断.如何保证 ...
- Oracle SQL常用语句
1,查询插入 insert into user_role(account_id, role_id, create_user) select t.employee_id, 'BC8FBF8B1D9843 ...
- [LeetCode] 111. Minimum Depth of Binary Tree_Easy tag:DFS
Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shor ...
- [Java in NetBeans] Lesson 12. Arrays
这个课程的参考视频和图片来自youtube. 主要学到的知识点有: 1. Array: container that holds a fixed number of values of the sam ...
- conda常用命令
1. conda基本命令 检查Anaconda是否成功安装 conda --version 检测目前安装了哪些环境 conda info --envs 检查目前有哪些版本的python可以安装: co ...
- 关于如何利用计算属性进行button的控制
element分页没用它的 (这个只要上一页下一页),比如共2页的时候,你在第一页,你肯定可以点击下一页,当你进入到第二页的时候这个button肯定就不能点击了啊,它的属性diaabled=true让 ...