移动端AI与ML应用开发:基于iOS和Android
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.3 解析Fashion MNIST的模型架构

现在让我们看看如何将这些像素值与之前看到的计算机视觉架构一起使用。

你可以在图2-11中看到这个的表示。请注意,Fashion MNIST中有10个时尚类,因此我们需要一个包含10个神经元的输出层。请注意,为了更容易适应页面,我旋转了架构,使10个神经元的输出层位于底部,而不是右侧。

上面神经元的数量,当前设置为20以适应页面,可能会随着你编写代码而改变。但我们的想法是把图像的像素输入这些神经元。

图2-11:一种识别时尚图像的神经网络架构

假设我们的图像是矩形的,大小为28×28像素,我们需要用与表示一层中的神经元相同的方式来表示它,即一维数组,所以我们可以遵循一个称为“展平”图像的过程,使其变成784×1阵列,而不是28×28。然后,它具有与输入神经元相似的“形状”,因此我们可以开始输入。具体情况如图2-12所示。请注意,由于图2-10中的踝靴图像是Fashion MNIST中的第“9”类,因此我们将训练它,说它是应该在独热编码中点亮的神经元。我们从0开始计数,因此第9类的神经元是图2-12中的第10个,即最右边的一个。将术语“密集”赋予此层类型的原因现在应该在视觉上更加明显!

图2-12:使用Fashion MNIST训练神经网络

鉴于训练集中有60000张图像,我们在第1章中提到的训练循环会发生。首先,网络中的每个神经元都将被随机初始化。然后,对于60000张标记图像中的每一张,都会进行分类。这种分类的准确性和损失将帮助优化器调整神经元的值,我们会再试一次,以此类推。随着时间的推移,神经元的内部权重和偏差将被调整以匹配训练数据。现在让我们在代码中探索一下。