IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 自动微分(Auto differentiation) -> 正文阅读

[人工智能]自动微分(Auto differentiation)

1.自动微分是干什么的:

自动微分现在已经是深度学习框架的标配,我们写的任何模型都需要靠自动微分机制分配模型损失信息,从而更新模型。简言之,就是在模型更新计算梯度的时候会用到自动微分。

在数学和计算机代数中,自动微分有时称作演算式微分,是一种可以借由计算机程序计算一个函数导数方法。两种传统做微分的方法为:

  • 对一个函数的表示式做符号上的微分,并且计算其在某一点上的值。
  • 使用差分。(即数值微分)

使用符号微分最主要的缺点是速度慢及将计算机程序转换成表示式的困难,且很多函数在要计算更高阶微分时会变得复杂。

使用差分的两个重要的缺点是舍弃误差数值化过程和相消误差。此两者传统方法在计算更高阶微分时,都有复杂度及误差增加的问题。自动微分则解决上述的问题。

2.现有四种微分方式:

  • Symbolic Differentiation(符号微分)
  • ?Numerical Differentiation(数值微分)
  • Forward-Mode Autodiff(前向自动微分)
  • Reverse-mode Autodiff(反向自动微分)

其中,TensorFlow采用的是第四种微分方式

2.1?符号微分

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

在这里插入图片描述

?2.2?数值微分

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

2.3 前向自动微分

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

稍微对上述性质做一下解释:

有一个dual数?\varepsilon,当函数变量为一元时:有 ? ?h(a+\varepsilon )=h(a)+{h}'(a)*\varepsilon?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 当函数变量为一元时:有 ? ?h(a+\varepsilon ,b)=h(a,b)+ [ \frac{\partial }{\partial a}h(a,b) ]* \varepsilon

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??h(a ,b+\varepsilon)=h(a,b)+ [ \frac{\partial }{\partial b}h(a,b) ]* \varepsilon?

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

?2.4 反向自动微分

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

?第一次的正向计算穿过图就是从图底往上,即从n1,n2计算到n7 (根据各个节点的表达式,带入数值x=3,y=4计算得来)

???????

3.一些链接:

TensorFlow的自动微分文档:梯度和自动微分简介 ?|? TensorFlow Core

4 关于自动微分当前的一些不足:

1. 在 ICLR 2020 的一篇 Oral 论文中,图宾根大学的研究者表示,目前深度学习框架中的自动微分模块只会计算批量数据反传梯度,但批量梯度的方差、海塞矩阵等其它量也很重要,它们可以在计算梯度的过程中快速算出来。目前自动微分框架(TensorFlow)只计算出梯度,因此就限定了研究方向只能放在梯度下降变体之上,而不能做更广的探讨。为此,研究者构建了 BACKPACK,它建立在 PyTorch 之上,还扩展了自动微分与反向传播能获得的信息。

?2. 稀疏图加速(未完)

参考链接:

1.https://blog.csdn.net/qq_36810398/article/details/88738239

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-01-04 13:26:12  更:2022-01-04 13:26:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 1:30:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码