Нейромережу навчили генерувати котиків

Нейромережі можна навчити не тільки розпізнавати, але й обробляти і генерувати зображення. Для останньої мети використовують системи з двох конкуруючих нейромереж — GAN (Generative adversarial network). Перша мережа (генерує) отримує на вході значення змінних, а на виході видає значення функції від цих змінних. Друга (розрізняє, або дискримінуюча) порівнює результати роботи першої мережі із зразками-еталонами — у разі Джолікер-Мартіно, з реальними фотографіями котів і кішок анфас.

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

В якості зразків Джолікер-Мартіно використовувала базу даних, що складається з десяти тисяч котячих портретів. Кращі результати вийшли з зображеннями розмірів 64 x 64 пікселя і більше (їх в базі набралося більше дев’яти тисяч), що були сформовані з допомогою мережі-генератора DCGAN.

Трохи менш переконливі котики вийшли, коли нейромережі «згодували» шість тисяч картинок роздільною здатністю 128 x 128, а генеруванням займалася DCGAN з алгоритмами автоматичної корекції помилок (Self-Normalizing Neural Networks) SELU.

Крім того, Джолікер-Мартіно спробувала генерувати котиків з допомогою алгоритму WGAN і LSGAN. В останньому випадку вийшло не дуже: в один з раундів роботи замість котиків нейромережа видала контрастні плями.

Але один з розробників алгоритму LSGAN надіслав Джолікер-Мартіно свою версію котиків, згенерованих з його допомогою, і вони виявилися дуже навіть нічого — очевидно, вся справа була в базових параметрах роботи обох нейромереж:

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *