AI解剖教室 · Part 2 機械はどうやって学ぶのか

第26章 体験:手書き数字

Q. 自分が指でかいた数字を、ニューラルネットワークは本当に読み取れるのでしょうか?

  1. 数字の画像は 28 × 28 = 784マス。マスごとに、0(空白)から1(濃いインク)までの数字が入っています(第6章)。
  2. 784個の数字が入力です。隠れ層のニューロン64個が、それぞれ (入力 × 重み) の合計 + バイアスを計算し、ReLUで折り曲げます(第16〜19章)。
  3. 出力ニューロン10個が0〜9の点数を出し、ソフトマックスで確率にします(第14章)。この画像は3が87.5%、5が11.3%。
  4. 学習には、MNISTという手書き数字6万枚を使いました。順伝播、損失、誤差逆伝播、修正をミニバッチでくり返しました(第19〜24章)。
  5. 学習のあと、初めて見るテスト画像1万枚で採点したら、97.96%正解しました。このアプリの中に入っている、まさにそのネットワークです。
  6. 隠れニューロンの重みを画像にすると、線のかけらのような模様が見えます。だれも教えていないのに、自分で見つけたのです。
  7. さあ、自分でかいてみる番です。下のマスに指で数字をかくと、ブラウザの中のネットワークがすぐに当てます。

この章のまとめ