機械学習を使ってバスの運行情報を予測(2/3)

  • 2019.07.01
  • AI
機械学習を使ってバスの運行情報を予測(2/3)

1.機械学習を使ってバスの運行情報を予測(2/3)まとめ

・バスの運行情報を予測する際には地域特性や時間帯の特性も考慮されている
・都会と田舎、左側交通と右側交通、バス専用レーンの存在なども運行予測の際に考慮される
・曜日と時刻、ラッシュアワーと深夜帯、など時間帯の概念も運行予測の際に考慮される

2.地域特性と時間帯特性を考慮してバスの運行情報を予測

以下、ai.googleblog.comより「Predicting Bus Delays with Machine Learning」の意訳です。元記事は2019年6月27日、Alex Fabrikantさんによる投稿です。後日データが追加されても、モデルがより適切に対応可能になるように考慮している箇所や階層的な学習の進め方などはとても実務的な話で参考になり、頭良いなと感心しました。

「場所」のモデリング
道路の交通渋滞情報に加えて、モデルを訓練する際には、バス路線に関する詳細や、地域や時間帯に関する詳細も考慮に入れます。

狭い地域内であってもモデルは、「車の移動速度」として予測した値を「路面ごとに異なるバス速度」に変換する必要があります。左下の画像では、車移動とバス移動の比率をモデルが予測した結果を色分けしています。

赤色は速度が低下する箇所で、バス停の近くで減速する場合があります。右下の黒枠で囲まれた緑の直線道路は、StreetView(右画像)で確認すると、モデルがバス専用レーンを発見した事がわかります。

ちなみに、この路線はオーストラリア(訳注:日本と同じ左側通行ルール)なので、右折は左折よりも時間がかかります。(訳注:対向車が来る可能性があるため)こういった交通ルールも地域の特殊性を考慮しないモデルでは失われる可能性がある側面です。

特定の道路、近隣地域、および都市の固有の特性を取り込むために、地域の特徴表現を縮尺を変えて階層的にモデルに学習させます。タイムラインユニットは地理情報(道路またはバス停の正確な位置)を、様々な縮尺のembeddingsの合計として受け取ります。

最初に、考慮すべき特殊事情を持つ地域で、段階的に重いペナルティでモデルを訓練します。そして、その結果を特徴の選択に使用します。

これは、そのようなきめの細かい道路特徴があまり重要ではない広々とした田園地帯とは対照的に、100メートルの道がバスの運行に影響を与えるほど複雑な都市エリアできめの細かい道路特徴が考慮されることを保証します。

トレーニング時には、トレーニングデータに含まれていない地域を後で追加する可能性も考慮しています。

各トレーニングバッチでは、ランダムにデータの一部を取得し、それに対してランダムに選択された縮尺で地理的特徴を破棄します。つまり、いくつかのデータは正確なバス路線と地理情報を保持していますが、他は近隣または都市レベルの位置情報だけを保管しています。そして残りは地理的なコンテキストを全く保持していません。これにより、トレーニングデータが不足している地域に、後日データが追加されても、モデルがより適切に対応可能になります。

現在、Google Mapは、混雑している営業時間帯や、駐車場を見つけるのが難しい時間帯、その他の機能を提供しています。今回、これらの機能を提供するために使われているデータセットを元に、バス移動に関する匿名化された推論を使用して、トレーニングコーパスの対象範囲を拡大しました。

ただし、今回のデータでも世界のバス路線の大半は含まれていないため、私たちのモデルは新しい地域に対してもしっかりと一般化する必要があります。

地域のリズムを学ぶ
都市や地域が異なると、時間の感覚も異なります。そのため、モデルで位置の特徴表現と時間信号を組み合わせる事ができます。

バスと時間は複雑な依存関係を持っています。火曜日の午後6時30分から午後6時45分はある地域ではラッシュアワーの終わり、他の地域は忙しい夕食の時間帯、そしてベッドタウンは静かな時間帯です。

今回モデルでは、該当地域の時刻と曜日の情報をembeddingに埋め込む事によってこれらを学習します。これを場所の表現と組み合わせると、ラッシュアワーのバス停の混雑など、車の通行だけでは観測できない顕著な地域変動を捉えることができます。

このembeddingは、4次元ベクトルをその日の時間帯に割り当てます。ほとんどのニューラルネットの内部構造とは異なり、4次元は視覚化可能なほど十分に少ない数です。以下の芸術的なレンダリングを通じて、モデルが3次元で時刻をどのように配置するかを見てみましょう。

モデルは確かに時間が循環的であることを知り、時間を「ループ」にします。しかし、このループは単純な時計の文字盤の平らな円ではありません。

このモデルは、円の一部を広く捻じ曲げる事を学習します。これにより、他のニューロンが単純な規則を作成してバスの所要時間に変動があまりない「真夜中」や「夜明け前」のような概念を簡単に切り離すことができるようになります。

一方、夕方の通勤パターンは、各都市や近隣地域で大きく異なります。このモデルは、午後4時から午後9時の間に、より複雑な「しわくちゃの」パターンを作成し、各都市のラッシュアワーのタイミングに関するより複雑な推測を可能にしているようです。


モデルの時間表現(4つの次元のうち3つ)はループを形成し、ここでは時計の円盤として示されています。
午前4時から午後9時や午前7時から午前9時のような場所に依存する時間帯はより複雑に「しわくちゃ」にされますが、午前2時から午前5時のような大きな特徴のない時間帯は平易な曲線となります。
(Will Cassellaによる芸術的コンセプト、textures.comのテクスチャとhdrihavenのHDRIを使用)

3.機械学習を使ってバスの運行情報を予測(2/3)関連リンク

1)ai.googleblog.com
Predicting Bus Delays with Machine Learning