Моделі та платформи ШІ

Що таке синтетичні дані?

mm
Додайте Unite.AI до бажаних джерел у Google

Що таке синтетичні дані?

Синтетичні дані – це швидко зростаюча тенденція та новий інструмент у сфері науки про дані. Що таке синтетичні дані точно? Коротка відповідь полягає в тому, що синтетичні дані складаються з даних, які не базуються на будь-яких реальних явищах або подіях, а генеруються за допомогою комп’ютерної програми. Але чому синтетичні дані стають så важливими для науки про дані? Як створюються синтетичні дані? Давайте знайдемо відповіді на ці питання.

Що таке синтетичний набір даних?

Як і слово “синтетичний” підказує, синтетичні набори даних генеруються за допомогою комп’ютерних програм, а не складаються з документів реальних подій. Основною метою синтетичного набору даних є бути гнучким і надійним enough, щоб бути корисним для навчання моделей машинного навчання.

Щоб бути корисним для класифікатора машинного навчання, синтетичні дані повинні мати певні властивості. Хоча дані можуть бути категорійними, бінарними або числовими, довжина набору даних повинна бути довільною, а дані повинні генеруватися випадково. Випадкові процеси, які використовуються для генерації даних, повинні бути керованими та базуватися на різних статистичних розподілах. В набір даних також можна додати випадковий шум.

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

Чому використовувати синтетичні дані?

Як фреймворки машинного навчання, такі як TensorFlow і PyTorch, стають легшими у використанні, а попередньо розроблені моделі для комп’ютерного зору та обробки природної мови стають більш поширеними та потужними, основною проблемою, з якою стикаються вчені-дані, є збір та обробка даних. Компанії часто мають труднощі з отриманням великої кількості даних для навчання точної моделі протягом певного часу. Ручне маркування даних – це дорогий та повільний спосіб отримання даних. Однак генерація та використання синтетичних даних можуть допомогти вченим-даніям та компаніям подолати ці перешкоди та розробити надійні моделі машинного навчання швидше.

Є кілька переваг у використанні синтетичних даних. Найочевидніший спосіб, у який використання синтетичних даних вигідно для науки про дані, полягає в тому, що воно зменшує потребу у зборі даних з реальних подій, і тому стає можливим генерувати дані та створювати набір даних значно швидше, ніж набір даних, який залежить від реальних подій. Це означає, що великі об’єми даних можна виробляти протягом короткого часу. Це особливо вірно для подій, які рідко відбуваються, оскільки якщо подія рідко трапляється в дикій природі, більше даних можна створити з деяких справжніх зразків даних. Крім того, дані можна автоматично маркувати під час генерації, що суттєво зменшує час, необхідний для маркування даних.

Синтетичні дані також можуть бути корисними для отримання даних для навчання крайових випадків, які є випадками, які можуть трапитися рідко, але є важливими для успіху вашого ІІ. Крайові випадки – це події, які дуже схожі на основну ціль ІІ, але відрізняються важливими способами. Наприклад, об’єкти, які тільки частково видно, можуть бути розглянуті як крайові випадки при розробці класифікатора зображень.

Нарешті, синтетичні набори даних можуть мінімізувати проблеми конфіденційності. Спроби анонімізувати дані можуть бути неефективними, оскільки навіть якщо чутливі/ідентифікуючі змінні видалені з набору даних, інші змінні можуть діяти як ідентифікатори, коли вони поєднуються. Це не проблема для синтетичних даних, оскільки вони ніколи не базувалися на реальній особі чи реальній події.

Використання синтетичних даних

Синтетичні дані мають широкий спектр використань, оскільки їх можна застосовувати майже до будь-якої задачі машинного навчання. Поширені випадки використання синтетичних даних включають самоходні транспортні засоби, безпеку, робототехніку, захист від шахрайства та охорону здоров’я.

