Как стать автором
Обновить

Комментарии 15

а есть видео где она...

Тема глубокого обучения недостаточно раскрыта.

Из постера первого видео в статье:
AN A.I. aka Anal
НЛО прилетело и опубликовало эту надпись здесь

Как-то раз попытался обучить хентайный stylegan. Запарсил один сайт, выкачал картинки, прогнал пару недель, вот до сих пор не знаю как это забыть, было крипово

Потому что StyleGAN — это не волшебная коробка, а цифровой аналог мясорубки. И если на вход засыпать лебеду, то и на выходе получится исключительно лебеда, только перемолотая.
Такие нейронки служат отличной иллюстрацией принципа GIGO (Garbage In — Garbage Out, мусор на входе — мусор на выходе). Вы не можете просто собрать побольше разнородных картинок и прямо как есть ввалить их в нейронку. Вернее, можете, но тогда тех картинок должно быть по-настоящему много, от 400 тысяч. На датасетах вменяемого размера, порядка 30К, даже 2% мусора или откровенных «вылетов», сильно отличающихся от остальных картинок, уже приводит к существенному снижению качества.
Именно поэтому когда кто-то обучает такую сетку впервые, скармливая ей полное зеркало какой-нибудь имиджборды, результат обычно выглядит
как-то так


и приходит понимание, что датасет нужно чистить и балансировать. А то когда там полно иероглифов, каких-то ремарок, половина пикчей с цензурной мозайкой, а значительная часть тел скрыта под белыми потёками, то у нейронок типа StyleGAN начинаются проблемы с генерализацией всего этого.

а есть видео где она...

}{отт@бь)ч, ты?

В общем-то, всю статью можно заменить одним словом: StyleGAN2.
Хотя она давно не является вершиной генеративных технологий, однако благодаря относительно разумному количеству требуемых для обучения вычислительных ресурсов всё ещё наиболее популярна и широко используется во всех подобных проектах (waifulabs, Artbreeder, TPDNE).
Доступно для обучения каждому, у кого есть хотя бы 30 тыс. картинок и видеокарточка с достаточно большим объёмом VRAM (от 16Гб). А у кого нет такой карточки, для тех есть облака (вроде Google Colab за $50 в месяц).
Держатели бюджетных карт, а также «мне только посмотреть» могут обратить внимание на бюджетный вариант сетки — FastGAN и её многочисленные реализации (пример), которая хоть и обладает существенными ограничениями, но может быть обучена всего за 15 часов работы древней карточки типа GeForce 1070Ti.
достаточно большим объёмом VRAM (от 16Гб)

Вот это вот самое печальное. Весь потребительский сегмент ограничен 12гб. Чуть-чуть бы ужать архитектуру (не до уровня FastGAN, а просто чтобы в 11.5-12гб влазила), и учить долго, но с мелким batch size — и было бы норм на той же дешевой (уже не дешевой) 1080Ti.

а архитектура закрытая? batch size не изменить так просто?

Открытая, только вот в данной архитектуре большой размер батча нужен не только для накопления градиентов и ускорения расчётов, но и для работы такой фичи как path length regularization, которая как раз и обеспечивает оптимальное распределение фич в векторном пространстве модели. И именно данная архитектурная особенность потребляет примерно треть всей используемой памяти (сохранение графа вычислений для всего батча целиком). Соответственно, при сильном уменьшении батча сразу падает качество обучения.
Тем не менее, при некотором желании запустить на «потребительской» 12Гб карточке всё же можно: выставить батч 12, gradient accumulation = 4, размер изображения 128x128. Такая конфигурация при обучении займёт 11Гб VRAM, и это самый минимум, на котором данную модель вообще имеет смысл пускать.
К счастью, обучать модель для заданного датасета нужно всего один раз, после чего запускать уже обученную можно даже на весьма слабых карточках. Поэтому при отсутствии High-end карточки проще закинуть $50 на облачный аккаунт, купив GPU-ресурсов, чем пытаться впихнуть невпихуемое.

Добавить в статью котиков и будет идеально.

На 9ой секунде видео - кошкодевочка. Это даже лучше котиков!

Привязать его к моушен детект и можно открывать студию). Ш

Достаточно обычной вебкамеры. Даже простенькие сетки вроде вариаций на тему CycleGAN способны конвертировать в реальном времени изображения с камеры в аналогичные движения того персонажа, на котором обучалась сетка.
Как-то так (осторожно, 6.9Мб gif)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий