Мысли и теория

Широкое и практическое изложение методов онлайн-обучения

Обзор методов онлайн-обучения с акцентом на наиболее эффективные для практикующего специалиста.

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

  • С какими проблемами сталкиваются модели онлайн-обучения?
  • Какие есть решения для онлайн-обучения модели?
  • Какого уровня производительности мне следует ожидать от модели, обученной онлайн?

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

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

Что такое онлайн-обучение?

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

Любой, кто читал статьи, посвященные онлайн-обучению, вероятно, не понимает, как следует называть этот учебный план, поскольку за годы исследований было присвоено множество имен. Например, обучение на протяжении всей жизни [1, 2], непрерывное обучение [3, 4], инкрементное обучение [5, 6] и потоковое обучение [7, 8] - даже в дополнение к этому существует множество других! Многие из этих названий относятся к очень похожим сценариям с небольшими различиями в экспериментальной установке. Например, обучение на протяжении всей жизни обычно относится к изучению нескольких задач в последовательности, в то время как инкрементное обучение имеет тенденцию изучать пакеты данных последовательно. Несколько иначе, потоковое обучение требует одного прохода по набору данных, никогда не позволяя модели просматривать несколько примеров данных одновременно. Тем не менее, я использую «онлайн-обучение» как общий термин, обозначающий все такие экспериментальные установки, которые имеют общее свойство частичного, последовательного воздействия на данные.

Имеет ли значение настройка?

Учитывая, что существует так много различных экспериментальных сценариев для изучения методов онлайн-обучения, можно легко начать задаваться вопросом, полезно ли изучение онлайн-обучения в целом. Другими словами, можем ли мы просто изучать онлайн-обучение, или выбор экспериментальной установки оказывает значительное влияние на эффективность определенных методологий обучения? Будет ли подход, который хорошо работает в непрерывном обучении, работать и для постепенного обучения? Короче говоря, очень важен выбор экспериментальной установки. Например, предыдущая работа показала, что модели, обученные для сценариев инкрементального обучения, редко хорошо работают в настройках потоковой передачи [7]. По этой причине я постараюсь уточнить обсуждаемый сценарий обучения, особенно при изучении конкретной статьи. К счастью, однако, многие методы обучения, используемые для всех типов онлайн-обучения, очень похожи [9, 10] - они просто могут потребовать небольших изменений, чтобы сделать их более эффективными в определенных условиях.

Почему онлайн-обучение сложно?

Прежде чем погрузиться в текущие методологии онлайн-обучения, можно задаться вопросом, зачем вообще нужна какая-либо специализированная методика обучения. Разве мы не можем просто обучить модель по мере того, как данные становятся доступными? Краткий ответ на этот вопрос - нет, но понимание того, почему, требует некоторого базового понимания.

Наивный подход…

Один из простейших подходов к онлайн-обучению - поддерживать единую модель, которая настраивается на новые данные по мере их поступления. В этом случае данные становятся последовательно доступными для модели, и предыдущие данные не могут быть повторно посещены. Таким образом, модель обновляется / настраивается в реальном времени по мере поступления новых данных и постепенно изучает интересующую задачу с течением времени. Если бы входящий поток данных был i.i.d., этот подход тонкой настройки работал бы очень хорошо! А именно, поток данных будет равномерно отбираться из распределения обучающих данных (например, равномерная выборка всех различных классов в задаче классификации), и модель будет представлена ​​для всех данных сбалансированным образом. Со временем, если данные будут продолжать поступать, модель начнет работать достаточно хорошо.

Так в чем проблема? Что ж, во многих практических приложениях входящий поток данных не является i.i.d, что означает, что он не производит беспристрастную выборку из базового набора данных. Например, все примеры данных, представленные в модели, могут относиться к одному классу в задаче классификации. С практической точки зрения, рассмотрим модель глубокого обучения, используемую на сайте электронной коммерции, посвященном моде. В обычный день модель учится на активности клиентов на сайте, отбирая образцы из той же группы продуктов. Однако однажды к сайту электронной коммерции может быть добавлена ​​новая линейка продуктов, что вызовет большую активность клиентов вокруг одной группы продуктов. В этом случае модель подвергается воздействию огромного количества данных по одной теме / продукту, что приводит к несбалансированному представлению новых и существующих продуктов на сайте. Очевидно, это усложнит процесс онлайн-обучения, но как?

