Летняя стажировка в Seoul Robotics

У меня была возможность поработать в Seoul Robotics на шестинедельной летней стажировке. Ниже я сделаю обзор работы, которую я провел за это время. Целью моего проекта было реализовать поиск нейронной архитектуры для обнаружения объектов в данных облака точек.
Вопросы и запросы можно адресовать напрямую мне или Seoul Robotics.

Все, что можно автоматизировать, будет автоматизировано

Поиск нейронной архитектуры (NAS) - это новая область в глубоком обучении не без оснований. До сих пор прорывы в области глубокого обучения, такие как модели ResNet или Inception (см. рисунок 1), в основном осуществлялись вручную созданными новыми сетевыми архитектурами. . Поиск новой хорошо работающей архитектуры чреват ошибками и требует много времени. Архитектуры обычно предлагаются на основе расплывчатых аргументов и интуиции. Трудно представить, как можно было бы придумать такие сложные архитектуры, как сеть Inception (см. рисунок 1).

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

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

Уровень развития

Наивный подход к поиску лучшего решения - это просто исчерпывающий поиск в определенной области поиска. Это, конечно, невозможно для большинства пространств поиска, поскольку они слишком велики для эффективного поиска. Тем не менее, именно это и сделал Google, пытаясь создать эталонный набор данных для NAS. Далее я дам обзор более тонких методов.

По сути, существует три разных подхода к стратегии поиска: обучение с подкреплением (RL), эволюционные методы и градиентные методы.
Обучение с подкреплением (например, Zoph et al., 2018) описывает проблему с помощью агента, который стремится найти подходящую архитектуру, чтобы максимизировать вознаграждение - производительность сети. < br /> Эволюционные методы (например, Real et al. 2019) используют генетические алгоритмы для выборки родителя из популяции сетей, который используется для создания дочерние модели путем применения мутаций к архитектуре, например, это могут быть изменения соединений, операции и т. д.
На основе градиента (например, Liu et al. 2018 ) используют методы непрерывной релаксации, чтобы использовать методы градиентного спуска для оптимизации сетевой архитектуры. Вместо исправления архитектуры этот подход использует выпуклую комбинацию нескольких архитектур.
Основным недостатком методов обучения с подкреплением и эволюционных методов является то, что они оба, как правило, вычислительно дороги, а поиск требует столько же как 2 000 и 3 150 графических дней соответственно. С другой стороны, эти методы могут использоваться для многокритериальной оптимизации путем принятия оптимизированной метрики соответствующим образом и, следовательно, являются более гибкими.

Недавнюю критику вышеуказанных подходов высказал Лиам и др. (2019) . Они достигли той же производительности, что и ведущие подходы, за счет случайной выборки сетевых архитектур. Лиам и др. поэтому утверждают, что правильно выбранное пространство поиска с ограниченной архитектурой, которое требуется для большинства методов NAS, является главной причиной хорошей производительности последних работ в этой области.

Поиск нейронной архитектуры для обнаружения объектов в данных облака точек

Вступление

Целью моей летней стажировки было разработать поиск по нейронной архитектуре для обнаружения объектов в данных облака точек.

В отличие от этого, большая часть работы в NAS проводилась в классификации изображений (например, Zoph et al., 2018, Real et al. 2019), и только в обнаружение объекта (Тан и др. 2018, Лю и др. 2019). Насколько нам известно, в области NAS не было опубликовано ни одной работы по обнаружению объектов в данных облака точек. Это делает эту проблему одновременно сложной и многообещающей.

Чтобы избежать огромных вычислительных затрат на обучение с подкреплением и эволюционные методы, я стремился расширить недавний градиентный подход Liu et al. 2019 , получивший название Auto-DeepLab.
Поскольку Auto-DeepLab был разработан для сегментации изображений, он не преобразуется напрямую в данные облака точек. Поэтому я смешал некоторые из найденных вручную элементов архитектуры и другие методы обнаружения объектов в данных облака точек, о которых сообщает Yang et al. (2018) в статье под названием PIXOR.

Методы

Сеть была обучена на данных лидаров из набора данных KITTI (см. рисунок 2). Данные облака точек сначала проецируются в виде с высоты птичьего полета, а затем вокселируются в дискретную сетку. Затем данные подвергаются субдискретизации до пространственного разрешения 4 с помощью основы, используемой в PIXOR. Основа PIXOR была использована потому, что даунсэмплинг выполняется намного медленнее, чем основа Auto-DeepLab, которая должна помочь извлечь больше информации об объектах, которые могут быть очень маленькими в данных облака точек.
Вывод основы после этого передается в фактическое пространство поиска архитектуры, в котором используются выпуклые комбинации операций и соединений. Поиск ведется как для ячеек сети нижнего уровня (см. Рис. 3), так и для архитектуры верхнего уровня сети, то есть когда нужно уменьшить или увеличить частоту дискретизации в пространстве. (см. рисунок 4). Непрерывная релаксация лучше всего проиллюстрирована на примере вычисления выходного значения y слоя как выпуклой комбинации нескольких операций o (свертка, пропуск соединения и т. д.), применяемые к входу x, т. е. y = Σ α o(x) (см. рисунок 3 a)) . В реализованном подходе выпуклая комбинация используется для объединения нескольких операций и входов в пространстве ячеек, а также для объединения нескольких пространственных разрешений в качестве ячейки входы.

