Tesla AI ディレクターの MNIST トレーニング ツアー

1 はじめに

今回は、テスラの AI ディレクターによるブログ「ディープ ニューラル ネット: 33 年前と 33 年後」を取り上げ、過去 30 年間の DNN の発展と動向をわかりやすく紹介します。

さて、さっそく始めましょう!

2. 実験内容

Andrej Karpathy は、主に手書き文字認識に使用される深層学習の先駆的な研究である LeNet を再現しています。彼は、モデルの効果を高めるために、過去 33 年間に人間が行った新しく改良されたトリックをいくつか使用しようとしました。lecun1989-repro に基づく対応する実験は次のとおりです。

  1. ベースライン:
eval: split train. loss 4.073383e-03. error 0.62%. misses: 45
eval: split test . loss 2.838382e-02. error 4.09%. misses: 82
  1. 元の MSE 損失は、現在多分類で最も一般的に使用されている損失関数であるクロス エントロピー損失に置き換えられます。
eval: split train. loss 9.536698e-06. error 0.00%. misses: 0
eval: split test . loss 9.536698e-06. error 4.38%. misses: 87
  1. 結果は改善されませんでした。元のコードの SGD オプティマイザーが十分強力ではなかったのではないかと考えたので、最新の AdamW オプティマイザーに切り替え、「誰もが知っている」最適な初期学習率 3e-4 を使用し、重みを追加しました。結果は次のようになります。
eval: split train. loss 0.000000e+00. error 0.00%. misses: 0
eval: split test . loss 0.000000e+00. error 3.59%. misses: 72
  1. 最初は甘さを感じましたが、評価結果をよく見ると、train/test の差が依然として非常に大きく、これが過学習現象である可能性があることがわかります。そこで、少しデータを拡張することにしました。
eval: split train. loss 8.780676e-04. error 1.70%. misses: 123
eval: split test . loss 8.780676e-04. error 2.19%. misses: 43
  1. まだ過学習が残っているような気がするので、ドロップアウトを増やしてtanh活性化関数をReLUに置き換えます。
eval: split train. loss 2.601336e-03. error 1.47%. misses: 106
eval: split test . loss 2.601336e-03. error 1.59%. misses: 32

上記の段階的な改善により、ディレクターの Andrej Karpathy は 33 年前の古典的な分類問題の誤り率をさらに 60% 削減することに成功しました。これらの手順は非常に一般的ですが、ディレクターの確かな基礎スキルも反映されます。所長はそれでも不満を抱き、推論結果を視覚化したところ、次のようなモデルのエラー例が得られました。
ここに画像の説明を挿入

彼は Vision Transformer などの新しくてクールなものをいくつか試しましたが、モデルがそれ以上改良されていないのは残念です。最後に、本質から始めて、モデルの間違った例を視覚化し、それに対応するデータを追加することで、エラー率はさらに 1.25% まで減少しました。

eval: split train. loss 3.238392e-04. error 1.07%. misses: 31
eval: split test . loss 3.238392e-04. error 1.25%. misses: 24

実際、上記のエラーの例を観察すると、一部のエラー モデルは正しいはずであると誰もが感じることができますが、現時点では、対応するデータを追加するのは確かに良い方法です。しかし、それよりも重要なのは、検査のためにモデル推論の結果を視覚化する良い習慣を誰もが身につけられることを願っています。

3. 実験概要

次に、Andrej Karpathy は、上記の実験について、対応する要約を作成しました。

  1. やっていることの本質は変わっていません。それは依然として微分可能なニューラル ネットワークであり、勾配最適化に基づいた一連の理論です。

  2. 当時のデータセットのサイズは非常に小さく、MNIST には 7,000 枚以上の画像しかありませんでしたが、現在では、たとえば CLIP には 400 万枚のトレーニング画像があり、各画像の解像度ははるかに大きくなっています。

  3. トレーニングリソースに制限があり、当時のネットワークは非常に小さかった

  4. 当時のトレーニングは非常に遅く、3 日間実行するには 7,000 枚以上の写真と小さなネットワークが必要でしたが、現在はディレクターの Macbook を使用しているため、トレーニングは 90 秒以内に完了できます。

  5. この問題への対処はまだ進んでおり、現在の技術を使用するとエラー率を 60% 削減できます。

  6. データセットを単に増やすだけでは効果はほとんどなく、データセットを制御するにはさまざまなトレーニング手法を装備する必要があります。

  7. 今後は大規模なモデルに依存するため、大量の計算能力が必要になります

4. まとめ

手書き文字認識の問題は、現在では非常に成熟したアルゴリズムであるように見えますが、この記事の責任者である Andrej Karpathy 氏は、最新のディープラーニング戦略を使用してモデルのエラー率を 60% 削減し、その確かなディープラーニングも実証しました。基本的な知識は、誰もがそれと同じくらい優れていることを願っています。

うーん、勉強がなくなってしまったのですか?

おすすめ

転載: blog.csdn.net/sgzqc/article/details/129914961