神经网络如何计算权重之和?

Kak*_*ter 2 machine-learning neural-network

我一直在阅读有关神经网络的一般信息,并试图了解其背后的基本理论。我有点困惑,想知道是否有人可以帮助我。

我理解神经网络的方式如下:

输入层+隐藏层+输出层,其中每一层都有节点或神经元。每个神经元从上一层的所有神经元获取输入,并发送到下一层的每个神经元。然后据说神经元计算权重的总和,然后利用激活函数来触发或不触发(或发送 0 到 1 之间的数字)。

让我感到困惑的是它如何计算权重之和?

具有一个隐藏层的简单神经网络

在上图中,我创建了一个简单的神经网络,并将输入称为 Andrew Ng 在他的讲座(Youtube)中所做的。

因此,取第 1 层中的神经元 a1:这将从第 0 层获得值 a1 和 a2,以及相应的权重和偏差,它们将被收集到第 1 层的向量 b1 和 w1 中。

那么总和是根据以下公式计算的吗?z = w1*x + b? 这通常适用于所有神经网络还是只是一种类型的神经网络?第 1 层中的 z1 也是向量吗?是激活函数使它成为标量吗?

我知道有不同的激活函数可以计算最终的标量值,该标量值与权重和偏差一起发送到下一层神经元。但我想我对权重和偏差以及它们的来源/计算方式等感到非常困惑。

我希望我的解释不会太混乱,因为我很困惑。

Dav*_*sip 5

z1 = w1*x + b 操作仅适用于全连接层。例如,卷积神经网络使用不同的操作。

我认为这个符号有点混乱。第 1 层中 a1 的值是一个标量,为此您需要将激活函数应用于另一个标量 z1,可以计算出 z1 = w1*x + b。这里,w1 不是矩阵,而是传递给神经元 a1 的权重向量。

然而,这不是通常的计算方式,因为这没有利用矢量化的优势。一般来说,你想要做 z = W*x + b,其中 W 是所有权重的矩阵,z 是一个向量,然后逐个应用激活函数,获得该层的激活向量,a .