Особенности обучения - Википедия - Feature learning

В машинное обучение, особенности обучения или же репрезентативное обучение[1] представляет собой набор методов, которые позволяют системе автоматически обнаруживать представления, необходимые для особенность обнаружение или классификация по необработанным данным. Это заменяет руководство разработка функций и позволяет машине изучать функции и использовать их для выполнения конкретной задачи.

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

Изучение функций может быть контролируемым или неконтролируемым.

Под присмотром

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

Контролируемое изучение словаря

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

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

Нейронные сети

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

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

Без присмотра

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

K-средства кластеризации

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

Кластеризация K-средних может использоваться для группировки немаркированного набора входных данных в k кластеры, а затем используйте центроиды этих кластеров для создания функций. Эти функции могут быть получены несколькими способами. Самый простой - добавить k бинарные функции для каждого образца, где каждая функция j имеет значение один если только то jцентроид изучил k-средство наиболее близко к рассматриваемому образцу.[3] Также возможно использовать расстояния до кластеров как функции, возможно, после их преобразования с помощью радиальная базисная функция (техника, которая использовалась для тренировки Сети RBF[9]). Коутс и Нг обратите внимание, что некоторые варианты k-средства ведут себя аналогично разреженное кодирование алгоритмы.[10]

При сравнительной оценке методов обучения без учителя Коутс, Ли и Нг обнаружили, что k- означает, что кластеризация с соответствующим преобразованием превосходит недавно изобретенные автокодировщики и RBM в задаче классификации изображений.[3] K-значит также улучшает производительность в области НЛП специально для признание названного лица;[11] там он конкурирует с Коричневая кластеризация, а также с распределенными представлениями слов (также известными как нейронные вложения слов).[8]

Анализ главных компонентов

Анализ главных компонентов (PCA) часто используется для уменьшения размеров. Учитывая немаркированный набор п векторы входных данных, PCA генерирует п (что намного меньше размера входных данных) правые сингулярные векторы соответствующий п наибольшие сингулярные значения матрицы данных, где k-я строка матрицы данных - это kвектор входных данных, сдвинутый на выборочное среднее входных данных (т.е. вычитание выборочного среднего из вектора данных). Эквивалентно, эти сингулярные векторы являются собственные векторы соответствующий п наибольшие собственные значения выборочная ковариационная матрица входных векторов. Эти п сингулярные векторы - это векторы признаков, полученные из входных данных, и они представляют направления, вдоль которых данные имеют наибольшие вариации.

PCA - это линейный подход к изучению функций, поскольку п сингулярные векторы являются линейными функциями матрицы данных. Сингулярные векторы могут быть сгенерированы с помощью простого алгоритма с п итераций. в я-й итерации проекция матрицы данных на (i-1)-й собственный вектор вычитается, а я-й сингулярный вектор находится как правый сингулярный вектор, соответствующий наибольшему сингулярному числу матрицы остаточных данных.

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

Локальное линейное вложение

Локальное линейное вложение (LLE) - это подход нелинейного обучения для создания низкоразмерных сохраняющих соседей представлений из (немаркированных) входных данных большой размерности. Подход был предложен Roweis и Saul (2000).[12][13] Общая идея LLE состоит в том, чтобы восстановить исходные многомерные данные с использованием точек более низкой размерности, сохраняя при этом некоторые геометрические свойства окрестностей в исходном наборе данных.

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

Веса реконструкции, полученные на первом этапе, фиксируют «внутренние геометрические свойства» окрестности во входных данных.[13] Предполагается, что исходные данные лежат на гладкой низкоразмерной многообразие, и «внутренние геометрические свойства», зафиксированные весами исходных данных, также должны присутствовать на многообразии. Вот почему те же веса используются на втором этапе LLE. По сравнению с PCA LLE более эффективен в использовании базовой структуры данных.

Независимый компонентный анализ

Независимый компонентный анализ (ICA) - это метод формирования представления данных с использованием взвешенной суммы независимых негауссовских компонентов.[14] Предположение негауссовости накладывается, поскольку веса не могут быть однозначно определены, когда все компоненты следуют Гауссовский распределение.

