【要約】FashionMNISTでacc95%を達成するまで [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
筆者がFashionMNISTを用いた画像分類タスクにおいて、目標精度95%の達成を目指す過程で直面した技術的課題である。精度向上のための試行錯誤の中で、以下の問題が発生した。
- ・モデルの限界:初期のMLPでは画像の空間的特徴を捉えられず、精度が頭打ちとなった。
- ・学習の不安定化:BatchNormや高い学習率を導入した際、valid accuracyが大きく崩壊した。
- ・評価の困難さ:モデルを複雑化した際、学習初期の精度が低く、構造の優位性を判断しにくかった。
// Approach
筆者は、モデル構造の段階的な高度化と、学習プロセスの最適化を組み合わせたアプローチを採用した。精度を段階的に引き上げるため、以下のステップを実行した。
- ・モデルの転換:空間構造を活用するため、MLPからCNNへ移行した。
- ・構造の深化:VGG風のConvBlockを導入し、畳み込み層を3段構成に拡張した。
- ・学習の安定化:CosineAnnealingLRを導入し、高めの学習率から段階的に減衰させた。
- ・正則化の最適化:Weight Decayを3e-5から1e-4へ調整し、過学習を抑制した。
// Result
筆者は、実験管理の徹底とパラメータの微調整により、FashionMNISTで目標の精度95%を達成した。具体的な成果は以下の通りである。
- ・目標達成:直近10epochの平均valid_accuracyで0.95001を記録した。
- ・決定打の特定:最終的な精度向上は、構造の追加ではなくWeight Decayの調整によるものと判明した。
- ・管理手法の確立:実験結果をCSVで記録し、比較可能な環境を構築したことが成功を支えた。
Senior Engineer Insight
> 本記事の真価は、モデル設計以上に「実験管理の重要性」を説いている点にある。大規模な開発現場では、モデルの微細な改善が全体のパフォーマンスに直結する。そのため、CI/CDを用いた実験ログの自動化や、単発の最大値ではなく平均値で精度を評価する姿勢は、実戦的なMLOpsの観点からも極めて重要である。モデルを複雑化する前に、まず観測基盤を整えるべきだという教訓は、多くのエンジニアにとって価値がある。