梯度下降本身可以解决ANN中的非线性问题吗?

我最近正在研究有关神经网络的理论。我对ANN中梯度下降和激活函数的作用有些困惑。

据我了解,激活函数用于将模型转换为非线性模型。这样就可以解决不可线性分离的问题。梯度下降是帮助模型学习的工具。

所以我的问题是:

  1. 如果我对模型使用诸如sigmoid的激活函数,但没有使用像样的梯度来改进模型,而是使用经典的感知器学习规则:Wj = Wj + a *(yh(x)),其中h(x)是带有净输入的S型函数。模型可以学习非线性可分离问题吗?

  2. 如果我不在模型中包括非线性激活函数。只是简单的净输入:h(x)= w0 + w1 * x1 + ... + wj * xj。并使用渐变体面来改进模型。该模型可以学习非线性可分离问题吗?

我对这个问题感到很困惑,这是模型可以学习非线性可分离问题的主要原因。

cxl13461615166 回答:梯度下降本身可以解决ANN中的非线性问题吗?

是的,梯度下降法完全能够解决非线性问题。只要各种变换在调整的“增量”内大致呈线性,该方法就起作用。这就是为什么我们调整学习率:保持在线性假设相对准确的范围内的原因。

非线性转换使我们更好地实现了“这很无聊”和“这正是我正在寻找的东西”的思想。如果这些函数比较平滑,或者跳跃次数很少,则可以应用我们惯用的近似值和迭代来求解整个系统。

无论如何,确定有用的工作范围都不是封闭形式的计算。与许多AI研究一样,它需要实验和完善。您问题的直接答案是,您输入的实体错误–请尝试列出的选项,然后查看哪种最适合您的应用程序。

,

监督学习101

这是一个很深的问题,所以我将首先回顾一下基础知识,以确保我们彼此理解。以其最简单的形式,尤其是监督学习,尤其是分类,尝试从一组观察值f中学习诸如y=f(x)这样的函数{(x_i,y_i)}。在实践中会出现以下问题:

  • 您对f一无所知。可能是多项式,指数式或一些奇特的高度非线性的东西,甚至在数学上都没有合适的名字。
  • 您要用来学习的数据集只是您想要学习的真实数据分布的有限子集,并且可能会有噪音。

因此,您找到的所有解决方案都必须是近似的。您将使用的体系结构类型将确定函数h_w(x)的族,而w的每个值将代表该族中的一个函数。请注意,由于通常可能存在无限数量的w,因此功能族h_w(x)的数量通常是无限大的。

学习的目标将是确定哪个w最合适。这就是梯度下降的地方:这只是一个优化工具,可以帮助您选择合理的w,从而选择特定的模型h(x)

问题是,您尝试近似的实际f函数可能不属于您决定选择的h_w系列,所以您是。

回答实际问题

现在介绍了基础知识,让我们回答您的问题:

  1. 在单层模型ANN的输出中放置类似于Sigmoid的非线性激活函数将不会帮助它学习非线性函数。实际上,单层ANN等效于线性回归,添加S型曲线会将其转换为Logistic回归。为什么不起作用?让我尝试一个直观的解释:在单层输出的S形可以将其压缩到[0,1],以便可以将其解释为类成员概率。简而言之,S形对硬阶跃函数起可微的近似作用。我们的学习过程依赖于这种平滑性(随处可使用行为良好的渐变),并且使用阶跃函数会破坏例如。梯度下降。这不会改变模型的决策边界是线性的事实,因为最终的类别决策是从sum(w_i*x_i)的值中得出的。这可能并不是很令人信服,所以让我们使用Tensorflow Playground进行说明。请注意,学习规则在这里并不重要,因为您要优化的函数族的输入中仅包含线性函数,因此您将永远不会学习非线性函数!

  2. 如果您放弃了S型激活,那么您将获得简单的线性回归。您甚至没有将结果投影回[0,1],因此输出将不容易解释为类概率,但最终结果将是相同的。请参见Playground for a visual proof

那需要什么?

要学习非线性可分离问题,您有几种解决方案:

  • 将输入x预处理为x',以便将x'作为输入使问题可以线性分离。这只有在您知道决策边界应采用的形状的情况下才有可能,因此通常仅适用于非常简单的问题。在运动场问题中,由于我们正在使用圆,因此可以将x1x2的平方添加到输入中。尽管我们的模型的输入是线性的,但是已经仔细选择了合适的输入非线性变换so we get an excellent fit

  • 我们可以尝试通过添加一个或多个隐藏层来自动学习正确的数据表示形式,这将有助于提取良好的非线性变换。可以证明,只要使隐藏神经元的数量足够高,使用单个隐藏层就足以近似任何东西。对于我们的示例,we get a good fit using only a few hidden neurons with ReLU activations。直观地,您添加的神经元越多,决策边界就越“灵活”。深度学习的人们一直在增加深度,而不是增加宽度,因为可以证明,使网络更深使它总体上需要更少的神经元,即使它使训练更加复杂。

本文链接:https://www.f2er.com/3123128.html

大家都在问