MoonBit月兔编程语言 现代编程思想 第十二课 案例:自动微分现代编程思想 案例:自动微分 Hongbo Zhang ## 微分 • 微分被应用于机器学习领域 ◦ 利用梯度下降求局部极值 牛顿迭代法求函数解: $ x^{3}-10x^{2}+x+1=0 $ • 我们今天研究简单的函数组合 ○ 例: $ f(x_{0},x_{1})=5x_{0}^{2}+x_{1} $ ■ $ f(10,100)=600 $ ■ $ \frac{\partial jpg) ## 牛顿迭代法  ## 微分 • 微分被应用于机器学习领域 ◦ 利用梯度下降求局部极值 牛顿迭代法求函数解: $ x^{3}-10x^{2}+x+1=0 $ • 我们今天研究简单的函数组合 ○ 例: $ f(x_{0}, f}{\partial x_{1}}(10,100)=1 $ ## 微分 • 函数微分的几种方式 ☐ 手动微分:纯天然计算器 ■ 缺点:对于复杂表达式容易出错 ○ 数值微分: $ \frac{f(x+\delta x)-f(x)}{\delta x} $ ■ 缺点:计算机无法精准表达小数,且绝对值越大,越不精准 符号微分:Mul(Const(2), Var(1)) -> Const(2)0 码力 | 30 页 | 3.24 MB | 2 年前3
深度学习与PyTorch入门实战 - 16. 什么是梯度## PyTorch ## 什么是梯度 主讲人:龙良曲 ## Clarification 导数, derive - 偏微分, partial derive 梯度, gradient $$ \nabla f=\left(\frac{\partial f}{\partial x_{1}};\frac{\partial f}{\partial x_{2}};\ldots;\frac{\partial0 码力 | 17 页 | 1.49 MB | 2 年前3
机器学习课程-温州大学-高等数学回顾## 机器学习-高等数学回顾 黄海广 副教授 2021年07月 ## 高等数学 ### 1. 导数定义: 导数和微分的概念 $$ f^{\prime}(x_{0})=\lim_{\Delta x\to0}\frac{f(x_{0}+\Delta x)-f(x_{0})}{\Delta x} $$ 或者: $ f'(x_{0}) = \lim_{x \to x_{0}} \frac{f(x) -uv^{\prime}}{v^{2}}(v\neq0) $ $$ d(\frac{u}{v})=\frac{vdu-udv}{v^{2}} $$ ## 高等数学 ### 6. 基本导数与微分表 (1) y = c (常数) 则: $ y' = 0 \quad dy = 0 $ (2) $ y = x^{\alpha} $ ( $ \alpha $ 为实数) 则: $ (16) y = chx 则: $ y' = shx $ $ d(chx) = shxdx $ ## 高等数学 ### 7. 复合函数,反函数,隐函数以及参数方程所确定的函数的微分法 (1) 反函数的运算法则: 设 $ y = f(x) $ 在点 x 的某邻域内单调连续,在点 x 处可导且 $ f'(x) \neq 0 $ ,则其反函数在点 x 所对应的 y 处可导,并且有0 码力 | 28 页 | 787.86 KB | 2 年前3
机器学习课程-温州大学-02-数学基础回顾-0.机器学习的数学基础整理(国内教材)机器学习的数学基础.....1 高等数学.....1 线性代数.....9 概率论和数理统计.....19 ## 机器学习的数学基础 ## 高等数学 ### 1. 导数定义: 导数和微分的概念 $$ f^{\prime}(x_{0})=\lim_{\Delta x\to0}\frac{f(x_{0}+\Delta x)-f(x_{0})}{\Delta x} $$ $$ \prime}-uv^{\prime}}{v^{2}}(v\neq0) $$ $$ d(\frac{u}{v})=\frac{vdu-udv}{v^{2}} $$ ### 6. 基本导数与微分表 (1) y = c (常数) 则: $ y' = 0 $ dy = 0 (2) $ y = x^{\alpha} $ ( $ \alpha $ 为实数) 则: $ y' = chxdx $ (16) y = chx 则: $ y' = shx $ $ d(chx) = shxdx $ ### 7. 复合函数,反函数,隐函数以及参数方程所确定的函数的微分法 (1) 反函数的运算法则:设 $ y = f(x) $ 在点x的某邻域内单调连续,在点x处可导且 $ f'(x) \neq 0 $ 。 0,则其反函数在点x所对应的y处可导,并且有 $0 码力 | 31 页 | 1.18 MB | 2 年前3
动手学深度学习 v2.02.3.11 关于线性代数的更多信息 ..... 62 2.4 微积分 ..... 63 2.4.1 导数和微分 ..... 64 2.4.2 偏导数 ..... 68 2.4.3 梯度 ..... 68 2.4.4 链式法则 ..... 68 2.5 自动微分 ..... 69 2.5.1 一个简单的例子 ..... 70 2.5.2 非标量变量的反向传播 .... 7.1 前向传播 ..... 163 4.7.2 前向传播计算图 ..... 163 4.7.3 反向传播 ..... 164 4.7.4 训练神经网络 ..... 165 4.8 数值稳定性和模型初始化 ..... 166 4.8.1 梯度消失和梯度爆炸 ..... 166 4.8.2 参数初始化 ..... 168 4.9 环境和分布偏移 ..... 170 4 测试深度学习的潜力带来了独特的挑战,因为任何一个应用都会将不同的学科结合在一起。应用深度学习需要同时了解(1)以特定方式提出问题的动机;(2)给定建模方法的数学;(3)将模型拟合数据的优化算法;(4)能够有效训练模型、克服数值计算缺陷并最大限度地利用现有硬件的工程方法。同时教授表述问题所需的批判性思维技能、解决问题所需的数学知识,以及实现这些解决方案所需的软件工具,这是一个巨大的挑战。 在我们开始写这本书的时候,没有资0 码力 | 797 页 | 29.45 MB | 2 年前3
PyTorch OpenVINO 开发实战系列教程第一篇facebook 发布的开源机器学习(深度学习)框架,Pytorch 最初的来源历史可以追溯到另外两个机器学习框架,第一个是 torch 框架,第二个是 Chainer,实现了 Eager 模式与自动微分,Pytoch 集成了这两个框架的优点,把 Python 语言作为框架的首选编程语言,所以它的名字是在 torch 的前面加上 Py 之后的 Pytorch。由于 Pytorch 吸取了之前一些深度 lse、while、for等关键字,而在深度学习框架中编程模式主要是基于计算图、张量数据、自动微分、优化器等组件构成。面向对象编程运行的结果是交互式可视化的,而深度学习通过训练模型生成模型文件,然后再使用模型预测,本质数据流图的方式工作。所以学习深度学习首先必须厘清深度学习编程中计算图、张量数据、自动微分、优化器这些基本术语概念,下面分别解释如下: ## 张量 张量是深度学习编程框架中需要理解 流向。 ## ☑ 自动微分 使用 Pytorch 构建神经网络(计算图)模型之后,一般都是通过反向传播进行训练,使用反向传播算法对神经网络中每个参数根据损失函数功能根据梯度进行参数值的调整。为了计算这些梯度完成参数调整,深度学习框架中都会自带一个叫做自动微分的内置模块,来自动计算神经网络模型训练时候的各个参数梯度值并完成参数值更新,这种技术就是深度学习框架中的自动微分。 ### 1.4 Pytorch0 码力 | 13 页 | 5.99 MB | 2 年前3
机器学习课程-温州大学-01机器学习-引言Loss Function) $$ \mathrm{L}\big(Y,P(Y|X)\big)=-\log P(Y|X) $$ ## 机器学习的概念-损失函数 根据上述损失函数模型,我们可知,损失函数值越小,模型性能越好。给定一个数据集,我们将训练数据集的平均损失称为经验风险。基于经验风险最小化原则,可构建全局损失函数求解最优化问题: $$ \min_{f}\frac{1}{N}\sum_{n 3. 机器学习的背景知识-数学基础 ## 高等数学 导数、微分、泰勒公式..... ## 线性代数 向量、矩阵、行列式、秩、线性方程组、特征值和特征向量..... ## 概率论与数理统计 随机事件和概率、概率的基本性质和公式、常见分布、期望、协方差..... ## 高等数学-导数 导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数 $ y=f(x) f(x) $ 在点 $ x_{0} $ 处连续,需要满足的条件: 1. 函数在该点处有定义 2. 函数在该点处极限 $ \lim_{x \to x_{0}} f(x) $ 存在 3. 极限值等于函数值 $ f(x_{0}) $ ## 高等数学-导数 如果平均变化率的极限存在, $ \lim_{\Delta x \to 0} \frac{\Delta y}{\Delta x} = \lim_{\Delta0 码力 | 78 页 | 3.69 MB | 2 年前3
机器学习课程-温州大学-01深度学习-引言3. 深度学习的背景知识-数学基础 ## 高等数学 导数、微分、泰勒公式..... ## 线性代数 向量、矩阵、行列式、秩、线性方程组、特征值和特征向量..... ## 概率论与数理统计 随机事件和概率、概率的基本性质和公式、常见分布、期望、协方差..... ## 高等数学-导数 导数(Derivative),也叫导函数值。又名微商,是微积分中的重要基础概念。当函数 $ y=f(x) f(x) $ 在点 $ x_{0} $ 处连续,需要满足的条件: 1. 函数在该点处有定义 2. 函数在该点处极限 $ \lim_{x \to x_{0}} f(x) $ 存在 3. 极限值等于函数值 $ f(x_{0}) $ ## 高等数学-导数 如果平均变化率的极限存在, $ \lim_{\Delta x \to 0} \frac{\Delta y}{\Delta x} = \lim_{\Delta x}\bigg|_{x=x_{0}}\quad 或 \quad\frac{\mathrm{d}f(x)}{\mathrm{d}x}\bigg|_{x=x_{0}} $$ ## 高等数学-基本导数与微分表 (1) y = c (常数) 则: $ y' = 0 $ (2) $ y = x^{\alpha} $ ( $ \alpha $ 为实数) 则: $ y' = \alpha0 码力 | 80 页 | 5.38 MB | 2 年前3
ECMAScript规范 第三版 中文版..13 4.3.16 字符串值.....13 4.3.17 String 类型.....14 4.3.18 String 对象.....14 4.3.19 数值.....14 4.3.20 Number 类型.....14 4.3.21 Number 对象.....14 4.3.22 Infinity(无穷).....14 ...26 7.7 标点符号.....27 7.8 常量.....28 7.8.1 空值常量.....28 7.8.2 布尔值常量.....28 7.8.3 数值常量.....28 7.8.4 字符串常量.....31 7.8.5 正则表达式常量.....33 7.9 自动分号插入.....34 7.9.1 自动分号插入的规则 类型.....38 8.1 未定义类型.....38 8.2 空值类型.....38 8.3 布尔值类型.....38 8.4 字符串类型.....38 8.5 数值类型.....39 8.6 对象类型.....40 8.6.1 属性的特征.....40 8.6.2 内部属性和方法.....40 8.6.2.1 [[Get]](P)0 码力 | 58 页 | 563.06 KB | 2 年前3
机器学习课程-温州大学-06深度学习-优化算法jpg) 在第t次迭代中,该算法会照常计算当下mini-batch的微分dW,db,所以我会保留这个指数加权平均数,我们用到新符号 $ S_{dW} $ ,而不是 $ v_{dW} $ ,因此 $ S_{dW}=\beta S_{dW}+(1-\beta)dW^{2} $ ,澄清一下,这个平方的操作是针对这一整个符号的,这样做能够保留微分平方的加权平均数,同样 $ S_{db}=\beta S_{db}+(1-\beta)db^{2} S_{db}+(1-\beta)db^{2} $ ,再说一次,平方是针对整个符号的操作。 接着RMSprop会这样更新参数值, $ W := W - a \frac{dW}{\sqrt{S_{dW}}} $ , $ b := b - a \frac{db}{\sqrt{S_{db}}} $ , ## ADAM Adam优化算法基本上就是将Momentum和RMSprop结合在一起 最后更新权重,所以W更新后是 45000790224cffe/p19_1.jpg) 假设你在搜索超参数(学习率),假设你怀疑其值最小是0.0001或最大是1。如果你画一条从0.0001到1的数轴,沿其随机均匀取值,那90%的数值将会落在0.1到1之间,结果就是, $ \alpha $ 在0.1到1之间,应用了90%的资源,而 $ \alpha $ 在0.0001到0.1之间,只有10%的搜索资源。 反而,用对数标尺搜索超0 码力 | 31 页 | 2.03 MB | 2 年前3
共 465 条
- 1
- 2
- 3
- 4
- 5
- 6
- 47