Обучение словарю без учителя

При обучении словарей без учителя не используются метки данных, а структура, лежащая в основе данных, используется для оптимизации элементов словаря. Примером неконтролируемого изучения словаря является разреженное кодирование, которое направлено на изучение базовых функций (элементов словаря) для представления данных из немаркированных входных данных. Разреженное кодирование может применяться для изучения переполненных словарей, в которых количество элементов словаря больше, чем размер входных данных.[15] Aharon et al. предложенный алгоритм К-СВД для изучения словаря элементов, обеспечивающего разреженное представление.[16]

Многослойные / глубокие архитектуры

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

Ограниченная машина Больцмана

Ограниченные машины Больцмана (RBM) часто используются в качестве строительного блока для архитектур многоуровневого обучения.[3][18] RBM может быть представлен неориентированным двудольным графом, состоящим из группы двоичный скрытые переменные, группа видимых переменных и ребра, соединяющие скрытые и видимые узлы. Это частный случай более общего Машины Больцмана с ограничением отсутствия внутриузловых соединений. Каждое ребро в RBM связано с весом. Веса вместе с соединениями определяют функция энергии, на основании чего совместное распределение видимых и скрытых узлов. В зависимости от топологии RBM скрытые (видимые) переменные независимы и зависят от видимых (скрытых) переменных.[требуется разъяснение ] Такая условная независимость облегчает вычисления.

RBM можно рассматривать как однослойную архитектуру для неконтролируемого изучения функций. В частности, видимые переменные соответствуют входным данным, а скрытые переменные соответствуют детекторам признаков. Веса можно обучить, максимизируя вероятность видимых переменных, используя Хинтон с контрастное расхождение (CD) алгоритм.[18]

В общем, обучение RBM путем решения задачи максимизации имеет тенденцию приводить к нерезким представлениям. Редкий RBM[19] было предложено включить разреженные представления. Идея состоит в том, чтобы добавить регуляризация член целевой функции правдоподобия данных, который штрафует отклонение ожидаемых скрытых переменных от небольшой константы .

Автоэнкодер

An автоэнкодер состоящий из кодировщика и декодера - это парадигма архитектур глубокого обучения. Пример дают Хинтон и Салахутдинов.[18] где кодер использует необработанные данные (например, изображение) в качестве входных и создает функцию или представление в качестве выходных данных, а декодер использует извлеченные из кодера характеристики в качестве входных данных и восстанавливает исходные исходные входные данные в качестве выходных. Кодер и декодер построены путем наложения нескольких уровней RBM. Параметры, задействованные в архитектуре, изначально были обучены в жадный послойный способ: после изучения одного уровня детекторов признаков они используются в качестве видимых переменных для обучения соответствующей RBM. Современные подходы обычно предусматривают сквозное обучение с стохастический градиентный спуск методы. Обучение можно повторять до тех пор, пока не будут выполнены некоторые критерии остановки.

Смотрите также