Катастрофическое забвение

В сообществе онлайн-обучения основная проблема, которая была выявлена ​​для обучения моделей в режиме онлайн, а не в режиме без i.i.d. потоки данных катастрофически забываются [11, 12]. Катастрофическое забывание - это свойство моделей онлайн-обучения, в которых модель забывает, как классифицировать предыдущие данные, поскольку она подвергается воздействию новых данных. Например, рассмотрим набор данных с 10 классами (например, CIFAR10) и предположим, что модель онлайн-обучения уже обучена на классах один и два. Затем предположим, что модель получает новые данные, которые выбираются только из классов три и четыре. Если модель настроена на этих новых данных без доступа к каким-либо из ранее изученных данных, она начнет хорошо работать в классах три и четыре, но, скорее всего, снизится в производительности в классах один и два. Другими словами, он будет катастрофически забыт!

Цель онлайн-обучения - выяснить, как избавиться от катастрофического забывания. Таким образом, почти все исследования в этой области (1) предполагают, что входящие данные не являются i.i.d. (то есть потоки данных i.i.d. можно тривиально обрабатывать с помощью ванильной тонкой настройки) и (2) предлагает некоторую методологию, которая защищает от катастрофического забывания. Как правило, наиболее распространенный метод создания не-i.i.d. потоки данных (для задач обучения на основе классификации) должны разделить все возможные выходные классы на несколько непересекающихся групп и последовательно предоставить эти группы классов онлайн-обучающемуся [5, 12]. В этом случае модель онлайн-обучения должна научиться обращаться с новыми классами, сохраняя при этом знания о ранее встречавшихся классах. Для задач, отличных от классификации (например, обнаружение объектов или обучение с подкреплением), многие другие обучающие установки были получены для создания не-i.i.d. потоки данных, вызывающие катастрофическое забывание [8, 13].

Какие существуют подходы?

Было предложено множество подходов для уменьшения катастрофического забывания в области онлайн-обучения. Для целей этой публикации я разделю эти методы на следующие категории: модификация архитектуры, регуляризация, дистилляция, воспроизведение, ребалансировка и другие. Для каждой из этих категорий я дам краткий обзор подхода, резюме соответствующих документов и обсуждение практической эффективности. Обычно в рамках этих описаний я буду рассматривать как инкрементные (т. Е. Пошаговое обучение задач / классов), так и потоковые настройки, поскольку они являются наиболее распространенными в литературе.

Архитектурная модификация

Обзор. Идея архитектурной модификации проста: по мере получения новых данных добавляйте в модель дополнительные параметры, чтобы увеличить ее емкость. Такие параметры могут быть добавлены структурированным (например, добавление совершенно новых нейронов или фильтров к архитектуре) или неструктурированным (например, добавлением новых соединений между существующими нейронами) способом. Более того, обновление расширенной модели (т. Е. Здесь я использую слово «расширенная» для обозначения модели с добавленными параметрами) после получения новых данных может быть выполнено двумя способами: (1) просто обновить модель без ограничений или (2) использовать стратегии маскировки / селективной пластичности для обеспечения обновления только неважных нейронов (т. е. тех, которые не влияют на производительность по предыдущим данным). В обоих случаях цель такого подхода состоит в том, чтобы позволить модели хорошо работать как с новыми, так и со старыми данными, гарантируя, что она никогда не будет лишена возможности расширять свои знания о лежащей в основе проблеме обучения из-за ограниченных возможностей. Постоянно добавляя дополнительные параметры, мы гарантируем, что модель может и дальше учиться на новых данных.

Методы. Для модификации архитектуры было предложено множество различных подходов, в которых перечислены все возможные варианты, перечисленные выше. [13] изучает инкрементную настройку задач и создает экземпляры совершенно новой нейронной сети для каждой задачи (т.е. каждая задача имеет свои собственные скрытые / выходные слои равного размера, которые подключены к входу). Затем, чтобы гарантировать сохранение и использование предыдущих знаний, формируются боковые связи со скрытыми слоями предыдущих задач, позволяя новым задачам опираться на ранее изученные представления функций для расширения процесса обучения. Точно так же [14] изучает установку дополнительных задач и предлагает дополнительные нейроны для добавления в сеть каждый раз, когда вводится новая задача, в то время как [15] изучает аналогичный (но структурированный) подход добавления целых «блоков» нейронов в сеть. сеть каждый раз, когда новые данные встречаются в настройках инкрементального задания. Наконец, [16] добавляет новые параметры в сеть во время процесса онлайн-обучения, но исследует различные стратегии маскировки и пластичности для управления обновлением параметров модели, чтобы избежать разрушения знаний из предыдущих задач.

