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

Когда люди слышат словосочетание «искусственный интеллект», многие представляют большие массивы данных. В этом есть смысл – самые известные AI-модели, такие как GPT-3, обучены на гигантских датасетах. Тем не менее, большинство методов обучения моделей страдают от так называемого «data hunger», когда модели требуются десятки и сотни тысяч примеров для обучения, а также от чрезмерно высоких ресурсных затрат. Тем не менее, чаще всего данных в наличии у компаний сравнительно мало. Это может быть связано с политикой сбора данных, отсутствием единых правил хранения. А еще стоимостью разметки, так как для подготовки использования данных в AI-системе часто необходимо привлекать квалифицированных специалистов.
Накликали беду: как правильно применять AI в работе с небольшим количеством данных

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

Чтобы подобные системы работали, компаниям нужно научиться строить AI-решения с данными из «наличия».

Проблема малых данных в AI

Чтобы изучить новый материал, человеку не нужны сотни тысяч примеров, достаточно прочитать пару статей. Почему же ИИ так не может?

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

В действительности человеческий мозг не обучается на маленьком объеме данных. Подумайте, ведь мы с рождения потребляем непрерывный поток информации через все органы чувств и только спустя несколько месяцев такого обучения начинаем говорить, различать объекты и людей, и то не всегда правильно. К моменту взросления нам уже не требуется много данных, чтобы решать простейшие задачи по распознаванию лиц друзей или чтению нового материала. Что касается юристов, с которых мы начинали, то даже профессионал своего дела за многолетнюю практику исследует тысячи, а не сотни тысяч договоров. Но ему это и не нужно, ведь он знает главное – язык. Так можно ли строить ИИ-системы, основываясь на том же принципе?

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

Перенос обучения или трансферное обучение

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Однако, в действительности это не проблема. Такие «предобученные» на больших данных модели уже существуют. Например, для детекции объектов на изображении используют YOLO, для классификации изображения – ViT, а для разнообразной работы с текстами – семейство языковых моделей BERT и GPT. Обучались эти модели на достаточно общих задачах и разнообразных данных, поэтому обладают относительно универсальными знаниями. Более того, их можно успешно дообучить практически в любой задаче, связанной с компьютерным зрением или обработкой речи.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

С подобным способом обучения модели связано большое количество успешных кейсов. Например, исследователи научились детектировать COVID-19 на рентгеновских снимках, используя всего 100 размеченных изображений и предобученную сеть. Множество компаний, которые разрабатывают диалоговые системы, основанные на AI, используют предобученные языковые модели.

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Fake It Till You Make It

Генерация синтетических данных – другой путь борьбы с проблемой их отсутствия. В некоторых случаях данные действительно практически неоткуда достать из-за небезопасности процесса их сбора или потому что в реальном мире таких ситуаций ещё не было зафиксировано. Например, при построении беспилотных автомобилей используются синтетические данные для определения ситуации, когда водитель засыпает или отвлекается.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

Синтетические данные можно генерировать самостоятельно (например, таблицы с данными о финансовых транзакциях), использовать готовые генеративные сети (семейство GPT для текста или DALL-E для изображений) или обратиться к специализированным компаниям, вроде Datagen. И это прибыльный бизнес – согласно отчёту Cognilytica, рынок синтетических данных вырастет до $1,15 млрд к 2027 году.

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

Но и это решаемо – если использовать синтетику только на определенных шагах построения модели, то можно получить существенный прирост качества модели. Если у вас в наличии всего несколько примеров, их можно по-разному видоизменить, тем самым кратно увеличив их количество. Такой процесс называется аугментацией.

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

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

Материал подготовлен компанией Voximplant