Рекомендации

  1. ^ Y. Bengio; А. Курвиль; П. Винсент (2013). «Репрезентативное обучение: обзор и новые перспективы». IEEE Transactions по анализу шаблонов и машинному анализу. 35 (8): 1798–1828. arXiv:1206.5538. Дои:10.1109 / тпами.2013.50. PMID  23787338.
  2. ^ Натан Сребро; Джейсон Д. М. Ренни; Томми С. Яаккола (2004). Факторизация матрицы максимальной маржи. НИПС.
  3. ^ а б c d Коутс, Адам; Ли, Хонглак; Нг, Эндрю Ю. (2011). Анализ однослойных сетей при неконтролируемом обучении функций (PDF). Междунар. Конф. по искусственному интеллекту и статистике (AISTATS). Архивировано из оригинал (PDF) на 2017-08-13. Получено 2014-11-24.
  4. ^ Чурка, Габриэлла; Танец, Кристофер С .; Fan, Lixin; Вилламовски, Ютта; Брей, Седрик (2004). Визуальная категоризация с помощью наборов ключевых точек (PDF). Семинар ECCV по статистическому обучению в компьютерном зрении.
  5. ^ Даниэль Джурафски; Джеймс Х. Мартин (2009). Обработка речи и языка. Pearson Education International. С. 145–146.
  6. ^ Майраль, Жюльен; Бах, Фрэнсис; Понсе, Жан; Сапиро, Гильермо; Зиссерман, Андрей (2009). «Обучение словарей с учителем». Достижения в системах обработки нейронной информации.
  7. ^ Перси Лян (2005). Полу-контролируемое обучение естественному языку (PDF) (M. Eng.). Массачусетский технологический институт. С. 44–52.
  8. ^ а б Джозеф Туриан; Лев Ратинов; Йошуа Бенжио (2010). Представления слов: простой и общий метод обучения без учителя (PDF). Труды 48-го ежегодного собрания Ассоциации компьютерной лингвистики. Архивировано из оригинал (PDF) на 2014-02-26. Получено 2014-02-22.
  9. ^ Швенкер, Фридхельм; Kestler, Hans A .; Пальма, Гюнтер (2001). «Три этапа обучения для сетей с радиальной базисной функцией». Нейронные сети. 14 (4–5): 439–458. CiteSeerX  10.1.1.109.312. Дои:10.1016 / s0893-6080 (01) 00027-2. PMID  11411631.
  10. ^ Коутс, Адам; Нг, Эндрю Ю. (2012). «Изучение представлений функций с помощью k-средних». У Г. Монтавона, Г. Б. Орра и К.-Р. Мюллер (ред.). Нейронные сети: хитрости торговли. Springer.
  11. ^ Деканг ​​Линь; Сяоюнь Ву (2009). Кластеризация фраз для разборчивого обучения (PDF). Proc. J. Conf. ACL и 4-й Междунар. ж. конф. по обработке естественного языка AFNLP. С. 1030–1038.
  12. ^ Роуис, Сэм Т.; Сол, Лоуренс К. (2000). «Снижение нелинейной размерности локально линейным вложением». Наука. Новая серия. 290 (5500): 2323–2326. Bibcode:2000Sci ... 290.2323R. Дои:10.1126 / science.290.5500.2323. JSTOR  3081722. PMID  11125150.
  13. ^ а б Саул, Лоуренс К.; Роуис, Сэм Т. (2000). «Введение в локально линейное вложение». Цитировать журнал требует | журнал = (помощь)
  14. ^ Hyvärinen, Aapo; Оя, Эркки (2000). «Независимый компонентный анализ: алгоритмы и приложения». Нейронные сети. 13 (4): 411–430. Дои:10.1016 / s0893-6080 (00) 00026-5. PMID  10946390.
  15. ^ Ли, Хонглак; Битва, Алексис; Райна, Раджат; Нг, Эндрю Y (2007). «Эффективные алгоритмы разреженного кодирования». Достижения в системах обработки нейронной информации.
  16. ^ Аарон, Михал; Элад, Майкл; Брукштейн, Альфред (2006). «K-SVD: алгоритм разработки переполненных словарей для разреженного представления». IEEE Trans. Сигнальный процесс. 54 (11): 4311–4322. Bibcode:2006ITSP ... 54.4311A. Дои:10.1109 / TSP.2006.881199.
  17. ^ Бенжио, Йошуа (2009). «Изучение глубинных архитектур для ИИ». Основы и тенденции в машинном обучении. 2 (1): 1–127. Дои:10.1561/2200000006.
  18. ^ а б c Hinton, G.E .; Салахутдинов, Р. Р. (2006). «Снижение размерности данных с помощью нейронных сетей» (PDF). Наука. 313 (5786): 504–507. Bibcode:2006Научный ... 313..504H. Дои:10.1126 / science.1127647. PMID  16873662.
  19. ^ Ли, Хонглак; Эканадхам, Чайтанья; Эндрю, Нг (2008). «Модель разреженной сети глубоких убеждений для визуальной области V2». Достижения в системах обработки нейронной информации.