Товарищи, по-моему, в теме наблюдается существенное недопонимание того, что такое глубокие нейронные сети, и как работает автомат, построенный на основе оных. Я попробую кратко и по-возможности попроще объяснить, о чём речь - чтобы не возникало мнения, будто речь идёт о божественной машине - умеющей доставать из воздуха ресурсы, предвидеть фотоночный раш на основании утренней температуры в Москве, и прочей фантастики %)
Если совсем обобщённо - то это сложная машинка, которая умеет следующие вещи: выслушивать вопрос, давать ответ, и учиться давать более правильный ответ.
В начале она не умеет вообще ничего (вне зависимости от заданного вопроса даётся случайный ответ). Переводя на язык старкрафта - её действия в игре абсолютно случайны. Она будет в ответ на любую информацию совершать любое доступное ей действие. "Магия" (100500мильёнов теорвера, computer science и машинного времени) изменяет её так, чтобы она совершала в ответ на информацию именно те действия, которые приводят к положительному результату с бОльшей вероятностью при данной полученной информации. И да - внешне будет казаться, словно она "мыслит", как и живой игрок - наборами действий (билд-ордерами, тактиками в бою), и их корректировками (или перекраиваниями) на лету в зависимости от поступающей информации.
Обучаться она будет, просматривая полную информацию от боёв всех игроков, и пытаясь найти в ней какие-то закономерности. Простой вопрос: как добывать ресурсы? Все игроки добывают кристаллы рабочими, другими юнитами кристаллы не добывают. Значит, я тоже буду добывать кристаллы рабочими, а другими юнитами не буду. Вопрос сложнее: какие операции я выполняю первые 30 секунд игры в матчапе протосс-зерг на карте Труляля в Мастерс Лиге? Я знаю, что в матчапе протосс-зерг на карте Труляля в Мастерс Лиге 30% выигравших игроков первые 30 секунд выполняли одни действия, 70% - другие. Окей, я буду выбирать между этими двумя наборами действий с шансом 3/7. Вопрос адской сложности: у меня достигнут чистый доход в Z кристаллов в секунду, противника не видно, прошло полторы минуты от начала игры. Какие расходы мне нужно предпринять? Опять - на начало партии я знаю всю информацию об этом конкретном моменте времени во всех известных боях при моей текущей стратегии, и у меня уже есть ответ: этот поток пойдёт в XXX.
И так далее, и так далее, и так далее - вопросы и ответы в каждый момент времени, по аналогии, со всеми взаимосвязями. Система будет ошибаться (проигрывать), и пытаться поменять нейросеть (или набор сетей), отвечающих за действия в игре (в зависимости от входящего потока данных) после каждой партии таким образом, чтобы исход следующей партии - с полным учётом входящего потока данных - был лучше.
Таракандроп не позволил выиграть игру? шурх-шурх-шурх, значит, в этом конкретном матчапе-на этой карте-в этой ситуации мы немножко понижаем вероятность использовать стратегию таракандропа, поскольку она однажды не сработала.
Конечным результатом будет, условно говоря, игрок, который играет на любом заданном уровне сложности, со всеми присущими этому уровню сложности ошибками и действиями. Предпочтения этого игрока будут определяться предпочтениями всех игроков, успешно играющих на этом рейтинге - и, по желанию, можно будет настроить его на изобретение собственных тактик, работоспособных на данном рейтинге.
Помимо всего прочего - это будет ещё и классный инструмент анализа игры. Пока эта система обучится - она как раз научится распознавать билдордеры-тактики и классифицировать их. В результате, например, близзард сможет ежемесячно публиковать нормальную, основанную на реальных данных аналитику по билдордерам, их процентам побед в зависимости от лиги, тенденции игры, и так далее.
Изменено: Varryl, 14 Ноябрь 2016 - 04:30