Чи можемо ми створити величезний набір даних за допомогою генеративних рекламних мереж


14

Я маю справу з проблемою, коли мені не вдалося знайти достатньо набору даних (зображень), щоб подати в мою глибоку нейронну мережу для тренувань.

Мене настільки надихнув документ "Генеральний змагальний текст для синтезу зображень", опублікований Скоттом Рідом та ін. про генеративні змагальні мережі.

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

Чи буде це досить добре?


Чи можемо ми використовувати GAN для наборів даних без зображення?
Mohamed EL-KADDOURY

@ MohamedEL-KADDOURY так, звичайно, з аудіо arxiv.org/abs/1802.04208 , з текстом arxiv.org/abs/1801.07736 тощо
Alwyn Mathew

Відповіді:


9

Це навряд чи набагато перевищить ваші зусилля щодо прямого збору даних.

Якість поточних виходів GAN (станом на 2017 рік) буде недостатньо високою. Зображення, створені GAN, як правило, невеликі і можуть мати незвичайні / неоднозначні деталі та непарні спотворення. У роботі, яку ви пов’язали, зображення, що генеруються системою із речення, мають правдоподібні кольорові блоки з урахуванням теми, але без того, як пропозиція додає вам те, чого очікувати більшості з них, не впізнається як будь-який конкретний предмет.

GAN з менш амбітною метою, ніж генерування зображень із пропозицій (що, незважаючи на мою критику вище, справді чудовий подвиг IMO), повинен створювати ближче до фотореалістичних зображень. Але їх обсяг буде меншим і, ймовірно, не буде включати бажаний тип зображення. Крім того, зазвичай розмір виводу невеликий, наприклад, 64x64 або 128x128 *, і все ще є достатньо спотворень та неоднозначностей, що оригінальні основні фотографії правди були б набагато кращими.

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

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

Якщо ви зіткнулися з проблемою з обмеженими даними про основну правду, то, можливо, кращим підходом до використання GAN було б використання попередньо підготовленого класифікатора, такого як VGG-19 або Inception v5, замінення останніх декількох повністю підключених шарів, і штраф налаштуйте його на свої дані. Ось приклад того, як це зробити за допомогою бібліотеки Keras в Python - інші приклади можна знайти за допомогою пошукових запитів на кшталт "тонкої настройки класифікатора зображень CNN".


* З моменту опублікування цієї відповіді, новітні GAN стали кращими. Дослідницька команда Nvidia мала надзвичайний успіх у створенні 1024х1024 фотореалістичних зображень . Однак це не змінює інших моментів моєї відповіді. GAN не є надійним джерелом зображень для завдань класифікації зображень, за винятком, можливо, для підзадач того, з чого GAN вже пройшов навчання та здатний умовно генерувати (а може і більш тривіально) надавати вихідні дані для "інших" категорій у класифікатори).


3

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


3

Просто з чисто теоретичної точки зору це неможливо.

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

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


2

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.