Unsupervised learning что это

Unsupervised learning что это

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

В предыдущей статье я разбирал что же такое машинное обучение и Data Mining. Сегодня я хочу поговорить об основных группах алгоритмов машинного обучения.

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

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Множество способов написания одной и той же фразы

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

Выделяют два основных класса алгоритмов машинного обучения — это обучение с учителем (supervised learning) и обучение без учителя (unsupervised learning). Отмечу, что кроме этих классов выделяют также алгоритмы обучения с подкреплением (reinforcement learning) и рекомендательные системы (recommender systems). Пример рекомендательной системы вы можете видеть после каждой статьи на моем блоге (и эта статья не является исключением), где вам предлагаются схожие по тематике статьи под заголовком «Еще по этой теме».

Обучение с учителем

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

Давайте представим процесс принятия решение в виде некоторого «черного ящика», который непонятно как работает внутри, для нас важен только результат его работы.

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Рассмотрим это на примере задачи распознавания образов в которой нам нужно определить, относится некоторый объект к автомобилям или нет.

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Формирование обучающего множества

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

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

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

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

Обучение без учителя

В этом случае, как следует из названия, алгоритмам приходится обучаться самостоятельно.

Приведу пример. Если у вас есть своя страничка в социальной сети, то наверняка, есть и какие-то «друзья», как-то с вами связанные. У этих друзей есть свои друзья и так далее.

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

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

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Кластеры в социальной сети

Такая задача называется задачей кластеризации. В таком типе задач требуется обнаружить некоторые внутренние связи, зависимости, закономерности, которые существуют между исследуемыми объектами.

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

Более детально я рассмотрю класс алгоритмов с обучением без учителя в последующих своих публикациях.

На сегодня у меня все. Как обычно, буду рад вашим вопросам.

Источник

Обучение без учителя (Unsupervised Learning)

Обучение без учителя – это метод Машинного обучения (ML), при котором Модель (Model) обучается на Неразмеченных данных (Unlabeled Data).

Обучение с учителем (Supervised Learning) предполагает, что учебные данные размечены вручную, и модель получает четкий ответ на вопрос, к какой категории принадлежит то или иное Наблюдение (Observation):

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что этоМетрики опухолей (сверху) и клиентская база

Задачей же Unsupervised Learning может быть обнаружение групп похожих примеров в данных, и это называется Кластеризацией (Clustering), или определение того, как данные распределяются в пространстве, и это известно как Оценка плотности (Density Estimation). Такие алгоритмы позволяют выполнять более сложные задачи обработки по сравнению с обучением с учителем, хоть и являются менее предсказуемыми.

Обучение без учителя:

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

Наряду с этим выделяют еще три разновидности обучения:

Посмотрим, как работает Unsupervised Learning на примере Анализа главных компонент (PCA). Для начала импортируем Scikit-learn и Matplotlib:

Загрузим датасет с помощью встроенного метода load_digits() :

Мы используем такое разделение данных на X и y, поскольку так создатели организовали данные. Если посмотреть, что эти компоненты из себя представляют, мы увидим два массива:

Каждый из рядов – это набор чисел, характеризующий яркость пиксела на сетке 8 х 8:

y, в свою очередь, – это список целевых значений. Нам предстоит научить модель ассоциировать наборы пикселей с цифрами.

Выстроим пикселы в сетки обратно и отобразим в оттенках серого:

Вот такая магия – из чисел в картинки:

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Метод главных компонент сократит количество измерений с 64 (длина каждого ряда) до 2, и с этой точки зрения сможет произвести кластеризацию, т.е. распознавание той или иной цифры в наборе данных:

Теперь мы лучше понимаем, почему капча как идея существует столько лет: компьютеры по-прежнему имеют весьма туманное представление о цифрах, и распознать наверняка одну от другой не в состоянии:

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Ноутбук, не требующий дополнительной настройки на момент написания статьи, можно скачать здесь.

Источник

Машинное обучение

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

Типы машинного обучения

Выделяют два типа машинного обучения: дедуктивное и индуктивное.

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

