Синтетические данные в машинном обучении

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Самое широкое применение синтетические данные находят в задачах, связанных с компьютерным зрением. Наиболее распространённый способ создания таких датасетов состоит в 3D-моделировании нужных объектов. После моделирования производится серия рендеров. В результате получается не только сам датасет, но и автоматизированная разметка: мы изначально знаем, какой объект и где именно находится в произведённом нами рендере. В определённых задачах качество рендера не играет особой роли, достаточно, чтобы объекты были узнаваемы. На производительной рендер ферме можно получить огромный датасет за вполне разумное время.  Synthesis AI— пример бизнеса, занятого производством синтетических датасетов для компьютерного зрения.

Кроме того, существует ряд задач, в которых синтетические датасеты — это неизбежность. Например, конструирование беспилотников или роботов. Чаще всего ИИ в таких задачах обучают с подкреплением. Заранее размеченного датасета нет, ИИ обучается во взаимодействии со средой и, в зависимости от её реакции, корректирует свои действия. Мы не можем обучать беспилотный автомобиль «в поле», поэтому, чтобы объяснить ему, что давить людей — плохо, используем симуляционные среды.

Наш преподаватель курса по ML Артём Назаренко тоже сталкивался с синтетическими данными, когда учил нейросеть генерировать тени на фотографии: ARShadowGAN, о которой идёт речь в статье, обучается на рендерах 3D движка, а сам Артём в прошлом обучал сеть детектировать тени на датасете, собранном из видеоигры GTA V, где одни и те же кадры были сделаны с тенью и без.

Для учебных целей иногда может недоставать открытых и готовых, но при этом гибких и богатых наборов данных. В этом случае можно создать свой датасет с помощью библиотеки Scikit-Learn. В неё включены функции datasets.make_classification, datasets.make_regression и datasets.make_blobs, которые позволяют тюнить датасет под задачи классификации, регрессии и кластеризации соответственно. Если же вам потребуется достаточно большая база данных (а найти их может оказаться сложнее, чем обычные датасеты, которые на Kaggle, например, специально разработаны для задач машинного обучения), то пригодится библиотека pydbgen. Она помогает генерировать большие базы данных с несколькими таблицами, которые можно заполнить нужными записями (например, имя, адрес, номер кредитки, дата, время, название компании, должность, номерной знак и т.д.), и сохранять их в Pandas датафреймах, в виде SQLite-таблицы в базе данных, в файле MS Excel. Пользуйтесь!


Источник: m.vk.com

Комментарии: