AI解剖课堂 · Part 2 机器是怎样学习的

第 26 章 动手试试:手写数字

Q. 我用手指写的数字,神经网络真的认得出来吗?

  1. 一张数字图有 28 × 28 = 784 格。每一格里是从 0(空白)到 1(浓墨)的一个数(第 6 章)。
  2. 这 784 个数就是输入。隐藏层的 64 个神经元各自算出 (输入 × 权重) 之和 + 偏置,再用 ReLU 折一下(第 16~19 章)。
  3. 10 个输出神经元给出 0~9 的分数,再用 Softmax 变成概率(第 14 章)。这张图:3 是 87.5%,5 是 11.3%。
  4. 训练用的是 6 万张手写数字,叫作 MNIST。前向传播、损失、反向传播、调整,按小批量反复进行(第 19~24 章)。
  5. 学完后,用没见过的 1 万张测试图来打分,答对了 97.96%。它就是装在这个应用里的那个神经网络。
  6. 把隐藏神经元的权重画成图,会看到像笔画片段一样的花纹。没有人教过它,是它自己找到的。
  7. 现在轮到你来画了。用手指在下面的格子里写一个数字,浏览器里的神经网络马上就能认出来。

本章小结