AI解剖教室 · Part 2 機械はどうやって学ぶのか
第24章 問題集を分けて解く
Q. 問題が何百万個もある問題集。1問ずつ直す?それとも全部解いてから一気に直す?
- Aに合わせて待ちの重みを1.5にすると、Aはぴったりですが、Bが大きくずれて、5軒全体の損失は0.7から1.95に増えます。
- だから問題集全体を見て直す必要があります。でも問題が何百万個もあると、全部解いてから1回直すのでは遅すぎます。
- そこで何問かずつ束にして解きます。1束解いて、採点して、つまみを直して、次の束へ。この束がミニバッチです。
- 問題集を最初から最後まで1回全部解くことを、1エポック(epoch)といいます。ふつうは何エポックもくり返します。
- 問題180個を解く間でくらべます。1問ずつは速く下がりますがガタガタ、全部まとめてはたった3回。10問ずつはなめらかです。
- コンピューターは1つの束をまとめて計算するので速いのです(第68章)。GPT-3は1つの束にトークンを約320万個入れました。
- ミニバッチに分けて解き、エポックをくり返す。でも同じ問題集ばかり解きすぎると、起きる問題があります(第25章)。
この章のまとめ
- 1問だけ見て直すと、ほかの問題がずれる。問題集全体を見る必要がある。
- ミニバッチ:何問かずつ束にして解き、採点して直す。エポック:問題集を1周。
- 1問ずつはフラフラ、全部まとめては遅い。ほどよい束が速くてぶれにくい。