神经网络的架构
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
。一层也可能由多个神经元组成,或者 - 就像在你的例子中 - 仅由单个神经元组成。
在所描述的情况下,似乎没有使用偏差。我的理解是这样的:
对于每个输入神经元 x1
到 x9
,使用单个权重,这里没有什么特别的。由于有 9 个输入,因此有 9 个权重,结果如下:
hidden_out = sigmoid(w1*x1 + w2*x2 + ... + w9*x9)
为了将隐藏层连接到输出,同样的规则适用:输出层的输入被加权,然后对所有输入求和。由于只有一个输入,所以只有一个权重是"summed",这样
output = w10*hidden_out
请记住,sigmoid 函数将其输入压缩到 0..1 的输出范围内,因此将其乘以权重 re-scales 到您需要的输出范围。
我正在阅读一篇论文,作者对他们的网络的描述如下:
》训练相应的深度网络,一个全连接网络 使用隐藏层。该网络有九个二进制输入节点。隐藏层包含一个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
。一层也可能由多个神经元组成,或者 - 就像在你的例子中 - 仅由单个神经元组成。
在所描述的情况下,似乎没有使用偏差。我的理解是这样的:
对于每个输入神经元 x1
到 x9
,使用单个权重,这里没有什么特别的。由于有 9 个输入,因此有 9 个权重,结果如下:
hidden_out = sigmoid(w1*x1 + w2*x2 + ... + w9*x9)
为了将隐藏层连接到输出,同样的规则适用:输出层的输入被加权,然后对所有输入求和。由于只有一个输入,所以只有一个权重是"summed",这样
output = w10*hidden_out
请记住,sigmoid 函数将其输入压缩到 0..1 的输出范围内,因此将其乘以权重 re-scales 到您需要的输出范围。