2

Я пишу нейронную сеть, которая может играть в tic-tac-toe. Сеть имеет 9 входных нейронов, которые описывают состояние платы (1 - для сетевых перемещений, 1,5 - для противников, 0 - для пустых ячеек) и 9 выходных нейронов (выходной нейрон с самым высоким значением указывает на лучшее действие в данной государство). В сети нет скрытого слоя. Активационная функция - сигмовидная. Метод обучения - Q learning + backpropagation.Нейронная сеть для tic-tac-toe

Сеть тренируется, но плохо (продолжает шагать по занятым ячейкам). Поэтому я решил добавить скрытый слой. И я хотел бы спросить:

Какое количество нейронов в скрытом слое использовать и какие функции активации лучше использовать для скрытых и выходных слоев?

+1

Мне нравится проект, если вы разместите его на Github, это принесет пользу всем. К сожалению, неясно, как нам ответить на вопрос. Ваш вопрос звучит так, будто у вас есть ошибка для меня (шаг на занятых ячейках), чем вопрос для машинного обучения. – SmallChess

ответ

1

В общем, количество нейронов, добавляемых для скрытого слоя, обсуждается here, но в качестве эмпирического правила количество нейронов в скрытом слое должно быть приблизительно как число входных нейронов.

Вы можете также рассмотреть вопрос о добавлении количества скрытых слоев, которые обсуждались here

Функция активации сигмовидной хороша и в любом случае вы можете проверить его и сравнить с другими функциями активации.

В вашем конкретном случае вы также можете рассмотреть вопрос о том, чтобы агент не рассматривал (вообще), чтобы выбрать занятые ячейки, используя другую архитектуру для выходного нейрона.

+0

Благодарим вас за советы! Я попытаюсь использовать их. – John