【端到端可微1】端到端的训练,使用反向传播,要求过程可微分

news2025/1/11 18:42:52

文章目录

  • 背景
  • 想法: Weighted least-squares fitting
  • 方法: Backpropagating through the fitting procedure.
  • 温习之前的基础
    • 前向传播
    • 反向传播
  • 总结

背景

想做一个端到端训练的模型,将最小二乘嵌入其中。因此有了这系列文章。

想法: Weighted least-squares fitting

我们想把“最小二乘模块”嵌入深度学习中,将其作为一份子参与端到端的训练

我们设计了加权最小二乘问题。设W∈Rm×m是包含每个观测的权值wi的对角矩阵。在我们的框架中,观测结果将对应于图像参考框架中的固定(x, y)坐标,权重将由基于图像的深度网络生成。加权最小二乘问题是

在这里插入图片描述

方法: Backpropagating through the fitting procedure.

我们深度学习最后的卷积输出特征图,我们定义这个特征图为“一个加权像素坐标列表(xi, yi, wi)”。其中坐标(xi, yi)是固定的,而加权wi是由一个基于输入图像的深层网络生成的。我们可以利用这些值构造矩阵X, Y和w,求解加权最小二乘问题,通过加权像素坐标得到最佳拟合曲线的参数β。

与其将拟合过程作为一个单独的后处理步骤,我们可以反向传播它,并在兴趣β参数上应用一个损失函数,而不是间接地在网络产生的权值映射上。通过这种方式,我们获得了一个强大的工具,可以在深度学习框架中以端到端方式解决最小二乘的问题。

注意,方程3只涉及可微矩阵运算。因此,可以计算β对W的导数,从而也可以计算深度网络的参数。通过矩阵变换反向传播的细节已经很好地理解了。我们使用Cholesky分解推导这个问题的梯度。

β对W的导数表示为dβ/dW。这里的β和W都是变量,dβ/dW表示β对W的变化率。在求解这个导数时,我们需要将β作为独立变量,W作为因变量,然后对W进行求导。

具体的求导方法取决于β和W的具体形式和关系。如果β和W都是标量变量,那么可以直接对W求导得到dβ/dW。如果β和W是向量或矩阵变量,那么我们需要对每个元素或矩阵元素分别求导,得到一个与W相同形状的导数矩阵

需要注意的是,在求解dβ/dW时,我们通常将其他变量视为常数,即假设它们不随W的变化而变化。这是因为我们只关注β对W的导数,而不考虑其他变量对此导数的影响。
总之,β对W的导数表示为dβ/dW,具体的求导方法取决于β和W的形式和关系。

温习之前的基础

1、2月10日 感知器+浅层神经网络+反向传播+tensorflow
2、链式法则,论文:Introduction to Gradient Descent and Backpropagation Algorithm

在这里插入图片描述
在这里插入图片描述

BP 算法是一种参数学习方法,一般分为两个过程:前向传播(求误差),反向传播(误差回传)。

那么什么是前向传播、反向传播呢?这里先说结论:前向传播是为反向传播准备好要用到的数值,反向传播本质上是一种求梯度的高效方法。

求梯度是为了什么呢?就是为了更新模型的参数(权重 W 和偏置 b)。

所有参数值随机初始化(论文乱写一通),前向传播(提交论文),误差函数(审稿),反向传播(审稿人:你这不行,改!),参数更新(修改论文),前向传播,…;反反复复,论文发表(模型训练完毕)。

前向传播

在正式介绍前向传播前,先简单介绍计算图(Computational Graph)的概念, f ( x , y , z ) = ( x + y ) ∗ z 的计算图
在这里插入图片描述

分别赋值 x = − 2 , y = 5 , z = − 4 ,从计算图的左边开始,数据开始流动,依次计算出 q 、 f 。

最终得到计算图中那 6 个绿色的数字,这就是前向传播的结果。

反向传播

