Imagine training for 46 years and the god says, "naaaah, you wiggle too much"
@maxim_ml6 ай бұрын
i know RIGHT
@Nzargnalphabet6 ай бұрын
I feel like the evolution of quick oscillations was frankly quite cool and made sense with such a chaotic system
@AA-cg1wm6 ай бұрын
"but, but i did the task sir!" *nope echoes in distance*
@mr_b_hhc5 ай бұрын
I would argue with him that in such a case "well, you made me so are at fault". Unless of course I had be given free will?
@TomasV-s9f5 ай бұрын
😂😂😂😂😂😂
@marklondon90046 ай бұрын
I went from "Only a fool thinks he can balance a double pendulum" to "Praise the lord, he walked on water!"
@extremechimpout6 ай бұрын
irl it's impossible so you were right
@MrHardzio4Fun6 ай бұрын
@@extremechimpoutSo your claim is that all YT videos with robots doing that are fake? Even with triple ones. In real life it does not wobble as much, everything has friction. It's actually easier irl.
@extremechimpout6 ай бұрын
@@MrHardzio4Fun I looked there are no such videos
@mapron16 ай бұрын
@@extremechimpout I looked there are many of those video, even quadruple.
@MrHardzio4Fun6 ай бұрын
@@extremechimpoutLook harder.
@msx806 ай бұрын
The idea of starting with lower gravity and higher friction is simply genius
@research4175 ай бұрын
Yeah he immediately solved a problem that even that professional research paper struggled with, and it intuitively makes perfect sense how the learning can transfer over from the simpler problem to the more complex problem. Goes to show that sometimes all you need is to just reframe the problem.
@CliffHanger-fg6uy5 ай бұрын
@@research417If you google it, you’ll find that it was a project report from an undergraduate machine learning course… It’s still a cool approach, though.
@reyariass5 ай бұрын
For real, when I saw the research paper I thought Pezzz was going to show something else because the “professionals” said it was not possible. It’s amazing how it just took a small change to make it work. Great work pezzz
@oko37175 ай бұрын
ingenious
@joaosousapinto36145 ай бұрын
It’s common in the field of reinforcement learning. It’s called curriculum learning.
@Geosquare81286 ай бұрын
the agent UI/visualization, the training graph hyper parameter view, the movitated loss function explanations.. all so well done wow
@PezzzasWork6 ай бұрын
Thank you!
@gus26035 ай бұрын
@@PezzzasWorkcan you make a video doing those?
@yalnisinfo5 ай бұрын
@@gus2603absolutely support this 🎉, i want to avoid looking at numbers as much as possible.
@soumyodiptanath29175 ай бұрын
Is it made using Python?
@PezzzasWork5 ай бұрын
Everything is made using C++
@CriticalMonkey6236 ай бұрын
My toxic trait is believing that I would be extremely good at balancing a double pendulum with zero practice.
@PezzzasWork6 ай бұрын
That would be very impressive :D
@CriticalMonkey6236 ай бұрын
@@PezzzasWork Your videos are always so clean and well put together. I've finished the video now and the final solution you came up with is great. The idea to incrementally ramp up the difficulty was a stroke of genius that felt so obvious after you said it. Great work showing that paper what's possible!
@smileyp45356 ай бұрын
@@CriticalMonkey623 yeah maybe if you could somehow do that irl you'd actually be able to do a double pendulum balance
@anonanon65966 ай бұрын
If single pendulum is like balancing a broomstick on your finger, then double is like balancing a broom stick on top of another broomstick, on top of your finger. Suddenly it does not seem so easy.
@adora_was_taken5 ай бұрын
@@anonanon6596 nah i could do it
@jonathanhelgesen88006 ай бұрын
The idea of gradually increasing gravity and reducing friction is just genius! Would be interesting to see if this method also would work for a triple pendulum 🤔
@andrewferguson69016 ай бұрын
boyo do i have some news for you "World's first video of 56 transition controls for a triple inverted pendulum : 3-body problem"
@ThePyrosirys6 ай бұрын
@@andrewferguson6901 That video is not using an AI controller, it's a controller calculated from methods found in control theory.
@Pockeywn6 ай бұрын
@@andrewferguson6901lmao i found the video and apparently i already started it at some point
@Gwarks3375 ай бұрын
Seems like engineers doing that for years kzbin.info/www/bejne/maqxXnaIg9eVaac this one some years
@Conceptofcandid40433 ай бұрын
Nah lets skip straight to 50 pivot points
@lake50446 ай бұрын
I don't think you know this but in the real world, if you attach a double pendulum to a vibration source with the right frequency, like a motor oscillating back and forth, the double pendulum balances without any adaptive balancing mechanism. (That's why I think the high jitter solutions of the AI are actually valid in this scenario.)
@kuhljager24293 ай бұрын
Interesting. The things you learn
@amzogm87496 ай бұрын
The next step is teaching an AI to balance a million pendulums. Keep up the great work, it's both educational and entertaining!
@saferugdev89756 ай бұрын
we just need a million dyson spheres so the model training doesnt take 100 years
@wanfuse6 ай бұрын
nah dont need a million just the magic number 7
@strecher7776 ай бұрын
Do you mean balancing a rope? 😂
@wanfuse6 ай бұрын
@@strecher777 no but I will share it when the time is best!
@caballeronocturno1245 ай бұрын
We need to balance the n-pendulum
@xwxwvyz16 ай бұрын
it was both surprising and entertaining to see the AI doing the blender move whenever the pendulum drops like a kid throwing tantrums
@daniel.watching5 ай бұрын
It's less "doing a move" and more potential energy being converted into kinetic. If the pendulum falls from its highest position it will be moving fast without a correction. Since it is more stable lower down, it will tend to spend more time rapidly spinning below the axis that slowly spinning above it, unless intervened. And finally, the AI, like any control system has a maximum frequency/speed it can manage, above which it breaks down and essentially become random input. So while the AI might be able to take the slow pendulum and balance it up high, if it then falls, it might not have the skill needed to recover. So every failure mode leads to a rapidly spinning "blender".
@xwxwvyz15 ай бұрын
@@daniel.watching i know how the doube pendulum works and i also know the situation is either what you said or the AI gaining reward through some loophole in the reward system since its technically over the parameters once every loop (thought this because blenders became less of a problem with each added condition) But i just wanted to make a visual comparison between malfunctions of AI and toddler brains where they start giving seemingly nonsensical inputs to solve their impossible problems (which is your statement anyways)
@daniel.watching5 ай бұрын
@@xwxwvyz1 Yeah sorry I didn't mean to imply you didn't understand it. I think I was just looking for an excuse to explain why the blender thing happens.
@o-..-6 ай бұрын
I didnt even think that it would be possible, wow, also nice editing and everything is just put in a way that makes the video really enjoyable 🎉
@PezzzasWork6 ай бұрын
Thank you very much!
@mage36906 ай бұрын
All AI are essentially just function emulators.
@CliffHanger-fg6uy5 ай бұрын
@@PezzzasWorkDefinitely a cool video. If you end up doing a follow-up, here are a couple of things I would like to see (as a control theorist): - test with random disturbances that also take place during the swing-up control. You could also think of this as adding a little noise to the inputs of the NN. I think you would have to include this in the training as the swing-up didn’t look like it would tolerate any sort of disturbance. - It would be nice if you gave the audience the ratio between maximum acceleration and gravity used. - I definitely agree that it makes more sense to use acceleration as the control input.
@CliffHanger-fg6uy5 ай бұрын
@@PezzzasWorkalso, I think that “article” you mention on NN-based control of a double pendulum is just a project report from an undergraduate ML course. Finally, if you’re unable to make your NN solution robust to disturbances or noise during the swing-up, you could use the ML approach for the “feed-forward” control, basically as a planned trajectory and add conventional control theory on top to stabilize the trajectory w.r.t. noise/disturbances.
@banaankiamanesh3 ай бұрын
I'm a control engineer myself and I absolutely enjoyed your way of solving the problem. Well done man :)
@makebreakrepeat6 ай бұрын
Your videos are always a delightful blend of programming, puzzles, science and philosophy. Thank you for making YT a better place
@PezzzasWork6 ай бұрын
Thank you very much!
@isaacbutler42626 ай бұрын
Very nice!, I really enjoyed the first video, it helped me create my own NN. Keep up the good work
@PezzzasWork6 ай бұрын
Thank you!
@gm49846 ай бұрын
Love this approach of setting up an easier environment, for the ai to learn from and slowly increasing the difficulty. I would also love to see how you are going to explore this aspect in the future :D
@EchoPrograms6 ай бұрын
Just finished my first implementation of a standard nn with back propagation. I'm 16, so it took a bit, but I'm proud of it. Right now i have it fitting a given function, but it is pretty versatile.
@kevintrigg37076 ай бұрын
the progressive difficulty was an amazing training tool! very well put together video
@janmuntsiglesias5776 ай бұрын
keep up making this content!
@PezzzasWork6 ай бұрын
I will try :)
@alxklgn3646 ай бұрын
The editing and the feedback UI are brilliant. Cheers, Pez.
@vibaj166 ай бұрын
It's amazing how you go above and beyond. After that first working solution, I would've been really proud of myself and be done with it, but you just make it better and better.
@pcgamerforthewin6 ай бұрын
Beautifully mesmerizing! Thank you for this amazing piece of art. Every aspect of this video is so well done. Kept me engrossed until the very end. It was very satisfying to see how you solved each problem with seemingly simple solutions. The progressive training scratched the itch I've always had every time I'd see a machine learning project. The UI was also fantastic, amazing work! One question if you don't mind. What was the song at 3:51? Thank you!
@PezzzasWork6 ай бұрын
Thank you very much for your support! The music used is Empyrean by Dear Gravity :)
@pcgamerforthewin6 ай бұрын
@@PezzzasWork Thank you!
@richardcoppin53326 ай бұрын
👌🏼 Magnificent. It was really great idea to use air friction as the simplifying factor. I world love to see the cost of work in the evaluation function.
@naijii6 ай бұрын
The UI is incredible and everything is very well presented!
@XiaoMingXing3 ай бұрын
Anyone else feel like the little animation at 3:15 would make an incredible screensaver?
@kellymoses85666 ай бұрын
starting easy and gradually increasing the difficulty is a very clever idea.
@davidamatolondriz85125 ай бұрын
Congrats on the video man! Literally the best 20min in KZbin since many time ago!
@TeamDman5 ай бұрын
I'm in love with the interface you designed!
@lyuboslavilov5 ай бұрын
Starting from easy conditions and gradually making them complex is simply a stroke of genius! I bet this will be a thing in the near future. You should write a paper
@ghomeyshi76 ай бұрын
give this man a Nobel prize! respect!
@eelcohoogendoorn80446 ай бұрын
Really nice! I liked the velocity-commanded version better than the acceleration commanded one. In many practical cases that is also found to matter; 'in theory' equivalent neural networks should exist but controlling acceleration does bias towards smooth accelerations indeed. In practice a motor controller often has an internal PID control loop; so commanding a velocity (and having that quickly realized, up to physical constraints on acceleration; something like min(max_motor_accel, velocity_error/dt)) isnt necessarily an unnatural choice. It still allows for spiky torques to be learned where they are required in a natural manner.
@leggyjorington39606 ай бұрын
The UI and graphs for this video look amazing! Keep up the good work!
@AE_Sub6 ай бұрын
This is the kind of top tier content youtube was made for!
@mzg1476 ай бұрын
love the visuals, the clean colored borders... perfect!
@phoenixxofficial6 ай бұрын
Your work never ceases to amaze me
@AA-cg1wm6 ай бұрын
I'm currently making my own neural network and your videos really helped me understand the concepts and mechanisms of this project
@triplezgames38825 ай бұрын
It's so interesting how friction and low gravity helped the AI learn. It's like humans practicing something complex in simpler variant, because trying to do something like balancing a double pendulum would completely overwhelm us too having no idea about how you would even start counteracting the imbalances
@sebastiangudino93774 ай бұрын
Yup! AI shows us mathematically something very true about learning. You should always try hard problems (An always positive score function leads to no improvement and over-fitting), but if the problem is too hard, you won't learn anything (An always off score function will also lead to now improvements) This is the principle behind human learning techniques like language immersion. Once you understand about 50% of a language the best way to learn is to just jump in, that's the point where your score function leads to the fastest learning
@triplezgames38824 ай бұрын
@@sebastiangudino9377 Damn, really well said.
@stoobidthing5 ай бұрын
Amazing video as always, I love the visuals on this one! Greetings from Paraguay 🇵🇾
@lanha33856 ай бұрын
You made it absolutely wonderous and intrigued interest to the notion of chaos. Well done
@purrzival6 ай бұрын
This video is so beautiful, great work!
@ivocanevo5 ай бұрын
Great video. I love watching the refinements. Human and AI learning together.
@martinfisker74386 ай бұрын
That pendulum rainbow animation is straight art
@99totof995 ай бұрын
Wonderful, you have mastered the art of getting what you want from a neural network!
@furbyfubar5 ай бұрын
I feel like you now should write the scientific paper on this. Going from "This problem is yet to be solved" to "I solved it with about 2 hours of training for my model" is huge progress!
@SiddhantSharma1815 ай бұрын
I like your idea of starting with a simpler problem and gradually increasing the difficulty
@raghavrokr2 ай бұрын
It is absolutely genius to play with the physics to find a solution. Also, amazing visualizations! Such a treat to watch this video.
@mathewgriffiths18706 ай бұрын
This is incredible, such amazing work
@K0rck6 ай бұрын
Amazing work. It was _really_ engenius the way you break up the problem for the evolution algorithm! And the interface you put together to demonstrate the work just adds the cherry on top of it. Keep up the great work, I'm looking forward for the next one!
@wanfuse6 ай бұрын
fantastic! this has so many uses! hope you publish code soon! I have a few ideas what to use it for! I worked for a brief time on this exact problem!
@treborhuang2334 ай бұрын
14:30 Actually, there is a theorem in classical physics that extremely high frequency oscillations help stabilize an unstable equilibrium, and higher the frequency, the more stable it is. You can try to solve for a single pendulum with its base swinging up and down at a frequency, and see what happens when the frequency goes to infinity.
@brambleumink69284 ай бұрын
This was a really awesome video, I enjoyed watching it very much. Thank you for creating this, the visuals were really nice to watch and the explanations were easy to follow. The idea of starting with low gravity and high friction was amazing, great job!!!!
@rewolfer5 ай бұрын
The idea to increase difficulty was so good. Loved watching it go through periods of great success and fast difficulty increasing.
@kaylor875 ай бұрын
I've been obsessed with double pendulums for a long time now, I absolutely loved this video. I honestly started the video thinking it would be impossible to balance.
@liamseanalbarel-hepburn64366 ай бұрын
I haven't worked with neural networks before, but you definitely inspired me to start looking into it and giving it a shot. Well done with your solution, and good work for not giving up!
@raiden6313 ай бұрын
Real nice video! Loved it :) Love the aesthetics for explaining. This makes it very easy to follow, with nice colors and distinct UI elements. Keep it up !
@Paplu-i5t5 ай бұрын
Genius. A perfect use case to illustrate what is the special ability of a neural network.
@bmdsch13206 ай бұрын
This is amazing! I have been waiting for this second part and its finally here! Its amazing that you can produce a video with such a good quality and informative in such short time!
@simplyD115 ай бұрын
Thanks!
@PezzzasWork5 ай бұрын
Thank you very much for your support!
@DjDoGGoD6 ай бұрын
Really amazing implementation! The first moment I saw the jerk movements I immediately blamed floats. I was very satisfied when you confirmed it, and decided to switch to doubles, as I was screaming at my monitor. :D
@BCannTV6 ай бұрын
Buddy graduated with a phd at 17. Subbed earned.
@brandoncanfield17255 ай бұрын
Beautiful visualizations!
@SuperElephant6 ай бұрын
Amazing content would be an extreme understatement.
@Alayric6 ай бұрын
Love your ideas and visuals! 🥰
@8ightfold4 ай бұрын
My dad did a single pendulum in the 90s with fuzzy logic... it's cool to see how far things have come
@sayethwe86836 ай бұрын
I'm at 15:33, and my first thought for reducing the rapid oscillation of the controller is to do the equivalent of adding a Plant term to the control loop - likely by giving the cart some inertia and/or the actuator a limited amount of power such that higher frequency inputs are demped out.
@amzogm87496 ай бұрын
This video is simply fascinating! Seeing how an AI can learn to balance a double pendulum is truly impressive. The explanations are clear, and the visuals are very well done, making the subject both understandable and captivating. I especially enjoyed the demonstration with different weights, and it made me want to try creating my own AI to tackle this challenge. Keep producing such inspiring and educational content, it's a real pleasure to watch!
@ivovelo2 ай бұрын
This was fantastic, thank you! One more thing that would be amazing to teach your network: to bring a double-pendulum from any state into a balanced state. I'd love to see that.
@chrizzzly_hh5 ай бұрын
Really great video and visualisation. Please add some tests next for pendulum setups that are already in motion to see if it can also stabilize these and not only from resting position. This will be fun!
@renakunisaki3 ай бұрын
The last one didn't even seem like an exploit. It wasn't smooth or perfectly straight, but it kept the pendulum upright enough by compensating for its motion. Also you made a groovy screen saver!
@Lampe20206 ай бұрын
21:05 I also noticed that precision quite strongly. When I let my own sNBT parser parse *{x:3.14159f,y:3.14159d}* it returned the following values: *x=3.141590118408203, y=3.14159* .
@Maxime2bleau5 ай бұрын
I love the interface, great video!!
@fwenny6 ай бұрын
loving the visuals, great video!!
@M_10246 ай бұрын
Increasing the difficulty is a cery good approach, if I ever make a neural network I will probably try it.
@shadowcraftersr6 ай бұрын
Awesome! I've been looking forward to this video since I saw the first one. Did not disappoint
@alexanderterry1876 ай бұрын
This is very well put together! At the start I thought there was absolutely no way you'd be able to balance a double pendulum (having learnt all about the dynamics of the system in my maths course earlier this year), but the idea to start on the simpler problem was awesome!
@poketopa12344 ай бұрын
Seriously such a great video. I love the curriculum learning approach!
@BendoubaAbdessalem6 ай бұрын
you should've add to the score function how are the three points are aligned to avoid exploids such ase the last solution you showed us, also i think that we would like to see the result of the training method of controling the acceleration using the last score function when you was still giving the ai control over speed of the cart not the acceleration, and in the end it was a good video, and it was pretty informative and entertaining in the same time!
@srijanraghavula5 ай бұрын
Loved the video, the visualizations, the breakdown and the thought of using not python for everything is whats impressive, immediate sub, hope ill learn how to do this stuff
@PrasantCroissant4 ай бұрын
SUCH ELEGANT SOLUTION
@anstropleuton26 ай бұрын
At 4:00 OH MAN This is SUCH a beauty! I sure CAN watch this for hours!! IT'S STRAIGHT FROM HEAVEN.
@VivienLEGER5 ай бұрын
as AI most generaly does not impress me, your work and dedication does. also i love the attention to details like graphics, that s truly amazing!
@kaseftamjid58544 ай бұрын
I want you to understand how underrated you are
@olliecook19826 ай бұрын
Awesome video! Really shows the complexity in tasks like this, and brings into light the massive challenge of doing this in real life with double and tripple pendulums. I wonder how they managed to get such good control! I also find it very interesting how it hits a wall every once in a while than makes 1 small change and just doubles it performance. Thats really interesting!
@BORCHLEO6 ай бұрын
this is such an amazing visualization and intersection between so many beautiful forms of mathematics. thank you for this @Pezzza's Work
@ChristofFritz6 ай бұрын
Ok, that's hella impressive. I fondly remember visiting "Hannover Messe" with my parents. A convention with a lot of technical stuff. There was a booth where they had a pendulum with a flywheel on the end that automatically uprighted itself and balanced after that. It's stuff like that and what you do here that inspires young people to make stuff like that. Thank you! (And now build a machine IRL that replicates the double pendulum simulation and is controlled by the neural net you trained in the simulation :D)
@adem0s6875 ай бұрын
I just LOVE your interface
@greatwall20034 ай бұрын
Great video and fantastic visualizations.
@cedric17315 ай бұрын
I want your pendulum visualization as a screensaver 😂
@Soulergonote6 ай бұрын
Honestly I thought it would be impossible, you're a real beast !
@auds97385 ай бұрын
The double pendulum paths at 3:20 should be made into a loading screen. I could stare at that for hours
@Syntax7534 ай бұрын
First time I stumbled across one of your videos and this is fantastic work! Loved it. Channel subscribed!
@sanderbos42436 ай бұрын
The exploit solution at the end is amazing
@iainmackenzieUK5 ай бұрын
I laughed at the end when you said "rudimentary" algorithm :) Anyhow - Loved this journey with you. Really fascinating. Thanks for sharing (Seems like you have over-come Loki...)
@TheMiczu6 ай бұрын
Amazing video, gives great insight how to make AI tackle seemingly impossible task.
@sbstndbs6 ай бұрын
That's very great ! Even if the numerical scheme can hide some dissipation, it is the same for a near-perfect physical system.
@CenodisАй бұрын
Regarding the "none of the solutions can recover after collapsing". I imagine this could be because the AI never encountered such a scenario during training. Now I have never trained my own AI but I am reminded of a video about the training of a Trackmania AI where something similar happened. The problem was that the AI got really good at solving the one specific portion of track it was trained on but failed to generalize for the entire track. The solution in that case was to always spawn the AI on a random portion of track. That way any specific solution would fail on the next run and be eliminated which helps avoid overfitting. I think the same might happen here where the AI essentially only ever encounters two states: Pendulum hanging straight down with no velocity and pendulum near equilibrium. Here too it might be possible to "force" the AI to generalize by setting the initial angles and velocities to random values. That way the AI has to learn to recover from any possible state instead of just optimizing for the "straight down" case that can't really happen naturally.
@ChimbroDaPro5 ай бұрын
Just subscribed. You're a genius
@apia464 ай бұрын
those graphs are so cool
@NaviaryMusic6 ай бұрын
Or perhaps, the next step would be to balance the double pendulum in 3D space? Each joint can rotate freely in any direction. That, or balancing a triple pendulum in 2D, I couldn't miss!! Anyway this was extremely enjoyable and a wonderful achievement! My favorite video of yours!
@BrunexGamerYT5 ай бұрын
One of the best videos I've ever watched about artificial intelligence, please make more videos like this, this was incredible!
@maxim_ml6 ай бұрын
Oooh, you're real good I would've thought it was good enough as soon as it was able to balance at all