我目前正在阅读这本书,希望有人告诉我目前我对神经网络的假设是否正确。 https://www.pyimagesearch.com/deep-learning-computer-vision-python-book/
如果一层有 30 个神经元:在前馈神经网络中,第一层的每个神经元与第二层的所有神经元相乘。这将是第一层的 30 个神经元乘以第二层的 30 个神经元,总共可以得到 900 (30*30 = 900) 次乘法(这是正确的吗?)
但是这 900 次乘法仅适用于神经网络 (nn) 的第一层和第二层。因此,如果我有一个具有 3 层的前馈 nn,我将不得不再进行 900 次乘法运算,因为它们是第一层的输出(它们是第二层的输入)与第三层的权重的乘法。
因此,回顾一下我到目前为止所说的内容,我有一个前馈 nn,前两层有 3 层,前两层有 30 个神经元,每个神经元与第二层的所有神经元相乘,每增加一层,我将 30 * 30 = 900 次乘法add,它增加了 900 个额外的乘法。
然后对于具有三 (3) 个全连接层的模型,前两层将是 900 次乘法,因为对于我之前所说的,第二层和第三层中的 900 次乘法总共 1,800 (900 + 900) 次乘法,不包括激活功能,这仅用于前向传递,我的理解正确吗?
除了典型的神经网络中的前向传播之外,它们还有一个后向传播,由于我之前的计算,它们是整个后向传播的 1,800 个导数(梯度)。假设对于神经网络,我是否正确?这就是 CPU 计算机需要这么长时间来训练模型的原因,因为它必须进行大约 3,600 (1,800 + 1,800 ) 次数学运算。