Use deep reinforcement learning with recursive actions?2019 Community Moderator ElectionTheano in deep learning researchKeyword/phrase extraction from Text using Deep Learning librariesCombining Neural Network with Reinforcement Learning in a Continuous SpaceAlphaGo (and other game programs using reinforcement-learning) without human databaseWhat is missing from the following Curriculum Learning implementation in a Deep Neural Net?Weights in neural networkDefining State Representation in Deep Q-LearningHandling actions with delayed effect (Reinforcement learning)Boundaries of Reinforcement LearningReinforcement learning - How to deal with varying number of actions which do number approximation
What do the Banks children have against barley water?
"listening to me about as much as you're listening to this pole here"
Shall I use personal or official e-mail account when registering to external websites for work purpose?
Re-submission of rejected manuscript without informing co-authors
Landlord wants to switch my lease to a "Land contract" to "get back at the city"
What to wear for invited talk in Canada
How to deal with fear of taking dependencies
Copycat chess is back
Need help identifying/translating a plaque in Tangier, Morocco
Does it makes sense to buy a new cycle to learn riding?
Is every set a filtered colimit of finite sets?
Information to fellow intern about hiring?
What does "enim et" mean?
Pristine Bit Checking
Prime joint compound before latex paint?
How could a lack of term limits lead to a "dictatorship?"
Why do we use polarized capacitors?
What happens when a metallic dragon and a chromatic dragon mate?
What is GPS' 19 year rollover and does it present a cybersecurity issue?
Why do UK politicians seemingly ignore opinion polls on Brexit?
What is it called when one voice type sings a 'solo'?
Manga about a female worker who got dragged into another world together with this high school girl and she was just told she's not needed anymore
Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?
How to move the player while also allowing forces to affect it
Use deep reinforcement learning with recursive actions?
2019 Community Moderator ElectionTheano in deep learning researchKeyword/phrase extraction from Text using Deep Learning librariesCombining Neural Network with Reinforcement Learning in a Continuous SpaceAlphaGo (and other game programs using reinforcement-learning) without human databaseWhat is missing from the following Curriculum Learning implementation in a Deep Neural Net?Weights in neural networkDefining State Representation in Deep Q-LearningHandling actions with delayed effect (Reinforcement learning)Boundaries of Reinforcement LearningReinforcement learning - How to deal with varying number of actions which do number approximation
$begingroup$
Can we use recursive actions in deep reinforcement learning ? If yes how ?
For example, in a reassignment problem, for a task i the neural networks returns a node m, and then there will be some condition : If the node m is busy (If there's already a task j assigned to that node), then the task j will be reassigned to another node and so on until a vacant node will be returned (We suppose that there's always at least one vacant node).
deep-learning reinforcement-learning
New contributor
$endgroup$
add a comment |
$begingroup$
Can we use recursive actions in deep reinforcement learning ? If yes how ?
For example, in a reassignment problem, for a task i the neural networks returns a node m, and then there will be some condition : If the node m is busy (If there's already a task j assigned to that node), then the task j will be reassigned to another node and so on until a vacant node will be returned (We suppose that there's always at least one vacant node).
deep-learning reinforcement-learning
New contributor
$endgroup$
add a comment |
$begingroup$
Can we use recursive actions in deep reinforcement learning ? If yes how ?
For example, in a reassignment problem, for a task i the neural networks returns a node m, and then there will be some condition : If the node m is busy (If there's already a task j assigned to that node), then the task j will be reassigned to another node and so on until a vacant node will be returned (We suppose that there's always at least one vacant node).
deep-learning reinforcement-learning
New contributor
$endgroup$
Can we use recursive actions in deep reinforcement learning ? If yes how ?
For example, in a reassignment problem, for a task i the neural networks returns a node m, and then there will be some condition : If the node m is busy (If there's already a task j assigned to that node), then the task j will be reassigned to another node and so on until a vacant node will be returned (We suppose that there's always at least one vacant node).
deep-learning reinforcement-learning
deep-learning reinforcement-learning
New contributor
New contributor
New contributor
asked 13 hours ago
User732User732
61
61
New contributor
New contributor
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.
The simplest ways to deal with possibility of a blocked/failed action are:
- Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.
Or
- Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.
The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.
If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.
$endgroup$
$begingroup$
I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
$endgroup$
– User732
8 hours ago
$begingroup$
@User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
$endgroup$
– Neil Slater
8 hours ago
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "557"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
User732 is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48889%2fuse-deep-reinforcement-learning-with-recursive-actions%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.
The simplest ways to deal with possibility of a blocked/failed action are:
- Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.
Or
- Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.
The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.
If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.
$endgroup$
$begingroup$
I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
$endgroup$
– User732
8 hours ago
$begingroup$
@User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
$endgroup$
– Neil Slater
8 hours ago
add a comment |
$begingroup$
Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.
The simplest ways to deal with possibility of a blocked/failed action are:
- Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.
Or
- Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.
The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.
If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.
$endgroup$
$begingroup$
I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
$endgroup$
– User732
8 hours ago
$begingroup$
@User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
$endgroup$
– Neil Slater
8 hours ago
add a comment |
$begingroup$
Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.
The simplest ways to deal with possibility of a blocked/failed action are:
- Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.
Or
- Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.
The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.
If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.
$endgroup$
Your description doesn't seem so much like a "recurrent action" as a "failed to progress" situation.
The simplest ways to deal with possibility of a blocked/failed action are:
- Leave state and time step unchanged and pick next best action, without any new policy evaluations. This is effectively the approach used by many turn-based game playing RL, such as AlphaGo, although the rejection of non-valid actions is done using the game engine and not technically tried repeatedly in the environment, that does not make a big difference in all cases.
Or
- Update the time step, receive a reward (maybe zero) and try again on next time step. The state information might usefully include blocked actions (or they can be applied programmatically as in the first option). You would typically use this approach if there was a real cost to attempting the action (i.e. a negative reward for losing time) and/or it is possible from the state information to predict which actions could be blocked, and you want to include these factors in the agent's behaviour.
The second option is the approach you might use in a maze solver, if it could only sense walls by bumping in to them.
If the blocked actions are completely unpredictable from the agent's observations, then it doesn't matter too much which approach you use. However, if there is a cost for failing to act, then the second approach would give you more accurate action values in case you are using a value-based approach or need to assess the performance of your agent numerically.
edited 10 hours ago
answered 10 hours ago
Neil SlaterNeil Slater
17.6k33264
17.6k33264
$begingroup$
I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
$endgroup$
– User732
8 hours ago
$begingroup$
@User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
$endgroup$
– Neil Slater
8 hours ago
add a comment |
$begingroup$
I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
$endgroup$
– User732
8 hours ago
$begingroup$
@User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
$endgroup$
– Neil Slater
8 hours ago
$begingroup$
I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
$endgroup$
– User732
8 hours ago
$begingroup$
I don't necessarily want the task to be assigned to only vacant nodes, meaning that reassigning the task j while reassigning task i could produce a more interesting scenario, that's while I talked about "recursive actions".
$endgroup$
– User732
8 hours ago
$begingroup$
@User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
$endgroup$
– Neil Slater
8 hours ago
$begingroup$
@User732: Sorry I don't understand. Maybe if you add some worked through examples in the question, it would help. The example you give so far matches this answer as far as I can see = "I want to try an action, and if there is some rule triggered where the action is not valid, I want to try a different action".
$endgroup$
– Neil Slater
8 hours ago
add a comment |
User732 is a new contributor. Be nice, and check out our Code of Conduct.
User732 is a new contributor. Be nice, and check out our Code of Conduct.
User732 is a new contributor. Be nice, and check out our Code of Conduct.
User732 is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Data Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f48889%2fuse-deep-reinforcement-learning-with-recursive-actions%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown