[Компьютерное зрение] Понимание Zero-shot, One-shot и Few-shot

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

1. Традиционное контролируемое обучение

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

Чтобы «быстро и экономично» выйти на дорогу алхимии, мы начали изучать Zero-shot Learning/One-shot Learning/Few-shot Learning.

2. Обучение с нуля (сокращенно ZSL)

参考文章:https://blog.csdn.net/weixin_41862755/article/details/125623018

Определение задачи:

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

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

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

вставьте сюда описание изображения

三、Небольшое обучение

Обучение в несколько приемов (немногократное обучение) является примером метаобучения (метаобучения), поэтому необходимо иметь простое представление о метаобучении, прежде чем понимать, что такое обучение в несколько приемов. Но прежде чем понять, что такое метаобучение, нам все равно нужно понять, что такое мета.

3.1 Что такое мета

Мета — это данные, которые описывают данные.

Например, на фотографии мы видим представленные ею данные, а именно Данные, но она также содержит много данных, описывающих ее параметры съемки, такие как диафрагма, выдержка, марка камеры и т. д., а именно Мета.

вставьте сюда описание изображения

3.2 Что такое метаобучение?

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

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

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

вставьте сюда описание изображения

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

Алгоритмы машинного обучения извлекают знания из исторических данных, а затем обобщают их на новые образцы данных.

  • Алгоритм обучения : учитесь на исторических данных и делайте прогнозы на основе новых примеров данных.

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

  • Алгоритм метаобучения : учитесь на выходе алгоритмов обучения и делайте прогнозы на основе прогнозов, сделанных другими моделями.

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

3.3 Небольшое обучение

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

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

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

вставьте сюда описание изображения

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

вставьте сюда описание изображения

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

вставьте сюда описание изображения

3.4 Контролируемое обучение против обучения за несколько попыток

3.4.1 Обучение под наблюдением

  • Тестовый образец никогда не видел
  • Категория тестовой выборки появится в обучающем наборе.

3.4.2 Обучение за несколько выстрелов

  • образец запроса, которого раньше не было
  • Образец запроса относится к неизвестной категории

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

вставьте сюда описание изображения

3,5 k-way n-shot набор поддержки

  • k-way : В наборе поддержки есть категория
  • n-shot : один образец на категорию

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

вставьте сюда описание изображения

Точность предсказания при обучении с несколькими выстрелами снижается с увеличением #-пути и увеличивается с увеличением #-выстрела. Потому что для задачи с 2 вариантами точность предсказания явно выше, чем для задачи с 1000 вариантами. Для #-shot, чем больше образцов в категории, тем легче модели найти правильную категорию.

3.6 Основная идея обучения за несколько шагов

Основная идея обучения с несколькими выстрелами состоит в том, чтобы изучить функцию подобия: sim ( x , x ' ) sim (x, x ^ {'})да я ( х ,Икс' )для измерения двух образцовxxх их' х^{'}Икс' сходство. сим ( х , х ' ) сим (х, х ^ {'})да я ( х ,Икс' )означает, что два изображения более похожи; меньше означает, что разрыв между двумя изображениями больше.

Шаги:

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

вставьте сюда описание изображения

四、Обучение одним выстрелом

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

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

Guess you like

Origin blog.csdn.net/wzk4869/article/details/129419127