Индуктивное обучение подразделяется:

Многие методы индуктивного обучения связаны с извлечением информации (information extraction). Например, создание для пользователя дополнительного признака на основе его транзакций, чтобы понять, потратил ли клиент в этом месяце больше, чем в предыдущем.

Освойте самую востребованную технологию искусственного интеллекта. Дополнительная скидка 5% по промокоду BLOG.

Основные методы машинного обучения

Обучение с учителем (supervised learning)

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

Например, на основе данных о продажах квартир в Москве можно создать алгоритм, который будет оценивать стоимость жилья, выставляемого на продажу. Для алгоритма нужны данные вида X, Y. Если предположить, что X — это таблица с параметрами домов, то Y — таблица со стоимостью каждого дома. Таким образом можно обучить модель предсказывать по параметрам дома его стоимость. Обычно это выражают в виде функции F(X) = Y.

Небольшая часть данных для алгоритма будет выглядеть так:

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Благодаря этим данным алгоритм сможет определить цену квартиры в Москве.

Обучение без учителя (unsupervised learning)

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

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

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

Обучение с подкреплением (reinforcement learning)

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

Источник

Переосмысление предобучения и самообучения

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

В конце 2018 года исследователи из FAIR опубликовали статью «Переосмысление предобучения в ImageNet», которая впоследствии была представлена на ICCV2019. В статье представлены некоторые очень интересные выводы относительно предобучения. Я тогда не стал посвящать этому событию отдельный пост, но мы долго обсуждали его в нашем слаке (KaggleNoobs). Исследователи из Google Research and Brain team предложили расширенную версию той же концепции. Их новая публикация затрагивает не только тему предобучения (pre-training), она также исследует самообучение (self-training), сравнивая его с предобучением и обучением без учителя (self-supervised learning) на тех же наборах задач.

Введение

Прежде чем мы углубимся в детали, представленные в публикации, давайте сделаем один шаг назад и обсудим сначала несколько понятий. Предобучение — очень распространенная практика в различных областях, таких как компьютерное зрение, NLP и генерация речи. Когда речь заходит о компьютерном зрении, мы ожидаем, что модель, предварительно обученная на одном наборе данных, поможет другой модели. Например, предобучение ImageNet с учителем является широко используемым методом инициализации для моделей обнаружения и сегментации объектов. Трансферное обучение (transfer learning) и точная настройка (fine-tuning) — два распространенных метода для реализации этой затеи.

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

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

Что ж, хватит болтовни! Мудреные определения в сторону, ведь вы до сих пор не понимаете, о чем конкретно эта статья? Или мы собрались здесь, чтобы определения почитать?

Мотивация

Мы используем эти методы уже достаточно давно. Авторы заинтересованы в том, чтобы найти ответы на следующие вопросы:

Насколько может помочь предобучение? Когда предобучение не приносит пользы?

Можем ли мы использовать самообучение вместо предобучения и получить аналогичные или лучшие результаты по сравнению с предобучением и обучением без учителя?

Если самообучение превосходит предобучение (если предположить, что это так), то насколько оно лучше, чем предобучение?

В каких случаях самообучение лучше предобучения?

Насколько самообучение гибкое и масштабируемое?

Сетап

Наборы данных и модели

Обнаружение объектов: авторы использовали набор данных COCO (118K изображений) для обнаружения объектов с применением обучения с учителем. ImageNet (1,2М изображений) и OpenImages (1,7М ​​изображений) использовались в качестве немаркированных наборов данных. Были использован детектор RetinaNet с EfficientNet-B7 в качестве базовой сети (backbone). Разрешение изображений было до 640 x 640, слои пирамиды от P3-P7 и использовались 9 якорей на пиксель.

Семантическая сегментация: для обучения с учителем использовался набор для обучения сегментации PASCAL VOC 2012 (1,5K изображений). Для самообучения авторы использовали аугментированный набор данных PASCAL (9K изображений), COCO (240K размеченных, а также неразмеченных изображений) и ImageNet (1,2M изображений). Использовалась модель NAS-FPN с EfficientNet-B7 и EfficientNet-L2 в качестве базовых сетей.

