Search Unity

Discussion Learing during run-time

Discussion in 'ML-Agents' started by AndreaIR, Dec 11, 2022.

  1. AndreaIR

    AndreaIR

    Joined:
    Dec 11, 2022
    Posts:
    1
    Hello,
    I'm student of Architecture, I got really intersted in AI, and, especially, in reinforcment learning because my goal is to build a virtual environment where different agents, and for agents I mean not only charachters but also other elements of the scene, can learn how to behave interacting with players controlled by humans. For example: some walls can change their color, or varying their size, deform their shape, during runtime because, having some set goals like make players go away, or make them come near, or whatever, they can receive rewards and process observations during the time human-controlled players interact with them.

    Is it possible to achive this using Unity and ML-Agents?
     
  2. GamerLordMat

    GamerLordMat

    Joined:
    Oct 10, 2019
    Posts:
    185
    RL with ppo is not suited to learn at real life, unless you have millions of interactions. Also I think I haven't gotten what you want to achieve. Deforming a wall doesnt need AI necessarily, interacting with people in what way and why using ML? Using AIs like chat gpt sounds fun, but has little to do with the Unity MLagents frame work.
    Also you goal sounds a lot even for an more advanced programer to do it alone in a reasonable time (having multiple clients over net, AIs interakting in a fun way, 3D mehses etc...).
     
  3. hughperkins

    hughperkins

    Joined:
    Dec 3, 2022
    Posts:
    191
    At OP: interesting idea. Do you have such an environment setup, with real people in? If not, what is your plan to create such an environment, and attract people?

    Given such an environment, and that environment is built in unity, there are ways to handle this, but mlagents won't out of the box handle this for you I think. mlagents is designed to run zillions of experiments, very very quickly, and you don't have much control over the length of a 'time step' I think. I think in your case you need more control over timesteps and stuff.

    Like, you bascially want to have interactions such as:
    - player approaches the wall
    - you make the wall behave in some way( change to a particular color, flash different colors, or whatever)
    - measure how long the player stays the wall (this is the 'reward' for this interaction)
    Is that right?

    I reckon this is possible in unity, but probalby not with mlagents. I'm intending to make a youtube video very soon for a mechanism that would likely work for your scenario, though it would need a certain amount of python fu. Also, doesn't answer my first questions of: do you have such an environemtn setup, with real people in it? If not, what is your plan to create such an environment, and attract people?
     
    Last edited: Dec 27, 2022
  4. hughperkins

    hughperkins

    Joined:
    Dec 3, 2022
    Posts:
    191
    Oh, you know what, you could remove the decision requester component from your agent, and call RequestDecision from your own agent code.

    As far as the back-end, I doubt mlagents-learn will do what you want. You can try using the low-level api, or, like I say, I'm intending to make a youtube video with an alternative, though that might prove to be vaporware lol :p
     
    GamerLordMat likes this.