Curriculum Learning | Unity ML-Agents

preview_player
Показать описание
In this tutorial, you’ll learn to use Curriculum when training Unity ML-Agents. Curriculum allows you to start training your agent with a simpler task, then gradually make the task more difficult as it learns the simpler task.

If you are able to, we'd love to have your support so we can keep more videos like this coming. Patrons will enable us to continue this work and will directly impact the quality and quantity of our YouTube videos.

+ Follow These For Updates +
Subscribe to the YouTube channel too!

+ Connect with Us! +

+ More Ways to Connect +
Рекомендации по теме
Комментарии
Автор

Now we're talking, this agent is getting smart! Interesting to see curriculum implemented, as that got me curious on your previous video. Well explained how to implement too - thank you.

vildauget
Автор

I might be wrong, but in mlagents documentation it is said that curiosity is by default at strength 1, which means in your code you actually reduced curiosity (by setting it to 0.02).

Edit: the default value is 1 ONCE you activated curiosity, therefore activating it with 0.02 is a choice (and a good one, because you don't want your agent to rely on curiosity reward once it has discovered how to complete the task you want it to accomplish).

pulsarhappy
Автор

Great Job!
I am the side of these manually configure of the brain, and then, learn which algorithm works better for future by default!


Yeah, after couple of trial and error, we developers can make a system that works like biological brain. Smth like, 1) learn one thing, 2) categorize it, and then 3) learn 2nd different thing, 4)save it in another brain region. So this saves power efficiency by using only specific brains to solve problems

I mean smth like, when in math class, we use one specific brain region that relates to science, but when playing football we use completely different brain regions.


Amazing content anyway !

myelinsheathxd
Автор

I have always had a question about mlagents: they randomly select actions at the beginning of training. Can we incorporate human intervention into the training process of mlagents to make them train faster? Is there a corresponding method in mlagents? Looking forward to your answer.

keyhaven
Автор

hi!
a very cool channel. thank you very much!
Where can I find out how to animate an fbx character? I tried using the crawler/worm/walker example to animate fbx, threw rigidbody and joins there, but still physics does not want to work correctly. Have you found an example of how to do it correctly?

ioooozo
Автор

Wow so cool!

You never mentioned if you used Raycasting or Camera to feed the network.

Also what I would think would be interesting is training it as you have done and then giving the finished network a slightly different problem to see if it has only adapted to your problem or if it has some flexibility... i think that would be the most interesting, to see how to curve it to become more of a general problem solver rather than just one problem. Maybe also if ciriculum or each session would be slightly randomize between different problems... would that work?

Anyway very nice job! Thanks:)

JayadevHaddadi
Автор

Hey! Very cool channel! Could you make new versions of your "Animation from Blender to Unity" and "blend tree" videos? This would help me and also a lot of other people, cause anomation is one of the hardest things to learn in the beginning.

captainvaughn
Автор

Hey, I had a question about how the curriculum training works. In a yaml file where you would put your "curriculum:" under the "environment_parameters" heading. How would one handle multiple environment parameters? For an example, in this AdvancedCollector.yaml you have an environment parameter for
block_offset: but what if you wanted to include one for coin_amount_spawned, and coin_spawn_position. as an example. do you include multiple environment parameter blocks each with it's own completion criteria, values, lessons, etc, or do you just have one environment parameter in which a script in your scene would take the singular value supplied in the one environment parameters/lesson and use that value to mean different things. i.e. via a script in the scene, if lesson 01 let block move 0 to 1, spawn 5 coins, in spawn location pattern B (as an example). But If you can use multiple environment parameter blocks. Then how would that look like in the .yaml file? could you give an example of what it might look like? Thanks for the help.

WAMBHSE
Автор

Just found you, any more AI and Unity stuff in the works?

jamesc
Автор

Where in your Code do you call resetarena()?

melrellid