我正在阅读下面链接中的教程,该教程使用 MNIST 手写数字数据库。
必须将 28x28 大小的图像数据重新整形为 784 像素的一维向量。28x28=784。为什么多层感知器只坚持输入数据的一维向量?卷积和循环神经网络接受更高维度的输入形状没有问题。
我正在阅读下面链接中的教程,该教程使用 MNIST 手写数字数据库。
必须将 28x28 大小的图像数据重新整形为 784 像素的一维向量。28x28=784。为什么多层感知器只坚持输入数据的一维向量?卷积和循环神经网络接受更高维度的输入形状没有问题。
你可以说每种类型的神经网络都有一维输入数据。考虑使用 2d 数据的 2d-CNN 更方便,因为卷积操作最好通过在网格上移动正方形来说明,对于最大池也是如此。
但是你可以很容易地写出你在一行代数中执行的所有乘法、加法和最大运算。在这一行中,您可以轻松地将 2d 输入索引扁平化为 1d 索引。传入的信息以及网络的计算和输出将完全相同,但这种表示会失去其对现实世界的解释,因此没有理由这样想。
关键是有不同的方式来表示完全相同的信息,我们为 FNN 输入选择一维表示,有时为 CNN 输入选择更高维度,因为它对应于现实世界问题的物理结构,并且最容易考虑. 这就是为什么大多数图书馆让您以这些形状输入数据的原因。但是,如果您考虑计算机上最低计算级别发生的事情,您不一定会找到相同的结构。