Обсуждение. Хотя методы изменения архитектуры оказались успешными при решении небольших задач онлайн-обучения, у них есть два основных свойства, ограничивающих их потенциал. Во-первых, поскольку архитектура постоянно расширяется или расширяется, требования к памяти для этих методов обычно велики / неограниченны, что может стать трудноразрешимым в случае крупномасштабных моделей или наборов данных. В идеале было бы лучше, если бы использование памяти алгоритмом онлайн-обучения не зависело от количества получаемых данных. Кроме того, большинство таких методологий зависят от существования «границ задач» (т. Е. Заранее определенных точек останова во входящем потоке данных, таких как пакеты, присутствующие в инкрементальном обучении). Такие границы задач обеспечивают очевидные точки в процессе онлайн-обучения, во время которых параметры / модули могут быть добавлены в сеть. Некоторые методологии изменения архитектуры полностью зависят от существования таких границ задач [13, 14, 15], но эти границы не всегда присутствуют (например, во время потокового обучения). Таким образом, зависимость от границ задач ограничивает применимость таких методов в некоторых сценариях.

Регуляризация

Обзор. Методы регуляризации для онлайн-обучения обычно направлены на (i) определение «важных» параметров и (ii) создание условий регуляризации во время обучения, которые предотвращают изменение таких параметров. перебор. Как правило, важные параметры определяются как параметры, которые ухудшают производительность сети при обновлении / изменении. Было предложено множество различных эвристик важности, но все они имеют общую цель - определить, повредит ли изменение этого параметра производительности сети в отношении старых данных, которых больше нет. Гарантируя, что важные параметры не изменяются во время онлайн-обучения, производительность сети на старых данных сохраняется, поскольку обновления параметров для новых данных консолидируются в регионах, которые не имеют отношения к поведению сети.

Методы. В [17] важность параметра определяется как вклад параметра в точность сети в предыдущих задачах, который оценивается с использованием приблизительной апостериорной вероятности параметра ( вычислено с использованием информационной матрицы Фишера). Затем применяется динамическая регуляризация, поскольку сеть обучается на новых данных, так что параметры с высокой важностью несут большие штрафы, если они обновляются от своего исходного значения, таким образом поощряя обучение только для обновления параметров, которые не важны для поддержания производительности на предыдущих данных. [18, 19] используют почти идентичные подходы, но используют разные эвристики для определения важности параметров. А именно, [18] определяет важность параметра, используя величину градиента каждого параметра на протяжении всего обучения, тогда как [19] рассматривает изменение потерь, связанных с каждым параметром, как прокси для важности параметра при обучении новой задаче. Хотя это и не совсем подходы к регуляризации, [20, 21] предлагают формулы оптимизации онлайн-обучения с ограничениями, которые гарантируют, что обновления параметров во время онлайн-обучения не могут повлиять на производительность при выполнении предыдущих задач.

Обсуждение. Подобно подходам к изменению архитектуры, методологии онлайн-обучения, основанные на регуляризации, перспективны в меньших масштабах. Однако при использовании в крупномасштабных экспериментах такие подходы, как правило, не слишком эффективны, и вычисление важности параметров становится чрезвычайно дорогостоящим для больших моделей глубокого обучения. По этой причине подходы к онлайн-обучению, основанные на регуляризации, обычно не считаются полезными для крупномасштабных приложений онлайн-обучения [9, 10].

Дистилляция

