Штучний інтелект
Що таке синтетичні дані?

Що таке синтетичні дані?
Синтетичні дані – це швидко зростаюча тенденція та новий інструмент у сфері науки про дані. Що саме таке синтетичні дані? Коротка відповідь полягає в тому, що синтетичні дані складаються з даних, які не засновані на будь-яких реальних явищах або подіях, а генеруються за допомогою комп’ютерної програми. Але чому синтетичні дані стають так важливими для науки про дані? Як створюються синтетичні дані? Давайте знайдемо відповіді на ці питання.
Що таке синтетичний набір даних?
Як і слово “синтетичний” підказує, синтетичні набори даних генеруються за допомогою комп’ютерних програм, а не складаються з документів реальних подій. Основною метою синтетичного набору даних є бути достатньо гнучким і потужним, щоб бути корисним для навчання моделей машинного навчання.
Для того щоб бути корисним для класифікатора машинного навчання, синтетичні дані повинні мати певні властивості. Хоча дані можуть бути категорійними, бінарними або числовими, довжина набору даних повинна бути довільною, а дані повинні генеруватися випадковим чином. Випадкові процеси, які використовуються для генерації даних, повинні бути контрольованими і засновані на різних статистичних розподілах. В набір даних також можна додати випадковий шум.
Якщо синтетичні дані використовуються для алгоритму класифікації, кількість класифікаційних відмінностей повинна бути налаштованою, щоб класифікаційна задача могла бути зроблена легшою або складнішою залежно від вимог задачі. Тим часом, для завдання регресії можна використовувати нелінійні генеруючі процеси для генерації даних.
Чому використовувати синтетичні дані?
Оскільки фреймворки машинного навчання, такі як TensorFlow і PyTorch, стають легшими у використанні, а попередньо розроблені моделі для комп’ютерного зору і обробки природної мови стають більш поширеними і потужними, основною проблемою, з якою стикаються вчені-дані, є збір і обробка даних. Компаніям часто складно отримати велику кількість даних для навчання точної моделі протягом заданого часу. Ручне маркування даних – це дорогий і повільний спосіб отримання даних. Однак генерація і використання синтетичних даних можуть допомогти вченим-дані і компаніям подолати ці перешкоди і розробити надійні моделі машинного навчання швидше.
Є кілька переваг у використанні синтетичних даних. Найочевидніший спосіб, у який використання синтетичних даних приносить користь науці про дані, полягає в тому, що воно зменшує потребу у захопленні даних з реальних подій, і тому стає можливим генерувати дані і створювати набір даних значно швидше, ніж набір даних, залежний від реальних подій. Це означає, що великі об’єми даних можна виробляти протягом короткого часу. Це особливо вірно для подій, які рідко відбуваються, оскільки якщо подія рідко трапляється в дикій природі, більше даних можна змоделювати з деяких справжніх зразків даних. Крім того, дані можна автоматично маркувати під час генерації, що суттєво зменшує час, необхідний для маркування даних.
Синтетичні дані також можуть бути корисними для отримання навчальних даних для крайніх випадків, які є випадками, що можуть трапитися рідко, але є важливими для успіху вашого ІІ. Крайні випадки – це події, які дуже схожі на основну ціль ІІ, але відрізняються важливими способами. Наприклад, об’єкти, які тільки частково видно, можуть бути розглянуті як крайні випадки при проектуванні класифікатора зображень.
Нарешті, синтетичні набори даних можуть мінімізувати проблеми конфіденційності. Спроби анонімізувати дані можуть бути неефективними, оскільки навіть якщо чутливі/ідентифікуючі змінні видалені з набору даних, інші змінні можуть виступати як ідентифікатори, коли вони поєднуються. Це не є проблемою для синтетичних даних, оскільки вони ніколи не базувалися на реальній людині чи реальній події.
Варіанти використання синтетичних даних
Синтетичні дані мають широкий спектр використань, оскільки вони можуть бути застосовані майже до будь-якої задачі машинного навчання. Типові випадки використання синтетичних даних включають самохідні транспортні засоби, безпеку, робототехніку, захист від шахрайства та охорону здоров’я.
Одним з перших випадків використання синтетичних даних були самохідні автомобілі, оскільки синтетичні дані використовуються для створення навчальних даних для автомобілів у умовах, де отримання реальних навчальних даних на дорозі є складним або небезпечним. Синтетичні дані також корисні для створення даних, використовуваних для навчання систем розпізнавання зображень, таких як системи відеоспостереження, значно ефективніше, ніж ручне збирання і маркування великої кількості навчальних даних. Робототехнічні системи можуть бути повільними у навчанні та розробці за допомогою традиційних методів збору і навчання даних. Синтетичні дані дозволяють робототехнічним компаніям тестувати та інженерувати робототехнічні системи через симуляції. Системи захисту від шахрайства можуть виграти від синтетичних даних, а нові методи виявлення шахрайства можна навчати і тестувати з даними, які постійно нові, коли використовуються синтетичні дані. У сфері охорони здоров’я синтетичні дані можна використовувати для проектування класифікаторів здоров’я, які є точними, але зберігають конфіденційність людей, оскільки дані не будуть засновані на реальних людях.
Виклики синтетичних даних
Хоча використання синтетичних даних приносить багато переваг, воно також приносить багато викликів.
Коли створюються синтетичні дані, вони часто не мають аутлієрів. Аутлієри трапляються в даних природним чином, і хоча часто видалені з навчальних наборів даних, їхнє існування може бути необхідним для навчання真正 надійних моделей машинного навчання. Крім того, якість синтетичних даних може бути дуже змінною. Синтетичні дані часто генеруються з вхідними, або початковими, даними, і тому якість даних може залежати від якості вхідних даних. Якщо дані, використані для генерації синтетичних даних, є упередженими, згенеровані дані можуть продовжувати цю упередженість. Синтетичні дані також вимагають деякої форми виведення/контролю якості. Їх потрібно перевірити проти людських анотованих даних або інших справжніх даних у деякій формі.
Як створюються синтетичні дані?
Синтетичні дані створюються програмно за допомогою технік машинного навчання. Класичні техніки машинного навчання, такі як дерева рішень, можна використовувати, а також техніки глибокого навчання. Вимоги до синтетичних даних впливають на тип алгоритму, який використовується для генерації даних. Дерева рішень і подібні моделі машинного навчання дозволяють компаніям створювати некласичні, багатомодальні розподіли даних, навчені на прикладах реальних даних. Генерація даних цими алгоритмами дає дані, які є високо корельованими з оригінальними навчальними даними. Для випадків, коли типовий розподіл даних відомий, компанія може генерувати синтетичні дані за допомогою методу Монте-Карло.
Методи генерації синтетичних даних на основі глибокого навчання зазвичай використовують або варіаційний автоенкодер (VAE), або генеративну адверсативну мережу (GAN). VAE – це моделі машинного навчання без нагляду, які використовують кодувачі і декодувачі. Кодувальна частина VAE відповідає за стиснення даних до простішої, компактнішої версії оригінального набору даних, яку потім декодувач аналізує і використовує для генерації представлення базових даних. VAE навчається з метою досягнення оптимальної взаємодії між вхідними даними і вихідними даними, де обидва вхідні дані і вихідні дані є дуже схожими.
Коли мова йде про моделі GAN, їх називають “адверсативними” мережами через те, що GAN насправді складається з двох мереж, які конкурують одна з однією. Генератор відповідає за генерацію синтетичних даних, тоді як друга мережа (дискримінатор) працює шляхом порівняння згенерованих даних з реальним набором даних і намагається визначити, які дані є фальшивими. Коли дискримінатор виявляє фальшиві дані, генератор повідомляється про це і робить зміни, щоб спробувати отримати нову партію даних, яку дискримінатор не зможе виявити. Тим часом дискримінатор стає все краще і краще у виявленні фальшивих даних. Обидві мережі навчаються одна проти іншої, і фальшиві дані стають все більш реалістичними.












