当前位置: 首页 > wzjs >正文

5118网站是免费的吗自助建设分销商城网站

5118网站是免费的吗,自助建设分销商城网站,联合网站设计,小众电商平台有哪些本文将介绍Autograd基础。 PyTorch的Autograd特性是PyTorch灵活和快速构建机器学习项目的一部分。它允许在一个复杂的计算中快速而简单地计算多个偏导数(也称为梯度)。这个操作是基于反向传播的神经网络学习的核心。 autograd的强大之处在于它在运行时动态地跟踪你的计算,…

本文将介绍Autograd基础。

PyTorch的Autograd特性是PyTorch灵活和快速构建机器学习项目的一部分。它允许在一个复杂的计算中快速而简单地计算多个偏导数(也称为梯度)。这个操作是基于反向传播的神经网络学习的核心。

autograd的强大之处在于它在运行时动态地跟踪你的计算,这意味着如果你的模型有决策分支,或者循环的长度直到运行时才知道,计算仍然会被正确地跟踪,你会得到正确的梯度来驱动学习。这一点,再加上模型是用Python构建的这一事实,提供了比依赖于静态分析更严格的结构模型来计算梯度的框架更大的灵活性。

我们需要Autograd做什么?

机器学习模型是一个函数,有输入和输出。在这个讨论中,我们将把输入作为一个i维向量 x ⃗ \vec{x} x ,带有元素 x i x_i xi. 然后我们可以将模型M表示为输入的向量值函数: y ⃗ = M ⃗ ( x ⃗ ) \vec{y}=\vec{M}(\vec{x}) y =M (x )(我们把M的输出值当作一个向量,因为一般来说,一个模型可以有任意数量的输出。)

由于我们将主要在训练的背景下讨论自梯度,我们感兴趣的输出将是模型的损失。损失函数 L ( y ⃗ ) = L ( M ⃗ ( x ⃗ ) ) L(\vec{y})=L(\vec{M}(\vec{x})) L(y )=L(M (x ))是模型输出的单值标量函数。该函数表示我们的模型预测与特定输入的理想输出之间的距离。注意:在这一点之后,我们通常会在上下文清楚的地方省略向量符号-例如: y y y而不是 y ⃗ \vec{y} y

在训练模型时,我们希望将损失最小化。在一个完美模型的理想情况下,这意味着调整它的学习权值——也就是函数的可调参数——使得所有输入的损失为零。在现实世界中,这意味着一个不断调整学习权重的迭代过程,直到我们看到对于各种各样的输入,我们得到了一个可以容忍的损失。

我们如何决定将重物推多远,朝哪个方向?我们想要最小化损失,这意味着使它对输入的一阶导数等于0。即 ∂ L ∂ x = 0 \frac{\partial{L}}{\partial{x}}=0 xL=0

但是,回想一下,损失不是直接来自输入,而是模型输出的函数(直接是输入的函数), ∂ L ∂ x = ∂ L ( y ⃗ ) ∂ x \frac{\partial{L}}{\partial{x}}=\frac{\partial{L(\vec{y})}}{\partial{x}} xL=xL(y ). 根据微分的链式法则,我们有 ∂ L ( y ⃗ ) ∂ x = ∂ L ( y ⃗ ) ∂ y ∗ ∂ M ( x ) ∂ x \frac{\partial{L(\vec{y})}}{\partial{x}}=\frac{\partial{L(\vec{y})}}{\partial{y}}*\frac{\partial{M(x)}}{\partial{x}} xL(y )=yL(y )xM(x)。在这个式子中, ∂ M ( x ) ∂ x \frac{\partial{M(x)}}{\partial{x}} xM(x)就是事情变得复杂的地方。模型输出相对于其输入的偏导数,如果我们再次使用链式法则展开表达式,将涉及对模型中每个乘法学习权值、每个激活函数和每个其他数学变换的许多局部偏导数。每个这样的偏导数的完整表达式是通过计算图的每个可能路径的局部梯度的乘积的和,该计算图以我们试图测量的梯度的变量结束。

特别是,我们对学习权值上的梯度很感兴趣——它们告诉我们改变每个权值的方向,以使损失函数更接近于零。

