GithubHelp home page GithubHelp logo

Comments (4)

starry-sky6688 avatar starry-sky6688 commented on August 13, 2024

是的,只做了共享网络的情况,当初做的时候想两种都做来着,后来没时间做了。

from marl-algorithms.

yywe avatar yywe commented on August 13, 2024

多谢,我现在在做类似的一个项目。但是有个很有意思的情况,就是我这里每个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.

starry-sky6688 avatar starry-sky6688 commented on August 13, 2024

是的,如果大家的输入都是一样的话,那么应该不行,因为agent无法区别哪一部分信息是自己的。你可以把输入的信息换个顺序,比如对于每个agent,把自己的信息放在最前面,然后队友的依次。

from marl-algorithms.

yywe avatar yywe commented on August 13, 2024

多谢。这个问题比较tricky. 因为严格理论上来说,大家观测都一样,但是都带上自己的one_hot ID之后, 数据确实又不一样。 当然这只是理论上。
但是直觉上,感觉这点小区别,可能对nn 的backprop影响比较小,不足以严格区分。
当然,这只是本人直觉,也不知道这种直觉到底是不是对的,或者影响多大。

我之前隐约想过换个顺序,毕竟嘛,自己总是先观测自己。 不过这里队友的顺序有很多种排法,不唯一 。不知道固定一个顺序的话,性能如何(比如按id大小固定,或者按离自己的距离固定,但是如果后者,每个step观测到的agent 顺序都不同)。所以干脆想试试不共享啥结果,直接每个agent有自己的决策网络。

好消息是, 我大概看了看,基于您的这个代码,添加支持reuse_network=False的情况应该并不是太复杂。准备试试比较一下和共享的情况。

多谢兄台!

from marl-algorithms.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.