深度学习基础6(微分,偏导,梯度,链式法则)

本文介绍了微积分在深度学习中的基础概念,包括导数、偏导数、梯度和链式法则。导数是优化算法的关键,梯度指向值变化最大的方向。链式法则帮助我们处理复合函数的微分问题,是深度学习模型训练的核心。
摘要由CSDN通过智能技术生成

微积分

如下图所示,内接多边形的等长边越多,就越接近圆。 这个过程也被称为逼近法(method of exhaustion)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KMshcFTY-1648199976900)(C:\Users\Lenovo\Documents\Tencent Files\850604703\FileRecv\MobileFile\Image%HTGE}R0]R(J[NDZ3KM(A.png)]

事实上,逼近法就是**积分(integral calculus)**的起源

微积分的另一支,**微分(differential calculus)**被发明出来。

在微分学最重要的应用是优化问题,即考虑如何把事情做到最好,这种问题在深度学习中是无处不在的。

在深度学习中,我们“训练”模型,不断更新它们,使它们在看到越来越多的数据时变得越来越好。

通常情况下,变得更好意味着最小化一个损失函数(loss function)

真正关心的是生成一个模型,它能够在从未见过的数据上表现良好。

但“训练”模型只能将模型与我们实际能看到的数据相拟合, 因此,我们可以将拟合模型的任务分解为两个关键问题

  • 优化(optimization):用模型拟合观测数据的过程;
  • 泛化(generalization):生成出有效性超出用于训练的数据集本身的模型。

导数和微分

这是几乎所有深度学习优化算法的关键步骤。

在深度学习中,通常选择对于模型参数可微的损失函数

简而言之,对于每个参数, 如果把这个参数增加或减少一个无穷小的量,我们可以知道损失会以多快的速度增加或减少,

假设我们有一个函数𝑓:Rn→R,其输入和输出都是标量。 (如果𝑓的导数存在,这个极限被定义为)

UN8TED5I`3X8)FAMJOIO

如果𝑓′(𝑎)存在,则称𝑓在𝑎处是可微(differentiable)的。

如果𝑓在一个区间内的每个数上都是可微的,则此函数在此区间中是可微的。

可以将图中的导数𝑓′(𝑥)解释为𝑓(𝑥)相对于𝑥的瞬时(instantaneous)变化率。 所谓的瞬时变化率是基于𝑥中的变化ℎ,且ℎ接近0。

为了更好地解释导数,举个例子

定义𝑢=𝑓(𝑥)=3𝑥2−4𝑥如下:

%matplotlib inline
import numpy as np
import d2l
from IPython import display
from d2l import torch as d2l


def f(x):
    return 3 * x ** 2 - 4 * x

通过令𝑥=1并让ℎ接近0

**![U@%SLGY2Q9C~7K}W`ZL478.png) 的数值结果接近2**)。 稍后会看到,当𝑥=1时,导数𝑢′是2。

def numerical_lim(f, x, h):
    return (f(x + h) - f(x)) / h

h = 0.1
for i in range(5):
    print(f'h={
     h:.5f<
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NDNPOMDFLR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值