machine-learning - 了解 "Deep MNIST for Experts"

标签 machine-learning neural-network tensorflow deep-learning

我试图理解Deep MNIST for Experts 。我非常清楚神经网络和深度学习如何在高层次上工作,但我很难理解细节。

在本教程中,首先编写并运行一个简单的单层模型。这包括定义模型 x*W+b、计算熵、通过梯度下降最小化熵并评估结果。

我发现第一部分很容易运行和理解。

在第二部分中,构建一个简单的多层网络,并应用一些卷积和池化。然而,事情开始变得棘手。他们写道:

We can now implement our first layer. It will consist of convolution, followed by max pooling. The convolutional will compute 32 features for each 5x5 patch.

5x5 的补丁应等于 25 像素。正确的?为什么要从 25 个像素中提取 32 个特征?为什么您需要比数据点更多的功能?这有什么意义呢?感觉就像他们正在将问题从 25 维“升级”到 32 维。感觉32个维度中的7个应该是多余的。

其次。卷积使用函数truncated_normal它只是选择接近平均值的随机值。为什么这是一个很好的手写数字建模模型?

第三。网络的第二层似乎又做了同样的事情。层数越多越好吗?我可以用单层获得相同的结果吗?

最佳答案

我认为视觉模型可以大大降低理解的难度,所以也许这可以帮助你更好地理解:

http://scs.ryerson.ca/~aharley/vis/conv/

这是一个卷积神经网络的 3D 可视化,它有两个卷积层,后面是两个最大池化层,您可以单击每个层中的 3D 立方体来检查值。

关于machine-learning - 了解 "Deep MNIST for Experts",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38201178/

相关文章:

machine-learning - Transformer 模型中自注意力的计算复杂性

machine-learning - 如何使用 Keras 更改 RNN 中的隐藏状态激活大小?

tensorflow - 缺少值的多元LSTM

machine-learning - BERT多类别情感分析准确率低?

neural-network - 为什么我们需要人工神经网络中的层?

python - Tensorflow CNN 模型出现错误 "NaN loss during training."

tensorflow - 将 keras 模型另存为 .h5

python - 如何使用 TensorFlow tf.train.string_input_producer 产生多个 epochs 的数据?

algorithm - 如何在图像中找到这种几何形状

python - 获取形状未对齐错误 sklearn 。