cs231n spring 2017 lecture4 Introduction to Neural Networks 听课笔记
1. Backpropagation:沿着computational graph利用链式法则求导。每个神经元有两个输入x、y,一个输出z,好多层这种神经元连接起来,这时候已知∂L/∂z,可以求出∂L/∂x = ∂L/∂z * ∂z/∂x,∂L/∂y = ∂L/∂z * ∂z/∂y。靠这种方式可以计算出最终的loss function相对于最开始的输入的导数。
这种方法的好处是,每个神经元都是很简单的运算(比如加、减、乘、除、指数、sigmoid等),它们导数的解析式是很容易求解的,用链式法则连乘起来就得到了我们需要的导数。如果直接求的话会很复杂很难求。
2. Add(x, y)是gradient distributor,把后面神经元的导数反向传递给x和y。
Max(x, y)是gradient router,它只会反向传递给x、y中大的那一个。可以这么直观的理解,由于只有x、y中大的那个数被传递到后面的神经元对最后结果产生影响,所以在反向传递的时候,也只会评估x、y中大的那个数。
Mul(x, y)是gradient switcher,它把后面神经元的导数分别传递给x和y,传给x的部分乘以y,传给y的部分乘以x。
想想求导公式就明白了。
3. 对于一个输入x,两个输出y、z的神经元,反向传递求导的时候,是把从y和z两路反向传递过来的导数求和。
4. 如果x、y、z等元素都不是标量,而是向量,则求导全部都变成了雅克比矩阵。对于一个4096维输入,4096维输出的系统,雅克比大小为4096*4096,如果minibatch里100个采样,则雅克比变成了409600*409600大小,运算很麻烦。但如果知道输出的某个元素只和输入的某些元素相关,则求偏导的时候只有相关项有值,其他都是0,这个性质可以被用来加速计算。极端的情况,如果输入和输出一一对应,则雅克比是对角矩阵。
5. 深度学习框架(比如Caffe等)的API里,会定义不同的layer,每种layer就是搭神经网络的积木(也就是上文说的神经元节点),每种layer会有自己的forward()/backward()函数,分别用来正向的从输入求出输出,和反向的求loss funciton对这个节点输入的导数。
6. 神经网络,从函数的角度说就是复合函数,把简单函数一层层堆叠起来。例如线性函数f=Wx,则两层的神经网络可能是f=W2max(0,W1x),三层的网络可能是f=W3max(0, W2max(0,W1x))。直观地说,比如在物体分类的问题中,第一层网络训练出的权重可能是一个红色的车的template,而第二层网络的权重可能是不同的颜色,这样两层网络就实现了泛化预测各种颜色的车的目的。
7. 从生物学的角度看,sigmoid函数是非常有道理的,它意味着输入进来的信号不够强的时候输出为0,神经元没有被激活,足够强之后,神经元被激活从而产生输出。ReLU:f(x) = max(0, x)也是同样的想法。这些都是“激活函数”。所以深度学习中实际构造的神经元,通常是一个线性单元复合一个激活函数sigmoid(Wx+b)。
8. 虽然深度学习从脑科学得到了很多启发,但是我们要谨慎的把两者做直接类比,因为生物神经元要复杂的多。
cs231n spring 2017 lecture4 Introduction to Neural Networks 听课笔记的更多相关文章
- cs231n spring 2017 lecture4 Introduction to Neural Networks
1. Backpropagation:沿着computational graph利用链式法则求导.每个神经元有两个输入x.y,一个输出z,好多层这种神经元连接起来,这时候已知∂L/∂z,可以求出∂L/ ...
- cs231n spring 2017 lecture3 Loss Functions and Optimization 听课笔记
1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好. 几种典型的loss function: 1)Multiclass SVM loss:一般的S ...
- cs231n spring 2017 lecture10 Recurrent Neural Networks 听课笔记
(没太听明白,下次重新听一遍) 1. Recurrent Neural Networks
- cs231n spring 2017 lecture1 Introduction to Convolutional Neural Networks for Visual Recognition 听课笔记
1. 生物学家做实验发现脑皮层对简单的结构比如角.边有反应,而通过复杂的神经元传递,这些简单的结构最终帮助生物体有了更复杂的视觉系统.1970年David Marr提出的视觉处理流程遵循这样的原则,拿 ...
- cs231n spring 2017 lecture1 Introduction to Convolutional Neural Networks for Visual Recognition
1. 生物学家做实验发现脑皮层对简单的结构比如角.边有反应,而通过复杂的神经元传递,这些简单的结构最终帮助生物体有了更复杂的视觉系统.1970年David Marr提出的视觉处理流程遵循这样的原则,拿 ...
- cs231n spring 2017 lecture5 Convolutional Neural Networks听课笔记
1. 之前课程里,一个32*32*3的图像被展成3072*1的向量,左乘大小为10*3072的权重矩阵W,可以得到一个10*1的得分,分别对应10类标签. 在Convolution Layer里,图像 ...
- cs231n spring 2017 lecture10 Recurrent Neural Networks
(没太听明白,下次重新听一遍) 1. Recurrent Neural Networks
- cs231n spring 2017 lecture12 Visualizing and Understanding 听课笔记
这一节课很零碎. 1. 神经网络到底在干嘛? 浅层的是具体的特征(比如边.角.色块等),高层的更抽象,最后的全连接层是把图片编码成一维向量然后和每一类标签作比较.如果直接把图片和标签做像素级的最近领域 ...
- cs231n spring 2017 lecture9 CNN Architectures 听课笔记
参考<deeplearning.ai 卷积神经网络 Week 2 听课笔记>. 1. AlexNet(Krizhevsky et al. 2012),8层网络. 学会计算每一层的输出的sh ...
随机推荐
- Struts2学习---基本配置,action,动态方法调用,action接收参数
首先我们先来直接配置,然后再来讲原理: 第一步:jar包的引入: 我们可以到struts2的官网上下载: http://struts.apache.org/download.cgi#struts251 ...
- KVM_虚拟化技术
1 什么是 KVM KVM 是指基于 Linux 内核的虚拟机(Kernel-based Virtual Machine). 2006 年 10 月,由以色列的 Qumranet 组织开发的一种新的“ ...
- JSP和JavaBean总结
JSP JSP全名为Java Server Pages,即java服务器页面,其根本是一个简化的Servlet设计.它是在传统的网页HTML文件中插入Java代码,从而形成JSP文件. JSP注释分为 ...
- 【Zookeeper】源码分析之服务器(一)
一.前言 前面已经介绍了Zookeeper中Leader选举的具体流程,接着来学习Zookeeper中的各种服务器. 二.总体框架图 对于服务器,其框架图如下图所示 说明: ZooKeeperServ ...
- Linux中dos2unix批量转换
有时候遇到多层目录下的文件格式需要转换,dos2unix 没有-r之类的递归指令,所以需要与find还有管道结合. find -type f | xargs dos2unix -o
- vs2015企业版密钥
专业版:HMGNV-WCYXV-X7G9W-YCX63-B98R2 企业版:HM6NR-QXX7C-DFW2Y-8B82K-WTYJV
- bzoj 5016: [Snoi2017]一个简单的询问
Description 给你一个长度为N的序列ai,1≤i≤N和q组询问,每组询问读入l1,r1,l2,r2,需输出 get(l,r,x)表示计算区间[l,r]中,数字x出现了多少次. Input 第 ...
- COMPUTE子句和Group By
首先声明一下,这个COMPUTE语法在SQLServer 2012之后,就废弃使用了,详情请看https://msdn.microsoft.com/librar ...
- 怎么为WebStorm更换主题 修改字体样式
这篇文章主要用于帮助大家解决怎么为webstorm换theme. 首先,到选择一个自己喜欢的皮肤,Webstorm皮肤网址: http://phpstorm-themes.com/ 然后,选中你喜欢的 ...
- 二:mysql安装配置、主从复制配置详解
作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/8213723.html 邮箱:moyi@moyib ...