神经网络的架构

Architecture of the neural network

我正在阅读一篇论文,作者对他们的网络的描述如下:

》训练相应的深度网络,一个全连接网络 使用隐藏层。该网络有九个二进制输入节点。隐藏层包含一个sigmoid节点,输出层有一个内积 功能。因此,网络有 10 个变量。"

该网络用于预测一个连续数 (y)。我的问题是,我不了解 sigmoid 节点之后的网络结构。输出层是做什么的?内积是做什么用的?

通常,每个神经元的 pre-activation 函数是一个内积(或 vector-vector 乘法中的点积)和一个引入偏差的加法的组合。单个神经元可以描述为

z = b + w1*x1 + x2*x2 + ... + xn*xn
  = b + w'*x
h = activation(z)

其中b是加法项(神经元的偏差),每个h是一层的输出,对应下一层的输入。在 "output layer" 的情况下,它是 y = h。一层也可能由多个神经元组成,或者 - 就像在你的例子中 - 仅由单个神经元组成。

在所描述的情况下,似乎没有使用偏差。我的理解是这样的:

对于每个输入神经元 x1x9,使用单个权重,这里没有什么特别的。由于有 9 个输入,因此有 9 个权重,结果如下:

hidden_out = sigmoid(w1*x1 + w2*x2 + ... + w9*x9)

为了将隐藏层连接到输出,同样的规则适用:输出层的输入被加权,然后对所有输入求和。由于只有一个输入,所以只有一个权重是"summed",这样

output = w10*hidden_out

请记住,sigmoid 函数将其输入压缩到 0..1 的输出范围内,因此将其乘以权重 re-scales 到您需要的输出范围。