Почему примеры keras-rl всегда выбирают линейную активацию в выходном слое?

Я - новичок в Обучении Укреплению. И у меня есть вопрос о выборе функции активации выходного слоя для агентов keras-rl. Во всех примерах, предоставленных keras-rl ( https://github.com/matthiasplappert/keras-rl/tree/master/examples), выберите функцию линейной активации в выходном слое. Почему это? Какой эффект мы бы ожидали, если бы я пошел с другой функцией активации? Например, если я работаю со средой OpenAI с дискретным пространством действия 5, я должен также рассмотреть возможность использования softmax в выходном слое для агента? Большое спасибо заранее.

1 ответ

Для некоторых агентов в keras-rl linear Функция активации используется, даже если агенты работают с дискретными пространствами действий (например, dqn, ddqn). Но, например, CEM использует softmax функция активации для дискретных пространств действия (чего и следовало ожидать).

Причина позади linear Функция активации для dqn и ddqn - это ее политика исследования, которая является частью агента. Если мы рассмотрим класс политики разведки, используемый для них обоих, в качестве примера и метода select_actionмы увидим следующее:

class BoltzmannQPolicy(Policy):
def __init__(self, tau=1., clip=(-500., 500.)):
    super(BoltzmannQPolicy, self).__init__()
    self.tau = tau
    self.clip = clip

def select_action(self, q_values):
    assert q_values.ndim == 1
    q_values = q_values.astype('float64')
    nb_actions = q_values.shape[0]

    exp_values = np.exp(np.clip(q_values / self.tau, self.clip[0], self.clip[1]))
    probs = exp_values / np.sum(exp_values)
    action = np.random.choice(range(nb_actions), p=probs)
    return action

В процессе принятия решения для каждого действия, выход linear функция активации последней dense Слой трансформируется в соответствии с политикой разведки Больцмана в диапазон [0,1], а решение о конкретном действии принимается в соответствии с разведкой Больцмана. Вот почему softmax не используется в выходном слое.

Вы можете прочитать больше о различных стратегиях исследования и их сравнении здесь: https://medium.com/emergent-future/simple-reinforcement-learning-with-tensorflow-part-7-action-selection-strategies-for-exploration-d3a97b7cceaf

Другие вопросы по тегам