Data Augmentation

Оновлено: 31.07.2023

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

Більша кількість даних → більша кількість параметрів, які можна вивчити → більша ймовірність успішного виконання складного завдання

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

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

Як працює аугментація даних?

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

Доповнення даних - це процес синтезу нових даних на основі наявних

Доповнення даних проти синтетичних даних

Доповнення даних відноситься до методів збільшення кількості даних. Це досягається шляхом вставки дещо змінених копій даних, які вже існують, або синтезу даних з існуючих даних.

Чому доповнення даних важливо зараз?

Створення моделі машинного навчання (МН), що працює на конкретних завданнях, і забезпечення її необхідними даними є складним завданням навіть за допомогою методів навчання з перенесенням.

Саме тут важливість доповнення даних виходить на перший план. Обидві передумови, про які ми згадували на початку (різноманітність і велика кількість даних) можна вирішити за допомогою різних методів доповнення даних. Однак на цьому важливість розширеної структури даних не закінчується. Її можна використовувати навіть для вирішення завдань класифікації дисбалансу. Насправді, найпопулярніші методи доповнення числових даних, такі як SMOTE або SMOTE NC, використовуються для вирішення проблем дисбалансу класів.

Значна роль доповнення стає зрозумілою, коли ми бачимо якісні моделі для різних застосувань з доповненням і без нього. Ефективність класифікації зображень без доповнення становить близько 57%, тоді як ефективність з такими методами, як прості зображення та GAN, становить 78% для першого і 85% для другого. Класифікація тексту також значно покращується з доповненням даних - з 79% без нього до 87%.

Згідно з багатьма тематичними звітами, методи доповнення даних покращують загальну продуктивність, а різні методи доповнення позитивно впливають на модель

Методи доповнення простих неструктурованих даних, таких як зображення, стали великим досягненням. Ці методи - це прості зміни, такі як обертання, перевертання, обрізання, масштабування, переклад, зміна яскравості або відтінку кольору.

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

Методи доповнення даних на основі глибоких нейронних мереж

доповнення на основі GAN - складається з дискримінатора та генератора. Мета другої навченої нейронної мережі, як випливає з назви, полягає у створенні фейкових зображень. Завдання дискримінатора - відрізнити фейкові зображення від справжніх.

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

Нейронне перенесення стилю поєднує структуру одного зображення з дизайном іншого зображення в цьому процесі. Таким чином, доповнене зображення створюється за допомогою різних зображень. При цьому доповнене зображення дуже схоже на оригінальне (вхідне) зображення, єдиною відмінністю є "новий" стиль від другого зображення.

Автоматизація методу доповнення даних є ефективним способом швидкої розробки високопродуктивних моделей машинного навчання.