Reinforcement Learningбучение с подкреплением) - это один из способов машинного обучения, суть которого лежит в двух понятиях, а именно агент и окружение.

Смысл RL заключается в том, чтобы научить агента верно действовать в некоторой среде благодаря сигналам о том, насколько хорошо или плохо у него это получается.

Иными словами, агент воздействует на среду, а среда воздействует на агента.



Таким образом, лично я бы выделил два популярных метода обучения такой нейросети.

А именно Q-обучение и Нейроэволюция.



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



Для работы с алгоритмом нейроэволюции, в Python есть популярная библиотека NEAT.

А для работы с Q-обучением, можно применить PyTorch.



Также, у нас на канале был ролик про создание простого перцептрона на Python.

И про использование библиотеки NEAT чтобы обучить игру играть в саму себя.