
计算机视觉简介
|
27
假设我们的图像是矩形的,大小为 28×28 像素,我们需要用与表示一层中的神经元相
同的方式来表示它,即一维数组,所以我们可以遵循一个称为“展平”图像的过程,使
其变成 784×1 阵列,而不是 28×28。然后,它具有与输入神经元相似的“形状”,因
此我们可以开始输入。具体情况如图 2-12 所示。请注意,由于图 2-10 中的踝靴图像是
Fashion MNIST 中的第“9”类,因此我们将训练它,说它是应该在独热编码中点亮的神
经元。我们从 0 开始计数,因此第 9 类的神经元是图 2-12 中的第 10 个,即最右边的一
个。将术语“密集”赋予此层类型的原因现在应该在视觉上更加明显!
图
2-12
:使用
Fashion MNIST
训练神经网络
鉴于训练集中有 60 000 张图像,我们在第 1 章中提到的训练循环会发生。首先,网络中
的每个神经元都将被随机初始化。然后,对于 60 000 张标记图像中的每一张,都会进行
分类。这种分类的准确性和损失将帮助优化器调整神经元的值,我们会再试一次,以此
类推。随着时间的推移,神经元的内部权重和偏差将被调整以匹配训练数据。现在让我
们在代码中探索一下。
2.1.4
编写
Fashion MNIST
模型
前面描述的模型架构如下所示:
model = Sequential(
[Flatten(input_shape=(28,28)),
Dense(20, activation=tf.nn.relu),
Dense(10, activation=tf.nn.softmax)]) ...