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

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

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

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

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

Общедоступные наборы данных

Первое и самое простое место для поиска - это общедоступные наборы данных. Существует множество различных наборов данных, созданных для множества различных задач, проиндексированных и описанных в таких местах, как Kaggle, UCI Dataset Repository и Google Dataset search. Для речевых технологий в OpenSLR и LDC есть списки доступных данных. Часто общедоступные наборы данных имеют некоммерческую лицензию, или вам необходимо купить набор данных, прежде чем вы сможете использовать его в коммерческих целях.

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

Синтетические данные

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

(can you)? (tell|give) me the (weather in|forecast for) CITY (please)?

Здесь «?» обозначает необязательные слова, а «|» обозначает выбор. Имея список городов для заполнения маркера CITY, мы можем быстро и легко создать множество различных примеров того, как пользователи могут запрашивать погоду, например:

tell me the weather in London please
can you give me the forecast for Cambridge
give me the weather in Bristol please
can you tell me the weather in Southampton please

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

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

У синтетических данных есть свои недостатки. Обычно это не так реалистично, как в реальном мире, и также может не соответствовать поведению реальных пользователей. Используя приведенную выше грамматику, мы добавили бы необязательное «can you» к половине наших синтетически сгенерированных примеров, но, возможно, в реальной жизни ни один из наших пользователей не скажет «вы можете '.

Увеличение данных

Увеличение данных - это способ увеличения объема имеющихся данных путем их копирования и преобразования различными способами.

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

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

Сбор данных

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

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

Данные, которые у вас уже есть

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

Производственные данные

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

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

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

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

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

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