End to End AI の黎明期に登場したPilotNetを使って走行してみる Part2
> Source: Zenn_Python
Execute Primary Source
// Problem
元論文のパラメータ(解像度、色空間、出力次元等)に設定を変更した際、検証データの損失関数は低いものの、シミュレータ上で車両が壁に衝突し走行不能になる問題が発生した。モデルの構造や解像度、クロップ設定の妥当性が疑われた。
// Approach
データの統計量を確認し、加速度ラベルに異常な値を含むシーケンスや、過渡的なハードブレーキ、操舵角のスパイクを特定した。これらを除去するデータクリーニングを実施し、併せて論文推奨の水平シフトによる幾何学的拡張を導入した。
// Result
データの質を向上させたことで、論文準拠の軽量モデルでも安定した周回走行が可能となった。モデルのアーキテクチャ変更よりも、データのクリーニングと適切なデータ拡張が性能向上に極めて重要であることを実証した。
Senior Engineer Insight
> Imitation Learningにおいて、損失関数の低さは必ずしも走行性能を保証しない。画像が正常でもラベルが壊れているケースがあるため、学習前にラベルの統計量を確認する工程は不可欠である。