Обучение с помощью нескольких кадров изменило ИИ и машинное обучение. При обучении методом “нескольких кадров” алгоритмы тренируются на небольших наборах данных. Если вам нужно обучить модель ИИ на ограниченном количестве данных, то метод few-shot может стать тем решением, которое вы давно искали.
Где используется обучение с помощью нескольких снимков?
Few-shot learning применяется в реальном мире практически повсеместно. Независимо от того, нужен ли вам настоящий LLM общего назначения или просто скраппинг на основе ИИ, обучение с несколькими выстрелами будет использоваться в вашей модели в той или иной степени.
- здесь
- Робототехника: Когда автономные роботы учатся поднимать предметы, им не нужны большие массивы данных. Они изучают процесс, а затем делают обобщения.
- Персонализированные технологии: Клавиатуры для телефонов и фитнес-часы очень эффективно используют обучение по нескольким снимкам.
- Фармацевтика: При открытии новых лекарств ученые часто используют очень ограниченные наборы данных. Для ускорения процесса на ранних стадиях испытаний можно использовать обучение с помощью нескольких снимков.
- Обработка языка: Лингвистам и археологам часто приходится иметь дело с неиспользуемыми, мертвыми языками. Первоисточники таких текстов скудны. ИИ может использовать малоинформативное обучение, чтобы помочь расшифровать эти языки.
- Распознавание изображений: Распознавание лиц требует обучения по нескольким снимкам. Большинство людей не собираются обучать ИИ, используя тысячи фотографий одного человека. Эта же концепция применима и к исчезающим и редким видам.
Обучение с помощью нескольких кадров по сравнению с другими парадигмами
Few-shot learning является частью более широкого семейства методов машинного обучения, называемого n-shot learning. В n-shot learning n представляет собой количество помеченных примеров для каждого класса, на которых обучается модель.
Вот еще несколько примеров n-shot обучения.
- Zero-Shot: Модель использует предыдущие знания, чтобы угадать класс, который она еще не видела. Представьте себе модель, обученную на лошадях и тиграх. Эта модель никогда не видела зебру, но она может сделать вывод, что лошадь с полосками – это зебра.
- One-Shot: Модель обучается только на одном примере для каждого класса. Когда смартфон узнает ваше лицо по одной фотографии и позволяет разблокировать экран, это и есть одномоментное обучение.
Как работает обучение по нескольким снимкам?
Few-shot более обширен, чем zero-shot и one-shot, но все равно опирается на очень ограниченные наборы данных. При наличии соответствующих обучающих данных модели могут быстро делать обобщения для выявления закономерностей и тенденций.
Подобно своим родственникам – “нулевому” и “единичному” – обучение с помощью нескольких выстрелов строится на следующих принципах.
- Использование предыдущих знаний: Модели используют знания и обучение, полученные в ходе выполнения предыдущих задач, для выявления закономерностей в новых, еще не просмотренных данных.
- Адаптация к конкретной задаче: Модели изменяют свои внутренние представления (классы) и процесс принятия решений, чтобы правильно обрабатывать новые данные с ограниченным количеством примеров.
- Обобщение на основе небольших наборов данных: При тщательно отобранных обучающих данных модели могут эффективно обобщать данные после просмотра всего нескольких образцов.
Типы обучения по нескольким снимкам
Обучение с помощью нескольких кадров не является чем-то неизменным. Это часть большой, постоянно развивающейся индустрии ИИ. Однако отрасль достигла общего консенсуса в отношении методов, перечисленных в следующих разделах.
Трансферное обучение
Когда модель учится на примере одной задачи и использует эти знания в новой задаче, это называется “трансферным обучением”. Как и люди, ИИ может использовать прошлый опыт для адаптации к новым ситуациям. Знания модели переносятся и становятся актуальными при выполнении новой задачи.
Представьте, что вы научили искусственный интеллект играть в Call of Duty. Затем вам нужно, чтобы эта модель играла в Fortnite. Она уже знает, как целиться, двигаться и использовать стратегию боя. Предыдущий опыт модели в Call of Duty дает ей больше шансов на успех в Fortnite.
Трансфертное обучение не ограничивается ИИ или машинным обучением. Люди используют трансфертное обучение каждый день. Трансфертное обучение стало основной движущей силой сельскохозяйственной революции. Доисторические люди научились выращивать определенные виды пищи. Затем наши предки перенесли эти навыки на все остальные виды растительной пищи, которые они могли найти. В конце концов они применили эти же принципы при одомашнивании домашнего скота.
Дополнение данных
Чтобы расширить возможности обучения с помощью нескольких снимков, мы можем использовать увеличение данных. В реальном мире мы часто генерируем вымышленные данные, имеющие сходство с реальными. При этом в вымышленные данные часто добавляют случайность и шум.
Интерполяция и экстраполяция облегчают понимание дополнения данных. Посмотрите на график ниже. Как видите, у нас есть только четыре фактические части данных. Наша пунктирная линия использует эти точки для создания схемы. Используя эти точки графика, мы можем экстраполировать, что если X=5, то Y=10, а если X=0, то Y=0. Мы можем интерполировать, что если X=1,5, то Y=3.
Мы можем выявить тенденции в наших ограниченных данных. Поняв тенденции, мы можем генерировать бесконечное количество дополнительных данных, следуя правилам, установленным исходными данными. Формула (Y = 2X) увеличивает наш набор данных из 4 снимков до бесконечного множества точек.
В реальном мире нет ничего идеального, и таких примеров, как приведенный выше, часто не существует. Представьте себе обучение ИИ на лошадях. У вас есть одна реальная фотография коричневой лошади. Вы немного отредактировали ее, и теперь у вас есть фотографии рыжей, черной, белой лошади и зебры. Из единственной фотографии лошади вы создали гораздо больший набор данных.
Подробнее о расширении данных можно узнать здесь.
Мета-обучение
Метаобучение – это больше решение проблем, чем работа с фактическими данными. При метаобучении модель учат разбивать большие проблемы на более мелкие и использовать различные стратегии для разных типов проблем. Вспомните порядок операций, который вы изучали в начальной школе.
Посмотрите на следующую задачу: (2+(2*3))/4=?
Чтобы решить эту задачу, нам нужно разбить ее на части.
(2+(2*3))/4=?
2*3=6
. Теперь мы можем упростить это до(2 + 6)/4
.2+6=8
. Теперь наша задача равна8/4
.8/4=2
. Цепочка меньших задач соединяется, чтобы доказать, что(2+(2*3))/4=2
.
Разбив большую задачу на более мелкие шаги, мы можем прийти к выводу, что наш ответ – 2
. Когда мы учим машины, что они могут решать большие задачи, разбивая их на более мелкие. Затем она использует подходящие стратегии для каждой из мелких проблем. Это называется метаобучением. Машина учится стратегиям решения проблем, которые она может применять в огромном количестве различных сценариев.
Давайте рассмотрим еще один пример, который вы выучили в раннем детстве. Предложение должно начинаться с заглавной буквы и заканчиваться знаком препинания. Когда модель учится этому, она не просто учится писать предложения. Модель учится эффективно передавать все свои идеи таким образом, чтобы люди могли их прочитать и понять.
Как и в других приведенных выше примерах, метаобучение использовалось людьми на протяжении сотен тысяч лет, прежде чем оно было адаптировано к машинному обучению.
Метрическое обучение
При метрическом обучении модель учат сравнивать сходства между данными, а не просто присваивать им ярлыки. Затем она использует функцию для сравнения метрик и определения того, насколько новые данные близки к ранее виденным. Teachable Machine позволяет нам поэкспериментировать с изображениями и посмотреть, как на самом деле работает метрическое обучение.
Представьте, что мы обучаем модель, используя набор фотографий кошек. Модель анализирует эти изображения и учится сравнивать различные признаки, такие как шерсть, усы и форма ушей.
После того как модель закончила обучение, мы даем ей новую фотографию кошки. Модель сравнивает данные с новой фотографии с данными обучения. Просмотрев данные о шерсти, усах и форме ушей, она вычислит балл сходства. Если новая картинка на 98 % похожа на предыдущие данные, модель определит, что с высокой вероятностью на ней изображена кошка.
Если модель была обучена с помощью других методов говорить “кошки милые”, то после того, как она будет на 98 % уверена, что новое изображение – это кошка, она может использовать дополнительную логику из других типов обучения и сказать: “Ваша фотография кошки милая!”.
Проблемы, присущие обучению по нескольким снимкам
Когда речь идет о машинном обучении, небольшие наборы данных являются одновременно и преимуществом, и недостатком. Машинное обучение таит в себе множество подводных камней. Чтобы избежать описанных ниже проблем, необходимо обучать небольшие модели, используя концепции, которые мы рассмотрели в предыдущих разделах.
Обобщение
Модели, состоящие из нескольких снимков, хорошо справляются с такими задачами, как распознавание лиц, но при работе с совершенно новыми сценариями они часто терпят неудачу, если данные недостаточно похожи на те, что они уже видели.
Традиционной LLM предоставляются миллионы, а иногда даже миллиарды или триллионы точек данных. Это позволяет модели эффективно справляться с выбросами и делать достойные прогнозы при работе с данными, с которыми она раньше не сталкивалась.
Если модель видела лишь несколько нарисованных карандашом изображений кошек, она вполне может не распознать изображение реальной кошки. Без надежного набора данных модель не всегда может делать надежные обобщения.
Разнообразие данных
Небольшие наборы данных часто не отражают истинного разнообразия, присутствующего в больших наборах данных. Представьте, что модель была обучена на небольшом наборе людей, и все их адреса находятся в США. Такая модель, скорее всего, станет предвзятой и будет считать, что все люди – жители США. Смягчить эту проблему можно с помощью широких и разнообразных наборов данных. Наши наборы данных помогут вам повысить эффективность вашей модели.
В конце 2010-х годов эта проблема мучила модели ИИ по всему миру. Эта проблема до сих пор иногда дает о себе знать в современном ИИ. Когда модель обучается на социальных сетях, она часто перенимает предубеждения, которые видит в социальных сетях. Мы все слышали истории о расистских ИИ-ботах конца 2010-х годов. Вот как это происходит.
Представление признаков
Проблема разнообразия данных – это обоюдоострый меч. Вспомните нашу гипотетическую модель, распознающую животных. Если эта модель усвоит только то, что у всех кошек четыре ноги, она увидит изображение лошади и решит, что та невероятно похожа на кошку.
Если модель распознавания лиц узнает, что у лица есть глаза, уши, рот и нос, но ее не научили правильно сравнивать эти признаки с обучающими данными, модель будет выдавать неверные (а иногда и опасные) результаты. Если любой человек с такими чертами лица сможет разблокировать ваш телефон, это создаст серьезную проблему безопасности.
Заключение
Обучение с помощью нескольких снимков позволяет сократить потребность в больших массивах данных. Люди использовали обучение с несколькими выстрелами с самого начала. Мы только недавно адаптировали его для ИИ. Есть некоторые препятствия. Обобщение, разнообразие данных и представление признаков представляют собой серьезные препятствия при создании небольших моделей. Трансферное обучение, расширение данных, метаобучение и метрическое обучение дают нам отличные инструменты для преодоления этих проблем не только в больших, но и в малых моделях.