Архив метки: Нейронные Сети

Используем DALL-E для геймдева

Vrubel-style painting of an indie game developer working on her game, like The Demon Seated.

Получил доступ к DALL-E и попробовал применить его к чему-нибудь полезному — геймдеву. В конце-концов, к чему ещё прикручивать процедурную генерацию.

Сначала тезисно расскажу об общих впечатлениях, а потом посмотрим для чего в геймдеве можно использовать этот инстрмент прямо сейчас. А для чего пока не получится.

Осторожно, много трафика — DALL-E отдаёт png файлы размером 1-2 мегабайта. Я немного пожал их, но качество старался сохранить на максимуме, поэтому картинки всё-равно тяжёлые.

Читать далее

Write Your Own Adventure

Я уже публиковал концепт документы игр. В этот раз будет не концепт, a скорее white paper игр нового поджанра. Несколько его представителей уже есть, со временем их будет становиться больше.

О чём-то похожем я уже говорил, когда писал про будущее контента в геймдеве.

Write Your Own Adventure — WYOA — по аналогии с Choose Your Own Adventure — CYOA.

В WYOA игрок не ограничен небольшим количеством предопределённых вариантов действий, как приходится делать в CYOA из-за сложности поддержки дерева сюжета. Количество выборов будет либо очень большим либо бесконечным. Благодаря нейронным сетям, конечно, но о них позже.

Читать далее

Монополизация машинного обучения

Появление монополий почти всегда идёт во вред, но до всеобъемлющей цифровизации у людей оставались варианты защиты от шантажа отбором товаров или услуг.

С переводом жизни в цифру, средств защиты остаётся всё меньше, отказ от цифровых услуг откатывает уровень жизни на неприемлемые для большинства позиции.

До расцвета машинного обучения проблема IT монополий с трудом, но решалась созданием альтернативного ПО. Его авторами могли выступать как небольшие предприятия, так и сообщества энтузиастов, ратующие за свободное и открытое ПО

Сначала альтернативный софт можно было создавать в одиночку. Затем группами всё большего размера. 

Стоимость разработки росла, но альтернативы продолжали появляться, поскольку основная стоимость производства ПО определялась оплатой труда разработчиков. Люди всегда могут затянуть пояса ради идеи или будущего дохода.

Machine Learning, в его текущем виде, меняет расклад.

Читать далее

Feature Programming

Эссе по итогам нырка в Deep Learning, но не о DL и даже не совсем о Machine Learning, а о новой парадигме программирования, которая рождается из него. 

Собственно, нейронные сети я смотрел не потому, что интересуюсь именно ими, а потому что они сейчас демонстрируют наибольший прогресс и характерные черты этой парадигмы.

В следствие выбранной темы, эссе получилось футурологическим и абстрактным. Например, я не буду перечислять области применения DL и достигнутые в них результаты — этим итак всё инфопространство забито.

Оговорка раз: я определённо не эксперт в машинном обучении. Эссе в большей степени отражает мой опыт и картину мира, нежели знания и понимание ML и DL.

Оговорка два: термины «признак», «feature» будут использоваться достаточно вольно.

Читать далее

Реализация Generative Adversarial Network

В завершение разбирательства с Deep Learning решил посмотреть что-нибудь более интересное и ориентированное на генерацию контента — реализовать GAN.

По правде говоря, большую часть времени с GAN (и Autoencoder) я экспериментировал на спрайтах карты Сказки. Ожидаемо, на таком мизере обучающих данных ничего интересного не получилось. Хотя польза и была. Поэтому для поста я подготовил отдельный notebook с более наглядными результатами — генерацией обуви по набору данных Fashion MNIST.

Ноутбук с реализацией GAN и комментариями.

Про архитектуру GAN лучше почитать в вики, интернетах или моём ноутбуке.

Краткая суть:

  • Тренируются две сети: generator & discriminator.
  • Генератор учится создавать картинки из шума.
  • Дискриминатор учится отличать поддельные картинки от настоящих.
  • Ошибка дискриминатора определяется качеством предсказания фейковости изображения.
  • Ошибка генератора определяется качеством обмана дискриминатора.

Если правильно подобрать топологии сетей и параметры обучения, то в итоге генератор научается создавать картинки неотличимые от оригинальных. ??????. Profit.