Обзор. Методы дистилляции для онлайн-обучения вдохновлены концепцией дистилляции знаний в рамках глубокого обучения [22]. Первоначально дистилляция знаний была предложена для «дистилляции» знаний большой «учительской» сети в параметры меньшей «студенческой» сети путем обучения ученика сопоставлению с выводом учителя по набору данных. Несколько иначе, в методологиях онлайн-обучения применяется дистилляция, так что знания предыдущих моделей (т. Е. Тех, которые обучены на более старых данных) могут быть перенесены в текущую сеть, изучаемую, чтобы гарантировать, что исторические знания не будут потеряны. Методология очень похожа на обычную дистилляцию знаний. Основное отличие состоит в том, что сети преподавателей и учеников обычно имеют одинаковый размер / архитектуру, но взяты из разных точек на этапе онлайн-обучения. Такой процесс аналогичен технике самодистилляции [39, 40].

Методы. В онлайн-обучении было предложено множество методологий дистилляции. Фактически, поскольку она имеет тенденцию не мешать другим методологиям (т.е. это просто модификация функции потерь!), Дистилляция часто комбинируется с другими методологиями для расширения процесса онлайн-обучения [5, 24]. [23] была одной из первых работ, предлагающих использовать дистилляцию для онлайн-обучения в пакетной инкрементальной настройке. Эта работа показала, что если к потерям, вычисленным по новым данным, добавить потерю дистилляции по отношению к предыдущим настройкам сети, можно лучше поддерживать производительность сети при выполнении предыдущих задач. Такая методология была нацелена на замену предыдущей методологии перехода для предотвращения катастрофического забывания при пакетном инкрементальном обучении - добавление стадии точной настройки, которая включает как старые, так и новые данные в сбалансированном соотношении (т. Е. Сбалансированную точную настройку) [23, 25 ]. Последующие работы обнаружили, что выполнение дистилляции с новыми данными может вызвать ухудшение производительности, если распределение новых данных значительно отличается от старых данных. Затем такая проблема была решена путем прямого кэширования старых примеров данных для использования при вычислении потерь при перегонке [2, 5, 24, 26].

Обсуждение. Дистилляция - широко используемый подход в сообществе онлайн-обучения, который хорошо зарекомендовал себя даже в более крупных масштабах [5]. Однако последующая работа при рассмотрении использования дистилляции для онлайн-обучения показала, что дистилляция менее эффективна, когда предыдущие данные кэшируются для использования во время точной настройки [27]. Фактически, в некоторых работах даже утверждается, что добавление перегонки к потерям не нужно - возможно, даже вредно - когда сохраняется явная память предыдущих данных для использования в онлайн-обновлениях [9, 10, 28]. Таким образом, методы дистилляции, хотя они все еще остаются популярными, сомнительно эффективны, когда разрешено запоминание предыдущих примеров данных. Таким образом, методы, которые хранят предыдущие примеры данных для использования во время онлайн-обновлений - все вместе называемые методами воспроизведения (или репетиции), - стали популярным подходом.

Воспроизвести

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

Методы. Для онлайн-обучения на основе воспроизведения было предложено множество подходов. Во-первых, многие подходы к дистилляции хранят предыдущие примеры данных для использования во время дистилляции, что в общем попадает в категорию воспроизведения [2, 5, 6, 24]. Однако чистое воспроизведение обычно выполняет обновления модели непосредственно со старыми данными. [3] обнаружили, что сохранение даже очень небольшого количества предыдущих примеров данных (то есть нескольких примеров на класс) для непосредственного использования в онлайн-обучении резко снижает влияние катастрофического забывания. Аналогичным образом [29] продемонстрировал, что полное воспроизведение (то есть сохранение всех предыдущих данных в буфере) полностью исключает катастрофическое забывание, в то время как частичное воспроизведение (даже при значительно уменьшенном количестве экзаменов) обеспечивает значительные преимущества для онлайн-обучения - этот результат аналогичен выводы [3]. Совсем недавно [7] подробно исследовал методы воспроизведения в настройках потоковой передачи, позволяющие сохранять сжатые представления функций в буфере воспроизведения вместо самих данных. Такой подход, который был модифицирован для обнаружения объектов в [8], оказался весьма успешным в достижении хороших результатов для потокового обучения в задачах крупномасштабной классификации изображений.

Обсуждение. Механизмы воспроизведения в настоящее время являются основным компонентом большинства методологий онлайн-обучения из-за не зависящего от масштаба успеха этих методологий в различных приложениях. Хотя для сохранения предыдущих примеров данных может потребоваться много памяти, выполнение воспроизведения дает огромные преимущества для повышения эффективности онлайн-обучения. Фактически, было показано, что воспроизведение полностью устраняет катастрофическое забывание, если в буфере сохраняется достаточное количество экземпляров данных [29]. Благодаря своей простоте и практической эффективности, воспроизведение стало чрезвычайно популярным в сообществе онлайн-обучения.

