Что ж, конференция 2019 года по компьютерному зрению и распознаванию образов (CVPR) прошла в облачном Лонг-Бич, Калифорния, на прошлой неделе. Конференц-центр Лонг-Бич был заполнен до краев примерно 10 000 человек, включая некоторых ведущих мировых исследователей компьютерного зрения и некоторых агрессивно средних (то есть меня).

Мне посчастливилось представить там доклад о прошлой стажировке, а также оказаться в первом ряду (но технически третьем из последнего ряда, поскольку конференция была переполнена) некоторых действительно крутых и новаторских работ. в компьютерном зрении. Теперь, когда все закончилось, я хотел поделиться парочкой статей, которые мне показались особенно интересными.

Заявление об ограничении ответственности: Я не дальновидный человек; На самом деле я еще ничего не имею, так как только что закончил бакалавриат. Итак, статьи, которые я выделяю, не являются традиционными для компьютерного зрения. Приносим свои извинения читателям, которые действительно хотели услышать о паноптической сегментации или оценке глубины с помощью монокуляра, но вместо этого мы углубимся в функции планирования движения и потерь!

Сквозной интерпретируемый планировщик нейронного движения

Это последняя и величайшая работа группы Ракель Уртасун в UToronto / Uber ATG, и Уртасун даже утверждает, что это лучшая статья, которую [она] когда-либо писала. Исследования Уртасуна в области беспилотных автомобилей (SDC) имеют очень практическое обоснование и, исходя из моего ограниченного опыта в этой отрасли, чрезвычайно влиятельны. Я большой поклонник ее работ, поэтому ходил на все выступления на семинаре, которые она давала в CVPR; Оглядываясь назад, я могу сказать, что это была не лучшая идея, потому что я слышал один и тот же доклад четыре раза в разы.

Сквозное вождение

Святой Грааль исследования Уртасуна - это комплексный подход к SDC. Это означает метод, который принимает данные датчиков в качестве входных данных и выводит команды для управления транспортным средством. Это было сделано в прошлом, но имело ряд недостатков:

  1. Отсутствие интерпретируемости.
  2. Не может составлять разные подзадачи для решения основной задачи. Это делает подход очень неэффективным с точки зрения выборки.
  3. Трудно приступить к работе в реальном мире, где были необходимы некоторые предварительные правила вождения.

Вот почему индустрия SDC перешла к подходу инженерного стека, при котором различные модули, такие как восприятие, прогнозирование и планировщик, будут решать разные подзадачи проблемы (обнаружение и отслеживание объектов, оценка того, куда они идут, и создание безопасной траектории к выполнить соответственно); модули будут составлены вместе, чтобы создать ИИ для транспортного средства. К сожалению, этот подход также не идеален:

  1. Вычисления не распределяются между модулями.
  2. Сложно измерить распространение ошибок между модулями; оценка того, куда пойдет машина, естественно, страдает, если вы ошибаетесь в том, где она находится. Восстановление после таких ошибок тоже сложно.

Группа Уртасуна уловила лучшее из обоих миров, построив сквозной подход, который поддается интерпретации (благодаря прогнозам среднего уровня) и хорошо работает в реальном мире. Эта статья является заключением предыдущей работы ее группы; однако, в отличие от многих других серий (например, Игры престолов), этот финал силен и приносит удовлетворение.

Интерпретируемый планировщик

Предлагаемый планировщик нейронного движения (NMP) принимает в качестве входных данных облака точек LiDAR и HD-карту дорожной сети и выводит пространственно-временные «объемы затрат». Объем затрат звучит очень элегантно, но на самом деле это просто для каждого временного шага двухмерная тепловая карта, в которой области с низкой стоимостью / стоимостью являются хорошими местами для размещения.

Если cᵗ - объем затрат на временном шаге t, а s - траектория, то запланированная траектория - это просто решение оптимизации:

Хороший рисунок, суммирующий подход, приведен в статье:

  1. Входные данные, представляющие собой трехмерную тензорную конкатенацию облака точек LiDAR и дорожной карты HD, передаются через магистральную сверточную сеть.
  2. Промежуточное представление подается через две головки. Первая, голова восприятия, представляет собой сеть SSD, которая регрессирует и классифицирует ограничивающие прямоугольники для объектов в сцене, а также прогнозирует будущее движение этих прямоугольников T - 1 шаг в будущее.
  3. Второй, глава объема затрат, представляет собой сеть деконволюции, которая генерирует объемы затрат с точностью до T шагов в будущее.
  4. Генерируются образцы траектории (в другом интересном методе, о котором я расскажу позже), и выборка с минимальными затратами через объемы затрат выбирается в качестве запланированной траектории.

