《深度学习》-数值计算

上溢下溢与softmax函数

下溢:当接近零的数被四舍五入为零时发生下溢。
上溢:极具破坏力的数字错误形式是上溢。
softmax函数公式
s o f t m a x ( x ) i = e x p ( x i ) ∑ j = 1 n e x p ( x j ) softmax(x)_i = \frac{exp(x_i)}{\sum_{j=1}^nexp(x_j)} softmax(x)i=j=1nexp(xj)exp(xi)
上溢和下溢可以通过z = softmax(z)同时解决, z = x i − m a x i x i z = x_i - max_i x_i z=ximaxixi,z = 的最大值为零,并且必有一个值为零。所以分母中至少有一个值为1。

基于梯度的优化方法

优化:改变x的值以最小化,或最大化(最值)某个函数f(x)的任务。

  • 在反向传播使用广泛。
  • 上标*的x表示目标x的值,记作 x ∗ = a r g m i n f ( x ) x^* = argminf(x) x=argminf(x)
  • 假设有一个函数 y = f ( x ) y = f(x) y=f(x),可以得到 f ( x + α ) = f ( x ) + α f ‘ ( x ) f(x+\alpha) = f(x)+\alpha f^`(x) f(x+α)=f(x)+αf(x)可以看做是求导数公式的变形。可以比较直观的发现导数的负方向是函数因变量较少的方向。
  • f ( x − α s i g n ( f ‘ ( x ) ) ) f(x-\alpha sign(f^`(x))) f(xαsign(f(x)))<f(x).
  • 梯度下降:往导数的反方向移动一小步来较少f(x)的技术。
  • 局部极小值点:临界点是斜率为零的点,其值低于相邻点。
  • 局部极大值,其值高于相邻点,同时存在更高和更低的相邻点。
  • 优化:想要找到全局最下的点,面临的问题:1.多个局部最小2 存在很多处于非常平坦的区域的鞍点(局部极小)。
  • 在深度学习背景下,并不需要征得找到最小,只要在实际应用找到代价函数显著低的值,就能接受。
  • 最小化具有多维输入的函数 f ( R n ) − > R f(R^n) - > R f(Rn)>R后者据观察是一维标量多对1,需要应用到偏导数(partial derivative)。
  • 一维 - > 多维 - > 梯度:相对于一个向量的求导的导数,f的导数是包含所有偏导数的向量,记为 ▽ x f ( x ) \bigtriangledown_xf(x) xf(x)
    梯度的第i个元素是f关于 x i x_i xi的偏导数,临界点是:梯度中所有元素都为零的点。换句话说方向导数是函数 f ( x + α u ) f(x+\alpha u) f(x+αu)关于 α \alpha α导数:
    ∂ f ( x + α u ) ∂ α = u T ▽ x f ( x ) \frac{\partial f(x+\alpha u)}{\partial \alpha} = u^T\bigtriangledown_xf(x) αf(x+αu)=uTxf(x)
    to optimize function, we want to find the min direction:
    min ⁡ u , u T u u T ▽ x f ( x ) = min ⁡ u , u T u ∥ u ∥ 2 ∥ ▽ x f ( x ) ∥ 2 cos ⁡ θ \min_{u, u^Tu}u^T\bigtriangledown_xf(x) = \min_{u, u^Tu}\parallel u\parallel_2 \parallel\bigtriangledown_xf(x)\parallel_2\cos{\theta} u,uTuminuTxf(x)=u,uTuminu2xf(x)2cosθ考虑到u为单位向量并且忽略掉与u无关的项得到 min ⁡ u , u T u cos ⁡ θ \min_{u, u^Tu}\cos{\theta} minu,uTucosθ,可以发现梯度方向相反时取得最下,换句话说,梯度向量指向上坡,负梯度向量指下坡,在负方向上移动可以减少f。这被称为最速下降法或梯度下降法
    new point: x ‘ = x − ϵ ▽ x f ( x ) x^` = x - \epsilon \bigtriangledown_x f(x) x=xϵxf(x)
    ϵ \epsilon ϵ为学习率(learning rate)是一个确定步长的正标量。
    选择学习率的方法:
  • 普遍的方式是选择一个很小的常数,通过计算选择使方向导数消失的步长,还有一种方法是根据
    几个 ϵ \epsilon ϵ计算 f ( x − ϵ ▽ x f ( x ) ) f(x-\epsilon \bigtriangledown_x f(x)) f(xϵxf(x))选择能产生最小目标函数值的 ϵ \epsilon ϵ

梯度之上 Jacobian 和 Hessian 矩阵

如果有一个function: R m ⟶ R n R^m \longrightarrow R^n RmRn,f的Jacobian矩阵被定义为 J ∈ R ( n ∗ m ) J \in R^{(n*m)} JR(nm)定义为 J i , j = ∂ f ( x ) i x j J_{i,j} = \frac{\partial f(x)_i}{x_j} Ji,j=xjf(x)i

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值