Comments (4)
是的,只做了共享网络的情况,当初做的时候想两种都做来着,后来没时间做了。
from marl-algorithms.
多谢,我现在在做类似的一个项目。但是有个很有意思的情况,就是我这里每个agent 可以full observe其他agent状态。所以如果共享网络的话,state里面唯一不同的就是各自的ID。
我有点直觉,这种情况共享网络会不会效果不太好,就是说network 是共享的,但是唯一只能靠id这个one_hot vector来区分 (这个跟startcraft 中每个marine obs不同不一样)
所以会不会这个one_hot vector区分度不够(既然共享,然后只靠这个one_hot vector来标志,内部耦合关联性比较大,应该不能完全独立?),导致模型训练达不到理想的效果??
我总感觉这个情况,one_hot vector来标记不同agent, 会有点问题,虽然理论上one_hot vector 能够区分。
不知道我是否描述清楚没有,当然只是本人直觉,不止阁下对这个问题有没有什么insight?
多谢!
from marl-algorithms.
是的,如果大家的输入都是一样的话,那么应该不行,因为agent无法区别哪一部分信息是自己的。你可以把输入的信息换个顺序,比如对于每个agent,把自己的信息放在最前面,然后队友的依次。
from marl-algorithms.
多谢。这个问题比较tricky. 因为严格理论上来说,大家观测都一样,但是都带上自己的one_hot ID之后, 数据确实又不一样。 当然这只是理论上。
但是直觉上,感觉这点小区别,可能对nn 的backprop影响比较小,不足以严格区分。
当然,这只是本人直觉,也不知道这种直觉到底是不是对的,或者影响多大。
我之前隐约想过换个顺序,毕竟嘛,自己总是先观测自己。 不过这里队友的顺序有很多种排法,不唯一 。不知道固定一个顺序的话,性能如何(比如按id大小固定,或者按离自己的距离固定,但是如果后者,每个step观测到的agent 顺序都不同)。所以干脆想试试不共享啥结果,直接每个agent有自己的决策网络。
好消息是, 我大概看了看,基于您的这个代码,添加支持reuse_network=False的情况应该并不是太复杂。准备试试比较一下和共享的情况。
多谢兄台!
from marl-algorithms.
Related Issues (20)
- 关于参数reuse_network HOT 3
- 关于COMA critic网络输入 HOT 3
- 关于g2anet中hard_weights的问题 HOT 1
- 可以使用其他的环境跑这里面的算法吗? HOT 1
- 自定义的环境能使用这里面的算法跑吗? HOT 1
- custom data traing HOT 1
- 策略函数中的eval_hidden和target_hidden如何理解 HOT 2
- None
- 关于qtran_base.py中_get_individual_q的一个小问题 HOT 2
- 关于qtran的问题 HOT 1
- Translate code comments to English
- Quick Start 会报错,请问是什么问题。 HOT 2
- 关于GA-Common和GA-AC的问题 HOT 1
- 关于evaluate的胜率
- 关于attention的训练依据的问题 HOT 1
- 关于在别的环境应用qmix出现episodes rewards dropout的问题 HOT 2
- 关于训练得到的模型的问题 HOT 1
- 关于get_action_weights的问题 HOT 1
- 关于涉及环境参数的一些疑问 HOT 1
- 关于QMIX的Trick:Eligibility traces HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from marl-algorithms.