Removing Invalid Actions
Closed this issue · 12 comments
One suggestions that seems reasonable to me is:
https://ai.stackexchange.com/a/2994
This is regarding:
https://github.com/TimZaman/dotaclient/blob/master/policy.py#L127-L133
Yeah i should add the valid-action-mask itself to the forward function, because i should run the softmax again over the invalid actions.
I did this now. thanks
I feel like the bot is learning much faster thanks to this. This is based on purely watching the bot and its decision making.
What do you think?
I thought you were going to increase the reward values for Win/Loss? I still see kills/deaths as more impactful in current version.
So I think I'm going to work on fixing that by doing several things:
- Teach it about lane fronts and reward it by being near it (rather than at location (0,0,0) <--- center of map
- Change the Tower HP reward to be a delta between the Enemy Tower HP and Friendly Tower HP (as in "it's okay if our tower is taking damage providing we are doing more damage to enemy tower")
It should help.
Separate from that, I'm working on formalizing a new ML approach to how to teach agents to do strategic planning versus tactical actions. I hopefully can share with folks outside my company.
Might be easier to chat briefly. Jump into a Google Hangouts if you can.
I'll be sitting there for the next 20-30min.
LINK DOWN
It was sad and lonely.... replied to you email.
So looking at code - you don't disable all "invalid" actions.
The code only prevents you attacking yourself, or issuing an attack action all together if there are no valid unit_handles, it does not prevent attacking your own units if they are at full health (which has no effect, although technically valid).
I'm not saying this is a problem that needs fixing, just pointing it out. Attacking your own units at full health is a way to drop tower aggro for example.