Контролируемая классификация в сочетании с внеполитическим обучением - PullRequest
0 голосов
/ 11 мая 2018

У меня есть 2 нейронные сети:

  1. Предсказывает значения действий Q (s, a) с использованием обучения подкрепления вне политики - аппроксимирует лучший ответ на среднее поведение оппонента.
  2. Подражайте своему собственному усредненному поведению лучшего отклика, используя контролируемую классификацию.

Это мои модели (Керас):

# the best response network:
def _build_best_response_model(self):
    input_ = Input(shape=self.s_dim, name='input')
    hidden = Dense(self.n_hidden, activation='relu')(input_)
    out = Dense(3, activation='relu')(hidden)

    model = Model(inputs=input_, outputs=out, name="br-model")
    model.compile(loss='mean_squared_error', optimizer=Adam(lr=self.lr_br), metrics=['accuracy'])
    return model

# Average response network:
def _build_avg_response_model(self):
    input_ = Input(shape=self.s_dim, name='input')
    hidden = Dense(self.n_hidden, activation='relu')(input_)
    out = Dense(3, activation='softmax')(hidden)

    model = Model(inputs=input_, outputs=out, name="ar-model")
    model.compile(loss='categorical_crossentropy', optimizer=Adam(lr=self.lr_ar), metrics=['accuracy'])
    return model

Как указано в статье Генриха и Серебра "Глубокое обучение с подкреплением от себя"-Играть в несовершенно-информационные игры »- сети должны быть обновлены следующим образом:

Update log loss and mean squared error

Я не уверен, правильно ли я это реализовал- Я уверен, что categorical_crossentropy и mean_squared_error - правильные функции потерь.Но я не уверен, что softmax и relu являются правильными функциями активации.

Как указано в документе:

Для обучения в Leduc Hold'emМы вручную откалибровали NFSP для полностью подключенной нейронной сети с 1 скрытым слоем из 64 нейронов и выпрямленными линейными активациями.

Они используют relu в качестве функции активации, но я предполагаю, что они относятся к best response networkпотому что не имеет смысла использовать relu в контролируемой классификации, где я хочу получить распределение вероятностей по возможным действиям.

Я не могу воспроизвести эксперименты на бумаге и просто хочу быть уверен, что сети настроены правильно.

Cheers

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...