神经网络发展

时间:2016-11-24 08:14:44

标签: machine-learning neural-network artificial-intelligence deep-learning

我正在尝试编写神经网络课程,但我并不完全理解它的某些方面。关于后续设计,我有两个问题。

I have developed Neural Netowrk Design like this

  1. 我这样做是否正确?偏倚神经元是否需要连接到所有神经元(输入层中的神经元除外)或隐藏层中的神经元?

  2. 我的第二个问题是关于计算输出值。我使用下面的等式来计算神经元的输出值。

    {{1}}

    在这个等式之后,我计算激活并且结果发送输出。并输出神经元做同样的事情。

  3. 我不确定自己在做什么,我想清理问题。

3 个答案:

答案 0 :(得分:0)

在theano中查看:http://deeplearning.net/tutorial/contents.html。这解释了使用theano(符号数学库)对多层感知器需要了解的所有内容。

答案 1 :(得分:0)

  1. 偏差通常连接到所有隐藏和输出单位。
  2. 是的,你计算激活函数的输入,如前一层神经元的重量*输出的总和。
  3. 祝发展顺利;)

答案 2 :(得分:0)

  1. 每个隐藏和输出层应该有一个单独的偏置神经元。可以将图层视为应用于一阶多项式的函数,例如f(m*x+b)=y,其中y是您的输出,f(x)是您的激活函数。如果您查看线性术语,您将识别b。这表示偏差,它与神经网络的行为类似于这种简化:它将超平面在空间中上下移动。请记住,每层有一个偏置连接到该层f((wi*xi+b)+...+(wn*xn+b))的所有神经元,初始值为1.当涉及到梯度下降时,您必须像正常体重一样训练这个神经元。 / p>

  2. 在我看来,您也应该将激活功能应用于输出层。这是多层感知器通常采用的方式。但它实际上取决于你想要什么。例如,如果您使用逻辑函数作为激活函数,并且您想要在区间(0,1)中输出,那么您还必须将激活函数应用于输出。由于基本线性组合(如您的示例所示)理论上可以超出前面提到的Intervall的边界。