李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是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. [1天搞懂深度学习] 读书笔记 lecture I:Introduction of deep learning

    - 通常机器学习,目的是,找到一个函数,针对任何输入:语音,图片,文字,都能够自动输出正确的结果. - 而我们可以弄一个函数集合,这个集合针对同一个猫的图片的输入,可能有多种输出,比如猫,狗,猴子等, ...

  2. 【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 ...

  3. Deep Learning论文笔记之(八)Deep Learning最新综述

    Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...

  4. [C1W1] Neural Networks and Deep Learning - Introduction to Deep Learning

    第一周:深度学习引言(Introduction to Deep Learning) 欢迎(Welcome) 深度学习改变了传统互联网业务,例如如网络搜索和广告.但是深度学习同时也使得许多新产品和企业以 ...

  5. 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 ...

  6. Introduction to Deep Learning Algorithms

    Introduction to Deep Learning Algorithms See the following article for a recent survey of deep learn ...

  7. 机器学习 —— 基础整理(七)前馈神经网络的BP反向传播算法步骤整理

    这里把按 [1] 推导的BP算法(Backpropagation)步骤整理一下.突然想整理这个的原因是知乎上看到了一个帅呆了的求矩阵微分的方法(也就是 [2]),不得不感叹作者的功力.[1] 中直接使 ...

  8. 李宏毅机器学习笔记5:CNN卷积神经网络

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  9. 学习笔记之深度学习(Deep Learning)

    深度学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0 深度学习(deep lea ...

随机推荐

  1. linux 下创建共享文件夹

    首先需要在win下共享一个盘 然后设置virtulbox 然后修改一串代码 参考原文 https://jingyan.baidu.com/article/2fb0ba40541a5900f2ec5f0 ...

  2. SpringBoot获取配置文件的自定义参数

    1.在application.properties中自定义参数 spring.datasource.driverClassName=com.mysql.jdbc.Driver spring.datas ...

  3. 微信小程序简单介绍 一

    一 组件及api网址: 组件 :https://developers.weixin.qq.com/miniprogram/dev/component/view.html api:https://dev ...

  4. webpack2配置备份

    package.json: { "name": "leyi", "version": "1.0.0", "ma ...

  5. 常见的User-Agent及免费代理IP网站

    常见的User-Agent 1.Android Mozilla/5.0 (Linux; Android 4.1.1; Nexus 7 Build/JRO03D) AppleWebKit/535.19 ...

  6. 010-Python-socket编程

    客户端/服务器的架构 物理层:网卡,光缆,双绞线 数据链路层:包含源mac地址和目标的mac地址,通过广播通讯 网络层:跑的IP协议,IP地址可以定义到一个子网:通过ARP协议可以解析为mac地址: ...

  7. 在 Windows服务器中启用/禁用SMBv1、SMBv2和SMBv3的方法

    本文介绍如何在 SMB 客户端和服务器组件上启用/禁用服务器消息块 SMBv1.SMBv2 和 SMBv3. 注意:建议由专业技术工程师完成以下操作. 禁用 SMBv2 和 SMBv3 的影响 我们建 ...

  8. Idea设置行注释不显示在行首

    如图:idea使用ctrl+/注释时候,//都在行首,强迫症表示受不了 解决方法如图

  9. 一脸懵逼学习Nginx及其安装,Tomcat的安装

    1:Nginx的相关概念知识: 1.1:反向代理: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到 ...

  10. codeforces div2 C题思路训练【C题好难,我好菜】

    1017C The Phone Number: 构造数列使得LIS和LDS的和最小,定理已知LIS=L,LDS=n/L的向上取整,根据样例可以得到设置L=根号n,构造方法如样例 截断法构造,不用考虑边 ...