深度学习入门(6)误差反向传播基础---计算图与链式法则

简介: 深度学习入门(6)误差反向传播基础---计算图与链式法则

1.计算图


计算图将计算过程用图形表示出来。这里的图形是数据结构图。


1.1用计算图进行计算

43a6f2eb8e86449d989638a7151b1c10.png

3b7fde372d264322b68d4d09de068d69.png

a69c97073aa7416dbc56b5c0421c4fd5.png

构建了计算图后,从左向右进行计算。就像电路中的电流流动一样,计算结果从左
向右传递。到达最右边的计算结果后,计算过程就结束了。


计算图计算流程:

1.构建计算图。

2.在计算图上,从左向右进行计算。


第2歩“从左向右进行计算”是一种正方向上的传播,简称为正向传播( forward propagation)。正向传播是从计算图出发点到结束点的传播。既然有正向传播这个名称,当然也可以考虑反向(从图上看的话,就是从右向左)的传播。实际上,这种传播称为反向传播( backward propagation



1.2 局部计算


计算图的特征是可以通过传递“局部计算”获得最终结果。“局部”这个词的意思是“与自己相关的某个小范围”。局部计算是指,无论全局发生了什么,都能只根据与自己相关的信息输出接下来的结果。


计算图可以集中精力于局部计算。无论全局的计算有多么复杂,各个步骤所要做的就是对象节点的局部计算。虽然局部计算非常简单,但是通过传递它的计算结果,可以获得全局的复杂计算的结果。


99e8932af8804729b0992d44cdeb4884.png

1.3计算图优势


1. 通过局部计算,简化问题

2. 利用计算图可以将中间的计算结果全部保存起来(比如,计算进行到2个苹

果时的金额是200日元、加上消费税之前的金额650日元等)

3. 通过反向传播高效计算导数


上述问题中,我们计算了购买2个苹果时加上消费税最终需要支付的金额。这里,假设我们

想知道苹果价格的上涨会在多大程度上影响最终的支付金额,即求“支付金额关于苹果的价格的导数”。设苹果的价格为x,支付金额为L,则相当于求αL/αx。这个导数的值表示当苹果的价格稍微上涨时,支付金额会增加多少?



e1b4a4ac8e3547438f88648f8115982d.png


如图所示,反向传播使用与正方向相反的箭头(粗线)表示。反向传播传递“局部导数”,将导数的值写在箭头的下方。在这个例子中,反向传播从右向左传递导数的值(1 → 1.1 → 2.2)。从这个结果中可知,“支付金额关于苹果的价格的导数”的值是2.2。这意味着,如果苹果的价格上涨1日元,最终的支付金额会增加2.2日元(严格地讲,如果苹果的价格增加某个微小值,则最终的支付金额将增加那个微小值的2.2倍)。


2链式法则


反向传播是将局部导数向正方向的反方向(从右到左)传递, 传递这个局部导数的原理,是基于链式法则( chain rule)的。


2.1计算图的反向传播


假设存在y = f(x)的计算,这个计算的反向传播如图所示。


a728d5a331344259af007e73e011b261.png

d1989d74dbb0492bb291c869bce89474.png


2.2什么是链式法则


介绍链式法则时,我们需要先从复合函数说起。复合函数是由多个函数构成的函数。

85e95edd11e044d1a94194918546a883.png


2.3链式法则和计算图

2036c0be6efc400eb499e1e5e8cfd773.png


84d4ee89ace145c8baa35b2802fd818f.png

66afa6bcb69d46339dfcbf72eb321e23.png




总结


1.介绍了计算图的基本概念与计算方式;


2.链式法则相关概念;

相关文章
|
1月前
|
机器学习/深度学习 人工智能 PyTorch
PyTorch深度学习 ? 带你从入门到精通!!!
🌟 蒋星熠Jaxonic,深度学习探索者。三年深耕PyTorch,从基础到部署,分享模型构建、GPU加速、TorchScript优化及PyTorch 2.0新特性,助力AI开发者高效进阶。
PyTorch深度学习 ? 带你从入门到精通!!!
|
2月前
|
机器学习/深度学习 算法 vr&ar
【深度学习】基于最小误差法的胸片分割系统(Matlab代码实现)
【深度学习】基于最小误差法的胸片分割系统(Matlab代码实现)
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
11月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:用Python构建你的第一个神经网络
在人工智能的海洋中,深度学习是那艘能够带你远航的船。本文将作为你的航标,引导你搭建第一个神经网络模型,让你领略深度学习的魅力。通过简单直观的语言和实例,我们将一起探索隐藏在数据背后的模式,体验从零开始创造智能系统的快感。准备好了吗?让我们启航吧!
333 3
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
机器学习/深度学习 算法 编译器
Python程序到计算图一键转化,详解清华开源深度学习编译器MagPy
【10月更文挑战第26天】MagPy是一款由清华大学研发的开源深度学习编译器,可将Python程序一键转化为计算图,简化模型构建和优化过程。它支持多种深度学习框架,具备自动化、灵活性、优化性能好和易于扩展等特点,适用于模型构建、迁移、部署及教学研究。尽管MagPy具有诸多优势,但在算子支持、优化策略等方面仍面临挑战。
495 3
|
机器学习/深度学习 算法
深度学习笔记(四):神经网络之链式法则详解
这篇文章详细解释了链式法则在神经网络优化中的作用,说明了如何通过引入中间变量简化复杂函数的微分计算,并通过实例展示了链式法则在反向传播算法中的应用。
683 0
深度学习笔记(四):神经网络之链式法则详解
|
机器学习/深度学习 存储 自然语言处理
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
深度学习入门:循环神经网络------RNN概述,词嵌入层,循环网络层及案例实践!(万字详解!)
|
机器学习/深度学习 分布式计算 安全
深度学习之安全多方计算
基于深度学习的安全多方计算(Secure Multi-Party Computation,简称MPC)是一种密码学技术,旨在让多个参与方在不暴露各自数据的前提下,协作完成一个计算任务。
525 0
|
机器学习/深度学习 自然语言处理 TensorFlow
课外阅读之深度学习如何入门?
课外阅读之深度学习如何入门?
166 0

热门文章

最新文章