我们说了,反向传播本质上是一种求梯度的高效方法。

总结

这系列文章将逐步完成一个端到端可微的模型,挖个坑。
项目开启时间:2023-07-04

但是一直拖到了11月30,最近同事讨论问题才想起来继续实施。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1274861.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

12月1日作业

代码整理&#xff0c;将学过的三种运算符重载&#xff0c;每个至少实现一个运算符的重载 #include <iostream>using namespace std;class Cloudy {friend bool operator!(const Cloudy &L,const Cloudy &R); private:int a; public:int b; public:Cloudy(){}Clo…

Facebook公共主页受限、被封?一文教你排雷解决

一、Facebook公共主页是什么&#xff1f; 现在人们的生活已经离不开各种社交媒体&#xff0c;只要有智能手机&#xff0c;或多或少会使用一些社交平台&#xff0c;而Facebook是一个拥有大量用户的社交平台。这对于各种企业而言&#xff0c;也是一个十分优秀的营销平台&#xf…

Conductor之动态分叉

Conductor之动态分叉 动态分叉 关于动态分叉&#xff0c;参考1 动态分叉 有时候我们希望在运行时能动态添加分叉任务&#xff08;注意是分叉任务&#xff0c;不是动态任务&#xff09;&#xff0c;Conductor当前版本也是支持的&#xff0c;但是经过试验的版本只支持串行分叉&…

【idea】设置鼠标滚轮控制缩放大小

1、点击file 选择Setting 2、点击Editor 下面的 General 3、勾选 Mouse Control 下面的 Change font size with CtrlMouse Wheel in 4、点级apply 5、按 ctrl键 鼠标滚轮缩放字体的大小

【Gradle学习指南】

前言 在尝试开发一个idea插件时候&#xff0c; 发现gradle真的难用&#xff0c; 想骂娘&#xff0c; 相信用过的都知道吧&#xff08;除非你的网比较好&#xff09;&#xff0c; 摸索了几天还是被一个jbr_jcef-11_0_11-windows-x64-b1504.13文件下载住了, 最后科学上网解决了这…

Python常用库大全及简要说明,附官方网站链接地址

文章目录 前言环境管理包管理包仓库分发构建工具交互式解析器文件日期和时间文本处理特殊文本格式处理自然语言处理文档配置命令行工具下载器图像处理OCR音频Video地理位置HTTP数据库数据库驱动ORMWeb 框架权限CMS电子商务RESTful API验证模板引擎队列搜索动态消息资源管理缓存…

信息化,数字化,智能化是3种不同概念吗?与机械化,自动化矛盾吗?

先说结论&#xff1a; 1、信息化、数字化、智能化确实是3种不同的概念&#xff01; 2、这3种概念与机械化、自动化并不矛盾&#xff0c;它们是制造业中不同发展阶段和不同层次的概念。 机械化&#xff1a;是指在生产过程中使用机械技术来辅助人工完成一些重复性、单一性、劳…

【Linux】TCP套接字编程

目录 前言 UDP服务器的完善 线程的封装 结构定义 接口实现 环形队列 结构定义 接口实现 加锁 信号量的申请与释放 入队与出队 整体组装 初始化与析构 信息接收线程 消息发送线程 TCP套接字 创建套接字 listen accept 收发操作 客户端的编写 进一步完善 …

Ubuntu安装HP LaserJet P3010系列打印机驱动

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、安装驱动二、其它设置总结 前言 最近在研究Ubuntu Desktop版&#xff0c;无意间看到了打印机选项&#xff0c;就好奇去试了试。居然配置成功了&#xff0c…

LLM与知识图谱的协同与互补

文章目录 背景介绍LLM影响力与潜在问题LLMs和KGs的优缺点 大语言模型&#xff08;LLMs&#xff09;only-encoder架构encoder-decoder架构decoder-only架构 提示工程知识图谱LLM和知识图谱的代表性应用分类用知识图谱增强 LLM用知识图谱增强 LLM 预训练将知识图谱集成到训练目标…