Ребалансировка

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

Методы. Методы устранения предвзятости в слоях сетевой классификации для пакетно-инкрементной настройки первоначально были исследованы в [6] и [37]. В [6] косинусная нормализация применяется к слою softmax модели, таким образом гарантируя, что выходные векторы для каждого класса имеют одинаковую величину. [37] предлагает аналогичный, обучаемый подход, который использует небольшой набор данных проверки для обучения линейного модуля «коррекции» для устранения систематической ошибки в уровне классификации. Помимо этих начальных работ, было предложено несколько других методологий для исправления систематической ошибки в уровне классификации для инкрементного обучения - обычно вдохновляемых идеей создания весовых коэффициентов классификации для класса, аналогичных по величине, когда класс был впервые изучен. [38] сохраняет статистику классификации в небольшом буфере памяти, когда класс впервые встречается во время онлайн-обучения, а затем использует эту статистику, чтобы сделать оценки класса более сопоставимыми на более поздних этапах обучения. [27] следует аналогичному подходу, но напрямую повторно использует веса классификации с момента, когда класс был впервые изучен во время онлайн-обучения.

Обсуждение. Смещение прогнозов - это известная, измеримая проблема в рамках инкрементного обучения (т. е. инкрементального как задачи, так и пакета / класса). Более того, добавление перебалансировки, как показано, резко улучшает производительность инкрементного обучения даже для крупномасштабных наборов данных, таких как ImageNet [6, 37]. Таким образом, в этой области стоит использовать методы ребалансировки. В общем, вероятно, лучше всего использовать методы, которые не требуют какого-либо набора проверки для выполнения перебалансировки (т.е. это просто позволяет избежать проблем с созданием набора проверки). Например, [6] не требует какого-либо набора проверки, а [37] требует набора проверки. Помимо настройки инкрементального обучения (например, при потоковом обучении) неясно, следует ли систематическая ошибка классификации тем же шаблонам, что и при инкрементальном обучении. Однако добавление перебалансировки вряд ли повредит производительности модели онлайн-обучения.

Другие методы

В некоторой степени аналогично воспроизведению в нескольких работах предлагается использовать генеративные модели для «галлюцинации» примеров из предыдущих классов. В [16], генерирующая состязательная сеть (GAN) [30] используется для пакетно-инкрементного онлайн-обучения, в котором генератор создает примеры данных для использования для воспроизведения, а дискриминатор одновременно распознает и решает основную проблему обучения. [31] использует аналогичный подход с автокодировщиком, но включает дополнительный член дистилляции в функцию потерь. [32] использует GAN в инкрементальной настройке задачи, где каждая задача обучает как дискиминатор, так и генератор. Затем генератор может быть передан следующей задаче, так что старые представления данных могут быть построены через генератор для воспроизведения во время обучения новой задаче. Аналогичный подход принят в [33] для решения проблемы расширения предметной области (т. Е. Задачи инкрементального обучения только с двумя задачами).

Еще одна довольно популярная область изучения - это методы двойной памяти для онлайн-обучения. Такие методологии вдохновлены мозгом и пытаются имитировать биологический процесс консолидации памяти. На высоком уровне подход двойной памяти, который обычно сочетается с воспроизведением [12], выделяет отдельные компоненты модели для вновь сформированных и долгосрочных знаний. Например, можно поддерживать две отдельные сети, где одна сеть предназначена исключительно для изучения новых данных, а другая пытается решить общую проблему обучения (т.е. как старые, так и новые данные) [12]. [35] предлагает аналогичный подход, который поддерживает две отдельные модели: вероятностную модель для кратковременной памяти и автокодировщик для долговременной памяти. Несколько иначе, весьма ненадежные примеры могут быть сохранены в отдельном буфере памяти, который позже инкорпорируется в сеть [34].