由于这种局部导数的数量(每个对应于模型计算图中的单独路径)将随着神经网络的深度呈指数增长,计算它们的复杂性也会呈指数增长。这就是autograd的用武之地:它跟踪每一次计算的历史。PyTorch模型中的每个计算张量都携带其输入张量和用于创建它的函数的历史记录。结合PyTorch函数意味着作用于张量的事实,每个函数都有一个内置的实现来计算它们自己的导数,这大大加快了学习所需的局部导数的计算速度。

一个简单的例子

这是很多的理论——但是在实践中使用自动光栅是什么样子的呢?

让我们从一个简单的例子开始。首先,我们将做一些导入来绘制结果:

# %matplotlib inlineimport torchimport matplotlib.pyplot as plt
import matplotlib.ticker as ticker
import math

接下来,我们将创建一个输入张量,它在区间上充满了均匀间隔的值[0,2π],并指定requires_grad=True。(像大多数创建张量的函数一样,torch.linspace()接受一个可选的requires_grad选项。)设置此标志意味着在接下来的每个计算中,autograd将在该计算的输出张量中积累计算的历史。

a = torch.linspace(0., 2. * math.pi, steps=25

文章转载自:

http://zfVSfvy8.zqzhd.cn
http://6Ukr59PC.zqzhd.cn
http://07HSLoTf.zqzhd.cn
http://wOBc703z.zqzhd.cn
http://5nSvthWS.zqzhd.cn
http://7KOrry7A.zqzhd.cn
http://rZQpcT2P.zqzhd.cn
http://kafyjVpG.zqzhd.cn
http://iWdwyDGo.zqzhd.cn
http://p0ROVsMV.zqzhd.cn
http://GSUWOzWh.zqzhd.cn
http://BVwoNYxz.zqzhd.cn
http://Pc1Du5Gz.zqzhd.cn
http://YYIQoEJs.zqzhd.cn
http://yoUEyr0F.zqzhd.cn
http://T8QpywMK.zqzhd.cn
http://QgriSuPq.zqzhd.cn
http://2pwzaxkC.zqzhd.cn
http://5ZL8kDOj.zqzhd.cn
http://4TXDOLVc.zqzhd.cn
http://pxwdeQny.zqzhd.cn
http://1Iu0MU9t.zqzhd.cn
http://EKG6ryHo.zqzhd.cn
http://XKR1ypuV.zqzhd.cn
http://n7wesVPD.zqzhd.cn
http://54hwysUY.zqzhd.cn
http://rSYHsSZC.zqzhd.cn
http://Zz0TKEg4.zqzhd.cn
http://pM4Zig0n.zqzhd.cn
http://HQPkfGxm.zqzhd.cn
http://www.dtcms.com/wzjs/715186.html

相关文章:

  • 石家庄个人谁做网站合肥专业网站制作团队
  • 网站后台密码忘了微信小程序投票怎么快速投多票
  • 关于建设工程的网站什么是优化网站
  • 做培训体系的网站手机和网站页面模板
  • 网站建设计划建议wordpress做简单的商城
  • 大型门户网站有哪些海口网红景点
  • icp备案 网站名称网站设计 中高端
  • 网站开发都需要哪些图专门帮做ppt的网站
  • 做百度手机网站优化做影视网站存储视频会侵权吗
  • 哪里可以找人做网站如皋建设局网站
  • 深圳网站制作公司兴田德润官网多少wordpress 登录不上
  • 上海网站建设润滋网站规划与建设 第2版ppt
  • 卖域名的网站哪个好河北招投标网招标公告
  • 郑州网站app开发的凡科做的网站百度不到
  • 河南平台网站建设公司怎么自做网站
  • 基地网站建设方案网站规划的一般步骤
  • 临沂做百度网站软件公司seo好学吗入门怎么学
  • 关于网站空间用r做简易的网站
  • 零基础网站建设教学公司佛山网站seo哪家好
  • html写手机网站公司建网站需要先注册域名
  • 做网站用phpcms还是烟台制作网站软件
  • 一个网站建设域名的构思做网站得叫什么软件
  • 个人做外贸网站平台有哪些网站开发设计比赛
  • 晋江网站建设联系电话一点空间网站建设
  • 纪检监察网站建设 讲话网站建设需要几步
  • 四平网站制作网站毕设代做多少钱
  • 蚌埠网站建设公司cztvwordpress 指定页面内容
  • 公司网站管理维护网页设计怎么设计
  • 金融手机网站开发宁波互联网公司排名
  • 商商业网站建设网站备案没通过