Comments (2)
안녕하세요! 질문하신 사항들에 대해 답변 드립니다. 개인적인 의견이라 틀린 부분이 있을 수 있는 점 참고 부탁드립니다!
우선 여러 에이전트를 복사해서 사용하는 경우 DQN 같은 일반적인 on policy 알고리즘은 메모리에 다양한 데이터를 따로 쌓을 수 있긴 합니다. 이런 경우 한 메모리에 데이터를 공유하면 됩니다. 하지만 이런 경우보다 off policy 알고리즘을 사용할 때 여러 에이전트를 복사해서 사용하는게 더 효과적입니다. on policy 알고리즘의 경우 계속 데이터를 누적한 데이터셋을 만들고 거기서 일정 개수의 배치데이터를 뽑아서 학습하는 방식을 취하는데 off policy 알고리즘은 과거에 누적한 데이터를 사용할 수 없습니다. 이에 따라 여러 데이터를 뽑아서 배치 데이터로 만든 후 한번에 학습에 이용하는 것이 어렵습니다. 하지만 다수의 에이전트를 사용하는 경우 현재 타임스텝의 모든 에이전트 데이터를 하나의 배치데이터로 만들고 학습을 수행하면 됩니다. 이에 따라 여러 에이전트를 동시에 사용하는 경우 off policy 알고리즘에서도 다수의 배치 데이터를 통해 학습을 수행하는 것이 가능해집니다. 또한 A3C나 R2D2 같은 distributed RL 알고리즘의 경우 다수의 에이전트(worker)를 이용하여 학습을 수행합니다. 이런 알고리즘들은 다수의 환경을 만들어서 사용해야하므로 ML-Agents를 이용하면 손쉽게 환경 구성이 가능합니다.
적대적 DQN 만들기에서 다수의 브레인을 따로 사용하는 경우 각 브레인에 하나의 에이전트에 대한 데이터가 들어오게 설정하는 것이고 하나의 브레인을 사용하는 경우 모든 에이전트에 대한 데이터가 한꺼번에 들어오게 됩니다. 말씀하신 그 차이밖에 없고 이에 따라 강화학습 알고리즘에서 데이터를 받는 형태를 조금 다르게 해야합니다. 제 경험상 하나의 멀티에이전트 환경을 사용하는 경우 하나의 브레인을 사용하는 것이 더 알고리즘 짤 때 편했습니다. 하지만 멀티에이전트 환경을 여러개 복사해서 동시에 돌리는 경우에는 각 에이전트에 해당하는 브레인을 연결해주는 것이 알고리즘 짤 때 더 편했습니다. 두 방법 모두 사용해보시고 기호에 따라 사용하시면 될 것 같습니다!
직접 강화학습 알고리즘을 구현하실 경우 Pytorch를 이용하셔도 상관없습니다. ML-Agents에서 제공하는 강화학습 알고리즘을 사용하시는 경우 tensorflow를 설치하셔야 코드를 실행하실 수 있습니다.
from unity_ml_agents.
네 알겠습니다. 상세한 설명 감사합니다 !.
from unity_ml_agents.
Related Issues (13)
- Python Unity 실행 화면 HOT 3
- Pong Goal object 관련 질문 HOT 1
- pip install agents==0.8.1 오류 HOT 1
- SetActionMask 함수 질문이요 HOT 2
- Gridworld 질문이요 (질문이 지워졋네요..ㅠ) HOT 5
- 전이학습 질문 드립니다 HOT 8
- env.reset() 질문입니다. HOT 8
- 시각적 관측 여러개 사용 및 시각적 관측 + 수치적 관측 복합 사용 질문건 HOT 2
- No episode was completed since last summary
- Learning speed 문제 HOT 2
- Python Learning Error HOT 4
- Reward를 받기 힘든 Environment 에서 Time horizon 셋팅? HOT 2
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 unity_ml_agents.