Теперь осталось только ответить на два вопроса и получить миллиарды долларов, прежде чем мы сможем внедрить нашу собственную NMP и создать еще одну компанию по производству беспилотных автомобилей: (1) как отбираются траектории? и (2) на каких потерях обучается сеть? У меня, к сожалению, совсем нет денег, но я могу дать ответы.

(1) Траектории отбора проб

Ну, в последний раз, когда я занимался геометрией, я вычислял площадь шестиугольников в средней школе, так что эта часть была для меня немного сложной. По сути, траектории представляют собой комбинацию формы и профиля скорости. Высокоуровневый процесс довольно прост:

  1. Выберите параметры для кривой Clothoid (подробнее об этом позже) и используйте полученную кривую в качестве формы траектории.
  2. Определите профиль скорости (предположите постоянное ускорение).
  3. Двигайтесь по кривой в соответствии с профилем скорости, чтобы получить траекторию.

К сожалению, кривая клотоиды не является шестиугольником, поэтому моя геометрия для средней школы здесь бесполезна. Но кривая довольно известна и задается параметрическими уравнениями:

Итак, s (ξ) по существу определяет двухмерную кривую, параметризованную расстоянием ξ до начальной точки s₀ , T₀ и N₀ - векторы касательной и нормали к s₀, а a - коэффициент масштабирования. Фактическая форма кривой фиксируется a, поэтому на шаге 1 выполняется равномерная выборка такого a. Чтобы визуализировать его эффект, я сделал несколько графиков в программе Mathematica of Clothoid Curve, меняя a:

В качестве базовых форм с постоянной вероятностью также выбирались прямая линия и дуга окружности. После определения формы кривой начальная точка кривой определяется начальным углом поворота рулевого колеса. Затем профиль скорости ξ ’(t) из шага 2 определяет ξ (t). Наконец, на шаге 3 ξ (t) дает точки на кривой, которые формируют путевые точки выбранной траектории.

(2) Потеря многозадачности

Сеть обучается с комбинированной потерей для головы восприятия и планирования:

Потеря восприятия - это довольно простая контролируемая потеря. Используя результаты наземного определения истинности, голова восприятия обучается предсказывать существование транспортных средств в заранее определенных якорных ящиках (потеря классификации), а также регрессировать положение, форму и угол курса каждого ящика на каждом текущем и будущем временном шаге (регрессия). потеря).

Потеря планирования немного сложнее, поскольку единственная достоверная информация, которая у нас есть, - это выполненные траектории, которые не соответствуют прогнозируемым объемам затрат. Наивный исследователь (то есть я, опять же) разделил бы траектории наземной истины на местоположения сетки и обучил бы объемы затрат, используя кросс-энтропийные потери в этих местоположениях. Фактически, я сделал именно это в своей работе (опять же бесстыдная пробка).

Вместо этого Уртасун использует потерю максимальной маржи, рассматривая наземную истину как положительные примеры, а случайно выбранные траектории как отрицательные.

Потери намного сложнее, чем кросс-энтропия. Здесь c ^ ​​- путевые точки наземной истины, cᵢ выбранные точки, dᵢ расстояние между наземной истиной и выборкой (поощряя удаленные точки к высокой стоимости) и γᵢ штраф за несоблюдение правил дорожного движения; max гарантирует, что будет оптимизирована только наихудшая выборка, так что объем затрат обучен отличать хорошие, достоверные траектории от действительно плохих.

В статье проводится довольно много экспериментов, включая метрики для измерения качества промежуточных прогнозов (задач восприятия и прогнозирования). TL; DR: они хороши. Меня интересуют визуализированные объемы затрат и планируемые траектории:

Объемы затрат, кажется, довольно хорошо справляются с мультимодальными сценариями, включая смену полосы движения и поворот на перекрестках. Хотя меня довольно легко произвести на меня впечатление (особенно если речь идет о собаке), я считаю, что сложность запланированных траекторий, несомненно, действительно крутая.

Обсуждение

Надеюсь, я не испорчу никаких секретов индустрии SDC, сказав, что в стеках SDC еще есть много места для машинного обучения. Даже сегодня (очень сложные) эвристики работали лучше, чем изученные методы, поэтому очень многообещающе увидеть, как сквозной метод глубокого обучения позволяет достичь самых современных результатов. Тем не менее, активная область улучшений заключается в обработке невидимых областей / восстановлении после ошибок (например, проблема DAgger), что, кажется, является областью, где может вмешаться обучение с подкреплением (RL). Но это может быть просто потому, что я ' м - победитель RL.

