如何表示多层感知器神经网络的系数?
How to represent the coefficients of a multi layer perception neural network?
出于学习目的,我正在尝试从 stratch 编写一个简单的多层感知器 (MLP) 神经网络代码,其中:
- 输入层有2500个输入,
- 隐藏层#1 和#2 中的 100 个神经元,
- 输出层有10个输出
和反向传播,不使用 tensorflow 或类似的现成工具。
隐藏层 #1 中的每个神经元必须连接到 2500 个输入并需要存储 2500 个系数。这同样适用于所有层的所有神经元。
问题:通常使用哪种数据结构来存储从第n-1层神经元到第n层特定神经元的所有系数?
是否有一个独特的数据结构(例如在 Numpy 中)可以存储整个 MLP 的所有这些系数?
张量(n dim 数组)对于这种事情是强制性的吗?
神经网络大多只是一系列矩阵乘法和非线性变换。因此 n 维数组是自然的存储方法。根据应用程序,您可以使用稀疏矩阵来存储这些系数的系数和索引。但一般来说,存储只是矩阵。
像 tensorflow 这样的库的一个很好的顶峰是看 at/implement neural network in numpy。
出于学习目的,我正在尝试从 stratch 编写一个简单的多层感知器 (MLP) 神经网络代码,其中:
- 输入层有2500个输入,
- 隐藏层#1 和#2 中的 100 个神经元,
- 输出层有10个输出
和反向传播,不使用 tensorflow 或类似的现成工具。
隐藏层 #1 中的每个神经元必须连接到 2500 个输入并需要存储 2500 个系数。这同样适用于所有层的所有神经元。
问题:通常使用哪种数据结构来存储从第n-1层神经元到第n层特定神经元的所有系数?
是否有一个独特的数据结构(例如在 Numpy 中)可以存储整个 MLP 的所有这些系数?
张量(n dim 数组)对于这种事情是强制性的吗?
神经网络大多只是一系列矩阵乘法和非线性变换。因此 n 维数组是自然的存储方法。根据应用程序,您可以使用稀疏矩阵来存储这些系数的系数和索引。但一般来说,存储只是矩阵。
像 tensorflow 这样的库的一个很好的顶峰是看 at/implement neural network in numpy。