首页 > 其他分享 >【机器学习】自动微分

【机器学习】自动微分

时间:2023-12-06 16:58:37浏览次数:24  
标签:机器 变量 导数 矩阵 微分 自动 标量 反向 函数

标量变量的反向传播

以下举两个例子说明标量变量的反向传播如何实现。

image-20231206140402877

非标量变量的反向传播

在上述的例子中,x 是向量,而 y 是标量,这种类型为标量变量的反向传播

但当 y 不是标量时,比如 y = x * x,当求向量 y 关于 另一个向量 x 的导数时,结果通常就是一个矩阵,被称为雅可比矩阵,或者是微分矩阵。这时候就是非标量变量的反向传播了。

对于非标量函数,我们仍然将导数视为雅可比矩阵。但在实际计算中,通常是对批量中的每个样本的导数进行求和,来进行参数更新。

image-20231206153518756

偏导数的计算

有时候我们想要一些变量视为常量。比如 y = x * x * x,该如何把前面的 x * x 视为常量,不参与求导呢?

这时候就可以采用变量分离的方法,使用 detach()函数分离变量。

image-20231206155743429

梯度计算支持 Python 控制流

在以上进行梯度计算时,函数是确定的;而有时候函数的确定是需要依赖于其它参数的。这时候函数的计算图依赖于输入的参数值,所以函数是在运行中才能确定。pytorch 支持这一类型, pytorch的自动微分会动态构建计算图,这样就可以使用 python 控制流构建更加复杂的模型。

image-20231206163151943

标签:机器,变量,导数,矩阵,微分,自动,标量,反向,函数
From: https://www.cnblogs.com/vLiion/p/17879336.html

相关文章

  • 获取机器硬件信息
    0.获取所有硬件信息lshw1.获取机器SN号等系统信息lshw-Csystem2.获取CPU信息lshw-Cprocessor3.获取磁盘信息lshw-Cdisk4.获取内存信息lshw-Cmemory5.获取网络硬件信息lshw-Cnetwork6.获取其他硬件信息字段lshw-short7.其他命令参考硬件列......
  • el-table-column width="180" 宽度自动成比例缩放缩小 表头宽度不对 原因
    首先el-table-columnwidth="180"的设置原理是如下面加粗部分 <tablecellspacing="0"cellpadding="0"border="0"class="el-table__header"style="width:1638px;"><colgroup><colname="el-table_......
  • 【自己搭建一个:端到端的语音+大模型聊天机器人】
    概要发篇文章记录一下最近搞的语音+大模型聊天机器人的搭建过程,供交流学习。有正反馈的话会继续优化。整体架构流程注意:借传统的基于RASA的对话机器人的图一用,本博会把NLU(NaturalLanguageUnderstanding)和DialogueManagement这两个组件,用大模型来替代。组件及模型说明:用......
  • 使用 maven 自动将源码打包并发布
    maven-source-plugin作用:在构建过程中将项目的源代码进行打包,并作为一个jar文件附着在主构件上,在pom.xml中添加如下内容,使用maven生成jar的同时生成sources包在pom中配置如下:<build><plugins><plugin><groupId>org.apache.maven.plugins</g......
  • 基于WPF的 自动化设备数字看板
    技术要点:XAML的UI编程;数据绑定(事件驱动→数据驱动);自定义组件;MVVM分层架构;liveChart等第三方组件;Meter.xaml<UserControlx:Class="DashBoard.Components.Meter"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x=&q......
  • 【windows 10 开机不显示桌面直接自动进入软件的设置方法】
    前提条件:电脑无开机密码所启动的软件不能对桌面有依赖必须是Windows10系统且版本不能太低,21h1版本就ok方法一操作步骤:1、更改注册表自动启动项打开注册表:“Win+R输入regedit按回车找到路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon......
  • 基于DotNetty实现自动发布 - 项目的配置与发现
    前言上一篇,我们实现了基于DotNetty的通信基础模块的搭建,本篇,主要实现待发布Web项目的集成。创建待发布项目为了测试,我创建了一个基于.NET4.8的Web项目OpenDeploy.TestWebProject我本机的代码仓储路径是:D:\Projects\Back\dotnet\Study\OpenDeploy.TestW......
  • 机器学习-逻辑回归:从技术原理到案例实战
    在本篇文章中,我们对逻辑回归这一经典的机器学习算法进行了全面而深入的探讨。从基础概念、数学原理,到使用Python和PyTorch进行的实战应用,本文旨在从多个角度展示逻辑回归的内在机制和实用性。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团......
  • 抖音自动点赞评论刷视频机器人
    影刀直接获取我的应用,进行测试https://api.winrobot360.com/redirect/robot/share?inviteKey=9cd173e2024d2440 按照以下流程执行打开Edge浏览器,打开www.douyin.com键盘输入x,打开评论无限循环等待元素输入框出现键盘输入z,点赞视频如果输入框没出现,键盘输入x,打开......
  • [机器学习复习笔记] KNN(k近邻)
    KNN1.KNN算法(\(k\)近邻)\(k\)近邻学习(\(\text{k-nearest}\;\text{neighbor},\;k\text{-NN}\))是一种常用的监督学习方法,思路非常简单:给定一个样本数据集,对于每个输入的测试样本,在训练集中找到与该测试样本最近的\(k\)个训练样本,然后基于这\(k\)个样本的类别标......