Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
交通の最適化で強化学習を使い始めた話
Search
NearMeの技術発表資料です
PRO
September 02, 2023
Technology
1
1.1k
交通の最適化で強化学習を使い始めた話
NearMeの技術発表資料です
PRO
September 02, 2023
Tweet
Share
More Decks by NearMeの技術発表資料です
See All by NearMeの技術発表資料です
実践で使えるtorchのテンソル演算
nearme_tech
PRO
0
4
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
170
初めてのmarimo (ハンズオン)
nearme_tech
PRO
0
22
ローカルLLM
nearme_tech
PRO
0
41
LlamaIndex Workflow: Build Practical AI Agents Fast
nearme_tech
PRO
0
26
Box-Muller法
nearme_tech
PRO
1
38
Kiro触ってみた
nearme_tech
PRO
0
320
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
4
560
ReactNative のアップグレード作業が (意外に)楽しかった話
nearme_tech
PRO
2
130
Other Decks in Technology
See All in Technology
20251222_サンフランシスコサバイバル術
ponponmikankan
2
140
Strands Agents × インタリーブ思考 で変わるAIエージェント設計 / Strands Agents x Interleaved Thinking AI Agents
takanorig
5
2.1k
Bedrock AgentCore Memoryの新機能 (Episode) を試してみた / try Bedrock AgentCore Memory Episodic functionarity
hoshi7_n
2
1.9k
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
0
450
LayerX QA Night#1
koyaman2
0
270
100以上の新規コネクタ提供を可能にしたアーキテクチャ
ooyukioo
0
260
ソフトウェアエンジニアとAIエンジニアの役割分担についてのある事例
kworkdev
PRO
0
280
半年で、AIゼロ知識から AI中心開発組織の変革担当に至るまで
rfdnxbro
0
140
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
330
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
120
Authlete で実装する MCP OAuth 認可サーバー #CIMD の実装を添えて
watahani
0
180
AgentCoreとStrandsで社内d払いナレッジボットを作った話
motojimayu
1
980
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
71
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
0
1.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
70k
Prompt Engineering for Job Search
mfonobong
0
130
Game over? The fight for quality and originality in the time of robots
wayneb77
1
66
Transcript
0 交通の最適化で強化学習を使い始めた話 2023-09-02 AWS Startup Day 2023 Kenji Hosoda
1
2 自己紹介 名前:細田 謙二 東京大学大学院工学博士(脳の視覚情報処理)。 前職では、EコマースパッケージやPOSアプリ、IoTや機械学習 を含む新規事業など様々なサービスを開発。Python入門2&3 著。 現在、CTOとしてNearMeに参画。
3 ドアツードアの移動に関する課題は多い 空港や観光地への アクセス 混雑を回避した 通勤などの移動 交通空白地帯や 高齢者の移動 終電後や災害時の 代替輸送手段不足
4 4 タクシーの「シェア」で 第4の公共交通機関を目指す!
5 NearMe
6 バスよりも便利、タクシーよりも安い NearMe
7 注文までの流れ
8 □□□□□□ □□□□□□ □□□□□□ □□□□□□ □□□□□□ 管理画面 注文が入るたびに AIにより組み合わせの最適化をおこない、 自動でマッチング
相乗りになった注文
9 OR-Tools: https://developers.google.com/optimization 車両と注文をマッチする 配送計画問題(VRP)を ヒューリスティックな手法により解く マッチングのアルゴリズム ただし、注文が入る度に、 また、承認、キャンセル等の注文ステータスが変化する度に 逐次的に最適化処理を行っている
10 リリース後の実績
11 サービス展開 エアポートシャトル トラベルシャトル 地域シャトル ゴルフシャトル
12 さらなる改善の余地 羽田空港に行く運行と 帰る運行が対になると効率がいい 車両 相乗りマッチング後の運行 手作業で 車両にアサイン
13 簡易的な連続運行レコメンド 連続運行できるものを ハイライト
14 機械学習による追加相乗りの確率推定によるレコメンド 偶奇の日付で機能ON/OFFして 総受注数に有意に差 (ペアt検定) 追加相乗りの確率が高い ものをハイライト 在庫に限りがある場合は 効率のいい運行を 選ぶ必要がある
15 将棋のようでもありテトリスのようでもある 最善手を予測 運行はブロック 運行は駒
16 複雑そうなので強化学習のアプローチを探る OR-Tools: https://developers.google.com/optimization 車両と注文をマッチする 配送計画問題(VRP)には変わらない まずはプリミティブなモデルで調査
17 近年、深層強化学習x VRPによるアプローチが注目されている B Li et al., 2022
18 性能は出るのか? Solve routing problems with a residual edge-graph attention
neural network. K Lei, et al., Neurocomputing 2022 報酬 ベンチマークしたモデル パフォーマンス
19 EncoderのGraph Neural Networkについて https://distill.pub/2021/gnn-intro/ グラフのエッジに沿って 特徴量を集約 メッセージ伝搬関数
20 DecoderのAttentionとMaskについて K Lei, et al., 2022 ステップ1 ステップ2 ステップm
辿った点の 入力をマスク
21 実際に試してみた TSP, n_nodes=50 TSP, n_nodes=20 ちゃんと学習してるのすごい!ここ をスタートラインにして 新たなモデルを探っていく ※論文より小規模な学習
だったので、トータルは OR-Toolsと五分五分くらい
22 https://ekimetrics.github.io/blog/2021/11/03/tsp/ Z Zhang et al., 2023 例1:渋滞のエリアが設定されるシナリオ 例2 強化学習の動的なシナリオへの対応力
顧客(点)と渋滞(点の距離)が時間と共に変化するシナリオ
23 モデルのカスタマイズ ベンチマークしたモデル https://distill.pub/2021/gnn-intro/ K Lei, et al., 2022 グラフ要素の特徴量を変更
アテンションモデルの マスクの仕方を変更 報酬設計を変更
24 少しだけリアルなシナリオへの対応 Start 報酬を、到達した点の数 - α*距離、 つまり、売上 - コスト、に変更 End
Start End Start End 全ての点を必ずしも通らなくていいように マスクを変更 (Start / Endの点も設定) 割に合わない運行が無視される ※最短経路の学習が進まないと、 売上 - コストが正しく算出されないので、 報酬を学習ステップに応じて変えた こっちに来た方が より多く点を辿れる
25 AWS SageMaker使ってみた n=20 1epoch M2 Mac CPU:52.6 秒 ml.g4dn.2xlarge
GPU:15.4 秒 n=50 1epoch M2 Mac CPU : 336.2 秒 ml.g4dn.2xlarge GPU:60.0 秒 hidden_node_dim=[128], hidden_edge_dim=[16], conv_laysers=[4], data_size=[12800] 学習パラメタ M2 Macより4~5倍速い
26 まとめ • 逐次的な組み合わせ最適化をコアに相乗りサービスを構築した • 相乗り後の運行をどの車両にアサインすればいいかという問題が浮上 • 将棋やテトリスのような複雑さがあり強化学習のアプローチを探った • 深層強化学習
x 配送計画問題(VRP)において、 従来のヒューリスティックな手法に匹敵 / 超える結果が得られることが分かった • モデルの一部を変えることで、より複雑なシナリオに対応できた • 学習は非常に時間がかかるので、GPU必須。AWS SageMakerで手軽に利用できた
27 Thank you