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

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» будут использоваться достаточно вольно.

Далее

Просто о связи линейной алгебры и нейронных сетей

Нашёл серию статей с детальным рассказом о принципах работы нейронных сетей. Начиная от векторного произведения, через матрицы к персептрону и нейронам, Понятно, доступно и последовательно — без скачков через куски теории. С примерами на Python.

  1. Linear Algebra
  2. Inner Product Spaces
  3. The Perceptron, and All the Things it Can’t Perceive
  4. Neural Networks and the Backpropagation Algorithm

Остальной блог тоже интересен. У автора много вводных статей на математические и программистские темы.

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

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

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

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

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

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

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

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

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