подкрепление обучения - количество действий - PullRequest
1 голос
/ 14 марта 2020

Чтение https://towardsdatascience.com/reinforcement-learning-temporal-difference-sarsa-q-learning-expected-sarsa-on-python-9fecfda7467e epsilon_greedy определяется как:

def epsilon_greedy(Q, epsilon, n_actions, s, train=False):
    """
    @param Q Q values state x action -> value
    @param epsilon for exploration
    @param s number of states
    @param train if true then no random actions selected
    """
    if train or np.random.rand() < epsilon:
        action = np.argmax(Q[s, :])
    else:
        action = np.random.randint(0, n_actions)
    return action

Является ли параметр n_actions числом действий, доступных оператору? Поэтому, если агент учится играть в футбол, и доступны следующие действия: {пинок, не пинок} n_actions = 2

1 Ответ

2 голосов
/ 14 марта 2020

Да, вы правы. Обычно вы определяете словарь, содержащий карту между целыми числами и каждым действием, которое может выполнить ваш агент. Вы можете видеть, что в функции n_actions используется именно для выборки индекса случайного действия, когда вы не выбираете оптимальный.

...