Что такое самостоятельное обучение в машинном обучении?

Ответы:

31

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

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

Например, рассмотрим робота, который оснащен датчиком приближения (который является датчиком ближнего действия , способным обнаруживать объекты перед роботом на небольших расстояниях) и камерой (который является датчиком дальнего действия , но который не обеспечивает прямой способ обнаружения объектов). Вы также можете предположить, что этот робот способен выполнять одометрию . Примером такого робота является Могучий Тимио .

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

Чтобы преодолеть эту проблему, мы можем использовать подход к обучению с самоконтролем. В этом примере основная идея состоит в том, чтобы связать выходные данные датчиков приближения на временном шаге.t>t с выходом камеры на шаге по времени t (меньший временной шаг, чем t).

В частности, предположим, что робот изначально находится в координатах(x,y) (в самолете), на шаге времени t, На данный момент у нас все еще недостаточно информации для обозначения выхода камеры (в то же время шагt). Предположим теперь, что во времяtробот находится в положении (x,y), На шаге по времениtвыходной сигнал датчика приближения будет, например, «объект перед роботом» или «нет объекта перед роботом». Без потери общности предположим, что выходной сигнал датчика приближения приt>t «нет объекта перед роботом», то метка, связанная с выходом камеры (кадр изображения) в момент времени t будет "нет объекта перед роботом".

Для более подробной информации об этом конкретном примере, посмотрите статью « Изучение восприятия на большие расстояния с использованием самоконтроля с помощью датчиков ближнего действия и одометрии » Мирко Навы, Жерома Гуззи, Р. Омара Чавеса-Гарсии, Люки М. Гамбарделлы и Алессандро Джусти.

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

Для другого введения в самообучаемое обучение, посмотрите на эту веб-статью: https://hackernoon.com/self-supervised-learning-gets-us-closer-to-autilitary-learning-be77e6c86b5a . В этой статье автор также сравнивает самообучаемое обучение с неконтролируемым обучением, полууправляемым обучением и обучением с подкреплением.

Кроме того, если вы хотите узнать о текущих методах, используемых для самостоятельного обучения, ознакомьтесь с этой статьей: https://amitness.com/2020/02/illustrated-self-supervised-learning . В этой статье автор обобщает основные идеи существующих методов самоконтроля с диаграммами и визуализацией.

Существует также список ссылок на статьи, где используется этот метод обучения, по следующему адресу: https://github.com/jason718/awesome-self-supervised-learning .

нбро
источник
Я не согласен с тем, что самообучаемое обучение означает, что данные помечены так, что выходной слой должен идеально соответствовать уровням. Возьмем, к примеру, эту и эту работу, они оба говорят, что используют обучение под собственным контролем, но ни один из них не использует никаких ярлыков. Вместо этого потери рассчитываются путем деформации кадра в видео в соответствии с выходными данными сети и сравнения деформированного кадра с другим кадром.
Hellogoodbye
@HelloGoodbye Существуют разные определения самообучения. Я должен обновить этот ответ. Определение, которое я использовал, является наиболее распространенным и используется в робототехнике. Все остальные не очень связаны с контролируемым обучением, поэтому их использование немного неуместно или вводит в заблуждение. Такое использование самообучаемого обучения в робототехнике является наиболее подходящим, учитывая его связь с контролируемым обучением.
nbro
2
Спасибо за
Дики Сингх
6

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

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

  • Задача требует понимания . Это означает, что для прогнозирования выходных данных модель должна извлечь из данных несколько хороших шаблонов, создав в процессе хорошее представление.

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

  • Попросите сеть предсказать следующее слово в предложении (которое вы знаете, потому что вы его убрали).

  • Замаскируйте слово и попросите сеть предсказать, какое слово будет там (что вы знаете, потому что вам пришлось его маскировать).

  • Измените слово на случайное (это, вероятно, не имеет смысла) и спросите сеть, какое слово является неправильным.

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

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

Дэвид
источник
2

Визуальное распознавание под собственным контролем часто применяется для обучения представлению. Здесь мы сначала изучаем функции на немеченых данных (обучение представлению), а затем изучаем реальную модель на функциях, извлеченных из помеченных данных. Это особенно имеет смысл, когда у нас много немаркированных данных и мало помеченных данных.

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

Хороший обзор и интересные результаты можно найти в этой недавней статье.

ssegvic
источник