Дополнительные сведения, такие как размер пакета, скорость обучения и т. д., смотрите в разделе 3.2 в публикации.

Аугментация данных

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

Augment-S1: это стандартная Flip and Crop (переворот и кадрирование) аугментация. Стандартный метод flip and crop состоит из горизонтальных переворотов изображения и флуктуаций масштаба (scale jittering). Операция флуктации также может быть случайной, так же как то как мы изменяем размер изображения до (0.8, 1.2) от размера исходного изображения, а затем обрезаем его.

Augment-S2: состоит из AutoAugment и переворотов и кадрирований.

Augment-S3: включает сильную флуктуацию масштаба, AutoAugment, перевороты и кадрирование. Флуктуация масштаба увеличен до (0.5, 2.0).

Augment-S4: комбинация RandAugment, переворотов и кадрирования и сильной флуктуацией масштаба. Флуктуация масштаба такая же, как и в Augment-S2/S3.

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Предварительное обучение

Для изучения эффективности предобучения использовались предварительно обученные контрольные точки (checkpoints) ImageNet. EfficientNet-B7 — архитектура, используемая для оценки. Для этой модели использовались две разные контрольные точки. Они обозначаются как:

ImageNet: контрольная точка EfficientNet-B7, обученная с помощью AutoAugment, которая достигает 84,5% top-1 точности в ImageNet.

ImageNet++: контрольная точка EfficientNet-B7, обученная с помощью метода Noisy Student, который использует дополнительные 300 млн неразмеченных изображений и обеспечивает 86,9% top-1 точности.

Обучение из случайной инициализации обозначается как Rand Init.

Самообучение

Реализация самообучения основана на алгоритме Noisy Student и состоит из трех этапов:

Модель-учитель обучается на размеченных данных, например, на наборе данных COCO.

Затем модель-учитель используется для создания псевдометок для неразмеченных данных, например ImageNet.

Модель-ученик обучается оптимизировать потери на человеческой разметке и псевдо-метках одновременно.

Ради бога, можем ли мы уже взглянуть на хоть какие-нибудь эксперименты?

Эксперименты

Влияние увеличения и размера размеченного набора данных на предобучение

Авторы использовали ImageNet для предварительного обучения с учителем и варьировали размер размеченного набора данных COCO для изучения эффекта предобучения. Разнился не только размер размеченных данных, но и аугментации разной силы для обучения RetinaNet с EfficientNet-B7 в качестве базовой сети. Авторы наблюдали следующие факты:

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

Чем больше размеченных данных, тем меньше польза предварительного обучения: это не открытие. Все мы знаем, что предварительное обучение помогает, когда у нас мало данных. Но если у нас достаточно размеченных данных, то обучение с нуля не будет результировать в плохой эффективности. Авторы пришли к такому же выводу, и этот вывод согласуется с публикацией FAIR.

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

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

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

Влияние увеличения и размера размеченного набора данных на самообучение

Теперь, когда мы увидели влияние предварительного обучения, пришло время проверить результаты с той же задачей (в данном случае обнаружение объекта COCO) с той же моделью (RetinaNet детектор с базой EfficientNet-B7), но на этот раз с самообучением. Авторы использовали для самообучения набор данных ImageNet (метки для ImageNet в этом случае отбрасываются). Авторы отметили следующее:

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

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

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

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Погодите-ка секундочку! Когда используется ImageNet++ init, выигрыш невелик по сравнению с выигрышем в Rand init и ImageNet init. Есть какая-то конкретная причина?

Да, ImageNet++ init получается из контрольной точки, для которой использовались дополнительные 300M неразмеченных изображений.

Предварительное обучение с учителем против самообучения

Мы увидели, что предобучение ImageNet с учителем снижает эффективность в режиме с максимальным объемом данных и в режиме сильной аугментации данных. Но как насчет предобучения без учителя? Основная цель самостоятельного обучения, предобучения без меток, — это создание универсальных представлений, которые можно перенести на более широкий круг задач и наборов данных.

