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