はじめに
こんにちは、Juna1013です。
みなさんはデータセットを作成したことがありますか?
私は前に一度プロジェクトで先輩とデータセットを作成した経験があります。
その時に技術顧問から「データセットが大きくなると一般的に精度が下がる」と言われ、疑問に思いました。
大規模になれば精度が上がりそうな印象ですが、なぜ予想に反する結果になるのでしょうか?
その理由について今回の記事でまとめていけたらなと思っています。
1. データの質の低下
大量のデータを集めるときに避けられないのが「ノイズ」と「ラベルミス」です。ラベルミスや異常値、意味のないデタなどが多く混ざると、モデルは本質的なパターンを捉えにくくなります。
実例として、以下のようなものが挙げられます。
- ImageNetのような大規模画像データセットには、人間がラベル付けを誤った例が一定割合存在します。小さなデータセットでは人手で修正できますが、1億件単位になると不可能に近いです。結果として学習に悪い影響が出ます。
- LLMではWebから集めたテキストに「スパム記事」や「自動生成の低品質テキスト」が混ざっており、これがモデルの出力品質を下げる一因になっています。
※1. ノイズ:学習データに含まれる誤差や不要な情報で、モデルの学習を妨げる要因
※2. ラベルミス:データに付与された正解ラベルが誤っている状態
※3. ImageNet:1000以上のクラスと1000万枚以上の画像からなる大規模画像データセット
2. モデルの容量不足
データが増えると、学習すべき情報量も増加します。しかし、モデルのパラメータ数や構造が十分でないと、複雑なデータ分布を表現しきれず、結果として精度が下がることがあります(小さいモデルに巨大なデータを学習させると性能低下)。
実例として、以下のようなものが挙げられます。
- ResNet-18(1800万パラメータ)のような比較的小型のモデルに、数千万枚規模の画像を学習させても、性能は頭打ちになります。モデルがデータの多様性を吸収しきれないためです。
- NLPでも、BERT-base(1億1000万パラメータ)は中規模データでは強力ですが、GPT-3のような数千億トークン規模のコーパスを与えると表現力不足で性能が伸び悩みます。
※4. ResNet-18:18層の残差学習(Residual Learning)を用いた畳み込みニューラルネットワーク
※5. NLP(Natural Language Processing):自然言語処理の略で、人間の言語をコンピューターで理解・生成する技術
※6. BERT-base:Googleが開発した事前学習済み言語モデルで、12層・110Mパラメータ規模の代表的なNLPモデル
3. 計算資源や学習手法の制約
データが大きくなると、「学習時間を短縮するためにエポック数を減らす」「学習率やバッチサイズを無理に調整する」といった工夫が必要になります。その結果、十分に収束せずに精度が下がる場合があります。
実例として、以下のようなものが挙げられます。
- GoogleのTPUやNAVID GPUクラスタを使っても、巨大データセットでは1エポックを回すだけで数週間かかります。そこで「エポック数を減らす」などの妥協をすると、収束不足で精度下がる。
- LLMでは、学習率やバッチサイズを誤ると「勾配爆発」や「過学習未満の学習不十分」が起き、データ量の割に性能が伸びないことが報告されています。
※7. エポック数:学習データ全体を何回モデルに繰り返し学習させるかを表す回
※8. TPU(Tensor Processing Unit):Googleが開発した機械学習専用の高性能プロセッサ
※9. NAVID GPUクラスタ:NAVID製GPUを多数接続した並列分散学習用の計算環境
※10. 学習率:パラメータ更新時の一歩の大きさを決めるハイパーパラメータ
※11. バッチサイズ:一度の学習で同時に処理するデータサンプル数
※12. 勾配爆発:誤差逆伝播で勾配が異常に大きくなり、学習が不安定になる現象
4. データの分布が変わる
データを増やす際に、従来の分布とは違う種類のサンプルが入ると「モデルが以前得意だった領域」での精度が落ちることがあります。
実例として、以下のようなものが挙げられます。
- 自動運転AIでは、晴天の道路がぞうで高精度に動作していたモデルに「夜間・雪道・砂漠」のデータを追加すると、昼間のせいどが逆に落ちるケースがあります。これは学習の焦点が分散してしまうためです。
- ChatGPTなどのLLMに、あまりに多様なデータ(多言語、専門性の低い文章)を追加すると、英語のビジネス文書生成など「以前は得意だったタスク」の精度が落ちることがあると言われています。
5. 評価方法との不一致
学習用データが増えて多様性が高まる一方、評価データが限られた範囲しかカバーしていないと「見かけ上の精度」が下がることがあります。
実例として、以下のようなものが挙げられます。
- CIFAR-10のような狭い領域のベンチマークで評価すると、多様な自然画像を学習したモデルは「CIFARタスクだけでは精度が低い」ように見えてしまいます。しかし、実際には汎化性能は上がっています。
- LLMでは、テストセットが一部の言語(例えば英語中心)だけに偏っていると、多言語データを追加学習した後に「英語タスクでの精度が下がった」と見えることがあります。
※13. CIFAR-10:10種類のクラスに分かれた6万枚の小型カラー画像からなる機械学習用データセット
※14. 汎化性能:未知のデータに対しても正しく予測できる能力
おわりに
以上がデータセットの大規模化に伴って精度が低下する理由になります。
精度低下の背景にはデータの質、モデルの容量、計算資源、分布の変化、評価方法という5つの要因があります。
この現象は代表的なAIモデル(ImageNet系CNN、BERT/GPT、ChatGPT、自動運転AI)でも実際に確認されています。
結論として、「データを増やせば精度が上がる」というのは理論の話であって、実務的には質・リソース・タスク設計のバランスを取ることが重要ということです。