深度学习中的数值计算

  • 本文首发自公众号:RAIS

前言

本系列文章为《Deep Learning》读书笔记,可以参看原书一起阅读,效果更佳。

​数值计算

机器学习算法需要大量的数字计算,并且这些计算包含有一些迭代拟合的过程,在这个计算过程中,由于计算机的局限,无法完全精确的表示,因此总是存在误差的,小的误差经过迭代次数的增多,或者多个误差的叠加,甚至会使得算法不可用,系统失效。

上溢和下溢

  • 下溢:在现有的精度无法表示那么小的数的时候,接近零的数四舍五入为零时,会发生下溢。
  • 上溢:在现有的精度无法表示那么大的数的时候,数过大被近似为无限大的时候,会发生上溢。

解决办法:softmax 函数,也称 归一化指数函数,是逻辑函数的一种推广,将任意实数的 K 维向量映射到另外一个 K 维空间内,使得每一个元素都在 (0, 1) 之间。这里的 归一化 与之前在房价预测中提到的 标准化 不是一个概念(标准化对数据进行某种非线性变换,使其服从某一种分布,归一化对数值的范围进行缩放,不改变数据分布的一种线性变换)。

image

病态条件(poor conditioning)

这个词我觉得翻译不准确,但是大家都喜欢这么叫暂且先这么叫吧。一般来说这个概念针对的是方程组或矩阵,微小的扰动让方程组的解发生巨大的变化,这样的方程组称为病态方程组,他们的系数组成的矩阵叫病态矩阵。

与之相关的还有一个概念叫 条件数:函数相对于输入的微小变化而变化的程度,可以理解为一种敏感度。计算方法是求矩阵极大和极小特征值之比。

基于梯度的优化方法

这个概念要分几步去理解。对于深度学习算法,往往会定义出很多函数,针对具体的问题,我们往往需要让某些函数的函数值尽可能的小或大,求最大值极值,我们往往求导(针对多个变量,这里的求导包括求偏导和方向导数),也会求梯度。梯度下降 指的是往梯度方向相反方向移动一个小距离来减小函数值的方法。这里还有极小值、极大值、驻点、最大值、最小值等概念,不再赘述。

雅可比矩阵(Jacobian)

在向量分析中,雅可比矩阵是一阶偏导数以一定方式排列成的矩阵,它的重要性是体现了一个可微分方程与给出点的最优线性逼近。

海森矩阵(Hessian)

函数有多维输入时,二维导数有很多,将其合为一个矩阵,就是海森矩阵,等价于梯度的雅可比矩阵。

image

一个点在每个方向上的二阶导数是不同的,海森的条件数衡量这些二阶导数的变化范围,当海森的条件数变得很差时,梯度下降法也会表现得很差,在 牛顿法 中,我们用海森矩阵指导搜索,来解决上面这个问题。

  • 二阶导数测试:一阶导数等于 0,二阶导数大于零是一个极小值点;一阶导数等于 0,二阶导数小于零是一个极大值。
  • 仅使用梯度信息的优化算法称为 一阶优化算法,使用海森矩阵的优化算法称为 二阶优化算法

总结

这一部分的内容涉及东西比较多,书中的内容还包括一些推导和解释,看上文看的不是很清楚的请阅读原书,那就不是我的笔力所能讲清楚的了。

到此本书中关于应用数学相关的内容就结束了,这本书确实挺难的,想要放弃了吗?

  • 本文首发自公众号:RAIS
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.定义 参数数量(params):关系到模型大小,单位通常为M,通常参数用 float32 表示,所以模型大小是...
    wzNote阅读 2,212评论 0 8
  • [TOC]优化算法是机器学习中的“方法论”,优化算法会告诉机器应该如何优化学习的进程,让自己能够更好地掌握学习到的...
    JuneHsia阅读 2,930评论 0 0
  • 有前面的知识,我们知道如何构建目标函数了,当目标函数构建出来后,如何求其参数使的目标函数最小化呢?这就是这一小节的...
    李涛AT北京阅读 944评论 0 0
  • 这篇笔记,主要记录花书第四章关于数值计算知识的回顾。在机器学习中常常需要对模型进行优化,例如找到损失函数的最小...
    升维洞察阅读 3,243评论 0 1
  • 如标题所示,训练时间越久的达人会从多样性的器械(固定器械,组合器械)当中减少需求,而更多的会专注于几个基础动...
    你喂喂阅读 123评论 0 0