- UberはETAを料金計算、ピックアップ時間の予測、ライダーとドライバーのマッチング、配達時間の計画などに使用
- 従来のETAエンジンは道路ネットワークを小さな単位に分割し、グラフに重みを付けて計算
→ 最短経路アルゴリズムで最適な経路を見つけ、重みを追加
- しかし「地図は地形そのものではない」。道路グラフは単なるモデルであり、実際の状況を反映できない
- また、ライダーやドライバーがどの経路を選ぶかは分からない
- 道路グラフベースの推定に過去データと実際のシグナルを組み合わせ、機械学習モデルを訓練してより良いETAを導き出す
- 数年間、UberはETA予測の改善のために「Gradient-boosted decision tree ensembles」を使用
→ しかし今や、Apache Spark + XGBoostではこれ以上スケールできない限界に達した
- そこでディープラーニングに切り替え、3つの主要な問題を解決
- Latency : 数ミリ秒以内でETAを計算
- Accuracy : MAE(Mean Absolute Error、平均絶対誤差)をXGBoostモデルより改善
- Generality : Uberのすべてのビジネスで世界中にETA予測を提供
- 7種類のニューラルネットワークアーキテクチャをテスト
→ 最終的に Self-Attentionを用いたEncoder-Decoderアーキテクチャ(Transformer) が最も高精度だった
→ 精度は高いが速度が遅すぎるため、計算を高速化した Linear Transformer を採用
まだコメントはありません。