Эссе о разработке игр, мышлении и книгах

Нельзя просто так взять и запустить Deep Learning

Очень известный мем с Боромиром.

Продолжаю разбираться с Deep Learning.

Решил попробовать его на практике: сам придумал лабу, сам сделал, сам себя похвалил.

Целью было построить простейшую, но более-менее полную цепочку обучения модели с помощью Keras+TensorFlow и запустить её на своей машине.

Публикую notebook с выполненной лабой, комментариями о базовых штуках, костылях и нюансах. Надеюсь, будет полезна новичкам. Может быть меня даже поругает кто-нибудь из опытных датасаентистов.

А в этом посте покритикую инфраструктуру всего этого.

Далее

MIT 6.S191: галопом по Deep Learning

Отмучавшись с матаном, я решил, что времени на основательное разбирательство со всем машинным обучением уйдёт слишком много — надо срезать углы.

Поэтому следующей целью выбрал курс MIT 6.S191: Introduction to Deep Learning.

Потому что MIT и по темам лекций видно широкое покрытие темы.

Курсом очень доволен.

Далее

Будущее контента в геймдеве

Улучшаем графику до реалистичной с помощью нейронных сетей.

Появилась новая работа по улучшению графики игр с помощью нейронных сетей. На этот раз на примере GTA V. В ролике можно посмотреть на полученный результат и на описание структуры сети.

Я уже в шутку писал об изменении pipeline арта. В этот раз сделаю более серьёзный прогноз.

Далее

Больше новостей о процедурной генерации

Примеры генерации 3D модели по запросу "A capybara made of voxels sitting in a field"

Примеры генерации 3D модели по запросу "A capybara made of voxels sitting in a field"

На этот раз Open AI рассказали о новой нейронке (на русском) а-ля GPT-3, но для изображений. Пример её работы можно видеть на заглавной картинке. Изображения сформированы для фразы «A capybara made of voxels sitting in a field» (капибара из вокселей, которая сидит в поле).

На странице с анонсом можно посмотреть другие примеры работ, включая разные способы изображения (3D рендер, изометрию, низкополигональные модели, etc).

Результаты, конечно, кривоваты. Но, надо учесть два нюанса:

  • Это первый подход к подобной архитектуре с подобными деньгами.
  • Это сеть общего назначения, не натасканная на геймдев.

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

Постепенно вырисовывается новый пайплайн для арта:

  • нейронка для постановки задания;
  • нейронка для генерации контента;
  • нейронка для устранения неточностей на картинке;
  • нейронка для стилизации;
  • нейронка для вылизывания;
  • нейронка для выделения 3D меша;
  • нейронка для оптимизации меша;
  • нейронка для анимации;

Интеграция контента, позиционирование камер, цвет, свет, звук и прочее — тоже нейронки. Ну вы поняли :-D

Товарищи, которые научатся делать эти лопаты, сорвут большой куш.

Математики добрались до нейронных сетей

На arxiv.org выложен интересный препринт: Every Model Learned by Gradient Descent Is Approximately a Kernel Machine.

Как видно из названия, исследователи утверждают, что нейронные сети, обученные методом градиентного спуска (один из самых распространённых вариантов обучения) близки такой штуке как kernel machines — одной из техник машинного обучения «предыдущего поколения».

У kernel machines есть несколько интересных особенностей:

  • Техника хорошо проработана математически.
  • Требует значительно менее дорогих вычислений.
  • Вместо «выделения» признаков «напрямую» использует обучающую выборку.

Из этого может неслучиться несколько интересных вещей.

  • «Готовая» математика упростит сети и/или улучшит их результат и/или ускорит/удешевит обучение.
  • Область возможностей сетей очертится более чётко — окажется, что они не выделяют никакие новые признаки, а используют только «запутанные» данные из обучающей выборки.

Оба варианта выглядят довольно интересно.

Обсуждение на ycombinator.com