李宏毅机器学习笔记4:Brief Introduction of Deep Learning、Backpropagation(后向传播算法)
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube、网易云课堂、B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对这些知识内容的理解与补充。(本笔记配合李宏毅老师的视频一起使用效果更佳!)
Lecture 6: Brief Introduction of Deep Learning
本节课主要围绕Deep Learing三步骤:
(1)function set
(2)goodness of function
(3)pick the best function
1.function set
Neuron之间采用不同的连接方式,就会得到不同的网络结构。
给定了网络结构,就定义了一个function set。
给定了网络结构并给定了参数,网络就是一个函数:而输入输出的形式都是向量。如下图所示:
在output layer之前的部分,可以看做特征提取(上一节描述的概念)。output layer是Multi-class Classifier.
但是问题来了,Deep learning中的隐层到底要订多少层合适呢?
2.goodness of function
损失函数表达式以及优化过程如下所示:
3.pick the best function
显而易见,优化损失函数采用的依旧是Gradient Descent。
但是现在市面上有很多软件可以帮我们进行GD的大部分计算:
Backpropagation:后向传播算法,在下一节内容我们将会详细讨论。
Lecture 7: Backpropagation
在神经网络的计算中,神经网络通常含有非常深的隐藏层,换句话说就是可能拥有百万量级的参数,为了在梯度下降时更加有效地计算梯度,所以本节课引入一个概念:反向传播算法(Backpropagation)
先让我们考虑只有一组data的时候对参数的偏微分,如下图:
根据链式法则, ∂C/∂w = ∂z/∂w * ∂C/∂z,计算∂z/∂w我们称为前向过程,计算∂C/∂z我们称为后向过程
前向过程:从上图中,我们能明显看出前向过程∂z/∂w的值。∂z / ∂wi = the value connected by the weight wi。
有关后向过程,让我们一起看下图:
后向过程:根据链式法则, ∂C / ∂z = ∂a / ∂z * ∂C / ∂a,其中∂a / ∂z = σ′(z)。
如下图所示倘若我们从另外一个观点看待上面的式子:有另外一个neuron(下图中的三角形,表示乘法/放大器),input是∂C / ∂z′与∂C / ∂z′′,权重分别是w3,w4w3,w4,求和经过neuron(乘以σ′(z)),得到∂C / ∂z。
那么现在问题又来了,我们该如何计算∂C / ∂z′与∂C / ∂z′′呢?分两种情况
(1)z′,z″ 所接的neuron是output layer的neuron
(2)z′,z″ 所接的neuron不是output layer的neuron
总结:实际上在做Backword Pass的时候,就是建立一个反向的neural network的过程,对损失函数求导 = 前向传播 * 后向传播:
划重点:
链式法则将计算∂C / ∂w 拆成前向过程与后向过程。
前向过程计算的是∂z / ∂w ,这里z是w所指neuron的input,计算结果是与w相连的值。
后向过程计算的是∂C / ∂z,这里z仍是w所指neuron的input,计算结果通过从后至前递归得到
李宏毅机器学习笔记4:Brief Introduction of Deep Learning、Backpropagation(后向传播算法)的更多相关文章
- [1天搞懂深度学习] 读书笔记 lecture I:Introduction of deep learning
- 通常机器学习,目的是,找到一个函数,针对任何输入:语音,图片,文字,都能够自动输出正确的结果. - 而我们可以弄一个函数集合,这个集合针对同一个猫的图片的输入,可能有多种输出,比如猫,狗,猴子等, ...
- 【DeepLearning学习笔记】Coursera课程《Neural Networks and Deep Learning》——Week1 Introduction to deep learning课堂笔记
Coursera课程<Neural Networks and Deep Learning> deeplearning.ai Week1 Introduction to deep learn ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- [C1W1] Neural Networks and Deep Learning - Introduction to Deep Learning
第一周:深度学习引言(Introduction to Deep Learning) 欢迎(Welcome) 深度学习改变了传统互联网业务,例如如网络搜索和广告.但是深度学习同时也使得许多新产品和企业以 ...
- A beginner’s introduction to Deep Learning
A beginner’s introduction to Deep Learning I am Samvita from the Business Team of HyperVerge. I join ...
- Introduction to Deep Learning Algorithms
Introduction to Deep Learning Algorithms See the following article for a recent survey of deep learn ...
- 机器学习 —— 基础整理(七)前馈神经网络的BP反向传播算法步骤整理
这里把按 [1] 推导的BP算法(Backpropagation)步骤整理一下.突然想整理这个的原因是知乎上看到了一个帅呆了的求矩阵微分的方法(也就是 [2]),不得不感叹作者的功力.[1] 中直接使 ...
- 李宏毅机器学习笔记5:CNN卷积神经网络
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- 学习笔记之深度学习(Deep Learning)
深度学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0 深度学习(deep lea ...
随机推荐
- Confluence 6 修改日志文件的大小数量和级别
修改日志文件的大小和数量 在默认的情况下,Confluence 将会保持 5 个日志文件,每一个日志文件的大小超过 20 MB 的时候将会被重写. 你可以修改默认日志文件的大小和数量,通过编辑 < ...
- 电子书转换为PDF格式
目录 一.mobi 转换 pdf 步骤 二.查看转换后的结果目录 三.将PDF还原文件名且移出至新目录 背景:当我们从网上下载一些电子小说或书籍的时候,一般文件的格式可能是.epub..mobi等.这 ...
- D3.js+Es6+webpack构建人物关系图(力导向图),动态更新数据,点击增加节点,拖拽增加连线...
觉得不错的麻烦加个Star:https://github.com/zhangzn3/D3-Es6 在线预览地址:https://zhangzn3.github.io/D3-Es6 功能列表:1. 增加 ...
- Metasploit渗透测试模块(一)
1.Metasploit模块加载 初始化界面,成功要加载数据库 查看 Metasploit中已近存在的漏洞模块使用 show payloads
- 波哥博客Url
http://www.cnblogs.com/whatlonelytear/
- CF 833B
互测题T3... 首先有个dp是非常好想的: 设dp[i][j]为前j个数分成i组的最大得分,则易得:dp[i][j]=max{dp[i-1][k-1]+num[k][j]},其中,num[k][j] ...
- 使用git克隆项目、从dev分支上更新代码以及将代码提交到Coding(或GitHub)上面
本教程的目的: 这是个crm项目中,有两个分支一个是master 和 dev ,master主分支,不允许提交代码,我要拉去dev分支上最新的代码,并将修改后的项目,在推送到dev分支上. 一. 1. ...
- Python老男孩
1.可以自己编写模块,但注意:如果想要调用该模块,需要将该模块放到site-packages目录下,或将该模块放在执行程序的路径下. 2.pyc文件是什么? 集合: set 集合可以去重:做交集.并集 ...
- python压缩文件
#coding=utf-8 #压缩文件 import os,os.path import zipfile #压缩:传路径,文件名 def zip_compression(dirname,zipfile ...
- AI学习吧-REDIS-常识
Redis 是一个non-sql,非关系型数据库,数据存放在内存中,支持持久化,redis中的数据会在一段时间内和(mysql等数据库)磁盘进行同步,防止丢失,这样也就降低了读数据效率. Redis和 ...