有没有办法在不使用大脑概念的情况下理解神经网络?

人工智能 神经网络 机器学习 函数逼近 历史
2021-11-07 21:31:48

有没有办法理解,例如,一个多层感知器,而不需要挥手说它们类似于大脑等?

例如,很明显感知器所做的是逼近一个函数。给定一个带标签的数据集,可能有许多其他方法可以将输入区域分成与标签相对应的较小区域;然而,这些方法可能在计算上相当无效,这就是为什么它们不能被实际使用。然而,似乎在许多情况下,寻找这种分离区域的迭代方法可能会大大加快速度;然后,自然会出现问题,为什么这种加速可能是可能的,它是如何发生的以及在什么情况下。

可以肯定的是,这个问题已经过调查。如果有人能阐明这个问题的历史,我将不胜感激。

那么,为什么神经网络有用,它们有什么作用呢?我的意思是,从实践和数学的角度来看,不依赖根本无法解释的“大脑”或“神经元”的概念。

3个回答

tl;博士我总是喜欢将神经网络视为逻辑回归的概括。

我也不喜欢这样,传统上,在介绍神经网络时,书籍从生物神经元和突触等开始。我认为从统计和线性回归开始,然后是逻辑回归,然后是神经网络更有益。

感知器本质上是一个简单的二元逻辑回归器(如果您对输出设置阈值)。如果您有许多共享相同输入的感知器(即神经网络中的一层),您可以将其视为多类逻辑回归器。现在,通过一个接一个地堆叠这样的层,您可以创建一个多层感知器 (MLP),它是一个具有两层的神经网络。相当于两个多类逻辑回归量一个接一个堆叠。改变的一件值得注意的事情是这里的训练技术,即反向传播(因为您无法从隐藏层直接访问目标)。另一个可以改变的是激活函数(在神经网络中它并不总是 sigmoid)

引入稀疏连接和权重共享,您将获得卷积神经网络。添加从一个层到其自身的连接(用于下一个时间步),您将获得一个循环神经网络。同样,您可以通过这种推理重现任何神经网络。

我知道这是一种过于简化的呈现方式,但我认为你明白了。

查看神经网络的一种方法是将其视为一系列线性变换。

你拿一堆数据点,从不同的空间从不同的角度看待它。您在数据点上应用一些非线性函数,例如 ReLU、sigmoid 等。现在您重复从不同空间查看的相同过程。

我们的目标是从事情开始适合我们的任务的角度来看待它。这些线性变换是网络必须优化的。

看待它的一个好方法是从数学上理解神经网络,即纯粹基于你只是试图拟合一个函数并解决一个优化问题的事实(除了将其视为逻辑回归的多个单元) .

假设我们要逼近一个函数y=fw(x)xD, 在哪里D是我们的领域空间。我们希望这个函数映射到C,我们的共同域,函数最终采用的所有值都是集合yR,我们的范围。本质上我们框架f(x)作为一系列操作(什么操作应该在哪里进行,主要是从经验中获得的常见实践、直觉和洞察力)假设当这些操作使用正确的参数时,我们将得出一个非常合理的函数近似值.

我们用我们最初想要的任何值(通常是随机的)初始化参数,调用这个参数空间W. 基本思想是构建另一个功能L(fw(x),y^)称为我们想要最小化的损失函数。这可以测试我们的函数有多好 - 由于我们的函数参数最初是随机的,因此估计了函数近似值与已知点(训练集)的实际范围值之间的误差。然后通过反向传播使用这些估计的误差值及其梯​​度,其中winitW更新为另一个w1W, 在哪里w1通过继续计算大号在梯度减小的方向上,希望达到损失函数的最小值。

简化,基本上你想要做的就是找到一个是的=Fw(X)其中参数w将被选择为大号(Fw(X),是的^)为训练集最小化。

尽管这是神经网络的一个非常粗略的概念,但在研究生成网络和其他问题时,在解决问题之前必须先用数学公式表示,这样的思维方向可能特别有用。