Что определяет крупномасштабное машинное обучение? На этот, казалось бы, невинный вопрос часто отвечают петабайты данных и сотни графических процессоров. Оказывается, крупномасштабное машинное обучение не имеет ко всему этому никакого отношения. В 2013 году Леон Ботту провел урок по этой теме в Институте Пуанкаре. Класс по-прежнему актуален сегодня, как и тогда. Этот пост - его краткое изложение.

Фундаментальная гипотеза машинного обучения

Большая часть недавнего прогресса в области машинного обучения была обусловлена ​​парадигмой обучения, с помощью которой мы обучаем модель ƒ на основе существующих данных. Мы оцениваем ƒ с помощью обучающей выборки и измеряем конечную производительность с помощью тестовой выборки. Набор проверки используется для определения параметров модели.

На практике мы используем два ярлыка.

  • Ошибка аппроксимации: поскольку мы не можем перебирать бесконечный набор всех возможных функций F * во вселенной, мы работаем в подпространстве функции F.
  • Ошибка оценки: поскольку истинное распределение данных неизвестно, мы минимизируем не риск, а эмпирический риск, рассчитанный на основе имеющихся данных.

С математической точки зрения:

где f ’- наилучшая функция для данного набора данных, R оценивает потери при f, а R * - минимальный статистический риск (истинный риск).

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

В реальном мире мы используем третий ярлык:

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

Таким образом, окончательная ошибка состоит из трех компонентов: ошибки аппроксимации, ошибки оценки и ошибки оптимизации. Задача сводится к нахождению оптимального функционального пространства F, количества примеров n и ошибки оптимизации ρ с учетом бюджетных ограничений, будь то количество примеров n или время вычислений T. Леон Ботту и Оливье Буске проводят углубленное изучение этого компромисс в Компромиссах крупномасштабного обучения.

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

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

Имея в виду это определение, вы могли бы работать с поистине гигантским набором данных, таким как вся база данных Google StreetView, и иметь доступ к суперкомпьютеру, позволяющему очень быстро выполнять итерации по всему набору данных, вы все равно не будете заниматься крупномасштабным машинным обучением.

Ограничение времени

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

На практике мы часто выбираем все возможные конфигурации и в итоге получаем график, подобный приведенному ниже. Оптимальная конфигурация зависит от бюджета времени вычислений (т. Е. Разные бюджеты времени дают разные оптимальные конфигурации).

Сосредоточение внимания на данных и задаче

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

Почему?

  • Эксперименты обходятся дороже в масштабе (аппаратное обеспечение и время разработки). Следовательно, стоимость работы с неверными данными или над неправильной задачей выше. В этом контексте имеет смысл тратить продолжительное время на обсуждение задачи или очистку данных. На самом деле это не так уж и плохо. Почему-то мне всегда приятно видеть, как инженеры и исследователи подробно обсуждают задачу. Что-то глубоко внутри моего инженерного «я» заставляет меня думать, что эти часы обсуждения могут сэкономить нам намного больше времени в будущем. Саркастический тезис о том, что «недели программирования могут сэкономить часы планирования», в мире машинного обучения можно перевести как «недели обучения могут сэкономить часы на определение задач».
  • Крупномасштабные системы имеют тенденцию быть более динамичными и взаимодействовать с реальным миром. Это, в свою очередь, создает больше возможностей для проблем с качеством данных, а также вопросов о том, чего именно пытается достичь модель (например, следует ли учитывать эффекты причинной связи?)
  • Большие наборы данных позволяют использовать больше функций и более сложные модели. Чем больше функций, тем больше времени будет потрачено на качество данных. С другой стороны, более сложные модели почти всегда приводят к изначально разочаровывающим результатам, сразу за которыми следует сомнение в задаче, которую модель пытается решить (вместо еще более сложной модели).

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

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

Системы инженерного обучения в масштабе

Типичный подход к решению сложной проблемы в крупномасштабном машинном обучении состоит в том, чтобы разделить ее на более мелкие подзадачи и решить каждую из них отдельно. Стратегия обучения может быть либо (1) обучением каждого модуля независимо (2) последовательным обучением (используйте ввод модуля n и обучайте модуль n + 1 с ним), либо (3) глобальным обучением. Глобальное обучение сложнее, но часто лучше. Обучение нейронным сетям для беспилотных автомобилей представляет собой богатый пример глобального обучения в масштабе. Однако глобальное обучение сопряжено с рядом проблем, таких как обучение некоторых модулей быстрее, чем других, несбалансированность данных и превышение модулей по обучающей способности всей сети.

Глубокое обучение и трансферное обучение

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

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

Типичный пример - одно из обозначений лиц в базе данных изображений. Пометьте интересную задачу (лицо- ›имя) может быть дорого, но пометить другую задачу может быть гораздо проще: два изображения лица одного и того же человека? Помеченный набор данных можно просто построить, наблюдая, что два лица на одном изображении, вероятно, будут разными людьми, а лица в последовательных кадрах, вероятно, будут одним и тем же человеком.

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

Заключение

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

Исходный урок Леона Ботту содержит намного больше материала. Проверьте это!

Новый взгляд на крупномасштабное машинное обучение, Леон Ботту, Большие данные: теоретические и практические проблемы, семинар, май 2013 г., Институт Анри Пуанкаре

Спасибо Флавиану Василе и Сергею Иванову за чтение черновиков этой статьи.

Нравится то, что вы читаете? Ознакомьтесь с нашими последними публикациями?





Хотите присоединиться к толпе? Ознакомьтесь с нашими текущими вакансиями: