Use deep reinforcement learning with recursive actions?Theano 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
Were there two appearances of Stan Lee?
What is the strongest case that can be made in favour of the UK regaining some control over fishing policy after Brexit?
Reverse the word in a string with the same order in javascript
Is it possible to measure lightning discharges as Nikola Tesla?
Python "triplet" dictionary?
Binary Numbers Magic Trick
Does a creature that is immune to a condition still make a saving throw?
Possible to set `foldexpr` using a function reference?
Historically, were women trained for obligatory wars? Or did they serve some other military function?
Pulling the rope with one hand is as heavy as with two hands?
Unexpected email from Yorkshire Bank
Can a creature tell when it has been affected by a Divination wizard's Portent?
Help, my Death Star suffers from Kessler syndrome!
Past Perfect Tense
Why does Bran Stark feel that Jon Snow "needs to know" about his lineage?
What does 「再々起」mean?
Need help understanding harmonic series and intervals
Minimum value of 4 digit number divided by sum of its digits
Why is the origin of “threshold” uncertain?
Why was Germany not as successful as other Europeans in establishing overseas colonies?
How to stop co-workers from teasing me because I know Russian?
Phrase for the opposite of "foolproof"
Does the EU Common Fisheries Policy cover British Overseas Territories?
Do I have to worry about players making “bad” choices on level up?
Use deep reinforcement learning with recursive actions?
Theano 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
$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
$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
$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
asked Apr 8 at 16:29
User732User732
61
61
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
Apr 8 at 21:17
$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
Apr 8 at 21:51
add a comment |
Your Answer
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
);
);
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
Apr 8 at 21:17
$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
Apr 8 at 21:51
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
Apr 8 at 21:17
$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
Apr 8 at 21:51
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 Apr 8 at 19:39
answered Apr 8 at 18:58
Neil SlaterNeil Slater
17.9k33265
17.9k33265
$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
Apr 8 at 21:17
$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
Apr 8 at 21:51
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
Apr 8 at 21:17
$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
Apr 8 at 21:51
$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
Apr 8 at 21:17
$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
Apr 8 at 21:17
$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
Apr 8 at 21:51
$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
Apr 8 at 21:51
add a comment |
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