Для декодирования выходных данных сети на последнем уровне были протестированы различные головные устройства сети. Это включает в себя объединение пространственных пирамид Atrous (ASPP), составные слои деконволюции и билинейную повышающую дискретизацию в сочетании со сверточными слоями.
Наконец, потерю фокуса в сочетании с подходом плотного обнаружения объектов без каких-либо предложений от PIXOR.
Для нахождения сетевой архитектуры используется градиентный спуск по параметрам выпуклой комбинации сетевых архитектур. В упрощенном виде это приводит к расширению соединений на каждом соединении в пространстве поиска архитектуры, что сводит к минимуму общие потери (как показано на рисунке 3 c)).

Ограничения

В то время как обучение с подкреплением и эволюционные методы, как правило, занимают много дней с графическим процессором, прежде чем будет найдена архитектура, использованный подход посредством непрерывной релаксации показал, что создает очень большую модель, поскольку все возможные соединения и операции как в ячейке, так и в одновременно необходимо хранить в памяти более высокий уровень архитектуры. Образно говоря, это можно сравнить с объединением сотен обычных нейронных сетей в одну гигантскую сеть, а затем обучением этой гигантской сети. Поэтому мне пришлось пойти на компромисс в области поиска и ограничить количество слоев поиска, учитываемые операции, каналы и размер пакета, чтобы уместить модель на один Tesla V100 GPU с 16 ГБ.

Обучение сети оказалось трудным, потому что обучение этой большой сети занимает очень много времени, в то время как мое время на стажировке было очень ограниченным. Обучение модели с 12 слоями пространства поиска заняло 10 дней. Это ограничило количество различных настроек гиперпараметров и сетей заголовков, которые я смог обучить.

Полученные результаты

Как видно на рисунке 5, вес сетевой архитектуры находится в очень небольшом диапазоне от 0,22 до 0,46 в течение последней эпохи обучения. Это показывает, что сетевая архитектура не сходилась к одному отдельному пути, иначе распределение было бы четко разделено на кластер, близкий к 1,0 и 0,0.

Это ясно показывает, что подход был еще не успешным. Я подозреваю, что настройки гиперпараметров, а также выбранные сети заголовков являются причиной плохой производительности. Поскольку это всего лишь предположение, это требует дальнейшего расследования. Аналогичным образом, результаты проверки средней средней точности (mAP) не соответствовали современным моделям.
В заключение В различных протестированных сетях заголовков было замечено, что заголовок ASPP оказался наиболее эффективным.

ОБНОВЛЕНИЕ: в самый последний день моей стажировки я обнаружил некоторые настройки гиперпараметров, которые действительно сходились в явно более характерный путь (см. рисунок 6) ! Это предварительные результаты, то есть сеть не была закончена с обучением, но это намекает на то, что подход идет в правильном направлении и может быть дополнительно доработан.

Заключение

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

Перспективы

Возвращаясь к первому закону Зубоффа: «Все, что можно автоматизировать, будет автоматизировано», мы можем заметить, что гиперпараметры по-прежнему выбираются вручную, и как основа, так и заголовок сети выбираются вручную. Кроме того, пространство поиска сильно ограничено и выбирается вручную. Таким образом, мы можем сделать вывод, что еще многое предстоит сделать для автоматизации глубокого обучения. Наконец, я считаю, что поиск нейронной архитектуры будет продолжать помогать нам открывать новые высокопроизводительные архитектуры. Это захватывающая область, в которой можно участвовать, и еще многое предстоит изучить!

Стажировка

Мне очень понравилась летняя стажировка в Seoul Robotics. Команда высококвалифицированная и мотивированная. Я смог почувствовать динамику компании. Я вижу светлое будущее у Seoul Robotics, и я рад узнать обо всех предстоящих достижениях команды и пути компании.
Я благодарен за возможность заняться новой проблемой в области глубокого обучения и обсудить ее с моими коллеги по работе.

Дополнительная литература

Заинтересованные читатели могут найти очень хороший обзор области NAS и различных подходов в недавнем обзоре Университета Фрайбурга (Elsken, T. et al., 2018). Кроме того, Лаборатория машинного обучения университета также имеет обновленный и тщательно подобранный список всех последних публикаций в этой области.

Записка капитана (генерального директора)

Мы были счастливы, что этим летом Мануэль, такой талантливый инженер из ETH Zürich, применил NAS для вывода данных с лидаров. Хотя результаты не совпадали, это было очень успешное исследование для потенциальной темы исследования для Seoul Robotics, поскольку мы сосредоточены на предоставлении отрасли современного механизма трехмерного восприятия. Вне работы мы пытались дать ему полный опыт Сеула, включая корейское барбекю в Каннам.