Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]

17,183 views

Published on

DeNA オートモーティブでは「インターネット×AI」で交通システムにイノベーションを起こし、日本の交通システム不全を解消することをミッションに掲げています。本セッションではDeNAが考える「モビリティ・インテリジェンス」を社会実装した事例としてAI、ITS(Intelligent Transport Systems)、クラウド技術を結集してタクシーの行動を最適化するプロジェクトを紹介します。

Published in: Technology
  • Be the first to comment

『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]

  1. 1. #denatechcon #denatechcon 『モビリティ・インテリジェンス』 の社会実装 〜タクシー運行最適化を実現する機械学習システム〜 織田 拓磨 オートモーティブ事業本部 モビリティ・インテリジェンス開発部 益子 遼介 システム本部 AIシステム部 MLエンジニアリンググループ
  2. 2. #denatechcon 『モビリティ・インテリジェンス』
  3. 3. #denatechcon 交通システムの最適化を実現する人工知能
  4. 4. #denatechcon オートモーティブ事業本部
  5. 5. #denatechcon タクシー交通システムの最適化
  6. 6. #denatechcon アジェンダ タクシー運行最適化を実現する機械学習システム <前半> • タクシー事業における課題 • 運行最適化のアルゴリズム • 実証実験 <後半> • MLデータ基盤 • ML Ops
  7. 7. #denatechcon タクシー運行を最適化するとはどういうことか?
  8. 8. #denatechcon タクシー配車アプリ MOV
  9. 9. #denatechcon 日本のアプリ配車比率
  10. 10. #denatechcon 乗務員依存の探客スキル 生産性の分布
  11. 11. #denatechcon タクシー探客を行うAI
  12. 12. #denatechcon 実現したい機能 現在位置 最適探客経路
  13. 13. #denatechcon タクシー探客の世界 道路ネットワーク 乗り場 流し移動 配車依頼 乗車移動 路上 この車両にとって 最適な探客経路は何か?
  14. 14. #denatechcon チャレンジ 道路レベルの 需要供給予測 探索の効率化 複数車両の強調 UX
  15. 15. #denatechcon チャレンジ 道路レベルの 需要供給予測 探索の効率化 複数車両の強調 UX
  16. 16. #denatechcon システム状態の推定 道路ネットワーク 乗り場 流し移動 配車依頼 乗車移動 路上
  17. 17. #denatechcon 17  横浜スタジアム  横浜駅  桜木町駅  石川町駅  黄金町駅
  18. 18. #denatechcon 流し需要の分析 GPS情報に対してマップマッチングを行い、道路別に乗車数を集計する 乗車数 Paul Newson and John Krumm. Hidden markov map matching through noise and sparseness. In GIS’09, pages 336–343, 2009
  19. 19. #denatechcon 機械学習による需要予測 <特徴量> 直近の乗車数 周辺の乗車数 乗車数の統計量など 次の30分間に発生する 乗車数 LightGBM
  20. 20. #denatechcon チャレンジ 道路レベルの 需要供給予測 探索の効率化 複数車両の強調 UX
  21. 21. #denatechcon 最適方策の獲得 道路ネットワーク 乗り場 流し移動 配車依頼 乗車移動 路上 この車両にとって 最適な探客経路は何か?
  22. 22. #denatechcon 行動系列の木探索 例)MCTS(Monte Carlo Tree Search) Silver, D. et al. Mastering the game of go with deep neural networks and tree search. Nature 529, 484–489 (2016)
  23. 23. #denatechcon マルコフ決定過程(MDP) 累計報酬を最大化する方策(行動選択の確率分布)を見つけたい 環境エージェント 行動 a 状態 s 報酬 r
  24. 24. #denatechcon マルコフ決定過程(MDP) 状態:現在走行中の道路 行動:どちらの方向に進むか(直進/左折/右折) 報酬:売り上げなど 環境 行動 a 状態 s 報酬 r 乗り場 流し移動 配車依頼 乗車移動 路上 エージェント
  25. 25. #denatechcon 強化学習による最適方策の獲得 例)Deep Q-Network (DQN) Mnih, V. et al. Human-level control through deep reinforcement learning. Nature 518, 529–533 (2015)
  26. 26. #denatechcon 方策を用いた経路探索 状態 行動
  27. 27. #denatechcon 方策を用いた経路探索 状態 行動 方策
  28. 28. #denatechcon チャレンジ 道路レベルの 需要供給予測 探索の効率化 複数車両の強調 UX
  29. 29. #denatechcon 自律分散的な全体最適化 各エージェントはリアルタイムの需要供給を考慮した方策に従うことで、 自律分散的に全体最適化を実現 T. Oda and Y. Tachibana, “Distributed Fleet Control with Maximum Entropy Deep Reinforcement Learning,” NeurIPS 2018 Workshop on Machine Learning for Intelligent Transportation Systems
  30. 30. #denatechcon チャレンジ 道路レベルの 需要供給予測 探索の効率化 複数車両の強調 UX
  31. 31. #denatechcon 何をもって最適とするのか
  32. 32. #denatechcon
  33. 33. #denatechcon 逆強化学習(IRL)による報酬関数の推定 エキスパートの軌跡(デモンストレーション)から報酬関数を推定する C. Finn, S. Levine, and P. Abbeel. Guided cost learning: Deep inverse optimal control via policy optimization. In Proceedings of the 33rd International Conference on Machine Learning, 2016.
  34. 34. #denatechcon 実証実験
  35. 35. #denatechcon 概要 経路に従った場合どの程度の売り上げが達成できるかを検証する 実施期間: 11/14 - 11/28 参加人数: 10~20台/日 対象エリア: 横浜市都心部
  36. 36. #denatechcon 実証効果 対象エリアの乗務員全体の平均売上と同程度の売上を達成
  37. 37. #denatechcon まとめ • モビリティ・インテリジェンスの社会実装事例として、タク シー交通システムの運行最適化について紹介した。 • 現在、実証実験結果を踏まえ、プロダクト化に向けて開発中。
  38. 38. #denatechcon 織田 拓磨 鉄道会社にてリニア新幹線の地上制御シス テムの技術開発に従事。 シリコンバレーに2年間滞在。AIを用いた 交通システム最適化を研究。DSとして交通 系スタートアップでのインターン。 2017年DeNA入社。ロボネコヤマトや MOVにおける機械学習、最適化のアルゴリ ズム設計・開発を担当。
  39. 39. #denatechcon MOV 機械学習基盤
  40. 40. #denatechcon GCPを使っている(いた)?
  41. 41. #denatechcon GCPでMLやデータ基盤を 作っている(いた)?
  42. 42. #denatechcon MOV 機械学習基盤
  43. 43. #denatechcon MOV 機械学習基盤 on GCP ML Service Data Service ここは割愛 API Service 各種車両データのETL DWH データ前処理 MLモデルによる予測 ルート計算
  44. 44. #denatechcon 全体構成
  45. 45. #denatechcon 全体構成 Data Service API ServiceML Service API Service
  46. 46. #denatechcon Data Service
  47. 47. #denatechcon Data Service の役割 機械学習で扱うデータを • リアルタイム • スケール • セキュア する基盤を提供する
  48. 48. #denatechcon データパイプラインの基本構成 •よくある構成 • 車両から秒単位で送信されてくるデータや、各種APIログをPubSubに集約 • ログは、搭載車両数に比例 • Dataflow StreamingでPub Subから集約したデータをBQにインサート PubSub Dataflow BigQuery GCS 同STAGE 15:10 「ゲーム開発者からMaaS開発者へ ゲーム開発のノウハウを活かして移動体情報配信システムを作ってみた」 < ~20sec デバイスからPubSubまでのデータパイプラインに関しては
  49. 49. #denatechcon データ前処理: 例: Map Match • ノイズの多い生のGPSデータを地 図上の道路に”マッチ(補正)” させ る • 内製高精度Map Matchサーバーを開発 • 実行数するワーカーを直に設定する必要 があるため、Kubernetes上にクラスタを 構築 • どちらのNodeも、処理量に応じて オートスケール Worker Worker Worker Map Match Server Pod Map Match Server Pod Map Match Server Pod Raw GPS Matched scale scale HTTP
  50. 50. #denatechcon データウェアハウス(DWH)
  51. 51. #denatechcon BigQuery as DWH • ほぼすべてのデータをBigQueryに蓄積 • 列志向DB • 低ストレージコスト • 分散クエリ性能 • 運用レス • 分析用途だけでなく、プロダクションでの推論用データ生成にも利用 • BigQuery GIS • テーブルデータに対して地理的関数を実行できる • E.g ある地点から一定の距離内で起こったログを抽出する • まだ試験段階
  52. 52. #denatechcon 大規模データへのデータ分割対応 Partitioningによる時系列分割 • ログ時刻でのColumn-based partitioning Clusteringによる地域分割 • 車両の位置に基づくClustered Table 2軸の分割 データ流量が将来的に増加しても、 1データ=1つのテーブルで完結しつつ、スキャン時間も一定におさまる
  53. 53. #denatechcon 大規模データへのデータ分割対応 Partitioningによる時系列分割 • ログ時刻でのColumn-based partitioning Clusteringによる地域分割 • 車両の位置に基づくClustered Table 日時ごとのパーティショニング( Ingestion-time partitioned table) に比べ、 • 格納時にタイムゾーンやログの日時判定処理が不要 • クエリがシンプルにかける • スキャン量が削減できるケースあり
  54. 54. #denatechcon 大規模データへのデータ分割対応 Partitioningによる時系列分割 • ログ時刻でのColumn-based partitioning Clusteringによる地域分割 • 車両の位置に基づくClustered Table 任意のカラムでデータ分割可能 • 車両位置で分割 … 地理分析がメイン • 車両IDで分割 … 車両分析がメイン
  55. 55. #denatechcon 何をキーにするかは慎重に! 利用者と、ユースケースについてきちんとつめる
  56. 56. #denatechcon セキュリティ周り • MOVプロダクトとは独立したGCPプロジェクト • プロダクト環境からは書き込みのみを許可 • プロダクト経由の万一の鍵流出に備える • データ暗号化 • BigQuery、GCSへの顧客管理暗号鍵の設定 • Web経由の分析ツールへの対策 • 通信暗号化 • IP制限(Cloud Armor) • 個人認証(Cloud IAP)
  57. 57. #denatechcon Machine Learning Service
  58. 58. #denatechcon ML Service 全体構成 ML Service
  59. 59. #denatechcon MLモデル開発フロー データサイエンティスト Model ML Playground in Kubernetes Docker Image 推論パイプライン Inference Route API Extraction Preprocessing DWH デプロイ MLエンジニア 分析/モデル学習 1 Iteration DB
  60. 60. #denatechcon ML推論パイプライン: Cloud Composer(Airflow) • 定期的に最新データを取り込み、推論ジョブを実行 • 処理自体は、専用のk8sクラスタへ • 独自オペレーターも実装している。 Job Job Job
  61. 61. #denatechcon Airflow: Landing Times 開始日時 処理時間
  62. 62. #denatechcon Airflow: Gantt Chart Task A: データ抽出 Task B: 前処理 Task C: 推論
  63. 63. #denatechcon MLOps
  64. 64. #denatechcon MLプロダクト運用でありがちなこと① • どうやってモデルを学習したのか、当時の担当者 しか知らない (再現性の喪失) • データサイエンティストから渡されたコードが実 行/再現できない (MLE <-> DSのコミュニケーションギャップ)
  65. 65. #denatechcon MLモデル運用でありがちなこと① • DS、エンジニアのインターフェースはDockerイ メージ • コミュニケーションギャップの解消 • 再現性の確保 • Kubernetesなどのコンテナエンジンに載せやすい データサイエンティスト MLエンジニア Docker Image
  66. 66. #denatechcon MLモデル運用でありがちなこと② • 入力データの品質、傾向が変化し、モデル精度が 経年劣化、さらに、それに気づかない (モデルの経年劣化)
  67. 67. #denatechcon 精度の経年劣化について • タクシー需給トレンドの変化 • 超長期 … 年単位のトレンド (景気、乗務員数) • 長期 … 季節のトレンド • 中期 … 週単位のトレンド (年末年始、長期休暇) • 短期 … 時~日単位のトレンド (天候、イベント、電車遅延等) • 日々刻々と変化するタクシー動向に合わせて、機 械学習も“新鮮さ”(= より新しいデータで再学習) が重要
  68. 68. #denatechcon モデル精度監視ダッシュボード • 本番モデル推論の精度を監視 • Stackdriver + Grafana • ベースモデルと比較し、 エラーがあれば通知
  69. 69. #denatechcon CI/CD (On Going…) • 機械学習モデル開発のすべてを自動化したい • モデルの性能劣化検知→再学習→テスト→カナリアリリース • モデルの定期更新と新手法デプロイの融合 継続的なモデル手法開発 Model Model Week-1 Week-2 Week-3 Ver 1.0 Model ModelVer 2.0 Ver 3.0 Model Model Week-4 Week-5 定常的なモデル自動更新 Model 自動テスト/カナリアリリース
  70. 70. #denatechcon 「精度が落ちても破綻しないサービス設計」 • 機械学習モデルの特性上、精度の不確実性はつき まとう • 精度が出ない、モデルが機能しないなどのケース で適切なフォールバックを
  71. 71. #denatechcon まとめ • Kubernetes、Dataflow、BigQueryなどクラウ ド活用により、将来的にデータ量が増えてもス ケールするように設計している。 • MLであっても既存のDevOpsの手法は活用でき る • ITS x AIはまだまだ未開拓な領域 • 何をするべきか、何が必要かは自分たちが定義する。
  72. 72. #denatechcon 自己紹介 • 益子 遼介 (@soymsk) • MLエンジニア (MLE) • 2012年 ~ サーバーサイドエンジニア • 2015年 ~ (現) AIシステム部 • 分散処理基盤 • MLエンジニア • 2018年 ~ MLエンジニアリンググループ発足
  73. 73. #denatechcon #denatechcon

×