Плохие данные… Самый опасный злодей, с которым разработчикам продвинутых систем восприятия нужно столкнуться и победить, если они хотят разработать точную модель глубокого обучения.
Наверняка вам когда-то приходилось с ними сталкиваться, потому что, будем честными, вы можете собрать все данные из реального мира, но все равно не получите всех данных, которые вам нужны для обучения модели глубокого обучения точно. Но что вы можете сделать, чтобы свести к минимуму пробелы в данных? Что вы можете сделать, чтобы избежать неэффективных или необъективных обучающих данных?
Небольшой намек, синтетические данные могут помочь… очень.
Если у вас недостаточно данных, ваша модель глубокого обучения бесполезна.
Плохое качество данных — враг номер один для использования глубокого обучения для продвинутого развития восприятия и многих других вариантов использования. Но почему? Ответ прост: модели глубокого обучения требуют высокого уровня качества и точности данных с самых ранних стадий. Во-первых, данные, используемые для обучения прогностической модели, а затем новые данные, используемые этой моделью для принятия будущих решений.
Для правильного обучения модели глубокого обучения данные должны соответствовать исключительно точным, широким и высококачественным стандартам.
Данные должны быть правильными:
- Физически правильный
- Надлежащая маркировка
- Дедупликация Но это должны быть правильные данные и для конкретной модели:
Но это должны быть правильные данные и для конкретной модели:
- Беспристрастные данные?
- Данные датчика?
- Достаточно вариативности сцены?
Большинство сборщиков данных ориентируются на тот или иной критерий, но для моделей глубокого обучения компьютерного восприятия вы должны попытаться учесть их все одновременно.
Почему? Возьмем в качестве примера наиболее часто обсуждаемый в настоящее время случай — беспилотные автомобили. Если ваш беспилотный автомобиль убивает кого-то на дороге, чья это вина? Вы можете обвинить низкое качество обучающих данных вашей модели, но это не поможет, не так ли? Мы говорим о приложениях с расширенным восприятием, где надежность является обязательным требованием, а значит, и данные должны быть тоже.
Как вы уже догадались, плохие данные приводят к плохим результатам, неадекватным результатам, и не только это, задумывались ли вы о цене плохих данных?
Цена плохих данных
Неверные данные могут дорого обойтись компаниям, причем не только с экономической точки зрения, как мы видели в предыдущем разделе этой статьи.
Как Ронгала А. делится в своем исследовании Стоимость неверных данных для организаций, попытки количественно оценить финансовые последствия неверных данных привели к некоторым довольно шокирующим цифрам (среди прочего): Gartner утверждает, что организации теряют в среднем 13,3 миллиона долларов в год из-за плохих данных, Cio.com заявляет, что 80% компаний считают, что они потеряли доход из-за проблем с данными, CrowdFlower утверждает, что специалисты по данным тратят 60% своего времени на очистку и организацию данных, а Pragmaticworks заявляет, что от 20 до 30% операционных расходы связаны с неправильными данными.
В дополнение к этому вы должны учитывать другие нефинансовые затраты, такие как ручная маркировка или создание настраиваемых данных, трудоемкие процессы, отсутствие масштабируемости и настраиваемости, которые в конечном итоге делают вас более неэффективными и перегружают вашу команду.
Как бороться с плохими данными и пробелами в данных в машинном обучении
Теперь, когда вы знаете, что плохие данные могут разрушить вашу модель глубокого обучения, отнять слишком много времени у вашей команды и растратить огромную часть вашего бюджета, что вы собираетесь делать?
Существует несколько подходов, которым вы можете следовать. Его эффективность или возможность применения будет зависеть от каждого случая и каждой конкретной модели.
- Сложность модели
Вы можете построить простую модель с меньшим количеством параметров. Этот метод будет менее подвержен переобучению и часто используется для улучшения классификации и прогнозирования.
Проблема этого метода в том, что его можно легко подвергнуть сомнению. Это может работать для более простых моделей и приложений, но технологи, похоже, работают в противоположном направлении.
Реальный мир сложен, и у моделей глубокого обучения нет другого пути, кроме как развиваться, чтобы иметь возможность понимать и интерпретировать более сложные сцены.
- Трансферное обучение
Трансферное обучение применяется для глубокого обучения и нейронных сетей с использованием предварительно построенной модели, которая затем настраивается на имеющемся у вас небольшом наборе данных.
Вы также можете повторно использовать уже обученные нейронные сети, которые решают аналогичную вашу задачу, обычно оставляя архитектуру сети без изменений и повторно используя некоторые веса модели.
Это полезно, когда новый набор данных мал и его недостаточно для обучения модели с нуля. Но, как вы можете себе представить, даже если выбранная вами модель уже была протестирована и обучена, новые плохие данные, которые вы вводите в модель (и которые она использует для принятия будущих решений), повлияют на ее производительность и результаты.
- Увеличение данных
Увеличение данных может помочь вам внести небольшие улучшения для получения новых изображений. Он берет уже существующие образцы и модифицирует их для создания новых и увеличения количества обучающих образцов. Некоторыми методами увеличения данных являются масштабирование, вращение или аффинные преобразования.
Эти параметры обработки изображений часто используются в качестве методов предварительной обработки, чтобы сделать модели классификации изображений, построенные с использованием CNN, более надежными и попытаться минимизировать эффект недостаточности данных. Но все же его преимущества для облегчения проблемы с плохими данными не ясны.
- Синтетические данные
Синтетические данные позволяют вам искусственно генерировать образцы, которые имитируют данные реального мира, и дополняют ваши наборы данных данными, которые трудно (иногда невозможно) получить в реальном мире, добавляя, например, индивидуальную изменчивость сцены или крайние случаи. Но не только это, синтетические данные (отдельно) уже тестируются для обучения алгоритмов обнаружения объектов с многообещающими результатами, как вы можете прочитать в статье RarePlanes: синтетические данные взлетают. сильный>.
После анализа этих 4 путей синтетические данные кажутся лучшей альтернативой для борьбы с плохими данными, верно?
Могут ли синтетические данные восполнить пробел в данных для обучения ИИ?
Модели глубокого обучения продвинутой системы восприятия не просто учатся сами по себе, по крайней мере, пока. Их нужно обучать на данных с достаточным количеством информации, чтобы помочь им обобщать, когда система видит новые данные, которых она раньше не видела. И «достаточно» — ключевое слово здесь… Обычно реальных данных недостаточно, и, что еще хуже, они могут быть плохо помечены, что делает их неточными, или они могут внести погрешность в систему, заставляя модель работать не так, как ожидалось, или приводит к ошибочным результатам.
Синтетические данные еще не самые популярные, но скоро они станут новенькими в школе. Согласно последнему отчету Synthesis.ai об исследовании синтетических данных: 82% опрошенных признают, что их организация находится в опасности, когда они собирают реальные данные, 60% лиц, принимающих решения, считают, что их отрасль будет использовать синтетические данные либо самостоятельно, либо в сочетании с реальными данными в течение следующих пяти лет, и 89% считают, что организации, которые не используют синтетические данные для обучения своих систем, будут отставать.
Потребность в синтетических данных для разработки моделей глубокого обучения систем восприятия является фактом, и разработчики не могут позволить себе смотреть в другую сторону, потому что их конкуренты уже вскочили на поезд и готовы предвидеть и преодолеть свои пробелы в данных.