В старкрафте есть подобная штука, а игры ботов там довольно зрелищные к тому же
@dmitrii_cl2 жыл бұрын
Если интересно, на русском есть "игры разума" от одного известного в среде стеркрафта комментатора
@kuliev.vitaly2 жыл бұрын
Интересно. На досуге посмотрю.
@marvinheemeyer70272 жыл бұрын
Круто🦾🧠
@7speedru2 жыл бұрын
Жестко ограничить процессорное время и допустить разные языки программирования - это все равно, что в ринге поставить легковеса против супертяжа. Изначально неравные условия.
@linkernick53792 жыл бұрын
Плохое предложение, отнюдь не уравнивающее шансы, а наоборот, дающее преимущество участникам с доступом к более мощному железу. А участники из Я или Сбера могут вообще доступом к своим кластерам обзавестись, вот и думайте, насколько это будет честно...
@kuliev.vitaly2 жыл бұрын
Если писать if-else код, то среднего компьютера с несколькими ядрами хватит, чтоб реализовать практически любые стратегии. Мощность будет на пару порядков выше, чем на организаторских серверах. Наличие GPU для инференса нейросетей может сыграть какую-то роль. Как правило у тех, кто умеет обучать нейронки уже есть доступ к соответствующему железу. Наличие видеокарты или мощного процессора никак не сделает тебя победителем. Это лишь позволит сократить время на оптимизации и написать более сложные стратегии.
@linkernick53792 жыл бұрын
@@kuliev.vitaly Ну и представьте, один человек может писать только if-else, а другой может задействовать разные catboost, трансформеры и/или RL с моделями вроде того же AlphaZero. Плюс такие распределённые соревнования значительно тяжелее сделать устойчивыми для хакерских атак. В-общем, согласиться с вами не могу.
@kuliev.vitaly2 жыл бұрын
Проблем с хаккерскими атаками не вижу. Каждому дается ключ в админке и все запросы по шифрованному каналу передаются с подписью. Сейчас ситуация с неравенством намного хуже, чем в той что я предложил. Python это основной язык программирования ИИ. Текущих ресурсов хватает на несколько if-else условий для каждого объекта, затем стратегия вылетает по времени. Еще вариант решения - оставить текущую архитектуру и для каждого языка использовать различные лимиты. Лимиты подобрать чтоб примерно одинаковое количество if/else/циклов можно было сделать. Хотя по этому вопросу споры все равно будут.
@alexeyzabashta2 жыл бұрын
Немного путанный рассказ получился. 1) Странное сравнивать этот конкурс с Кеглем, так как тут более "чистый" Искусственный интеллект, а на Кегле Анализ данных, который часто путают с Машинном обучением. 2) Нейронная сеть сегодня - это просто синоним для дифференцируемой функции. Если использовать небольшие функции, то по времени должно зайти. 3) Проблема применения Машинного обучения в том, что нужно как-то задачу свести к нему, как это делается в Обучении с подкреплением. Например, несколько лет назад было соревнование с гонками и мой знакомый руками играл за keyboard игрока. И из этого делал набор данных для обучения. 4) Python не популярен тут, так как эта "тусовка" из олимпиадного программирования, а Python - это изначально язык для тех, кто не умеет программировать. Поэтому он так популярен в Анализе данных, где много кто хочет заниматься этой "хайповой" темой, а программировать не умеет.
@kuliev.vitaly2 жыл бұрын
1. Вопрос определений. 2. нейросеть - это нейросеть. дифференцируемая функция - это дифференцируемая функция. Какая-нибудь парабола точно не является нейросетью. Подобная замена терминов в итоге приводит к большим проблемам. 3. Есть local runner. Можно взять одного юнита и сделать классификатор на ННом тике. Сделать например 5 условных действий и посмотреть на метрики к концу игры. Нагенерить множество таких данных и обучить модель. К машинному обучению задача хорошо сводится, только в продакшине не хватит мощностей для обсчета. 4. Python отличный язык для программирования много чего. Можно просто брать и программировать, а не заниматься решением проблем линковки, объявления переменных, типизацией и много еще чем, что не связано с решаемой задачей.
@alexeyzabashta2 жыл бұрын
@@kuliev.vitaly 1) С определениями тут вроде разногласий и нету. Есть задачи ИИ, которые решают при помощи Машинного обучения или Экспертных систем - что Вы "набором if-в" назвали. Просто далёки от науки люди привыкли всё подряд называть ИИ, не конкретизируя области. 2.1) Естественно я имел в виду не просто дифференцируемую, а дифференцируемую и обучаемую функцию - у которой есть обучаемые параметры, относительно которых решается задача оптимизации. 2.2) Тут проблема как раз в обратном. Почти все алгоритмы / методики построения архитектур глубокого обучения способны работать именно с произвольными дифференцируемыми и обучаемыми функциями. Например в оригинальной статье про GAN-ы генератор и дискриминатор именно так и называются, а не "нейронными сетями".
@kuliev.vitaly2 жыл бұрын
2.2 А зачем вообще изменять терминологию? Есть термин "нейросеть", который идеально подходит к ситуации. В сокращении GAN, N как раз и обозначает "нейросеть".
@alexeyzabashta2 жыл бұрын
@@kuliev.vitaly 2.2.1) Используя этот термин, вы ограничиваете себя классом дифференцируемых функций, которые выглядят как произведение матриц с применением нелинейных функций, а также обманываете окружающих людей, которые не знают глубокого обучения и верят, что учёные до сих пор "аппроксимируют работу мозга". 2.2.2.) А теперь ещё раз взгляните на название оригинальной статьи, она называется Generative Adversarial Networks.
@kuliev.vitaly2 жыл бұрын
Если строго погружаться в матанализ, то это не "дифференцируемая функция", а "кусочно дифференцируемая функция". Например, есть RELU функция активации, которая в нуле не является дифференцируемой. Верно, что на более низком уровне это "произведение матриц и применение нелинейных функций". Еще на более низком уровне это элементарные операции с нулями и единицами. Термин "нейросеть" все равно остается корректным. Для людей, кто не знаком с deeplearning, следует сначала ознакомиться с определениями.