为什么临界点和静止点可以互换使用?

人工智能 术语 图书 衍生物
2021-11-06 05:58:17

考虑一下深度学习书的数值计算中的以下段落。

什么时候f(x)=0,导数没有提供关于移动方向的信息。点在哪里f(x)= 0 称为临界点或静止点。局部最小值是一个点 f(x)低于所有相邻点,因此不再可能减少f(x)通过做无穷小的步骤。局部最大值是一个点f(x)高于所有相邻点,因此不可能增加f(x)通过做无穷小的步骤。一些临界点既不是最大值也不是最小值。这些被称为鞍点。

简而言之,点在哪里f(x)=0称为临界点或静止点。

但是,根据数学术语,定义如下:

#1:临界点

一个函数y=f(x)在所有点都有临界点x0在哪里 f(x0)=0或者f(x)不可微分

#2:静止点

一个点x0函数的导数f(x)消失, f(x0)=0. 静止点可以是最小、最大或拐点。

可以注意到,深度学习书中给出的定义确实与静止点完全匹配,因为唯一的前提是f(x)=0. 临界点的定义并不恰当,因为临界点也可以是一个点f(x)不存在。

是否有任何理由可以互换使用术语临界点和静止点?有没有必要解决f(x)不存在?

2个回答

函数的临界点f

  1. 一个静止点(即f(x)=0), 或者
  2. 导数未定义的点(例如,在绝对值函数的情况下 f(x),x=0是一个临界点,因为f不可微分x=0)。

所以,所有的静止点都是临界点。

这些注释提供了更多关于如何找到函数关键点的示例,因此它们可能很有用。

通过阅读文本,很明显作者使用临界点来表示与静止点相同的东西,因此他们没有使用正确的数学定义。

更一般地说,自动微分将返回不可微分点的梯度。让 tensorflow 或 pytorch 取梯度ReLU(x)|x=0. 它们返回 0,即使它在技术上应该返回 NaN,因为它不存在。从理论上讲,如何处理非光滑函数的问题是很好理解的——例如见次微分。在 relu 示例中,它实际上返回了亚微分的一个元素,但在某些病态示例中,情况并非如此。