機械学習で駐車の難しさを予測する-Google AIブログを翻訳

機械学習で駐車の難しさを予測する-Google AIブログを翻訳

古代ソロモン王は言った。かつて、駐車で頭を悩ませることがない時代があったということを。 -Bob Edwards、放送ジャーナリスト

こんにちは、システム開発部MLエンジニアのしゅんです。

今日は兼ねてから読みたいと思っていた、GoogleのAIブログを翻訳してみました。ダントツに面白い内容なので、皆さんにもシェアしたいと思います。翻訳機に突っ込んでも、テクニカルなニュアンスまで翻訳してくれず、苦労しました。笑

さすが、Googleのブログだけあって、以下がしっかりまとめてあります。

  • ユーザーの問題の理解
  • 問題を設定
  • 困難
  • 問題を解くプロセス

読まれるブログ書きたい人は、このパターンを理解するといいかもしれません。

参照元

https://ai.googleblog.com/2017/02/using-machine-learning-to-predict.html

以下、本文です。

運転時間の多くは渋滞に巻き込まれるか、駐車場を探すために費やされます。 GoogleマップやWazeなどのプロダクトで、人々が簡単かつ効率的に道路をナビゲートできるようにすることは、私たちの長年の目標です。しかし、これまでは、一般的な駐車の問題に対処するためのツールはありませんでした。

先週、米国の25の都市でAndroid向けGoogleマップの新機能をリリースしました。これにより、目的地の近くの駐車の難しさを予測できるため、効率的に計画を立てらます。しかしながら、この機能を提供するには、いくつかの重要な課題に対処する必要がありました。

・駐車できる可能性は、時間、曜日、天候、特別なイベント、休日などの要因が複雑に絡み合って、常に変動します。問題をさらに複雑にしているのは、無料の駐車スポットに関するリアルタイムの情報がほとんどないことです。

・空き状況に関する情報を提供する、インターネット接続されたパーキングメーターがある地域でも、違法に駐車したり、誰かに許可を得て駐車したり、支払い中のメーターにもかかわらず、早く出発したりした人を考慮していません。

・道路が平面であっても、駐車スペースによっては複雑になり、交通の流れが多くのレベルにまたがったりして、レイアウトが通常と異なる可能性があります。

・駐車場の需要と供給は常に変動しているため、最高のシステムを構築してもすぐに陳腐化する可能性があります。

これらの課題を解決するため、私たちはクラウドソーシングと機械学習(ML)の組み合わせを使用して、目的地の駐車難易度を提供できるシステムを構築しました。実験を開始したところ、公共交通機関モードを、表示するボタンのクリック数が大幅に増加しました。これは、駐車の難しさをよく知っているユーザーは、運転するよりも公共交通機関を検討したことを示しています。

駐車難易度予測システムの背後にあるアルゴリズムを構築するために、3つの技術要素を組み合わせました。クラウドソーシングからのデータ、適切なMLモデル、モデルをトレーニングするための特徴量セットです。

教師データ

高品質なデータの収集は、MLソリューションを構築する上で、最も重要な課題です。私たちは、さまざまな場所や、時間帯に駐車するのが難しいと感じた人に尋ねることから始めました。しかし、主観的な質問への回答は一貫性のない結果を生み出すことがわかりました- 特定の場所と時間において、ある人は駐車場を見つけるのが「簡単」であるのに対し、別の人は「難しい」と答える可能性があります。 そこで「駐車場を見つけるのにどれくらい時間がかかりましたか?」のような客観的な質問に切り替えました。これにより、回答の信頼性が高まり、10万件を超える高品質のデータをクラウドソーシングできるようになりました。

モデルの特徴量

集めたデータを利用して、モデルを学習させるための特徴量選定を始めました。幸い、私たちは「群衆の知恵(集合知)」、位置データを、共有することを許可したユーザーからの集約情報を利用できました。これは、実際の交通量、または活気がある時間帯と、到着時間を推定するための重要な情報源です。

しかし、データがいくらあっても、いくつかの課題が残っていました。たとえば、誰かが私有の駐車場に駐車している場合は、駐車場が豊富であると考えるべきではありません。タクシーで到着するユーザーは、正面玄関にたくさんの駐車場があるように見せるかもしれません。同様に、公共交通機関を利用するユーザーはバス停に駐車しているように見えるかもしれません。これらの偽陽性となるデータは、MLモデルに誤った事実を学習させる可能性があります。

以上のことから、より確実な情報が必要でした。 実は、これらの特徴量に対するインスピレーションは、私たちの裏庭にある、マウンテンビューのダウンタウンエリアから生まれました。 Googleナビゲーションで、昼食時にこのような軌跡に沿ってマウンテンビューのダウンタウンを周回する多くのユーザーを観察した結果、駐車が難しい可能性があることを強く示唆しています。

私たちのチームは、駐車する難しさを示す「決定的な証拠」となる特徴量は何かと考えました。ユーザーが単に目的地前に一時停止した場合と、実際の目的地に到着する必要があった場合と、実際の目的地に到着したときの差を、迂回、駐車、および歩行時間を考慮して集計します。ユーザーがこれら2つの時間の間に大きなギャップを示している場合、これは駐車が困難であることを示す有用なシグナルであると予想しました。

そこから、特定の目的地の、駐車場所の分散、駐車の時刻と日付の関連性(例えば、ユーザーが早朝に目的地の近くに駐車したのに、営業時間帯に出発した場合など)、また過去の駐車データなど。最終的に、約20の特徴量を決定しました。次に、モデルに学習させました。

モデル選択と学習

今回はロジスティック回帰を使用することにしました。理由は、第1に、ロジスティック回帰のアルゴリズムは理解が容易であり、学習データのノイズに対してもロバストな傾向があります。これは、クラウドソーシングで、データを取得した場合などの、駐車の困難さなどのを示す複雑な応答変数を扱うに便利な特徴です。次に、モデルの出力となる駐車の困難度を表す確率を「駐車が難しい」や「空き」などの説明的な用語にマッピングしやすいからです。 3番目に、特徴量の影響度が簡単に解釈できるため、モデルが適切に動作していることを簡単に確認できます。たとえば、学習プロセスを開始したとき、私たちは「決定的な証拠」となる特徴量があり、これが問題を解読する「銀の弾丸」であると考えていました。実はこれはまったく当てにならなかったのです。実際、駐車の難しさを表す、最も強力な予測因子は、駐車場所の分散であることがわかりました。

結論

完成したモデルで、私たちは、どの場所で、どの時間でも駐車の難しさの予測できました。以下の図は、モデルの出力例を示しています。これは、目的地の駐車難易度予測に使用されます。たとえば、月曜日の朝に市内全体、特に最も忙しい金融および小売エリアに、駐車するのは困難です。土曜日の夜に再び混雑しますが、場所は主にレストランやアトラクションのあるエリアです。

サンフランシスコの金融地区およびユニオンスクエアエリアでの駐車難易度モデルの出力。赤は駐車が難しいということが高いことを示します。上の行:典型的な月曜日の午前8時(左)と午後9時(右)。下の行:同じ時間ですが、典​​型的な土曜日です。 

ユーザーからのフィードバックにもとづいて、モデルの品質を改善し続けることに大変興奮しています。駐車の難しさを、より理解できれば、新しい、よりスマートな駐車支援アプリを開発できるようになります。交通手段をより楽にするため、将来のMLアプリケーションに開発に非常に興奮しています!

本文終わり。

個人的にもロジスティック回帰のアルゴリズムはお気に入りで、理解しやすいと思っています。ディープラーニングモデルに比べて、線形回帰モデルが、人間が解釈できる限界なのでしょうか?解釈性があるということがどこか安心ですね。しかし、こんな複雑な問題をシンプルに解決してしまうのが驚きです。むしろ、特徴量エンジニアリングに工夫の余地があるのか?

エンジョイワークスでは、バックエンドエンジニアを募集しております。空き家問題を、自分のスキルで解決したいエンジニアは、是非ご応募ください!

リクルート情報はこちら!
https://enjoyworks.jp/recruit

一覧へ戻る

最新記事