В машинном обучении обучение признакам или обучение представлениям [2] — это набор методов, которые позволяют системе автоматически обнаруживать представления, необходимые для обнаружения или классификации признаков , на основе необработанных данных. Это заменяет ручную разработку функций и позволяет машине как изучать функции, так и использовать их для выполнения конкретной задачи.
Обучение признакам мотивируется тем фактом, что задачи машинного обучения, такие как классификация, часто требуют ввода, который математически и вычислительно удобен для обработки. Однако реальные данные, такие как изображения, видео и данные датчиков, не уступили попыткам алгоритмически определить конкретные характеристики. Альтернативой является обнаружение таких функций или представлений путем исследования, не полагаясь на явные алгоритмы.
Обучение функциям может быть контролируемым, неконтролируемым или самоконтролируемым.
Обучение функций с учителем — это изучение функций на основе помеченных данных. Метка данных позволяет системе вычислить термин ошибки, степень, в которой система не может создать метку, которую затем можно использовать в качестве обратной связи для корректировки процесса обучения (уменьшения/минимизации ошибки). Подходы включают в себя:
При обучении словарю разрабатывается набор (словарь) репрезентативных элементов из входных данных, так что каждая точка данных может быть представлена как взвешенная сумма репрезентативных элементов. Элементы словаря и веса могут быть найдены путем минимизации средней ошибки представления (по входным данным) вместе с регуляризацией L1 весов для обеспечения разреженности (т. е. представление каждой точки данных имеет только несколько ненулевых весов).
Контролируемое обучение словарю использует как структуру, лежащую в основе входных данных, так и метки для оптимизации элементов словаря. Например, этот метод обучения словаря с учителем [12] применяет обучение словарю к задачам классификации путем совместной оптимизации элементов словаря, весов для представления точек данных и параметров классификатора на основе входных данных. В частности, формулируется задача минимизации, где целевая функция состоит из ошибки классификации, ошибки представления, регуляризации L1 по представляющим весам для каждой точки данных (чтобы обеспечить разреженное представление данных) и регуляризации L2 по параметрам. классификатора.
Нейронные сети — это семейство алгоритмов обучения, использующих «сеть», состоящую из нескольких слоев взаимосвязанных узлов. Он вдохновлен нервной системой животных, где узлы рассматриваются как нейроны, а края — как синапсы. Каждое ребро имеет связанный с ним вес, и сеть определяет вычислительные правила для передачи входных данных из входного слоя сети на выходной уровень. Сетевая функция, связанная с нейронной сетью, характеризует взаимосвязь между входным и выходным слоями, которая параметрируется весами. При правильно определенных сетевых функциях различные задачи обучения могут выполняться путем минимизации функции стоимости по сетевой функции (весам).
Многослойные нейронные сети можно использовать для обучения функций, поскольку они изучают представление своих входных данных на скрытых слоях, которые впоследствии используются для классификации или регрессии на выходном слое. Самая популярная сетевая архитектура этого типа — сиамские сети .
Обучение функций без учителя — это изучение функций на основе немаркированных данных. Целью обучения функций без учителя часто является обнаружение низкоразмерных функций, которые отражают некоторую структуру, лежащую в основе многомерных входных данных. Когда обучение функциям выполняется без присмотра, это обеспечивает форму полуконтролируемого обучения , при которой функции, полученные из немаркированного набора данных, затем используются для повышения производительности в контролируемых условиях с маркированными данными. [13] [14] Ниже представлены несколько подходов.
Кластеризация K -средних — это подход к векторному квантованию. В частности, для данного набора из n векторов кластеризация k -средних группирует их в k кластеров (т. е. подмножеств) таким образом, что каждый вектор принадлежит кластеру с ближайшим средним значением. Проблема является вычислительно NP-сложной , хотябыли разработаны субоптимальные жадные алгоритмы .
Кластеризацию K-средних можно использовать для группировки немаркированного набора входных данных в k кластеров, а затем использовать центроиды этих кластеров для создания признаков. Эти функции могут быть созданы несколькими способами. Самый простой способ — добавить k бинарных признаков в каждую выборку, где каждый признак j имеет значение, равное единице, тогда и только тогда , когда j - й центроид, полученный с помощью k -means, наиболее близок к рассматриваемой выборке. [6] Также можно использовать расстояния до кластеров в качестве признаков, возможно, после их преобразования с помощью радиальной базисной функции (метод, который использовался для обучения RBF-сетей [15] ). Коутс и Нг отмечают, что некоторые варианты k -средних ведут себя аналогично алгоритмам разреженного кодирования . [16]
В сравнительной оценке методов обучения признаков без учителя Коутс, Ли и Нг обнаружили, что кластеризация k -средних с соответствующим преобразованием превосходит недавно изобретенные автоматические кодировщики и RBM в задаче классификации изображений. [6] K -means также повышает производительность в области НЛП , особенно при распознавании именованных объектов ; [17] там он конкурирует с кластеризацией Брауна , а также с распределенными представлениями слов (также известными как нейронные встраивания слов). [14]
Анализ главных компонентов (PCA) часто используется для уменьшения размерности. Учитывая немаркированный набор из n векторов входных данных, PCA генерирует p (которые намного меньше размерности входных данных) правых сингулярных векторов, соответствующих p наибольшим сингулярным значениям матрицы данных, где k -я строка матрицы данных — это k- й вектор входных данных, сдвинутый на выборочное среднее входных данных (т. е. вычитание выборочного среднего значения из вектора данных). Эквивалентно, эти сингулярные векторы являются собственными векторами , соответствующими p наибольшим собственным значениям выборочной ковариационной матрицы входных векторов. Эти p сингулярных векторов представляют собой векторы признаков, извлеченные из входных данных, и они представляют направления, вдоль которых данные имеют наибольшие вариации.
PCA — это подход к изучению линейных признаков, поскольку сингулярные векторы p являются линейными функциями матрицы данных. Сингулярные векторы могут быть сгенерированы с помощью простого алгоритма с p итераций. На i- й итерации проекция матрицы данных на (i-1) -й собственный вектор вычитается, и i- й сингулярный вектор находится как правый сингулярный вектор, соответствующий наибольшему сингулярному числу матрицы остаточных данных.
PCA имеет несколько ограничений. Во-первых, предполагается, что наибольший интерес представляют направления с большой дисперсией, что может быть не так. PCA полагается только на ортогональные преобразования исходных данных и использует только моменты данных первого и второго порядка, которые могут плохо характеризовать распределение данных. Более того, PCA может эффективно уменьшать размерность только тогда, когда векторы входных данных коррелируют (что приводит к небольшому количеству доминирующих собственных значений).
Локальное линейное встраивание (LLE) — это подход нелинейного обучения для создания низкоразмерных представлений, сохраняющих соседей, из (немаркированных) входных данных высокой размерности. Этот подход был предложен Ровейсом и Саулом (2000). [18] [19] Общая идея LLE заключается в восстановлении исходных многомерных данных с использованием точек более низкой размерности при сохранении некоторых геометрических свойств окрестностей в исходном наборе данных.
LLE состоит из двух основных этапов. Первый шаг предназначен для «сохранения соседей», где каждая точка входных данных Xi восстанавливается как взвешенная сумма K точек данных ближайших соседей , а оптимальные веса находятся путем минимизации средней квадратичной ошибки восстановления (т. е. разницы между входными точка и ее реконструкция) при условии, что сумма весов, связанных с каждой точкой, равна единице. Второй шаг — «уменьшение размерности» путем поиска векторов в пространстве меньшей размерности, которое минимизирует ошибку представления с использованием оптимизированных весов на первом этапе. Обратите внимание, что на первом этапе веса оптимизируются с использованием фиксированных данных, которые можно решить как задачу наименьших квадратов . На втором этапе точки меньшей размерности оптимизируются с использованием фиксированных весов, которые можно решить с помощью разреженного разложения по собственным значениям.
Веса реконструкции, полученные на первом этапе, отражают «внутренние геометрические свойства» окрестности во входных данных. [19] Предполагается, что исходные данные лежат на гладком многообразии меньшей размерности , и ожидается, что «внутренние геометрические свойства», зафиксированные весами исходных данных, также будут находиться на многообразии. Вот почему на втором этапе LLE используются те же веса. По сравнению с PCA, LLE более эффективно использует базовую структуру данных.
Анализ независимых компонентов (ICA) — это метод формирования представления данных с использованием взвешенной суммы независимых негауссовских компонентов. [20] Предположение о негауссовости налагается, поскольку веса не могут быть определены однозначно, когда все компоненты подчиняются гауссовскому распределению.
При обучении словаря без учителя не используются метки данных и используется структура, лежащая в основе данных, для оптимизации элементов словаря. Примером неконтролируемого обучения словарю является разреженное кодирование , целью которого является изучение базовых функций (элементов словаря) для представления данных из неразмеченных входных данных. Разреженное кодирование можно применять для изучения переполненных словарей, в которых количество элементов словаря превышает размерность входных данных. [21] Аарон и др. предложил алгоритм K-SVD для изучения словаря элементов, обеспечивающего разреженное представление. [22]
Иерархическая архитектура биологической нейронной системы вдохновляет архитектуры глубокого обучения для изучения функций путем объединения нескольких уровней узлов обучения. [23] Эти архитектуры часто разрабатываются на основе предположения о распределенном представлении : наблюдаемые данные генерируются в результате взаимодействия множества различных факторов на нескольких уровнях. В архитектуре глубокого обучения выходные данные каждого промежуточного уровня можно рассматривать как представление исходных входных данных. Каждый уровень использует представление, созданное предыдущим, более низким уровнем, в качестве входных данных и создает новые представления в качестве выходных данных, которые затем передаются на более высокие уровни. Входные данные нижнего слоя — это необработанные данные, а выходные данные последнего, самого высокого слоя — окончательный низкоразмерный объект или представление.
Ограниченные машины Больцмана (RBM) часто используются в качестве строительного блока для многоуровневых архитектур обучения. [6] [24] RBM может быть представлен неориентированным двудольным графом , состоящим из группы двоичных скрытых переменных , группы видимых переменных и ребер, соединяющих скрытые и видимые узлы. Это частный случай более общих машин Больцмана с ограничением отсутствия внутриузловых связей. Каждому ребру в RBM присвоен вес. Веса вместе со связями определяют энергетическую функцию , на основе которой можно разработать совместное распределение видимых и скрытых узлов. В зависимости от топологии RBM скрытые (видимые) переменные являются независимыми и зависят от видимых (скрытых) переменных. [ необходимо разъяснение ] Такая условная независимость облегчает вычисления.
RBM можно рассматривать как одноуровневую архитектуру для неконтролируемого обучения функциям. В частности, видимые переменные соответствуют входным данным, а скрытые переменные соответствуют детекторам признаков. Веса можно обучить путем максимизации вероятности видимых переменных с использованием алгоритма контрастивной дивергенции (CD) Хинтона . [24]
В общем, обучение RBM путем решения задачи максимизации имеет тенденцию приводить к неразреженным представлениям. Разреженный RBM [25] был предложен для обеспечения разреженных представлений. Идея состоит в том, чтобы добавить член регуляризации в целевую функцию правдоподобия данных, который наказывает за отклонение ожидаемых скрытых переменных от небольшой константы .
Автоэнкодер , состоящий из кодера и декодера, является парадигмой для архитектур глубокого обучения. Пример предоставлен Хинтоном и Салахутдиновым [24] , где кодер использует необработанные данные (например, изображение) в качестве входных данных и создает признак или представление в качестве выходных данных, а декодер использует извлеченный из кодера признак в качестве входных данных и реконструирует исходные входные необработанные данные. в качестве вывода. Кодер и декодер создаются путем объединения нескольких уровней RBM. Параметры, задействованные в архитектуре, изначально обучались жадным послойным способом: после изучения одного уровня детекторов признаков они используются как видимые переменные для обучения соответствующего RBM. Современные подходы обычно применяют сквозное обучение с методами стохастического градиентного спуска . Обучение можно повторять до тех пор, пока не будут выполнены некоторые критерии остановки.
Обучение представлению с самоконтролем — это изучение функций путем обучения структуре неразмеченных данных, а не использования явных меток для информационного сигнала . Этот подход позволил комбинированно использовать архитектуру глубоких нейронных сетей и более крупные неразмеченные наборы данных для создания глубоких представлений объектов. [9] Задачи обучения обычно подпадают под классы контрастивных, генеративных или обоих классов. [26] Обучение контрастному представлению обучает представления связанных пар данных, называемых положительными выборками, выравнивать, в то время как пары без связи, называемые отрицательными выборками, контрастируют. Обычно требуется большая часть отрицательных выборок, чтобы предотвратить катастрофический коллапс, когда все входные данные отображаются в одно и то же представление. [9] Обучение генеративному представлению ставит перед моделью задачу создания правильных данных, которые либо соответствуют ограниченному вводу, либо восстанавливают полный ввод из представления более низкой размерности. [26]
Обычная настройка для самостоятельного обучения представлению определенного типа данных (например, текста, изображения, аудио, видео) заключается в предварительном обучении модели с использованием больших наборов данных общего контекста, немаркированных данных. [11] В зависимости от контекста результатом этого является либо набор представлений для общих сегментов данных (например, слов), на которые могут быть разбиты новые данные, либо нейронная сеть, способная преобразовать каждую новую точку данных (например, изображение) в набор функций более низкого измерения. [9] В любом случае выходные представления могут затем использоваться в качестве инициализации во многих различных ситуациях, где помеченные данные могут быть ограничены. Специализация модели для конкретных задач обычно осуществляется с помощью контролируемого обучения, либо путем точной настройки модели/представлений с использованием меток в качестве сигнала, либо замораживания представлений и обучения дополнительной модели, которая принимает их в качестве входных данных. [11]
Многие схемы обучения с самоконтролем были разработаны для использования в обучении представлению различных модальностей , часто сначала демонстрируя успешное применение в тексте или изображении, прежде чем их переносить в другие типы данных. [9]
Word2vec — это метод встраивания слов , который учится представлять слова посредством самоконтроля над каждым словом и соседними с ним словами в скользящем окне в большом корпусе текста. [27] Модель имеет две возможные схемы обучения для создания представлений векторов слов: одну генеративную и одну контрастирующую. [26] Первый — это предсказание слов, учитывая каждое из соседних слов в качестве входных данных. [27] Второй — это тренировка сходства представлений соседних слов и несходства представлений случайных пар слов. [10] Ограничением word2vec является то, что используется только попарная структура данных, а не порядок или весь набор контекстных слов. Более поздние подходы к обучению представлению на основе преобразователей пытаются решить эту проблему с помощью задач прогнозирования слов. [9] GPT предварительно обучается предсказанию следующего слова, используя предыдущие входные слова в качестве контекста, [28] тогда как BERT маскирует случайные токены, чтобы обеспечить двунаправленный контекст. [29]
Другие методы самоконтроля расширяют встраивание слов, находя во входных данных представления для более крупных текстовых структур, таких как предложения или абзацы. [9] Doc2vec расширяет подход генеративного обучения в word2vec, добавляя дополнительные входные данные к задаче прогнозирования слов на основе абзаца, в котором оно находится, и поэтому предназначен для представления контекста уровня абзаца. [30]
В области обучения представлению изображений используется множество различных методов обучения с самоконтролем, включая трансформацию, [31] рисование, [32] распознавание фрагментов [33] и кластеризацию. [34]
Примерами генеративных подходов являются контекстные кодировщики, которые обучают архитектуру AlexNet CNN генерировать удаленную область изображения, учитывая замаскированное изображение в качестве входных данных, [32] и iGPT, который применяет архитектуру языковой модели GPT-2 к изображениям путем обучения предсказанию пикселей после уменьшение разрешения изображения . [35]
Многие другие методы самоконтроля используют сиамские сети , которые генерируют разные представления изображения посредством различных дополнений, которые затем выравниваются для получения схожих представлений. Задача состоит в том, чтобы избежать коллапса решений, при которых модель кодирует все изображения в одно и то же представление. [36] SimCLR — это контрастный подход, который использует отрицательные примеры для создания представлений изображений с помощью ResNet CNN . [33] Bootstrap Your Own Latent (BYOL) устраняет необходимость в отрицательных выборках, кодируя одно из представлений с помощью медленного скользящего среднего значений параметров модели, которые изменяются во время обучения. [37]
Целью многих методов обучения представлению графов является создание встроенного представления каждого узла на основе общей топологии сети . [38] node2vec расширяет технику обучения word2vec на узлы графа, используя совместное появление при случайных блужданиях по графу в качестве меры связи. [39] Другой подход заключается в максимизации взаимной информации , меры сходства, между представлениями связанных структур внутри графа. [9] Примером является Deep Graph Infomax, который использует контрастирующий самоконтроль, основанный на взаимной информации между представлением «патча» вокруг каждого узла и сводным представлением всего графа. Отрицательные выборки получаются путем объединения представления графа либо с представлениями из другого графа в настройке обучения с несколькими графами, либо с поврежденными представлениями патчей при обучении с одним графом. [40]
Имея аналогичные результаты в маскированном прогнозировании [41] и кластеризации, [42] подходы к обучению представлению видео часто похожи на методы изображения, но должны использовать временную последовательность видеокадров в качестве дополнительной обучаемой структуры. Примеры включают VCP, который маскирует видеоклипы и обучает выбирать правильный из набора параметров клипа, а также Сюй и др., которые обучают 3D-CNN идентифицировать исходный порядок с учетом перетасованного набора видеоклипов. [43]
Методы самоконтролируемого представления также применялись ко многим форматам аудиоданных, особенно для обработки речи . [9] Wav2vec 2.0 дискретизирует форму аудиосигнала на временные шаги с помощью временных сверток , а затем обучает преобразователь маскированному предсказанию случайных временных шагов с использованием контрастных потерь. [44] Это похоже на языковую модель BERT , за исключением того, что во многих подходах SSL к видео модель выбирает среди набора параметров, а не по всему словарю слов. [29] [44]
Самообучение также использовалось для разработки совместных представлений нескольких типов данных. [9] Подходы обычно полагаются на некоторую естественную или созданную человеком связь между модальностями в качестве неявного ярлыка, например, видеоклипы с животными или объектами с характерными звуками, [45] или подписи, написанные для описания изображений. [46] CLIP создает совместное пространство представления изображения и текста путем обучения выравниванию кодировок изображения и текста из большого набора данных пар изображение-подпись с использованием контрастной потери. [46] MERLOT Reserve обучает кодировщик на основе преобразователя совместно представлять аудио, субтитры и видеокадры из большого набора данных видео с помощью трех совместных задач предварительного обучения: контрастное маскированное предсказание аудио- или текстовых сегментов с учетом видеокадров и окружающего их аудио и текста. контексте, а также контрастное выравнивание видеокадров с соответствующими им подписями. [45]
Модели мультимодального представления обычно не могут предполагать прямое соответствие представлений в различных модальностях, поскольку точное соответствие часто может быть зашумленным или неоднозначным. Например, текст «собака» может сочетаться со многими различными изображениями собак, и, соответственно, изображение собаки может быть озаглавлено с разной степенью специфичности. Это ограничение означает, что последующие задачи могут потребовать дополнительной генеративной сети сопоставления между модальностями для достижения оптимальной производительности, например, в DALLE-2 для генерации текста в изображение. [47]
Методы обучения динамическому представлению [48] генерируют скрытые вложения для динамических систем, таких как динамические сети. Поскольку определенные функции расстояния инвариантны относительно определенных линейных преобразований, разные наборы векторов внедрения могут фактически представлять одну и ту же/похожую информацию. Следовательно, для динамической системы временная разница в ее вложениях может быть объяснена несовпадением вложений из-за произвольных преобразований и/или реальных изменений в системе. [49] Поэтому, вообще говоря, временные вложения, полученные с помощью методов обучения динамическому представлению, должны быть проверены на предмет любых ложных изменений и выровнены перед последующим динамическим анализом.
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь )