LINUX.ORG.RU

ИИ для бота на CUDA/TensorFlow

 , , , ,


2

2

Что почитать для написания простого бота для танчиков как в денди? На двумерной сетке, без анализа графики, то есть данные доступны уже в готовом виде - позиции противников, препятствия и т.п. Чтобы мозги работали на нейросетях и играл как человек, соперничал, искал обходные пути, мог оценивать разные не сложные стратегии и принимать решения, ну и всё такое… насколько это всё сложно и насколько продвинулись в этом нейросетки и существующие фреймворки по типу TensorFlow?

★★★★★

Гугл. А если серьёзно то начать с теории игр и английского (иначе скорее всего ты ничего не поймешь), а потом в гугл по статейкам как делать босявых на нейронках. Тензор флоу всего лишь тулза, нейросетки тоже. Как человек не выйдет, человек пока умнее любой нейросетки, но не может варить те же объёмы данных в минуту что и сетка, по крайней мере осознанно. По сути тебе надо всего лишь определиться с видом представления информации для твоей сети и помазавшись нейронкой нужной архитектуры + возможно генетическим алгоритмом отправить играть босявых друг с другом. На самом деле для этого надо дофига всего знать, хотя кажется всё просто, но это только до практики просто. По факту даже если не рассматривать алгоритмы отличные от нейронок (те же деревья решений) первая нетривиальная проблема будет в представлении поля на котором играют для нейронки. Вторая будет в выборе архитектуры, а там ещё куча нюансов вылезет, потому что где-то потребуется понимание того что реально происходит, где-то понимание того что нужно напильником, а что не нужно и так далее.

ЗЫ

Если ответить на вопрос насколько сложно въехать со школьной парты в азы проектирования AI, то на это учатся 6 лет в универе. 4 года общей подготовки в бакалавриате и 2 года профильной магистратуры. При этом на выходе скорее всего будет недоучка, которому ещё работать и работать чтобы начать что-то соображать более-менее, да и настолько там всё плохо, что и кандидаты науки с профессорами тоже скрипят как старые колёса у телеги, если чуть в сторону от проторенной дороги отходить, например решать новую задачу про которую в гугле статей нету даже близко. Времени тоже в образовательной программе на всё не хватит, будут дыры в нужных сферах знаний (например тензоры выкинут и обойдутся одними матрицами, потому что иначе тебя бы все 10 лет держать пришлось в шараге), их придётся самому латать параллельно с обучением.

Вот и имеем по факту единицы по настоящему годных спецов в отрасли и те годны только в узком профиле.

А так, моё мнение в порядке важности:

Английский -> теория вероятности и математическая статистика (мат статистика важнее) -> векторная алгебра и геометрия -> теория игр -> разные компьютерные науки -> дискретная математика (графы из неё стоят наравне с мат статистикой, остальная нужна как фундамент) -> численные методы и методы оптимизации/матан/функан (по большей части для базы, отдельные штуки нужны в специфичных задачах), ну а дальше всё остальное.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 9)
Ответ на: комментарий от peregrine

По срокам: пол года практики вечерами на выходных (с ежедневным чтением теории/форумов перед сном). Основная специальность - строитель, программирую «для души».

anonymous
()
Ответ на: комментарий от anonymous

ЗЫ: бот взял первый ранг в кораблях :)

anonymous
()
Ответ на: комментарий от anonymous

Ну тут зависит от глубины погружения как всегда. На коммерческий уровень чуть-чуть глубже надо нырять. Но ты безусловно молодец.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)

нейросеточки тут не сильно помогают, всёравно надо читать доку по классическим ИИ чтобы понимать куда нейросетку учить.

Thero ★★★★★
()
Ответ на: комментарий от peregrine

Если ответить на вопрос насколько сложно въехать со школьной парты в азы проектирования AI, то на это учатся 6 лет в универе. 4 года общей подготовки в бакалавриате и 2 года профильной магистратуры. При этом на выходе скорее всего будет недоучка

А как же самостоятельное обучение в дополнение к основному в свободное время? Если при этом испытуемый за 10 лет (10 лет БЛЯ !!!) обучения выходит недоучкой - то это диагноз.

У меня есть знакомая с высшим образованием (техническое, но не связанное с машинным обучением) и хорошими математическими знаниями уровня универа. Прочитала пару книг, прошла 3-4 курса и предложили позицию джуна (что-то с CV/ML). Я думаю самый рост начинается именно на реальной работе.

rumgot ★★★★★
()
Последнее исправление: rumgot (всего исправлений: 1)
Ответ на: комментарий от rumgot

Не 10, а 6 4+2. Ну и по факту там такая ширина, что на весь известный ML + полезный для него матан может и жизни не хватить, хотя по идее надо бы. Так и работают неучами идя по узкой специализации и концентрируясь на 1 виде задач, например обработке изображений или работе с текстами, что поделать. Джуны в ml вообще обычно данные чистят, иногда регулярками, для чего ума много не надо.

peregrine ★★★★★
()
Ответ на: комментарий от peregrine

Не 10, а 6 4+2. Ну и по факту там такая ширина, что на весь известный ML + полезный для него матан может и жизни не хватить, хотя по идее надо бы. Так и работают неучами идя по узкой специализации и концентрируясь на 1 виде задач, например обработке изображений или работе с текстами, что поделать. Джуны в ml вообще обычно данные чистят, иногда регулярками, для чего ума много не надо.

6 - это тоже много. Я не согласен, что узкая специализация = неуч. Это твоя личная аксиома.

rumgot ★★★★★
()
Ответ на: комментарий от rumgot

Нет. Твоя позиция понятна, свою я тоже обозначил. Дальше пусть читатели решают сами какая точка зрения им ближе.

peregrine ★★★★★
()

Нейросетки для поиск похожего в громадных объемах контента, а не для вот этого вот. «ИИ» же вообще журналистско-маркетинговый термин, откровенно играющий на ассоциациях из НФ.
В общем твой вопрос это как вопрос пятиклассника «как мне написать свой крузис». Никак. Это делает группа очень умных и очень пашущих людей.

anonymous
()
Ответ на: комментарий от anonymous

Конкретно его задача решается в соло студентом на уровне вкр, ясно что результат будет не лучшим в мире, но работать будет.

peregrine ★★★★★
()

А тебе принципиально именно нейронка нужна?

Для этой задачи намного лучше подойдёт банальное дерево ходов на Nную глубину.

Просто составляешь список всех возможных действий на данный момент (T). Для каждого из этих действий генерируешь состояние карты T+1. Дальше, составляешь список действий противника для каждой карты T+1. Генериш карты T+2 и т.д. на глубину N.

Дальше, придумываешь оценочную функцию для карты, которая берёт на входе карту и возвращает число S, чем оно больше, тем выгоднее ситуация для тебя.

И дальше суммируешь S по ветвям дерева и выбираешь действие с наибольшим суммарным S.

Как видишь, на пальцах объясняется в трёх абзацах и никаких супер скиллов здесь не требуется.

Merlin86
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.