【发布时间】:2017-03-17 17:32:48
【问题描述】:
我通读了这个页面:http://neuralnetworksanddeeplearning.com/chap1.html,以更好地了解神经网络的工作原理。我想用 Java 创建一个没有反向传播或训练的简单前馈网络。
我不清楚的是网络中每一层的每个“神经元”所涉及的数学。假设我有三层。第一层采用大小为 100 的输入向量。这是否意味着我的第一层将有 100 个神经元?这是否也意味着每个神经元的输入将是所有 100 个输入的总和乘以权重?这是我的神经元激活函数的输入之和吗?
在本章中提到,神经元/感知器的所有输入的总和可以重新表述为输入 (x) 和权重 (w) 的点积。我可以将它们视为两个独立的向量,它们的点积给了我 x1w1 x2w2 x3w3 .. 等,但是 x1w1 + x2w2 + .. 的总和如何仍然等于点积?
最后,如果一个层应该有 100 个输入和 1000 个输出,这是否意味着该层实际上将有 1000 个神经元,每个神经元需要 100 个输入?那么该层每个神经元输出 1 个值,从而给出 1000 个输出?
如果这些问题完全不正确或无关紧要,我提前道歉,我已经在网上阅读了一些文件,这是我目前的理解,但如果不询问真正了解它的人,很难验证。如果您有其他有用的资源或视频,我们将不胜感激。
【问题讨论】:
-
另外,一个很好的学习场所是deeplearning4j 了解神经网络的基础知识。
标签: java neural-network deep-learning