Некоторые другие менее изученные (но все же известные) подходы к онлайн-обучению включают методологии разреженного кодирования [12], методы на основе ансамблей [36] и методологии, которые изменяют функцию активации в нейронной сети, чтобы избежать катастрофического забывания [26]. Хотя эти методологии менее популярны и потеряли популярность по сравнению с обычными подходами, такими как воспроизведение и дистилляция, все же полезно иметь в виду такие методы, чтобы получить целостное понимание области и (надеюсь) предоставить идеи для будущих инноваций.

Итак ... Что мне использовать?

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

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

Таким образом, лучший способ «окупить свои деньги» в области онлайн-обучения - это использовать методы онлайн-обучения, основанные на воспроизведении. Например, [7, 8] предлагают основанный на воспроизведении подход для крупномасштабных сценариев глубокого обучения, который работает на удивление хорошо и эффективно использует память. Аналогичным образом, такие подходы, как [3, 29], демонстрируют, что простое поддержание буфера предыдущих данных для использования во время онлайн-обновлений является чрезвычайно мощным инструментом. Имея это в виду, воспроизведение представляется хорошим выбором практически во всех сценариях онлайн-обучения.

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

Большое спасибо за чтение, и я надеюсь, вам понравился пост. Не стесняйтесь посещать мою страницу исследования или обращаться ко мне с любыми вопросами / комментариями, которые могут у вас возникнуть по поводу публикации. Вы также можете подписаться на меня в твиттере, если хотите быть в курсе моих публикаций / сообщений в блогах. Если вам интересна эта тема, я рекомендую вам посетить веб-страницу моей лаборатории в Университете Райса, где я аспирант и специализируюсь на эмпирических и теоретических основах глубокого обучения.

Библиография
[1] https://arxiv.org/abs/1704.01920

[2] http://home.ustc.edu.cn/~saihui/papers/eccv2018_lifelong.pdf

[3] https://arxiv.org/abs/1902.10486

[4] https://arxiv.org/abs/1908.04742

[5] https://arxiv.org/abs/1807.09536

[6] https://openaccess.thecvf.com/content_CVPR_2019/html/Hou_Learning_a_Unified_Classifier_Incrementally_via_Rebalancing_CVPR_2019_paper.html

[7] https://arxiv.org/abs/1910.02509

[8] https://arxiv.org/abs/2008.06439

[9] https://arxiv.org/abs/2011.01844

[10] https://arxiv.org/abs/1909.0838

[11] https://www.sciencedirect.com/science/article/abs/pii/S0079742108605368

[12] https://arxiv.org/abs/1708.02072

[13] https://arxiv.org/abs/1606.04671

[14] https://arxiv.org/abs/1612.03770

[15] https://arxiv.org/abs/1908.08017

[16] https://arxiv.org/abs/1904.03137

[17] https://arxiv.org/abs/1612.00796

[18] https://arxiv.org/abs/1711.09601

[19] https://arxiv.org/abs/1703.04200

[20] https://arxiv.org/abs/1706.08840?source=post_page---------------------------

[21] https://arxiv.org/abs/1812.00420

[22] https://arxiv.org/abs/1503.02531

[23] https://arxiv.org/abs/1606.09282

[24] https://arxiv.org/abs/1606.02355

[25] https://arxiv.org/abs/1903.12648

[26] https://arxiv.org/abs/1607.00122

[27] https://arxiv.org/abs/2001.05755

[28] https://openaccess.thecvf.com/content_ICCV_2019/papers/Belouadah_IL2M_Class_Incremental_Learning_With_Dual_Memory_ICCV_2019_paper.pdf

[29] https://arxiv.org/abs/1809.05922

[30] https://arxiv.org/abs/1406.2661

[31] https://arxiv.org/abs/1704.01920

[32] https://arxiv.org/abs/1705.08690

[33] https://arxiv.org/abs/1705.00744

[34] https://hal.archives-ouvertes.fr/hal-01418123/document

[35] https://arxiv.org/abs/1711.10563

[36] https://arxiv.org/abs/1611.06194

[37] https://arxiv.org/abs/1905.13260

[38] https://openaccess.thecvf.com/content_ICCV_2019/papers/Belouadah_IL2M_Class_Incremental_Learning_With_Dual_Memory_ICCV_2019_paper.pdf

[39] https://openaccess.thecvf.com/content_cvpr_2017/papers/Yim_A_Gift_From_CVPR_2017_paper.pdf

[40] https://arxiv.org/abs/1805.04770