MySQL 索引,优化,回表,执行计划等相关总结学习

一、MySQL 执行流程 innoDB表引擎&#xff1a;默认的事务型引擎&#xff0c;最重要最广泛的存储引擎&#xff0c;性能非常优秀,数据村粗在共享表空间&#xff0c;可以通过配置分开,主键查询性能高于其他引擎 myISM表引擎&#xff1a;5.1版本前这个是默认的存储引擎&#xff0c…

[C++]priority_queue的介绍及模拟实现

目录 priority_queue的介绍及模拟实现&#xff1a;&#xff1a; priority_queue的介绍 priority_queue的定义方式 priority_queue各个接口的使用 堆的向上调整算法 堆的向下调整算法 仿函数 priority_queue的模拟实现 反向迭代器的底层原理 反向迭代器的模拟实现 priority_que…

4.C转python

1.建立函数: def 函数名(形参): 函数体(记得写缩进) return 返回值(python中可以没有return) 2.调用函数: 函数名(实参) 实参和形参个数相等即可,类型不需要相同 其中接收返回值与C中的差不多 3.如果只是定义而不调用则函数不会执行 4.先定义函数,后调用 5.python中可以…

TikTok医学奇谭:短视频在医学科普中的作用

在数字时代的浪潮中&#xff0c;社交媒体平台的崛起不仅改变了人们的社交方式&#xff0c;也在医学科普领域掀起了一场革命。 作为短视频平台的领军者之一&#xff0c;TikTok通过其独特的形式和广泛的用户群&#xff0c;为医学知识的传播提供了新的可能性。本文将深入探讨TikT…

蓝牙智能电表解决了哪些难题?

提高能源效率已成为当今世界面临的重大挑战之一。在这样的背景下&#xff0c;蓝牙智能电表应运而生。它采用了最新的智能技术&#xff0c;能够通过蓝牙协议实现与移动设备通讯&#xff0c;从而给用户带来更加便捷、高效的服务。那么&#xff0c;蓝牙智能电表解决了哪些难题呢&a…

Vision Pro即将量产之际,苹果还是放不下中国供应链

发布半年后&#xff0c;苹果口中的“革命性新产品”Vision Pro终于有了新消息。 图源&#xff1a;苹果 根据多家消费电子供应链公司核心人士消息&#xff0c;苹果计划于12月正式量产Vision Pro&#xff0c;首批备货40万台左右&#xff0c;2024年的销量目标为100万台&#xff0…

【pytorch】深度学习入门一:pytorch的安装与配置(Windows版)

请支持原创&#xff0c;认准DannisTang&#xff08;tangweixuan1995foxmail.com&#xff09; 文章目录 第〇章 阅读前提示第一章 准备工作第一节 Python下载第二节 Python安装第三节 Python配置第四节 Pycharm下载第五节 Pycharm安装第六节 CUDA的安装 第二章 Anaconda安装与配…

上门服务系统|北京上门服务软件有哪些便利功能?

上门服务软件是一种便捷、高效的服务工具&#xff0c;广泛应用于各种行业领域&#xff0c;包括但不限于家政服务、维修维护、清洁保洁、美甲美发等。预约上门服务系统的崛起改变了传统服务行业的格局。用户不再需要亲自前往实体店面&#xff0c;而是通过几次点击就能享受到各类…

如何生成纯文本的目录树

参考资料&#xff1a; https://ascii-tree-generator.com/ 无需多言&#xff0c;感谢这些前辈的智慧。界面如下&#xff1a;

后仿真 ERROR

后仿真 error ERROR (SFE-23): "input.scs" 252: The instance _57_D32_noxref is referencing an undefined model or subcircuit, parasitic_nwd. Either include the file containing the definition of parasitic_nwd, or define parasitic_nwd before running t…