Дарио Радечич, технический блогер среднего уровня
Сборник: Сун Сянь
Источник:Brandon Lopez(Unsplash)
На общих курсах по искусственному интеллекту будет представлено множество методов повышения точности моделей машинного обучения за счет оптимизации параметров, но эти методы обычно имеют определенные ограничения.Это связано с тем, что мы часто упускаем из виду очень важную основу современного машинного обучения — данные.. Если мы плохо обработаем обучающие данные, сотни часов времени будут потрачены впустую на настройку модели, обученной на низкокачественных данных, и точность модели легко окажется ниже ожидаемой, и это не связано с настройкой модели. Слишком много дел. Как можно избежать этой проблемы?
Грубо говоря, каждый проект ИИ состоит из двух частей:модели и данные. Для этой части кода мы всегда можем использовать сторонние библиотеки, чтобы максимально улучшить качество кода, но никто никогда не говорил нам, как полностью улучшить качество данных. Это новая идея, которую мы хотим представить в этой статье: ИИ, ориентированный на данные. Что такое ориентированный на данные ИИ? Что важнее, количество или качество данных? Где я могу найти хорошие наборы данных? Эти вопросы будут рассмотрены в данной статье.
Что такое ИИ, ориентированный на данные?
Поскольку ИИ состоит из двух частей: модели и данных, мы можем придумать две основные идеи, которыми мы можем руководствоваться в нашем машинном обучении:
- модельно-ориентированный: повысить производительность за счет улучшения модели
- ориентированный на данные: повысить производительность за счет улучшения данных
На самом деле, концепция ИИ, ориентированного на данные, — это изобретение Эндрю Нг. Ранее Ву Энда провел прямую трансляцию вопросов и ответов на YouTube, в частности, объяснив, что такое ИИ, ориентированный на данные.
Он предположил, что 99% недавно опубликованных научных статей посвящены моделям, и только 1% ориентированы на данные. Особенно примечательна одна фраза:«Перестаньте тратить слишком много времени на оптимизацию модели” (архитектура вашей модели достаточно хороша).
Почему Ву Энда сказал это? ResNet, VGG, EfficientNet и другие гении в академических кругах сделали все виды кристаллизации мудрости, что сделало модельную архитектуру, к которой мы теперь можем получить доступ, очень мощной. Попытка улучшить свою работу, стоя на плечах этих гигантов, — всего лишь капля в море.
Однако модельно-ориентированное мышление действительно больше подходит для тех, кто любит углубляться в теорию, и они могут напрямую применять свои знания в конкретных сценариях для повышения производительности модели. Более того, мышление, ориентированное на данные, не кажется хорошей идеей. Кому нравится получать удовольствие от аннотирования данных каждый день?
Однако оказывается, что большая часть прироста производительности, которого мы можем добиться, связана с подходом, ориентированным на данные. У Энда в своем выступлении показал следующий набор данных: Рис. 1. Базовый план, центр модели, сравнение производительности центра обработки данных (авторский рисунок)
Несмотря на то, что мы мало что знаем о таких вещах, как дефекты стали, мы можем увидеть значительное численное улучшение производительности модели. Мы видим, что модельно-ориентированный подход имеет либо нулевое, либо почти нулевое улучшение по сравнению с базовым уровнем, и этот подход часто требует сотен часов практического времени.
В заключение можно извлечь важный урок: не пытайтесь сравнивать IQ с комнатой, полной докторов наук. Прежде чем мы захотим улучшить модель, мы сначала удостоверимся, что качество имеющихся данных является первоклассным.
Должны ли данные быть в первую очередь качественными или количественными?
Чтобы получить объем данных, обычной практикой является сбор как можно большего количества данных и передача их всех в нейронную сеть для изучения отношения отображения. Однако то, что набор данных полезен, не означает, что в нем много данных. Мы можем обратиться к распределению размера набора данных на веб-сайте обмена наборами данных Kaggle, как показано ниже: Рис. 2. Распределение размера набора данных на Kaggle (автор источника изображения)
Мы видим, что в большинстве наборов данных не так много данных. При подходе, ориентированном на данные, размер набора данных не имеет значения. Конечно, мы не можем обучить нейронную сеть на трех изображениях, но мы делаем упор на качество, а не на количество. Не имеет значения, есть ли у нас сотни или тысячи изображений, качество существующих данных и точность аннотаций имеют решающее значение. Мы можем обратиться к следующему примеру, на следующем рисунке показаны два разных метода аннотации, сделанные аннотатором для положения двух апельсинов. Рис. 3. Различные способы маркировки границ задач обнаружения объектов (автор источника)
Понизить точность модели так же просто, как ввести в нее непоследовательно размеченные данные. Если мы хотим добиться качества данных, у нас должны быть строгие и унифицированные правила маркировки. Это особенно актуально, когда в проекте одновременно используется несколько лейблеров.
Однако, даже если качество данных может быть гарантировано, сколько данных нам нужно, чтобы их было достаточно? На этот вопрос сложнее ответить, чем вы думаете. Большинство алгоритмов указывают в своей документации минимально рекомендуемый объем данных. Например, YOLOv5 рекомендует не менее 1500 изображений в каждой категории. Мне самому удалось добиться хороших результатов с меньшим количеством данных, но с большим количеством обучающих выборок точность модели определенно улучшится.
В заключение, наличие большого количества данных может быть полезным, но количество данных ни в коем случае не является необходимым. Пока небольшой набор данных может иметь высокое качество данных, мы можем использовать меньше данных для достижения эффекта в четыре или две тысячи фунтов.
Где я могу найти высококачественные наборы данных?
Теперь давайте рассмотрим две платформы, предоставляющие бесплатный доступ к высококачественным наборам данных.
Kaggle
Kaggle имеет огромную коллекцию наборов данных, включая диаграммы и изображения. При этом Kaggle часто проводит разнообразные соревнования по машинному обучению, в том числе и с денежными призами, которые очень подходят тем, кто хочет показать свое мастерство. Однако, несмотря на репутацию Kaggle, он не оптимизирован для домашних сетей, и загрузка наборов данных — непростая задача.
Рисунок 4 — Домашняя страница набора данных Kaggle
Платформа открытого набора данных Gridwu Titanium
Возможно, вы не слышали об этой платформе, но ее появление действительно оказало большую помощь разработчикам алгоритмов, независимо от того, находитесь ли вы в Китае или за границей.
существуетПлатформа открытого набора данных Gridwu Titanium(gas.graviti.cn/open-datasets), пользователи могутПоиск ассоциации имени, сценарии примененияфильтр,Тип выноскифильтр,рекомендую, обновитевремя инагреватьФильтруйте, чтобы легко найти нужный набор данных. В то же время пользователиЗагрузка не требуется, ты сможешьПросмотр страницы сведений о наборе данных в ИнтернетеНазовите ситуацию и назовите распределение, а также освойте детали данных.
Однако, если вы хотите загрузить набор данных на локальный компьютер, пользователи GridTitan предоставят услугу высокоскоростной и стабильной загрузки. Разместите глобальные ресурсы в домашних зеркалах,Нет необходимости в VPN-доступе, полная пропускная способность для очень быстрой загрузки. По сравнению со скачиванием с заокеанских официальных сайтов грид титаниум как минимум быстрее100%.
Это просто евангелие отечественных разработчиков ИИ!
На самом деле, наборы данных на платформе Gridwu Titanium все еще растут.. Пользователи могут спонтанно загружать некоторые наборы данных с открытым исходным кодом, и его команда будет регулярно добавлять новые высококачественные общедоступные наборы данных. Например, известныйНабор данных для автономного вождения nuScenesОн включен в платформу, и есть очень эффективный плагин онлайн-визуализации для визуального просмотра содержимого набора данных одним щелчком мыши:
Рисунок 6 — Набор данных nuScenes на платформе Lattice Titanium
Мало того, когда вам нужны определенные наборы данных, которые еще не были загружены, вы можете присоединиться к сообществу Gewuti (WeChat или Discord). Gewutai предоставляет канал обратной связи для вопросов и потребностей, что удобно дляИндивидуальный целевой ответ, последующие действия и решение потребностей пользователей.
Эпилог
На этом основное введение в ИИ, ориентированный на данные, завершается. Проще говоря, ИИ, ориентированный на данные, больше заботится о качестве данных, чем о количестве. Тем не менее, высококачественные наборы данных трудно найти. Если вы хотите создавать качественные модели машинного обучения, вам обязательно нужны качественные наборы данных. Kaggle — отличное место для начала работы с платформами наборов данных. Но если вас интересует какая-то конкретная область, например компьютерное зрение, и вам нужен быстрый и эффективный способ доступа к наборам данных, обязательно попробуйте бесплатный и простой в использованииПлатформа открытого набора данных Gridwu Titanium.