CS231n系列课程Lecture4:Backpropagation and Neural Networks(part 1)
先贴出课程链接: http://pan.baidu.com/s/1cBznv4 密码: 7nbg
课程开始回顾了一下得分函数,SVM loss, data loss + regularization,还有optimization,常用的方法就是Gradient Descent,梯度下降,数值梯度存在速度慢,求得的是近似解的问题,但是代码比较好写。解析梯度使用的是微积分的方法,速度快,很精确,但是代码稍微复杂一些。通常在构建网络求解析梯度时,可以先用数值梯度进行检验,确保梯度求解正确的条件下,把数值梯度检验去掉(因为速度真的很慢),进行计算。
这节课主要讲到的是Backpropagation(反向传播)
这部分在课程中讲的还是比较清晰的,这里就提出原课程的PPT,如上图所示,我们可以先定义一个f函数,函数定义见PPT,通过PPT右侧的流程图可以看到,当x=-2,y=5,z=-4的函数表达式计算出来的结果。计算出f=-12,当f对f求导时是恒等式为1,那f对z求导,我们可以通过微积分的只是知道为q,通过定义式q=x+y=3,说明如果我们在q上增加一个增量h,结果会增加3h,即q对f的影响是正影响。同理对q求导得到z,z=-4,得到的是负值,说明z对f的影响是负的,也就是说z上增加一个h,结果会减少4h。
使用链式法则就可以求出原始输入对最终结果f的影响。这个应该蛮好理解的。链式法则一个最主要的公式:全局梯度×局部梯度。整个课程的前半部分都是在使用这个公式。
这是课程中举的另外一个例子,采用的也是链式法则,PPT中已经把求导规则列出来了,这个感兴趣的小伙伴可以自行推导一下,值得注意的是这边我们使用的激活函数是Sigmoid函数,也就是S门。这部分的求导我就不赘述了。在之前的例子我们都是用的是标量进行求导,其实可以进行向量化计算,这样表达式会很简便,向量化计算要使用Jacobian矩阵,这部分知识自行查阅吧。
第二部分主要讲的就是神经网络,先贴出一张脑神经的图
首先我们先把之前对脑神经的印象排除掉,回想之前讲过的线性分类器,可以看到如果是两层的神经网络,其实就是把之前线性分类函数得到的结果通过激活函数筛选后,再进行一次线性计算。这里要注意的是设置的神经元个数可以相同也可以不相同,这是根据工程的需要来进行选择的,现在对神经网络来说,是网络越宽越好还是网络层数越深越好还没有特定的结论,只能说针对不同的任务,设计的网络肯定是不太相同的。什么叫激活函数?激活函数有哪些呢?
这里先贴出激活函数的几种常见类型,具体特性如何且听下回分解啦O(∩_∩)O
CS231n系列课程Lecture4:Backpropagation and Neural Networks(part 1)相关推荐
- CS231n系列课程Lecture6: Training Neural Networks, Part 2
课程链接: https://pan.baidu.com/s/1mhGp08K 密码: xgex Parameter Updates 1.梯度下降(最速下降法) 这个就是简单的梯度下降,dxdx就是求出 ...
- 【Deep Learning 五】课程二(mproving Deep Neural Networks),第一周(Setting up your Machine Learning Applicat)答案
吴恩达深度学习课程课后习题(2课1周) 数据集规模相对小的,可以采用传统三七或二二六分法,但在大量数据的时候,只需要1%的验证和测试就足够了.答案C 有时候我们会遇到训练集和验证/测试集来自不同地方的 ...
- 机器学习入门课程笔记(二)——deeplearning.ai: Improving Deep Neural Networks
欢迎前往我的个人博客网站:mathscode.top获取更多学习资源. 所有文本内容会在知乎: MathsCode同步 所有开放资源会在Github: MathsCode开放下载 有问题欢迎大家评论或 ...
- Programing Exercise 4:Neural Networks Learning
本文讲的是coursera上斯坦福大学机器学习公开课(吴文达)课程第五周Neural Networks :learning 的课后作业.本文给出了作业实现的具体代码,并给出相应的注释和解释,供各位同学 ...
- 吴恩达deeplearning.ai系列课程笔记+编程作业(13)序列模型(Sequence Models)-第一周 循环序列模型(Recurrent Neural Networks)
第五门课 序列模型(Sequence Models) 第一周 循环序列模型(Recurrent Neural Networks) 文章目录 第五门课 序列模型(Sequence Models) 第一周 ...
- 吴恩达深度学习课程deeplearning.ai课程作业:Class 4 Week 1 Convolutional Neural Networks: Step by Step
吴恩达deeplearning.ai课程作业,自己写的答案. 补充说明: 1. 评论中总有人问为什么直接复制这些notebook运行不了?请不要直接复制粘贴,不可能运行通过的,这个只是notebook ...
- [cs231n][Module 1: Neural Networks] Image Classification
原文:[image classification notes]. 翻译:图像分类笔记(上)(下). cs231n课程中的一篇介绍性教程,以下为阿幻的学习笔记: 照例,先摘个大纲: Intro to I ...
- 机器学习入门课程笔记(一)——deeplearning.ai: Neural Networks and Deep Learning
欢迎前往我的个人博客网站:mathscode.top获取更多学习资源. 所有文本内容会在知乎: MathsCode同步 所有开放资源会在Github: MathsCode开放下载 欢迎关注我的公众号: ...
- 【深度学习笔记】cs231n neural networks 3
cs231n neural networks 3笔记 Gradient checks 1. Use the centered formula 2. Use relative error for the ...
最新文章
- Sparse low rank approximation
- canvas百分比加载动画
- Git版本库创建(包含文件权限设置 Linux环境下)
- java 手动线程调度_Java Thread 多线程 操作线程
- overleaf服务端_部署私有在线Latex编辑器:Overleaf/sharelatex,写毕设神器
- 计算机二级asscii的知识点,计算机二级试题及答案
- 如何查询oracle死锁,Oracle死锁查看和解决办法汇总
- 《SLAM十四讲》知识点梳理
- python生成exe启动很慢,win2000上的python启动非常慢
- __gnu_cxx::hash_map使用中的一些问题
- SQLite学习手册(目录)
- Forrester告诫CIO们:谨慎应用区块链网络
- 002649:bootdo项目改造计划
- Java小开发(车辆信息管理系统)
- 【C语言】统计素数并求和
- 百度服务获取坐标放置在天地图上实例
- 清除U盘内所占的隐藏空间(U盘容量突然变小了)
- 青龙面板加xdd-plus机器人保姆级教程
- 用 Python 玩视频剪辑 让生活简易化
- xml读取出现中文乱码