Общая и адаптивная надежная функция потерь

Так что, наверное, это была моя любимая статья за всю конференцию; в нем просто идеальное сочетание фундаментальной теории машинного обучения и оригинальности, почему я не подумал об этом. Я не был знаком с работой Джона Бэррона (который написал статью сам!) До этого, но я определенно буду следить за ней с этого момента. У его плаката также была огромная толпа, так что он уверенно движется к тому, чтобы добиться славы исследователя машинного обучения из списка A, которая принесет вам признание на улицах (если эта улица была заселена исследователями машинного обучения).

Слишком много функций потерь

Есть сопроводительное видео, которое очень хорошо ставит задачу. Мы имеем дело с классической проблемой регрессии, когда мы пытаемся предсказать y с учетом характеристик x. Большинство людей в этом случае обращаются к убыткам L₂, но все мы знаем, что они очень чувствительны к выбросам.

Если вам действительно нравятся функции потерь, вы можете попробовать ряд других, о которых вы знаете, и некоторые из них будут работать лучше, чем другие:

Что изменилось между разными потерями, так это то, насколько сильно они превалируют над отклоняющимися значениями - также известная как надежность. Итак, если бы вы не знали, какое поражение Герман-МакКлюр было до этого (я предполагаю, что это все, кроме Германа и МакКлюра), вы бы сильно застряли. И даже если бы вы знали, все равно было довольно утомительно пробовать все эти различные функции потерь, чтобы наконец прийти к хорошей.

Бэррон вводит новую функцию потерь, которая при задании других параметров фактически воспроизводит все потери, показанные выше; возможно, что более важно, он дает способ адаптивной настройки этих параметров во время обучения, чтобы автоматически определять оптимальную надежность этой функции потерь для конкретной задачи.

Функция потерь

Если бы я был Бэрроном, я бы назвал это Barron Loss, так как функция потерь, названная в честь меня, занимает довольно высокое место в моем списке желаний; но Бэррон менее самовлюблен, чем я, и оставил его безымянным. Во всяком случае, вот его функция потерь:

В формуле α - параметр формы, определяющий надежность функции, а c ›0 - параметр масштаба, определяющий размер квадратной чаши (U-образной формы) вокруг х = 0.

Вы можете заметить особенности при α = 0, 2. Однако в пределе мы получаем, что потери фактически приблизительно равны потерям L₂ около α = 2 и потерям Коши около α = 0.

Фактически, действительно приятным свойством этой функции потерь является то, что она фактически воспроизводит несколько существующих функций потерь для конкретного α: потери L2 (α = 2), потери Шарбонье (α = 1), потери Коши (α = 0), потери Гемана- Потеря МакКлюра (α = −2) и потеря Уэлша (α = −∞). Это видно из его окончательной версии потери (которая устраняет особенности):

На бумаге также есть красивая фигура, показывающая, как меняется ее форма:

На самом деле у этой функции потерь есть много хороших свойств:

  1. Smooth w.r.t | x | и α. Итак, мы можем проводить оптимизацию на основе градиентов, что, если честно, это все, что я умею делать в настоящее время.
  2. Монотонно увеличивается относительно | x | и α. Вы также могли заметить, что надежность увеличивается по мере уменьшения α (выбросы взвешиваются меньше / имеют небольшой градиент при малых α). Это означает, что вы можете выполнить некоторую постепенную оптимизацию невыпуклости: установите значение α большим, чтобы потери были выпуклыми, затем отожгите α, чтобы выпуклость уменьшилась, но повысилась надежность, и (надеюсь) таким образом не застрять в локальных минимумах.
  3. Ограниченные первая и вторая производные. Это означает, что мы можем избежать неприятных сюрпризов, связанных с взрывными градиентами во время оптимизации.

Адаптивный алгоритм

Все это было бы бесполезно, если бы кульминация статьи заключалась в том, что нам нужно было выполнить поиск гиперпараметров для α и c. Что действительно круто, так это то, что эти параметры могут быть свободны и решены вместе с остальными весами модели. Теперь наивное минимизирование ρ (·, α, c) не сработает, потому что мы можем просто выбрать α , c как можно меньше и минимизируют потери (напомним, что ρ монотонно увеличивается с α).

Необходимо внести некоторый компромисс, поэтому α нельзя сделать произвольно маленьким. Этот компромисс элегантно упакован в отрицательную логарифмическую вероятность (NLL) распределения вероятностей, которая соответствует функции потерь.

Сейчас я видел достаточно работ с использованием вероятностных графических моделей, чтобы немного испугаться функции распределения Z (α). Но, может быть, дело в на этот раз красиво и сговорчиво ...

К счастью, Бэрронс находит способ обойти это, аппроксимируя log Z (α) с помощью интерполяции кубическим сплайном Эрмита. На практике он делает еще один трюк, чтобы сделать сплайн непрерывно дифференцируемым, работая в преобразованном пространстве для α (см. Его дополнительный материал).

Что делает добавление log Z (α) для новой цели? Что ж, он эффективно сдвигает исходную функцию потерь, так что при малых α,, которые дают низкую стоимость выбросам, стоимость вставок увеличивается.

Это создает компромисс, когда присвоение низкой стоимости большим остаткам влечет за собой штраф для более мелких, не позволяя оптимизации тривиально уменьшить потери, как раньше. Теперь α, c можно оптимизировать как свободные параметры вместе с остальными весами модели!

Эксперименты

Баррон показывает, что в различных задачах простая замена функции потерь исходной модели новой адаптивной позволяет заметно улучшить производительность. Поскольку это CVPR (и еще не было никакого упоминания о генерации изображения или оценке глубины), двумя такими задачами являются (1) создание изображения с использованием вариационных автокодировщиков (VAE) и (2) оценка глубины монокуляра.

С помощью VAE Бэрронс сравнил создание нормального распределения для каждого пикселя RGB в выходном изображении с созданием нового распределения с α, c в качестве обучаемых параметров. Количественно ELBO набора проверки также улучшились с 31 505 до 36 373 (с вейвлетами вместо пикселей). Кроме того, образцы, использующие VAE, заведомо размыты, но использование нового выходного распределения приводит к более резким и четким изображениям.

Неконтролируемая оценка глубины монокуляра оценивает как глубину, так и позу камеры, используя пары связанных, немаркированных изображений в качестве обучающих данных. В этой задаче первоначальная цель максимизации вероятности пикселей с использованием фиксированного распределения Лапласа заменяется использованием нового распределения. Это снижает ошибку валидации с 0,407 до 0,332 (также с использованием вейвлетов; я, надо признать, не знал, что они были настолько полезны) и дает значительно более точные оценки глубины.

Я бегло просмотрел эксперименты довольно агрессивно, но я хотел сконцентрироваться на теоретически интересных частях приложений компьютерного зрения (надеюсь, я не попаду в черный список из будущих CVPR за этот комментарий).

Обсуждение

Мне показалось, что работа Бэррона напоминает работу Алекса Кендалла (которого (м?) Я тоже поклонник!) С гомоскедастическими потерями. Эта работа имеет дело с адаптивным масштабированием потерь для отдельных задач в настройке потерь при нескольких задачах, тогда как эта работа в общих чертах выполняет масштабирование потерь для отдельных данных в зависимости от их остатков. Оба они соответствуют этой всеобъемлющей теме обработки алеаторической неопределенности - статистической неопределенности из-за скрытых независимых переменных в обучающих данных.

Одним из ограничений этой работы является то, что она применима только к задачам регрессии (если это даже считается ограничением, поскольку многие задачи включают регрессию). Возможно, существует соответствующая «обобщенная» перекрестная энтропия или потеря шарнира для задач классификации, но добиться плавности такой потери может оказаться проблемой.

Тем не менее, я был очень взволнован работой Бэррона; это определенно была одна из самых впечатляющих вещей, которые я видел за последнее время, и я видел это:

Как бы то ни было, на CVPR этого года было много других замечательных работ, в том числе лучшая статья, над которой я все еще пытаюсь проработать ». Для меня сейчас очень захватывающее время, чтобы наконец заменить школьные экзамены моими собственными исследованиями!

Ссылки

  1. Вэньюань Цзэн, Вэньцзе Луо, Симон Суо, Аббас Садат, Бин Ян, Серхио Касас, Ракель Уртасун. Сквозной интерпретируемый планировщик нейронного движения. Конференция IEEE по компьютерному зрению и распознаванию образов (CVPR), 2019 г., стр. 8660–8669.
  2. Джонатан Т. Бэррон. Общая и адаптивная надежная функция потерь. Конференция IEEE по компьютерному зрению и распознаванию образов (CVPR), 2019 г., стр. 4331–4339.