神经网络中的单位是什么(反向传播算法)

时间:2015-05-22 10:19:14

标签: machine-learning artificial-intelligence neural-network classification backpropagation

请帮助我理解神经元网络中的单位事物。从书中我了解到输入层中的单元表示训练元组的属性。但是,目前尚不清楚它是如何做到的。

这是图表: enter image description here

输入单元有两条“思路”。第一个可能是 X1 代表 attr1 X2 代表 attr2 ...否则,它可能是 X1 X2 X3 代表 attr1 ,但 X1 代表 Value.VALUE_ONE ,..., X3 代表 Value.VALUE_THREE 。所以至少,如果 attr1 = Value.VALUE_TWO ,那么它会加权并同时送到第二层。

public class Tuple
{
  private Value attr1
  private Value attr2
  private Value attr3
}

public enum Value
{
  VALUE_ONE,
  VALUE_TWO,
  VALUE_THREE
}

第二个问题是隐藏的图层单元。如何确定它在隐藏层中的单位数以及它们在模型中的含义?

1 个答案:

答案 0 :(得分:0)

"单位"只是浮点值。

那里发生的所有计算都是向量乘法,因此可以使用矩阵乘法和GPU硬件很好地并行化。

一般计算如下:

double v phi(double[] x, double[] w, double theta) {
  double sum = theta;
  for(int i = 0; i < x.length; i++)
    sum += x[i] * w[i];
  return tanh(sum);
}

除了您不想自己在Java代码中执行此操作。您希望以并行方式在GPU上执行此操作,因为这将快100倍。