Некоторые под наблюдением, некоторые без присмотра, некоторые с самостоятельным наблюдением в НЛП и компьютерном зрении
Однозадачное обучение — это процесс обучения прогнозированию одного результата (бинарного, многоклассового или непрерывного) на основе размеченного набора данных.
Напротив, многозадачное обучение — это процесс совместного обучения прогнозированию нескольких результатов на входных данных одной и той же модальности. Например, изображения или текст.
Возникает очевидный вопрос: зачем учиться совместно? Почему бы самостоятельно не изучить однозадачные модели для прогнозирования различных результатов?
Ответ заключается в том, что совместное обучение позволяет изучить функции, которые лучше обобщаются для разных задач. Те, которые формируют хорошие предикторы для нескольких задач, предпочтительнее тех, которые этого не делают. Изученные функции могут даже обобщаться на новые задачи прогнозирования в той же области.
Добавление обучения без учителя
До сих пор мы предполагали, что все выбранные задачи в многозадачной среде по своей природе контролируются. Давайте ослабим это, чтобы позволить некоторым задачам оставаться без присмотра.
Почему? Потому что у нас может быть гораздо больше данных для обучения. Некоторые помечены для различных результатов, а многие не помечены. Добавление неконтролируемых задач к совместному обучению позволяет нам потенциально учиться на гораздо большем наборе данных.
На самом деле мы можем эмпирически проверить эту гипотезу. Мы можем удержать часть размеченного набора данных и провести два эксперимента, в одном из которых мы тренируемся на остальных размеченных данных, а во втором мы тренируемся на остальных размеченных данных в сочетании с огромным количеством неразмеченных данных. . Затем мы можем сравнить качество моделей, изученных в двух экспериментах на протянутом (помеченном) тестовом наборе.
Что ж, у концепции обучения на сочетании размеченных и неразмеченных данных уже есть свое название. Это называется обучением с полуучителем.
Преобразование неконтролируемого обучения в самоконтролируемое обучение
Хотя выполнение некоторых задач без присмотра позволяет нам использовать потенциально огромный объем немаркированных данных, можем ли мы лучше использовать немаркированные данные? Общий ответ - да. Использование самоконтроля.
В самоконтроле мы определяем контролируемые задачи, чтобы предсказать определенные характеристики данных из остальных. Например, мы можем предсказать следующее слово по предыдущим словам, которые мы видели до этого момента.
Самоконтроль более эффективен, чем обучение без учителя, потому что оно происходит под наблюдением. Кроме того, он учится на всех доступных немаркированных данных, поскольку не требует, чтобы люди маркировали их. Наконец, самоконтроль — это мощный механизм для получения большого и разнообразного набора размеченных данных без участия человека. В разделах, посвященных компьютерному зрению и НЛП, мы приведем четкие и реалистичные примеры, которые покажут не только то, насколько разнообразны размеченные наборы данных, которые мы можем построить, но и каким образом это улучшит способность к обучению по сравнению с полным отсутствием самоконтроля. .
В этом посте, когда мы говорим о многозадачном обучении, мы на самом деле имеем в виду обучение, в котором есть как минимум две задачи обучения с учителем, возможно, дополнительные задачи обучения без учителя и, возможно, дополнительные задачи самоконтроля.
Мы изображаем это визуально ниже.
Обратите внимание, что на этом рисунке показаны только подмножества входных данных, охваченные различными контролируемыми и самоконтролируемыми задачами, а не то, как метки для различных задач соотносятся друг с другом.
Рисунок 1 также изображает
- Подмножества данных, помеченные для различных контролируемых задач, как правило, невелики.
- Добавление задач с самостоятельным наблюдением может охватить больше данных. Эти подмножества часто можно увеличить.
- Подмножества контролируемых задач могут пересекаться друг с другом, но часто не идентичны.
Расслабление термина «совместное обучение» в этом посте
До сих пор у нас создавалось впечатление, что совместное обучение означает изучение одной модели одновременно из всех данных, доступных для всех задач.
На самом деле мы хотели бы смягчить это, чтобы обеспечить более гибкую политику обучения. Это связано с тем, что на практике оказалось эффективным изучать задачи с самостоятельным наблюдением (и, возможно, без учителя) сначала на немаркированных данных, а затем дополнительно настраивать эти модели для конкретных последующих задач с учителем. Во-первых, этот подход является более гибким, поскольку он естественным образом позволяет определять новые контролируемые задачи «на лету» и точно настраивать существующие модели по мере необходимости.
Данные для многозадачного обучения
Нам нужно несколько размеченных наборов данных, по одному для каждого результата, который мы пытаемся предсказать. Входные данные в эти наборы данных обычно относятся к одному и тому же домену. Фактические входные данные могут варьироваться в зависимости от наборов данных, поскольку они часто собираются из разрозненных источников.
Кроме того, у нас могут быть немаркированные данные. Мы должны использовать его для подходящих неконтролируемых задач, добавленных к смеси, если мы разумно верим, что это поможет. Как упоминалось в предыдущем разделе, мы можем эмпирически проверить наше убеждение, прежде чем принять тот или иной вариант. Мы также должны определить подходящие задачи самоконтроля, если это уместно, чтобы использовать и научиться предсказывать определенные характеристики немаркированных данных из других.
Многозадачное обучение оказалось особенно полезным в НЛП и компьютерном зрении. Мы рассмотрим каждый по одному.
Многозадачное обучение компьютерному зрению
Представьте это. У нас есть доступ к помеченным изображениям рукописных цифр, автомобилей, изображениям с человеческими лицами, изображениям с домашними животными и многим другим. Предположим также, что некоторые из этих наборов данных малы.
Создание однозадачных моделей для каждой из них в отдельности сопряжено с риском того, что у нас не будет достаточно полных размеченных данных для некоторых задач.
Объединение всех наборов данных и изучение из них единой многозадачной модели может помочь смягчить вышеупомянутые проблемы разреженности данных для конкретных задач. До тех пор, пока некоторые из функций, которые изучаются совместно, также помогают с этими задачами.
Мысль заключается в том, что изображения — это изображения, и на каком-то достаточно низком уровне определенные функции могут предсказывать результаты нескольких задач. Например, края или петли, чтобы назвать два.
Ценность неконтролируемых задач в этом параметре
Ранее мы упоминали, что добавление подходящих неконтролируемых задач в многозадачное обучение может быть полезным. Обостряем интуицию в постановке образов.
В сети доступны миллиарды и миллиарды изображений. Большинство без маркировки. Представьте, что у нас есть несколько помеченных изображений для определенной задачи. Скажем, угадывая, есть ли на изображении здание.
Интуиция подсказывает, что неконтролируемое обучение на большом количестве немаркированных изображений может помочь обнаружить лучшие функции, чем использование только помеченных изображений. Например, лучшие края и лучшие петли.
Обучающие задачи с самоконтролем на неразмеченных данных
Как отмечалось в предыдущем разделе, обычно существует огромное количество неразмеченных данных изображений. Миллиарды и миллиарды изображений. В предыдущем разделе мы сосредоточились на полуконтролируемом обучении. То есть помимо этих неразмеченных изображений у нас есть несколько размеченных под конкретную задачу. Мы хотим учиться без присмотра у немаркированных и под присмотром у помеченных.
Внедрение обучения с самостоятельным наблюдением может ускорить этот подход. Это связано с тем, что соответствующие самостоятельные задачи заставляют модель изучать представления, которые предсказывают одни характеристики изображений на основе других. И, как правило, это легко создает множество помеченных данных без каких-либо усилий со стороны человека.
Некоторые формы самоконтроля
Ниже приведены некоторые конкретные формы самоконтроля, которые обычно применимы к данным изображения.
Маскирование определенных регионов
Сделайте снимок и размойте определенные целые области. Создайте новый экземпляр, в котором размытое изображение является входом, а исходный экземпляр — его меткой.
Чтобы разжечь наше воображение о том, как это может помочь, представьте, что у нас есть изображения людей, одни в шляпах, другие без. Если мы каким-то образом замаскируем все лица на изображениях, мы сможем узнать, что под шляпой находится голова человека, но не наоборот, т.е. не на всех головах есть шляпы.
Возникает вопрос, как понять, что маскировать? Мы посмотрим на это немного по-другому. Вместо того, чтобы пытаться оптимизировать нашу маскировку, мы предлагаем рассмотреть простую стратегию разделения изображения на прямоугольные сетки определенных размеров и создания экземпляров с одной маскированной сеткой в каждом экземпляре. Мы можем контролировать, сколько поврежденных экземпляров мы получаем из любого изображения, выбирая степень детализации сетки.
Затем мы можем автоматизировать процесс определения того, какие поврежденные изображения можно реконструировать хорошо. Мы даже можем проверить гипотезу о том, улучшает ли этот самоконтроль точность выполнения одной или нескольких последующих контролируемых задач.
Обесцвечивание изображений
Делая цветные изображения серыми, мы можем заставить модель научиться восстанавливать окраску по оставшимся атрибутам. Например, он может узнать, что знаки «Стоп», которые имеют характерную форму, и часто даже слово Стоп, написанное по буквам, имеют тенденцию быть красного цвета.
Уменьшение разрешения
Мы можем увеличить разрешение изображения и попросить модель попытаться восстановить оригинал. Это может заставить модель научиться заполнять мелкие детали, когда это возможно. В качестве воображаемого вызывающего воспоминания примера модель может научиться заполнять определенные детали в огрубленных версиях человеческих лиц, таких как ресницы.
Многозадачное обучение в НЛП
Рассмотрим текстовое предложение. Нам может быть интересно пометить каждое слово его частью речи, пометить определенные сегменты как именованные сущности и пометить определенные сегменты как именные или глагольные фразы.
При однозадачном обучении каждый из них будет рассматриваться независимо.
При многозадачном обучении мы изучаем модель с общими функциями для всех этих задач одновременно. Это может дать лучшую модель, когда задачи имеют синергию. Например, научившись предсказывать часть речи каждого слова в предложении, вы также можете обнаружить именованные объекты, словосочетания с существительными и глагольные словосочетания.
Добавление подходящих задач для неразмеченных данных
Может быть много предложений без ярлыков на них. Нет меток, означающих отсутствие тегов частей речи, тегов именованных сущностей и тегов существительных или глагольных фраз.
Мы должны рассмотреть вопрос об определении задачи обучения с самоконтролем по предсказанию следующего слова в предложении из слов, увиденных до сих пор. Эта задача может эффективно использовать немаркированные данные. Предсказание следующего слова может заставить сеть изучить сложные представления предыдущих слов.
В более общем плане может быть полезно определить задачи обучения с самостоятельным наблюдением, чтобы предсказать определенные замаскированные слова среди остальных в предложении. Я говорю «в более общем смысле», потому что эти слова могут быть где угодно в предложении.
Вот пример. Учитывать
воздействие солнечных лучей вызывает рак кожи.
Три замаскированных случая, которые мы можем рассмотреть для прогнозирования, изображены в двух сценариях заполнения пробелов ниже.
_____ вызывает рак кожи.
Воздействие солнечного света вызывает ______.
_ до _ вызывает рак кожи
В первом мы предсказываем левый хвост предложения из остальных. Во втором мы предсказываем правый хвост предложения из остальных. Третий иллюстрирует, что может быть несколько несмежных замаскированных подпоследовательностей для прогнозирования.
Интуиция помогает предсказывать замаскированные слова
Зачем переходить от предсказания следующего слова к предсказанию любых подпоследовательностей замаскированных слов? Краткий ответ заключается в том, что (i) это значительно расширяет помеченный набор данных, доступных для обучения, и (ii) с тенденцией к появлению новых типов сценариев в новых помеченных экземплярах.
Чтобы отточить нашу интуицию вокруг (i), представьте, что мы генерируем помеченные экземпляры с маскированием для всех возможных маскировок предложения, состоящего из n слов. Маскировок порядка 2^n. Напротив, существует всего порядка n способов разрезать предложение, чтобы предсказать слова в будущем.
Чтобы уточнить (ii), позволяя маскировке быть где угодно, мы позволяем модели обнаруживать прогностические отношения, которые потенциально гораздо более общие, чем те, которые ограничены слева направо. Чтобы представить это, предположим, что у нас есть много экземпляров X вызывает Y в нашем корпусе. Кроме того, предположим, что только X вызывает Y. Модель может узнать об этой связи, что только X вызывает Y из данных, если X маскируется. Языковая модель с письмом слева направо не может понять, что только X вызывает Y.
Второй, очень простой пример
Представьте, что у нас есть список названий автомобилей. Такой как
Хонда Цивик, Тойота Селика, Форд Мустанг, Джип Вранглер.
Предсказание следующего слова, безусловно, поможет модели изучить модели конкретных марок. Например, Cherokee и Wrangler (среди прочих) для Jeep. Однако дополнительный самоконтроль в форме маскирования любого слова поможет модели также узнать, что названия моделей, как правило, сильно предсказывают марку. Например, Celica — это Toyota, Mustang — это Ford, Wrangler — это джип и т. д.
Особые случаи
Двумя частными случаями самоконтроля этого типа являются модель непрерывного набора слов (CBOW) и модель пропуска грамм [3]. Первый соответствует маскированию среднего слова в контексте определенного количества слов слева и справа от него. Последнее соответствует обратному — маскировка левого и правого контекста при сохранении слова в середине нетронутым.
Ниже приведены два, показанные в нашем примере.
exposure to sunlight causes skin cancer. # Original exposure to sunlight _ skin cancer. # Masking for CBOW _ _ _ causes _ _ # Masking for Skip-gram.
Еще одна полезная задача с самостоятельным наблюдением — предсказание следующего предложения [2]. Особенно для вопросно-ответных систем. В [2] эта задача сформулирована как задача бинарной классификации. Ввод (X1, X2) интерпретируется как «за предложением X1 следует предложение X2». Положительные экземпляры генерируются из пар смежных предложений в корпусе. Отрицательные экземпляры генерируются путем соединения предложения X1 в корпусе со случайным предложением X2 в корпусе.
В контексте предыдущего абзаца термин «предложение» обозначает любую непрерывную последовательность текста [2]. Таким образом, предсказание следующего абзаца из текущего абзаца также будет рассматриваться как проблема предсказания следующего предложения.
Использование глубоких архитектур
Многозадачное обучение может значительно использовать глубокие архитектуры. Интуиция это. Глубокие архитектуры изучают функции низкого уровня в слоях, близких к входным, и функции более высокого уровня в слоях, близких к выходным. Интуиция подсказывает, что более глубокие уровни, те, которые изучают низкоуровневые функции, — это как раз те, которые могут быть общими для разных задач.
Рассмотрим наш многозадачный сценарий классификации изображений. Разумно предположить, что низкоуровневые функции, такие как ребра или петли, будут полезными предикторами во многих из этих задач.
Ниже показана глубокая архитектура, в которой уровни, расположенные ближе к входным данным, являются общими для всех контролируемых задач, а уровни, расположенные ближе к задачам, относятся к конкретным задачам.
Обучение может быть выполнено с помощью обычного алгоритма обратного распространения ошибки. Конкретный экземпляр в обучающем наборе может иметь метку только из одной из задач. Ошибка между прогнозом и целью для этой задачи распространяется обратно через слои, специфичные для задачи, а затем на общие слои. Следовательно, если мы смешиваем экземпляры из разных задач, общие слои изучают представления, которые обобщаются для задач.
Сводка
В этом посте мы рассмотрели тему многозадачного обучения. Мы объяснили, почему многозадачное обучение может давать модели, которые лучше понимают и обобщают, чем модели, которые изучают каждую из задач по отдельности. Этот подход особенно эффективен, когда мы добавляем в смесь неконтролируемые и самостоятельные задачи. Эти задачи позволяют нам многое узнать из неразмеченных данных.
Мы также рассмотрели многозадачное обучение в области компьютерного зрения и НЛП. В этих условиях мы обсудили конкретные контролируемые задачи, характер доступных данных и конкретные методы самоконтроля.
Дополнительная литература