Минуточку! Дайте я угадаю. Поскольку при обучении без учителя используются более качественные представления, оно должно быть, по крайней мере, на уровне самообучения, если не лучше.

Не хочется вас разочаровывать, но ответ — НЕТ. Чтобы исследовать эффекты обучения без учителя, авторы использовали полный набор данных COCO и сильнейшие аугментации. Цель состояла в том, чтобы сравнить случайную инициализацию с моделью, предварительно обученной с помощью современного алгоритма с обучения без учителя. Контрольная точка для SimCLR в этом эксперименте использовалась до того, как она была тонко настроена (fine-tuned) в ImageNet. Поскольку SimCLR использует только ResNet50, основа детектора RetinaNet была заменена на ResNet50. Вот результаты:

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

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

Что мы узнали?

Предобучение и универсальные представления признаков

Мы увидели, что предварительное обучение (как контролируемое, так и самостоятельное) не всегда приводит к повышению эффективности. Более того, оно всегда уступает самообучению. Почему так происходит? Почему предобучение ImageNet не так хорошо для обнаружения объектов COCO? Почему представления, полученные с помощью предобучения без учителя, не помогли повысить эффективность?

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

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

Совместное обучение

Как указали авторы, одна из сильных сторон парадигмы самообучения состоит в том, что оно совместно обучает цели с учителем и цели самообучения, тем самым устраняя несоответствие между ними. Мы всегда можем утверждать, что вместо того, чтобы искать какой-либо другой метод устранения несоответствия различий между задачами, почему мы не можем обучаться вместе, например, совместно обучая ImageNet и COCO?

Авторы использовали тот же сетап, что и при самообучении для этого эксперимента, и обнаружили, что предобучение ImageNet дает улучшение +2,6AP, но использование случайной инициализации и совместного обучения дает больший выигрыш +2,9AP. Более того, предобучение, совместная тренировка и самообучение — все могут работать вместе. Используя тот же источник данных ImageNet, предобучение ImageNet получает улучшение +2,6AP, предобучение + совместное обучение дает +0,7AP, а комбинация предобучения + совместного обучение + самообучение дает улучшение +3,3AP.

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Важность согласования задач

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

Предварительное обучение ImageNet, даже с дополнительными человеческими метками, работает хуже, чем самообучение.

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

Unsupervised learning что это. Смотреть фото Unsupervised learning что это. Смотреть картинку Unsupervised learning что это. Картинка про Unsupervised learning что это. Фото Unsupervised learning что это

Масштабируемость, универсальность и гибкость самообучения

Из всех экспериментов, проведенных авторами, мы можем сделать вывод, что:

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

Самообучение не зависит от архитектуры или набора данных. Он хорошо работает с различными архитектурами, такими как ResNets, EfficientNets, SpineNet и т. д., а также с различными наборами данных, такими как ImageNet, COCO, PASCAL и т. д.

В общем, самообучение хорошо работает, когда предобучение терпит неудачу, но также и когда предобучение обучение тоже работает хорошо.

Что касается масштабируемости, самообучение показывает себя хорошо, поскольку у нас больше размеченных данных и лучшие модели.

Это хорошо. Некоторые из перечисленных здесь пунктов вызывают множество вопросов о том, как все мы использовали предварительное обучение. Но все, что имеет плюсы, имеет и минусы. Вы, должно быть, скрываете какой-то важный момент?

Ограничения самообучения

Хотя у самообучение есть свои преимущества, у него также есть несколько ограничений.

Самостоятельное обучение требует больше вычислительных ресурсов, чем точная настройка на предварительно обученной модели.

Ускорение от предобучения варьируется от 1,3x до 8x, в зависимости от качества предобученной модели, силы аугментации данных и размера набора данных.

Самообучение не является полной заменой трансферного обучения и тонкой настройки. Оба эти метода также будут активно использоваться в будущем.

Заключение

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *