Сотрудничая с Google, DeepMind может предоставить преимущества ИИ миллиардам людей во всем мире. От воссоединения пользователя с нарушением речи с его оригинальный голосчтобы помочь пользователям обнаружить персонализированные приложения, мы можем применять революционные исследования для решения непосредственных реальных проблем в масштабе Google. Сегодня мы рады поделиться результатами нашего последнего партнерства, оказывающего поистине глобальное влияние на более чем один миллиард человек, использующих Карты Google.
Наше сотрудничество с Google Maps
Люди полагаются на Google Maps для точных прогнозов трафика и расчетного времени прибытия (ETA). Это критически важные инструменты, которые особенно полезны, когда вам нужно объехать пробку, если вам нужно уведомить друзей и семью о том, что вы опаздываете, или если вам нужно уйти вовремя, чтобы посетить важную встречу. Эти функции также полезны для таких компаний, как компании, занимающиеся прокатом автомобилей, которые используют платформу Google Maps для предоставления своим услугам информации о времени посадки и высадки, а также ориентировочных ценах в зависимости от продолжительности поездки.
Исследователи из DeepMind сотрудничали с командой Google Maps, чтобы повысить точность ETA в реальном времени на 50 % в таких местах, как Берлин, Джакарта, Сан-Паулу, Сидней, Токио и Вашингтон, округ Колумбия, используя передовые методы машинного обучения, включая графовые нейронные сети. на рисунке ниже показано:
Как Google Maps предсказывает ожидаемое время прибытия
Для расчета ожидаемого времени прибытия Google Maps анализирует данные о дорожном движении в режиме реального времени для сегментов дорог по всему миру. Хотя эти данные дают Google Maps точную картину текущий трафик, он не учитывает трафик, который водитель может ожидать через 10, 20 или даже 50 минут в пути. Чтобы точно предсказать будущее дорожного движения Google Maps использует машинное обучение, чтобы совмещать текущие условия дорожного движения с историческими схемами движения на дорогах по всему миру. Этот процесс сложен по ряду причин. Например, несмотря на то, что час пик неизбежно наступает каждое утро и вечер, точное время часа пик может значительно варьироваться изо дня в день и из месяца в месяц. Дополнительные факторы, такие как качество дорог, ограничения скорости, аварии и перекрытия, также могут усложнить модель прогнозирования.
DeepMind сотрудничает с Google Maps, чтобы помочь повысить точность их ETA по всему миру. Несмотря на то, что предиктивные расчеты времени прибытия в Google Maps неизменно точны для более чем 97 % поездок, мы работали с командой, чтобы еще больше свести к минимуму оставшиеся неточности — иногда более чем на 50 % в таких городах, как Тайчжун. Чтобы сделать это в глобальном масштабе, мы использовали обобщенную архитектуру машинного обучения под названием Graph Neural Networks, которая позволяет нам проводить пространственно-временные рассуждения, включая предвзятость относительного обучения для моделирования структуры связности реальных дорожных сетей. Вот как это работает:
Разделение дорог мира на суперсегменты
Мы разделили дорожные сети на «суперсегменты», состоящие из нескольких смежных сегментов дорог, которые разделяют значительный объем трафика. В настоящее время система прогнозирования дорожного движения Google Maps состоит из следующих компонентов: (1) анализатор маршрута, который обрабатывает терабайты информации о дорожном движении для построения суперсегментов, и (2) новая модель графовой нейронной сети, которая оптимизирована для нескольких целей и прогнозирует путешествие. время для каждого суперсегмента.
На пути к новым архитектурам машинного обучения для прогнозирования трафика
Самая большая проблема, которую необходимо решить при создании системы машинного обучения для оценки времени в пути с использованием суперсегментов, — это архитектурная проблема. Как мы можем представить примеры связанных сегментов с динамическими размерами с произвольной точностью таким образом, чтобы единственная модель могла добиться успеха?
Наша первоначальная проверка концепции началась с прямого подхода, который максимально использовал существующую систему дорожного движения, в частности, существующую сегментацию дорожных сетей и связанный с ней конвейер данных в реальном времени. Это означало, что суперсегмент охватывает набор сегментов дороги, где каждый сегмент имеет определенную длину и соответствующие характеристики скорости. Сначала мы обучили одну полносвязную модель нейронной сети для каждого суперсегмента. Эти первоначальные результаты были многообещающими и продемонстрировали потенциал использования нейронных сетей для прогнозирования времени в пути. Однако, учитывая динамические размеры суперсегментов, нам потребовалась отдельно обученная модель нейронной сети для каждого из них. Чтобы развернуть это в масштабе, нам пришлось бы обучить миллионы таких моделей, что создало бы серьезную инфраструктурную проблему. Это привело нас к поиску моделей, способных обрабатывать последовательности переменной длины, таких как рекуррентные нейронные сети (RNN). Однако включение дополнительной структуры дорожной сети оказалось трудным. Вместо этого мы решили использовать графовые нейронные сети. При моделировании трафика нас интересует, как автомобили движутся по сети дорог, а графовые нейронные сети могут моделировать динамику сети и распространение информации.
Наша модель рассматривает местную дорожную сеть как граф, где каждый сегмент маршрута соответствует узлу, а ребра существуют между сегментами, которые следуют друг за другом на одной дороге или соединяются через перекресток. В графовой нейронной сети выполняется алгоритм передачи сообщений, при котором сообщения и их влияние на состояния ребер и узлов изучаются нейронными сетями. С этой точки зрения наши суперсегменты представляют собой подграфы дорог, которые были выбраны случайным образом пропорционально плотности движения. Таким образом, с помощью этих выборочных подграфов можно обучить единую модель, которую можно развернуть в любом масштабе.
Графовые нейронные сети расширяют предвзятость обучения, налагаемую сверточными нейронными сетями и рекуррентными нейронными сетями, обобщая концепцию «близости», позволяя нам иметь произвольно сложные соединения для обработки не только трафика впереди или позади нас, но также вдоль соседних и пересекающихся дорог. В графовой нейронной сети соседние узлы передают сообщения друг другу. Сохраняя эту структуру, мы накладываем смещение локальности, когда узлам будет легче полагаться на соседние узлы (для этого требуется только один шаг передачи сообщения). Эти механизмы позволяют Graph Neural Networks более эффективно использовать структуру связности дорожной сети. Наши эксперименты продемонстрировали увеличение прогностической способности за счет включения прилегающих дорог, не являющихся частью главной дороги. Например, подумайте о том, как пробка на боковой улице может повлиять на движение на большой дороге. Охватывая несколько перекрестков, модель получает возможность изначально прогнозировать задержки на поворотах, задержки из-за слияния и общее время прохождения в условиях движения с частыми остановками. Эта способность графовых нейронных сетей обобщать комбинаторные пространства — вот что придает нашей технике моделирования силу. Тем не менее, каждый суперсегмент, который может иметь разную длину и разную сложность — от простых двухсегментных маршрутов до более длинных маршрутов, содержащих сотни узлов, — может, тем не менее, обрабатываться процессором. такой же Графическая модель нейронной сети.
От фундаментальных исследований до готовых к производству моделей машинного обучения
Большой проблемой для производственной системы машинного обучения, которую часто упускают из виду в академической среде, является большая изменчивость, которая может существовать при нескольких обучающих запусках одной и той же модели. В то время как небольшие различия в качестве могут быть просто отброшены как плохие инициализации в более академических условиях, эти небольшие несоответствия могут иметь большое влияние, если их объединить для миллионов пользователей. Таким образом, обеспечение устойчивости нашей графовой нейронной сети к этой изменчивости в обучении занимало центральное место, когда мы запускали модель в производство. Мы обнаружили, что графовые нейронные сети особенно чувствительны к изменениям в учебной программе — основной причиной этой нестабильности является большая изменчивость графовых структур, используемых во время обучения. Один пакет графов может содержать что угодно: от небольших графов с двумя узлами до больших графов со 100+ узлами.
Однако после долгих проб и ошибок мы разработали подход к решению этой проблемы, адаптировав новую технику обучения с подкреплением для использования в контролируемой среде.
При обучении системы машинного обучения скорость обучения системы определяет, насколько она «пластична» или изменчива для новой информации. Исследователи часто снижают скорость обучения своих моделей с течением времени, поскольку существует компромисс между изучением новых вещей и забыванием уже изученных важных особенностей — мало чем отличается от перехода от детства к взрослой жизни. Первоначально мы использовали график экспоненциально затухающей скорости обучения, чтобы стабилизировать наши параметры после заранее определенного периода обучения. Мы также изучили и проанализировали методы сборки моделей, которые доказали свою эффективность в предыдущей работе, чтобы увидеть, можем ли мы уменьшить дисперсию моделей между тренировочными прогонами.
В конце концов, наиболее успешным подходом к этой проблеме было использование Метаградиенты для динамической адаптации скорости обучения во время обучения, что позволяет системе эффективно изучать собственный график оптимальной скорости обучения. Автоматически адаптируя скорость обучения во время обучения, наша модель не только достигла более высокого качества, чем раньше, она также научилась автоматически снижать скорость обучения. Это привело к более стабильным результатам, что позволило нам использовать нашу новую архитектуру в производстве.
Обобщение моделей с помощью настраиваемых функций потерь
Хотя конечной целью нашей системы моделирования является уменьшение ошибок в оценках поездок, мы обнаружили, что использование линейной комбинации нескольких функций потерь (соответственно взвешенных) значительно увеличивает способность модели к обобщению. В частности, мы сформулировали цель множественных потерь, используя регуляризирующий фактор для весов модели, потери L_2 и L_1 для глобального времени прохождения, а также отдельные потери Хубера и потери отрицательного логарифмического правдоподобия (NLL) для каждого узла в графе. . Объединив эти потери, мы смогли направить нашу модель и избежать переобучения в наборе обучающих данных. В то время как наши измерения качества обучения не изменились, улучшения, наблюдаемые во время обучения, более непосредственно отразились на наборах тестов и наших сквозных экспериментах.
В настоящее время мы изучаем, можно ли также использовать метод MetaGradient для изменения состава многокомпонентной функции потерь во время обучения, используя уменьшение ошибок оценки перемещения в качестве ориентира. Эта работа вдохновлена усилиями MetaGradient, которые добились успеха в обучении с подкреплением, и ранние эксперименты показывают многообещающие результаты.
Сотрудничество
Благодаря тесному и плодотворному сотрудничеству с командой Google Maps мы смогли масштабно применять эти новые и недавно разработанные методы. Вместе мы смогли решить как исследовательские задачи, так и проблемы производства и масштабируемости. В конце концов, окончательная модель и методы привели к успешному запуску, повысив точность ETA в Google Maps и API платформы Google Maps по всему миру.
Работа в масштабе Google с передовыми исследованиями представляет собой уникальный набор задач. Если вы заинтересованы в применении передовых методов, таких как графовые нейронные сети, для решения реальных проблем, узнайте больше о команде, работающей над этими проблемами. здесь.