Установите представление критика агента обучения с подкреплением
Примите, что у вас есть существующий обученный агент обучения с подкреплением. В данном примере загрузите обученного агента от, Обучают Агента DDPG Управлять Двойной Системой Интегратора.
load('DoubleIntegDDPG.mat','agent')
Получите представление критика от агента.
critic = getCritic(agent);
Получите learnable параметры от критика.
params = getLearnableParameterValues(critic);
Измените значения параметров. В данном примере просто умножьте все параметры 2.
modifiedParams = cellfun(@(x) x*2,params,'UniformOutput',false);Установите значения параметров критика к новым модифицированным значениям.
critic = setLearnableParameterValues(critic,modifiedParams);
Установите критика в агенте новому модифицированному критику.
agent = setCritic(agent,critic);
Примите, что у вас есть существующий агент обучения с подкреплением, agent.
Далее, примите, что этот агент имеет представление критика, которое содержит следующую структуру глубокой нейронной сети.
originalCritic = [
imageInputLayer([4 1 1],'Normalization','none','Name','state')
fullyConnectedLayer(1,'Name','CriticFC')];Создайте представление агента с дополнительным полносвязным слоем.
criticNetwork = [
imageInputLayer([4 1 1],'Normalization','none','Name','state')
fullyConnectedLayer(3,'Name','x');
fullyConnectedLayer(1,'Name','CriticFC')];
critic = rlRepresentation(criticNetwork,'Observation',{'state'},...
getObservationInfo(env));
Установите представление критика агента новому увеличенному критику.
agent = setCritic(critic);
Примите, что у вас есть существующий агент PG, agent, с базовым представлением критика. Можно удалить базового критика из агента с помощью setCritic.
agent = setCritic(agent,[]);
Когда вы удаляете базового критика таким образом, UseBaseline опция агента автоматически установлена в false.
Примите, что у вас есть существующий агент PG, agent, без базового представления критика. Можно добавить базового критика в агента с помощью setCritic.
Во-первых, создайте представление критика, приняв, что у вас есть существующая сеть критика, criticNetwork.
baseline = rlRepresentation(criticNetwork,'Observation',{'state'},... getObservationInfo(env));
Затем установите критика в агенте.
agent = setCritic(agent,baseline);
Когда вы добавляете базового критика таким образом, UseBaseline опция агента автоматически установлена в true.
oldAgent — Исходный агент обучения с подкреплениемrlQAgent возразите | rlSARSAAgent возразите | rlDQNAgent возразите | rlDDPGAgent возразите | rlPGAgent возразите | rlACAgent объектИсходный агент обучения с подкреплением, который содержит представление критика, заданное как одно из следующего:
rlQAgent объект
rlSARSAAgent объект
rlDQNAgent объект
rlDDPGAgent объект
rlACAgent объект
rlPGAgent возразите, что оценивает базовую функцию значения использование критика
critic — Представление критикаrlLayerRepresentation возразите | rlTableRepresentation объектОбъект представления критика, возвращенный как одно из следующего:
rlLayerRepresentation объект для представлений глубокой нейронной сети
rlTableRepresentation объект для таблицы значения или представлений Q-таблицы
Чтобы создать представление критика, используйте один из следующих методов:
Создайте представление с помощью rlRepresentation.
Получите существующее представление критика от агента с помощью getCritic
newAgent — Обновленный агент обучения с подкреплениемrlQAgent возразите | rlSARSAAgent возразите | rlDQNAgent возразите | rlDDPGAgent возразите | rlPGAgent возразите | rlACAgent объектОбновленный агент обучения с подкреплением, возвращенный как агент, возражает, что использует заданное представление критика. Кроме представления агента, новый агент имеет ту же настройку как oldAgent.
getActor | getCritic | getLearnableParameterValues | rlRepresentation | setActor | setLearnableParameterValues
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.