Deep Learning (Yoshua Bengio, Ian Goodfellow, Aaron Courville) 翻译 Part 1

http://www.deeplearningbook.org/

67页,3.10 常用函数及性质
逻辑sigmoid用来产生伯努利分布的phi参数,因为它的范围是0到1,也就是在phi参数的有效值区间。
softplus函数用来产生正态/高斯分布的beta或sigma参数,因为它的范围是0到正无穷,

4.1 underflow和overflow
一种rounding错误,会是毁灭性的,是underflow,发生在数字在0附近的时候会rounded到0,很多函数有近似错误在计算机表示数字的时候。
很多函数会得到一个0而不是一个小正数,例如,我们通常都要避免除0,

另外一个毁灭性的的数字错误是overflow,发生在数字在正负无穷的时候,因为进一步的计算会把正负无穷的值改变为非数字的值,比如softmax函数,softmax通常用来预测multinoulli分布的概率,考虑所有xi等于相同的常数c的时候,理论上我们应该看到所有输出应该是1/n,但是这个不会发生当c为巨大值的时候,如果c是巨大负值,这时exp(c)会underflow,也就是说softmax的分母会是0,当c非常正值大的时候,exp(c)会overflow,都会让结果无法定义。这两种问题可以这样解决,(见81页)

4.2 Poor Conditioning
Conditioning的意思是一个函数在输入有小的变化时,输出的变化速度,当函数输入有很小的波动的时候 函数输出变化很快,将会是科学计算的问题,因为rounding错误在输入的时候,会造成很大的输出改变。

考虑这个函数f(x)=(A^-1) * x,A是R^(n*n),当A作特征值分解,它的condition数字是(4.2)所示,(4.2)是最大特征值和最小特征值的比值,当这个值很大的时候,矩阵反转会对输入的错误特别敏感。
这个敏感性是矩阵的内在性质,不是矩阵反转造成的rounding错误,在我们乘以矩阵反转的时候poorly conditioned矩阵会扩大之前存在的错误,实际操作中,错误会因数字计算错误和矩阵反转自身的一起合起来更大。

4.3基于梯度的优化
大多数深度学习算法都有优化过程,优化是通过改变x使f(x)最大化或最小化,这个f(x)我们称作objective函数或criterion,当我们求最小化的时候,我们称f(x)为cost函数或loss函数,在最大化或最小化一个函数时,我们会这样表示,x* = arg min f(x),

我们通常要最小化的函数是有多个输入,f:R^n -> R , 只有一个(张量)的输出
对于有多个输入的函数,我们要定义偏导数(partial derivatives)的意思,这个偏导数意思是在唯一的xi变化的时候,函数的值如何变化。
而f的梯度,表示为 倒三角x f(x),包括所有偏导数。
directional derivative在u向量的方向是f在u的坡度(见85页)
为了最小化f,我们需要找到f减少最快的方向,

4.3.1 梯度以外:Jacobian和Hessian矩阵
有时我们需要找到 输入输出都是vector的函数的 所有偏导数,这种包括所有偏导数的的矩阵叫Jabobian矩阵,我们表示为 f: R^m -> R^n ,
我们也关注 一个导数的导数,也即二阶导数,当我们的函数有多个输入维度的时候,这时就有很多二阶导数,这些二阶导数组合在一起就叫Hessian矩阵。

你可能感兴趣的:(Deep Learning (Yoshua Bengio, Ian Goodfellow, Aaron Courville) 翻译 Part 1)