Neural network 神经网络-运动

Neural network 神经网络-运动,neural-network,layer,activation-function,Neural Network,Layer,Activation Function,我目前正在为自己学习神经网络的概念,我正在使用来自 我也做了一些练习,但有一个练习我真的不懂,至少一步 任务: 有一种方法可以通过向上面的三层网络添加额外的一层来确定数字的位表示。额外层将前一层的输出转换为二进制表示,如下图所示。为新输出层查找一组权重和偏差。假设前三层神经元的正确输出在第三层(即旧输出层)的激活度至少为0.99,错误输出的激活度小于0.01。 我也找到了解决方案,如第二张图所示 我理解为什么矩阵必须有这种形状,但我真的很难理解用户计算的步骤 0.99 + 3*0.01 4

我目前正在为自己学习神经网络的概念,我正在使用来自

我也做了一些练习,但有一个练习我真的不懂,至少一步

任务: 有一种方法可以通过向上面的三层网络添加额外的一层来确定数字的位表示。额外层将前一层的输出转换为二进制表示,如下图所示。为新输出层查找一组权重和偏差。假设前三层神经元的正确输出在第三层(即旧输出层)的激活度至少为0.99,错误输出的激活度小于0.01。

我也找到了解决方案,如第二张图所示

我理解为什么矩阵必须有这种形状,但我真的很难理解用户计算的步骤

0.99 + 3*0.01
4*0.01
我真的不明白这两个步骤。如果有人能帮助我理解这个计算,我将非常高兴


非常感谢您的帮助

上一层的输出为10x1(x)。权重矩阵为4x10。新的输出层将是4x1。首先有两个假设:

  • x仅在一行中为1。xT=[1 0 0 0 0]。如果你将这个向量乘以矩阵W,你的输出将是yT=[0],因为x中只有1。与W相乘后,这将是W的第0列的1倍,即0

  • 第二个假设是,如果x不再是1,而不是1,那么x可以是xT=[0.99 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01]。如果你把x和第一行W相乘,结果是0.05(我相信这是打字错误)。当xT=[0.01 0.99 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01]与W的第一行相乘后,结果为1.03。因为:

0.01*0+0.99*1+0.01*0+0.01*1+0.01*0+0.01*1+0.01*0+0.01*1+0.01*0+0.01*1=1.03


所以我认为有一个输入错误,因为作者可能假设W的第一行有4个输入错误,这是不正确的,因为有5个输入错误。因为如果第一行有4个,那么实际结果将是x第一行的0.99为0.04,x第二行的0.99为1.02。

woow非常感谢:)这真是太好了。我还有一个问题,只是想确定一下。我知道感知器的方程是wx+b0或wx+b>0--1我学到的是,b是标量,偏置,W是权重矩阵,x是输入,所以是经典的矩阵向量乘法。然而,如果我把w和x相乘,我得到一个向量。但是我不能加上偏差,因为它是一个标量。我对这个概念的理解是错误的还是这不是矩阵向量乘法?不确定我们是否使用相同的术语。最初的感知器是一个神经元。这个感知器有权向量(没有矩阵,因为只有一个单位)和偏差(标量,因为只有一个单位)。但如果你使用的层多于一个单位,你使用的是偏置,偏置可以是形状数为单位的向量,因为每个神经元都有偏置。_unitsx1的数量_也是Wx乘法的形状,所以可以在偏置向量和Wx结果之间执行加法。