Krazer Опубликовано: 18 февраля 2016 Поделиться Опубликовано: 18 февраля 2016 А то мне пак без двух цветов попался (одного вообще не было, второй только в составе многоцветной карты). Это и в обычных может быть, по идее. Фойлушка, вроде, не соблюдает принтран. Ссылка на комментарий Поделиться на других сайтах More sharing options...
wernon Опубликовано: 18 февраля 2016 Поделиться Опубликовано: 18 февраля 2016 а это нормально, что кнопка 'start new draft не работает?'. Выдает : javascript: $('#startDraftModal').modal() в url и [object Object] на самой странице. Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 24 февраля 2016 Автор Поделиться Опубликовано: 24 февраля 2016 (изменено) За выходные добавил страницу с итоговым надрафченным кардпулом + сортировку карт по цвету или СМС + при старте драфта в выпадашке появилась опция OGW-OGW-BFZ )) Походу, есть какие-то проблемы с веб-сервером - приложение полностью отваливается, и появляется ошибка 502. Буду разбираться. Изменено 24 февраля 2016 пользователем rx303 1 Наверх Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 25 февраля 2016 Автор Поделиться Опубликовано: 25 февраля 2016 Кажется, поправил. Можно гонять драфты. Ссылка на комментарий Поделиться на других сайтах More sharing options...
zuko3d Опубликовано: 26 февраля 2016 Поделиться Опубликовано: 26 февраля 2016 (изменено) Отличное начинание! Правда, есть несколько замечаний... В 21 веке люди алгоритмы уже не пишут ) Это просто неверно. Computer Science активно развивается в 21м веке. И немало хитрых подходов и алгоритмов придумано именно в 21м веке, особенно для нейронных сетей. Входные данные - это карты в очередном бустере + уже пикнутые карты. Выходные данные - это карта, которую надо взять. Зависимостями между пиками в одном драфте ("отпустил на круг" и т.д.) пренебрегаю.На этих данных обучил нейронную сеть. Есть несколько вопросов по реализации: Каким алгоритмом обучения пользуетесь? Если есть учитель, то что в его роли выступает? Каким способом кодируете карты? Какой размер сети (количество узлов) берёте? upd: если ответ на какой-то вопрос является тайной (вдруг вы монетизировать свой сайт потом хотите?), то, конечно, отвечать не следует =) Помимо этого есть и другой вопрос: на чём написан сам код обучалки нейросети? Если на плюсах и работает под линуксом, то я могу позапускать его на кластере (500+ процов Intel Xeon) - выгоду такой мощи объяснять вроде как не нужно =) Изменено 26 февраля 2016 пользователем zuko3d Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 26 февраля 2016 Автор Поделиться Опубликовано: 26 февраля 2016 Отличное начинание! Правда, есть несколько замечаний... Это просто неверно. Computer Science активно развивается в 21м веке. И немало хитрых подходов и алгоритмов придумано именно в 21м веке, особенно для нейронных сетей. Есть несколько вопросов по реализации: Каким алгоритмом обучения пользуетесь? Если есть учитель, то что в его роли выступает? Каким способом кодируете карты? Какой размер сети (количество узлов) берёте? upd: если ответ на какой-то вопрос является тайной (вдруг вы монетизировать свой сайт потом хотите?), то, конечно, отвечать не следует =) Помимо этого есть и другой вопрос: на чём написан сам код обучалки нейросети? Если на плюсах и работает под линуксом, то я могу позапускать его на кластере (500+ процов Intel Xeon) - выгоду такой мощи объяснять вроде как не нужно =) Алгоритм обучения - backprop, разумеется. Градиентный спуск - при помощи Adam (http://arxiv.org/abs/1412.6980v8) Учитель - данные по пикам игроков с симулятора tappedout.net Кодировка - просто порядковый номер в списке карт формата, отсортированных по алфавиту. Потом перевожу в one-hot представление и суммирую для бустера\надрафченных карт. Т.е. цвета, смс, типа карты в исходных данных нет. Только некий id'шник. Размер сети - много разного перебрал, сейчас это 3 слоя по 1000 нейронов. Для обучения сети использую Keras. Гоняю код на gpu2.2xlarge сервере Амазона - там у них стоит NVidia Grid K520. Обучение сети для OGW-OGW-BFZ заняло в районе часа. 1 Наверх Ссылка на комментарий Поделиться на других сайтах More sharing options...
zuko3d Опубликовано: 26 февраля 2016 Поделиться Опубликовано: 26 февраля 2016 Алгоритм обучения - backprop, разумеется. Градиентный спуск - при помощи Adam (http://arxiv.org/abs/1412.6980v8) Учитель - данные по пикам игроков с симулятора tappedout.net Кодировка - просто порядковый номер в списке карт формата, отсортированных по алфавиту. Потом перевожу в one-hot представление и суммирую для бустера\надрафченных карт. Т.е. цвета, смс, типа карты в исходных данных нет. Только некий id'шник. Размер сети - много разного перебрал, сейчас это 3 слоя по 1000 нейронов. Для обучения сети использую Keras. Гоняю код на gpu2.2xlarge сервере Амазона - там у них стоит NVidia Grid K520. Обучение сети для OGW-OGW-BFZ заняло в районе часа. Спасибо за ответы! Вопрос - почему backprop? На мой взгляд, он самый простой в реализации, но так же и самый "слабый". Пробовали ли "модный" deep learning с использованием RBM? Или эволюционные алгоритмы (в совокупности с нормальным обучением)? Ещё вопрос про внутреннее устройство: вы на вход сети подаёте все карты руки + все уже надрафченныве, а на выходе она (в каком-то закодированном виде) выдает ту карту, которую нужно подрафтить - я правильно понял? Просто мне кажется более удобным вариант "рейтинговой системы" - на вход подавать только мой текущий пул и одну карту - а сеть выдаёт "рейтинг" этой карты. Таким образом мы можем подать ей по очереди все карты бустера и предлагать пикать ту, у которой рейтинг выше. Это, имхо, позволит снизить шум за счёт того, что не будет сразу много данных поступать на вход => проще обучить. Я почему спрашиваю - сам думал что-то подобное сделать, но как-то не доходят руки. А тут вы уже сделали рабочую версию - очень любопытно стало. Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 26 февраля 2016 Автор Поделиться Опубликовано: 26 февраля 2016 Спасибо за ответы! Вопрос - почему backprop? На мой взгляд, он самый простой в реализации, но так же и самый "слабый". Пробовали ли "модный" deep learning с использованием RBM? Или эволюционные алгоритмы (в совокупности с нормальным обучением)? Ещё вопрос про внутреннее устройство: вы на вход сети подаёте все карты руки + все уже надрафченныве, а на выходе она (в каком-то закодированном виде) выдает ту карту, которую нужно подрафтить - я правильно понял? Просто мне кажется более удобным вариант "рейтинговой системы" - на вход подавать только мой текущий пул и одну карту - а сеть выдаёт "рейтинг" этой карты. Таким образом мы можем подать ей по очереди все карты бустера и предлагать пикать ту, у которой рейтинг выше. Это, имхо, позволит снизить шум за счёт того, что не будет сразу много данных поступать на вход => проще обучить. Я почему спрашиваю - сам думал что-то подобное сделать, но как-то не доходят руки. А тут вы уже сделали рабочую версию - очень любопытно стало. Насчет "слабого" - что-то не уверен. Вроде как главный алгоритм для обучения простых feed-forward сетей. Думаю, он сходится быстрее, чем эволюционные алгоритмы. Если исключительно RBM, как у Хинтона в статье про Netflix вроде, - нет, не пробовал. Если RBM для предобучения, то есть ведь glorot initialization. Обучать по одной карте - а что же в этом случае Y-ом будет? Плюс для одинаковых наборов сдрафченных карт одну и ту же карту могут и взять, и не взять (если в бустере были более сильные). Я вообще решал эту проблему как задачу многоклассовой классификации. Ссылка на комментарий Поделиться на других сайтах More sharing options...
zuko3d Опубликовано: 26 февраля 2016 Поделиться Опубликовано: 26 февраля 2016 Насчет "слабого" - что-то не уверен. Вроде как главный алгоритм для обучения простых feed-forward сетей. Думаю, он сходится быстрее, чем эволюционные алгоритмы. С каждым высказаыванием по отдельности я согласен. Но мне не кажется, что для драфта лучшим вариантом является простая сеть. Хотя... если оно работает (причём судя по отзывам - работает как минимум нелпохо), то может так оно и вправду лучше. Обучать по одной карте - а что же в этом случае Y-ом будет? Плюс для одинаковых наборов сдрафченных карт одну и ту же карту могут и взять, и не взять (если в бустере были более сильные). Я бы попробовал для начала такой вариант, что при заданном пуле набранных карт сдрафченная должна получать положительную оценку (например, единицу), а несдрафченные - отрицательную (например минус единицу). Таким образом при видении текущего пула и бустера (со знанием того, что взял юзер) можем обучить нашу сеть. Я вижу здесь выгоду в том, что одновременное количество поступающих в сеть параметров становится меньше, т.е. мы понизили размерность задачи - а это обычно положительно влияет на качество результата. Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 27 марта 2016 Автор Поделиться Опубликовано: 27 марта 2016 (изменено) Залил на сайт Shadows of Innistrad. Вчера была версия, которая пикает карту, первую по алфавиту. С ней нагенерили 3990 пиков. Сегодня переобучил на этих данных - сейчас уже более вменяемые решения. Изменено 27 марта 2016 пользователем rx303 3 Наверх Ссылка на комментарий Поделиться на других сайтах More sharing options...
Micoyan Опубликовано: 5 апреля 2016 Поделиться Опубликовано: 5 апреля 2016 Для иннистрада надо с двусторонними картами прописать правила. А то бывают паки вообще без них, это так не должно работать: Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 5 апреля 2016 Автор Поделиться Опубликовано: 5 апреля 2016 Ага, спасибо Ссылка на комментарий Поделиться на других сайтах More sharing options...
lat Опубликовано: 15 апреля 2016 Поделиться Опубликовано: 15 апреля 2016 Всем привет. Я намедни написал небольшой сайт, на который можно закачать лог сыгранного драфта из МТГО, проанализировать, и компьютер выдаст оценки карт из бустера в каждом пике. Карта с наиболее высокой оценкой - наиболее правильный пик. Соответственно, можно проверить свои решения или сравнить, насколько сильно пики карт друг от друга отличаются. В качестве примера первые два драфта - это с PT BFZ из визардовского draft viewer. И еще несколько просто найденных в интернете. Что скажете? давно хотел написать анализаторы для стандарта. Не интересовался этим вопросом? главное в принципе хорошая выборка по играм и колодам. Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 16 апреля 2016 Автор Поделиться Опубликовано: 16 апреля 2016 давно хотел написать анализаторы для стандарта. Не интересовался этим вопросом? главное в принципе хорошая выборка по играм и колодам. Я пока немного отошел от сайта, поскольку залип за этим: http://blackboxchallenge.com/ Ссылка на комментарий Поделиться на других сайтах More sharing options...
MrCarrot Опубликовано: 17 апреля 2016 Поделиться Опубликовано: 17 апреля 2016 Классная штука, помогла поднять скилл до более-менее адекватного уровня, но порой её предложения вызывают непонимание: в поздних пиках она предлагает брать посредственную карту в цвета, вместо хорошей карты не в цвет. Видимо я чего-то не понимаю. Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 17 апреля 2016 Автор Поделиться Опубликовано: 17 апреля 2016 (изменено) Классная штука, помогла поднять скилл до более-менее адекватного уровня, но порой её предложения вызывают непонимание: в поздних пиках она предлагает брать посредственную карту в цвета, вместо хорошей карты не в цвет. Видимо я чего-то не понимаю. Просто бот выполняет только одну задачу - собрать себе колоду. Поэтому считает, что даже плохая карта в цвет будет более полезна, чем хорошая не в цвет. Он и "не знает", что за столом есть другие игроки, с которыми потом играть. Изменено 17 апреля 2016 пользователем rx303 Ссылка на комментарий Поделиться на других сайтах More sharing options...
MrCarrot Опубликовано: 17 апреля 2016 Поделиться Опубликовано: 17 апреля 2016 (изменено) Просто бот выполняет только одну задачу - собрать себе колоду. Поэтому считает, что даже плохая карта в цвет будет более полезна, чем хорошая не в цвет. Он и "не знает", что за столом есть другие игроки, с которыми потом играть. Почему так происходит понятно. Я лишь говорю о том, что это убавляет реалистичность. Изменено 17 апреля 2016 пользователем MrCarrot Ссылка на комментарий Поделиться на других сайтах More sharing options...
Амариллен Опубликовано: 18 апреля 2016 Поделиться Опубликовано: 18 апреля 2016 Я пока немного отошел от сайта, поскольку залип за этим: http://blackboxchallenge.com/ Наш ответ Кэгглу?) Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 18 апреля 2016 Автор Поделиться Опубликовано: 18 апреля 2016 Наш ответ Кэгглу?) Скорее, это mail.ru запустил новую серию соревнований. У них ведь уже есть Russian Developer Cup, есть Russian AI Cup, а с этого года и вот такой конкурс на RL. Ссылка на комментарий Поделиться на других сайтах More sharing options...
Micoyan Опубликовано: 21 апреля 2016 Поделиться Опубликовано: 21 апреля 2016 Я пока немного отошел от сайта, поскольку залип за этим: http://blackboxchallenge.com/ То есть до конца мая правильного наполнения бустера двусторонними картами можно не ждать?) Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 23 апреля 2016 Автор Поделиться Опубликовано: 23 апреля 2016 То есть до конца мая правильного наполнения бустера двусторонними картами можно не ждать?) Да нет, на самом деле уже можно пользоваться ) Плюс еще с главной страницы можно перейти на страницу формата, где будет рейтинг карт P1P1. Для 3xSOI - все нормально, но для остальных форматов есть нюансы: 1) Когда драфтимся по разным сетам (OGW-OGW-BFZ), то бот, разумеется, не ожидает, что карты из BFZ будут попадаться в первом бустере. Так что там они сильно ниже. Поправлю как-нибудь. Зато там все равно можно оценить, насколько крутой Oblivion Strike ) 2) 3xBFZ я давно не переучивал, т.к. он уже нерелевантен, и там четко видна ошибка с перепутыванием соседних по алфавиту карт, у которых есть знаки пунктуации в названии. Гидеон и Драна, короче. 1 Наверх Ссылка на комментарий Поделиться на других сайтах More sharing options...
Micoyan Опубликовано: 25 апреля 2016 Поделиться Опубликовано: 25 апреля 2016 Да нет, на самом деле уже можно пользоваться ) Йеей, спасибо! =) Ссылка на комментарий Поделиться на других сайтах More sharing options...
rx303 Опубликовано: 28 мая 2016 Автор Поделиться Опубликовано: 28 мая 2016 (изменено) Добавил Eternal Masters на сайт. Как и в прошлый раз - сейчас бот ничего не умеет, завтра переобучу по тем драфтам, которые успеют сыграть. В каждом бустере есть фойла, но она пока никак не выделяется. Плюс из интересного - появилась опция сыграть драфт на паках из какого-нибудь другого драфта. Т.е. можно посмотреть, как бы пошло дело, если бы вы драфтились немного по-другому, или сидели на другом месте ('Replay draft' в меню на странице сыгранного драфта) Изменено 28 мая 2016 пользователем rx303 4 Наверх Ссылка на комментарий Поделиться на других сайтах More sharing options...
npoKSS Опубликовано: 28 мая 2016 Поделиться Опубликовано: 28 мая 2016 Ого! Спасибо за новый функционал, надо обязательно затестить. Ссылка на комментарий Поделиться на других сайтах More sharing options...
andrew57 Опубликовано: 11 августа 2016 Поделиться Опубликовано: 11 августа 2016 В драфтах по Eldritch Moon вкралась какая-то ошибка и у Sigardian Priest всегда вес 0%. Очень неудобно, потому что в середине пака часто кажется, что сигнал, хотя на самом деле вовсе нет. 1 Наверх Ссылка на комментарий Поделиться на других сайтах More sharing options...
Рекомендованные сообщения