Одним з перших випадків використання синтетичних даних були самоходні автомобілі, оскільки синтетичні дані використовуються для створення навчальних даних для автомобілів у умовах, коли отримання реальних даних з дороги є складним або небезпечним. Синтетичні дані також корисні для створення даних, які використовуються для навчання систем розпізнавання зображень, таких як системи відеоспостереження, значно ефективніше, ніж ручне збирання та маркування великої кількості навчальних даних. Робототехнічні системи можуть бути повільними у навчанні та розробці за допомогою традиційних методів збору та навчання даних. Синтетичні дані дозволяють робототехнічним компаніям тестувати та розробляти робототехнічні системи за допомогою симуляцій. Системи захисту від шахрайства можуть виграти від синтетичних даних, а нові методи виявлення шахрайства можна навчати та тестувати за допомогою даних, які постійно оновлюються, коли використовуються синтетичні дані. У сфері охорони здоров’я синтетичні дані можна використовувати для розробки класифікаторів здоров’я, які є точними, але зберігають конфіденційність осіб, оскільки дані не будуть базуватися на реальних особах.

Виклики синтетичних даних

Хоча використання синтетичних даних приносить багато переваг, воно також приносить багато викликів.

Коли синтетичні дані створюються, вони часто не мають аутлієрів. Аутлієри трапляються в даних природним чином, і хоча вони часто видалені з навчальних наборів даних, їхнє існування може бути необхідним для навчання真正 надійних моделей машинного навчання. Крім того, якість синтетичних даних може бути дуже змінною. Синтетичні дані часто генеруються з вхідними, або початковими, даними, і тому якість даних може залежати від якості вхідних даних. Якщо дані, використані для генерації синтетичних даних, є упередженими, згенеровані дані можуть продовжувати цю упередженість. Синтетичні дані також потребують деякої форми контролю якості. Їх потрібно перевірити проти даних, анотованих людьми, або інакше автентичних даних у деякій формі.

Як створюються синтетичні дані?

Синтетичні дані створюються програмно за допомогою технік машинного навчання. Класичні техніки машинного навчання, такі як дерева рішень, можна використовувати,а також техніки глибокого навчання. Вимоги до синтетичних даних будуть впливати на вибір алгоритму, який використовується для генерації даних. Дерева рішень та подібні моделі машинного навчання дозволяють компаніям створювати некласичні, багатомодальні розподіли даних, навчені на прикладах реальних даних. Генерація даних за допомогою цих алгоритмів забезпечить дані, які високо корелюють з оригінальними навчальними даними. Для випадків, коли типовий розподіл даних відомий, компанія може генерувати синтетичні дані за допомогою методу Монте-Карло.

Методи глибокого навчання для генерації синтетичних даних зазвичай використовують або варіаційний автоенкодер (VAE), або генеративну адверсарну мережу (GAN). VAE – це несупервізовані моделі машинного навчання, які використовують кодувальники та декодувальники. Кодувальна частина VAE відповідає за стиснення даних до простішої, компактнішої версії оригінального набору даних, яку потім декодувальник аналізує та використовує для генерації представлення базових даних. VAE навчається з метою досягнення оптимальної взаємозв’язку між вхідними даними та виводом, де і вхідні дані, і вивід дуже схожі.

Коли мова йде про моделі GAN, їх називають “адверсарними” мережами через те, що GAN насправді складається з двох мереж, які конкурують одна з одною. Генератор відповідає за генерацію синтетичних даних, тоді як друга мережа (дискримінатор) працює шляхом порівняння згенерованих даних з реальним набором даних та спробою визначити, які дані є підробними. Коли дискримінатор виявляє підроблені дані, генератор повідомляється про це та робить зміни, щоб спробувати отримати нову партію даних від дискримінатора. Згодом дискримінатор стає все краще та краще у виявленні підробок. Обидві мережі навчаються одна проти одної, з підробками, які стають все більш реалістичними.

Блогер і програміст з спеціалізацією у темах Machine Learning і Deep Learning. Даніель сподівається допомогти іншим використовувати силу штучного інтелекту для соціальної добробути.