Watch this A.I. learn to fly like Ironman

Поделиться
HTML-код
  • Опубликовано: 22 мар 2023
  • ...So reinforcement learning is kinda like telling the neural network: "look, I don’t know how to do the thing, but you try do the thing, and if you succeed i’ll give you a reward of 5 dollars." So basically like a father who failed at life and pushes his kid way too hard in an attempt to live out his dreams through his child… That got depressing.
    Some music by ‪@LAKEYINSPIRED‬
  • НаукаНаука

Комментарии • 721

  • @manselreed4191
    @manselreed4191 Год назад +1833

    Seems like adding a facing reward would help stabilize the rotation.

    • @LolKiller_UA
      @LolKiller_UA Год назад +51

      I had the same thought!

    • @KushagraPratap
      @KushagraPratap Год назад +182

      but he's asian, so adding a not facing punishment

    • @memoryman15
      @memoryman15 Год назад +44

      I was gonna say the same thing, he should have made it hover correctly before asking it to move from point to point.

    • @prophangas
      @prophangas Год назад +26

      Or a negative reward for every Spin

    • @elmatichos
      @elmatichos Год назад +20

      Or maybe a directional speed through the point? So more purposeful thruster orientation gets rewarded

  • @redpug5042
    @redpug5042 Год назад +900

    you should also have a negative reward for high angular velocities, that way it has a reason to be more still

    • @nullumamare8660
      @nullumamare8660 Год назад +25

      Also, allow more actions than just "turn on and off the thrust of these 4 rockets". If the AI could aim the rockets (like when you paddle backwards in a canoe to turn it), it would have better control over its rotation.

    • @thicctapeman9997
      @thicctapeman9997 Год назад +24

      Yeah and maybe adding a time reward so it needs to learn how to improve speed, that might cause it to do more "iron man" like flying

    • @redpug5042
      @redpug5042 Год назад +7

      @@nullumamare8660 well i think it does have the ability to move each limb. It might be able to manage thrust, but i'm pretty sure it's only using limb movements.

    • @Jashtvorak
      @Jashtvorak Год назад +1

      Wrists need to have thrust vectoring as well as the whole arm 🙂

    • @tomsterbg8130
      @tomsterbg8130 Год назад +1

      @@nullumamare8660 This sounds like a good idea and I think it'd be amazing if the thrust can be throttled instead of just on and off. However the more complex a model is the bigger brain and time and resources it needs. You saw how good and stable the drone was and that's because it has the same inputs, but 4 outputs for the engines while the iron man has 4 engine outputs and rotation for each limb.

  • @jaceg810
    @jaceg810 Год назад +590

    Theory on why it flies so slow:
    Its original training was based on hovering around one point, thus when it gets a new destination, it still assumes that it should arrive there without momentum to better stay at that spot.
    Then it got a little training with randomly moving spots, having momentum there is bad too, since its actually way more probable that you need to turn around than that you need to continue going.
    This, along with little time based punishment, results in a slower ar

    • @ianbryant
      @ianbryant Год назад +11

      Yeah I would try training it with a list of like 6 points that it has to hit in order. As soon as it hits the first point, remove that point and add a new random point to the end of the list.

    • @morgan0
      @morgan0 Год назад +16

      yeah also use line paths instead of dots to hit. as is the space in between would give it lower reward, so even a model that takes into account future/total reward would not like the space in between

    • @Delta1nToo
      @Delta1nToo Год назад +5

      additionally i think it would benefit from having it's senses limiited and that it only knows where the target is by looking at it. if it's gonna fly like iron man it must also have the same senses as iron man

    • @gageparker
      @gageparker Год назад +3

      @@Delta1nToo Yeah I think that may help the spinning as well. Should probably have some penalty points in there for too much spinning,

    • @Jlewismedia
      @Jlewismedia Год назад +4

      Yep, AI doesn't have a sense of time (unless you give it one) as long as it's completing it's goals it doesn't care if it takes 1000 years

  • @danieltoomey1653
    @danieltoomey1653 Год назад +375

    give it access to the next 2 points so it can find a vector between them, also give it incentive to be faster

    • @GAcaley321
      @GAcaley321 Год назад +12

      Agreed it needs to be able to see beyond one point to “fly” a course.

    • @BigGleemRecords
      @BigGleemRecords Год назад +7

      Lastly, give it rewards for not spinning, and negative incentives every time it spins

    • @bryanwoods3373
      @bryanwoods3373 Год назад +2

      Spinning is only a problem because we think it is. Part of what makes these AI learning experiments interesting is how the system finds solutions without our preconceived limitations. Fixing other factors and improving the flight system could very well fix the rotation problem. Or the AI could rotate in a straight line like a bullet.

    • @BigGleemRecords
      @BigGleemRecords Год назад

      @@bryanwoods3373 that’s easy to understand but in all practicality if we were going to implement this into reality, we wouldn’t want to spin we would want to fly straight. As a simulation of iron man flying it should fly like him as well as look cool doing it. If the AI mastered its control it could easily go much quicker and precise just flying straight. It needs positive and negative flight control incentives, a clear path as well as a timer to reach its potential.

    • @bryanwoods3373
      @bryanwoods3373 Год назад +1

      @BigGleemRecords The video isn't about implementing this into reality. If we were, we'd be using more robust systems that would have more control systems and likely build on human testing or include a human analog as part of the reward system. The spinning is the last thing you want to focus on since fixing everything else will address it.

  • @p529.
    @p529. Год назад +92

    To combat the agent being slow and rotating you could add 2 other negative point rewards, every full rotation can deduct points which would likely reduce the spinning to a minimum and then also give it say 30 seconds to complete a course but deduct points for each second spent too, the agent might learn that the quicker it goes the less points he get deducted. I think revisiting this with these 2 additional criteria would be pretty interesting

  • @flyinggoatman
    @flyinggoatman Год назад +11

    Can we just admire how a few years ago AI struggled to play a 2D game and now this. It's really remarkable.

  • @CasMcAss
    @CasMcAss Год назад +20

    The whole comment section giving Gonkee suggestions knowing full well he can't be arsed to do a follow up video lmao
    great vid, thanks for uploading

  • @Drunken_Hamster
    @Drunken_Hamster Год назад +12

    I think part of the reason it has such a hard time is because it doesn't quite have the detailed control vectors that Iron Man does. If you watch the hovering and flight scenes in the first movie, you'll see he has little compressed air nozzles, jet redirectors, and control surfaces on the boots to help stabilize. He also obviously has flaps on his back, and in later iterations of the armor he has backpack-style thrusters so his COG can be below the thrust point. If the game simulates air drag then add the flaps and stuff, too, but the minimum I think you need to add are the micro thrusters, back jets, and elbow/knee joints.

    • @rndmbnjmn
      @rndmbnjmn 11 месяцев назад +1

      I was looking for this comment, even the clips in this video show control surfaces helping to stabilize Tony's flight.

  • @McShavey
    @McShavey Год назад

    LOL every time I watch your videos I laugh at the editing. Excellent.

  • @grimcity
    @grimcity Год назад +10

    This is my first time viewing your work, and I'm struck both by how incredibly cool this is and your f'ing hilarious sense of humor.
    I'm always the last to know, I guess. Really fantastic work, fam.

  • @balls2848
    @balls2848 Год назад +29

    Does it have the ability to throttle the jets? If not that could be the reason why it spins so much. It's the only way to stay at a constant height with constantly high uplift. (Also it stabilizes it really nicely)

    • @Obcybr
      @Obcybr Год назад +1

      Came here to say this. Adding throttling would make it much more elegant

    • @deeplerg7913
      @deeplerg7913 Год назад

      is it the only way? maybe you could point them in the opposite directions, that would work too

    • @bryanwoods3373
      @bryanwoods3373 Год назад +1

      Pointing them in the opposite directions is why the model spins. The opposing forces aren't in line with each other, which will cause rotation as soon as any one moves off-center. My understanding of the flight system here is that the only options are jets on or off simultaneously. As others have suggested, adding individual velocity control would probably address much of the spin. And then letting the AI know at least two points ahead will let it plan to use trajectory for a better score.

  • @reendevelops
    @reendevelops Год назад +2

    Another banger. Always love the way you use memes to make it funny!

  • @raeraeraeraeraerae
    @raeraeraeraeraerae Год назад +7

    glad your brain cells and hairs grew back :)

  • @michaeln7381
    @michaeln7381 Год назад +52

    You should’ve added more or less points depending on how much time they to get to the target, that’s what would fix the flight.

    • @nemonomen3340
      @nemonomen3340 Год назад +4

      That's a good solution, but I'd also reward it for facing toward the target to keep it from spinning.

    • @michaeln7381
      @michaeln7381 Год назад +3

      @@nemonomen3340 with those 2 things it should learn to fly perfectly… or spin at the right angle but that would be slower so that won’t happen.

  • @micky2be
    @micky2be Год назад

    Really enjoyed your explanation and video format.

  • @bumpybumpybumpybumpy
    @bumpybumpybumpybumpy Год назад +34

    I'd love to see you tackle AI in a preexisting game. I dunno, throw half life at it and see what sticks.

  • @benjaminlines6387
    @benjaminlines6387 Год назад +1

    Finally! Really like your videos

  • @MrAmalasan
    @MrAmalasan Год назад +12

    Your reward function could be modified to get what you want. Add in score for time, add in penalty for excessive rotations/spinning

  • @theillitistpro
    @theillitistpro Год назад

    I truly like you. Subscribed.

  • @elyassaci9781
    @elyassaci9781 Год назад

    Man ur so fkn funny continue like this first time I saw u and not the last

  • @volium1337
    @volium1337 Год назад

    good having you back

  • @Krixsix
    @Krixsix Год назад

    fr this is video is one of the best YT vids all time

  • @oouziii4679
    @oouziii4679 Год назад

    Amazing, this is the kind of models I wanna make. Great video

  • @berekettaffese4940
    @berekettaffese4940 Год назад

    Love the sense of humor!

  • @Speculiar
    @Speculiar Год назад

    I had to go back and watch this three times. Hilarious!

  • @cookesam6
    @cookesam6 Год назад

    I like these explanations bro. This is really decent content, thanks for putting in the effort with your videos

  • @EigenA
    @EigenA Год назад

    Great job, a lot of room to continue developing your algorithm, but love the initiative and results are fun to watch.

  • @FraudFord
    @FraudFord Год назад

    100k!!! i rlly wish you get 100k subs very soon

  • @CharthuliusWheezer
    @CharthuliusWheezer Год назад +6

    Another thing that you could add to this would be random perturbations like throwing blocks at the agents so that they learn to recover from instability like the drone had at the end. Would you be willing to release the source files for the project and then do a compilation of different people's attempts at improving the result? I think the learning the actual Iron man style of flying might be possible but if you don't want to do all the work on that it could be fun to see what the community comes up with.

  • @reystafford9949
    @reystafford9949 Год назад

    Bro you just validated a theory I've had for a long time. I'm not sure if I'm saying this right so please bare with me. All kinetic type movement is always multi layered. There is probabilistic correct-ness at every axis. Therefor it is necessary for every joint to learn to work together. You need a series of cooperating routines that all independently learn and get rewarded by a higher system. For drones it would look like a computer flying with a full flight controller managing the power at every motor with an operator that verbalizes instructions. Love your work here ( subscribed! )

  • @yellowvr__
    @yellowvr__ Год назад

    happy 100k!!!

  • @nogoodgod4915
    @nogoodgod4915 Год назад +7

    After getting so many good suggestions on improving the ai, you have to make a part two now. And make it more of a challenge.

  • @eldadyamin
    @eldadyamin Год назад

    Amazing work!
    I suggest adding another training step - fastest route.
    Eventually, the model will fly as intended.
    Good luck!

  • @ArtamisBot
    @ArtamisBot Год назад +9

    I would make the reward relative to the forward direction to each node to promote a flying posture and stop the spinning. If you added the next node as input as well it might be a bit better at handling its own momentum out of each node.

    • @lombas3185
      @lombas3185 Год назад

      * proceeds to float in place facing the point without moving at all *

  • @ChipboardDev
    @ChipboardDev Год назад

    MLAPI is a blast, love it. This inspired me to (hopefully) do my next AI experiment soon.

  • @rvnx1564
    @rvnx1564 Год назад

    your editing skills are getting better

  • @Pillow_Princess
    @Pillow_Princess Год назад +1

    Let it know where the next goal point is going to be after the one it's currently at disappears and add a reward for getting to the next goal faster.
    That way it'll learn to keep the momentum between goals instead of learning to slow down before hitting goals so it doesn't overshoot them and get punished.

  • @fodderfella
    @fodderfella Год назад +2

    seems like the rotation is so that it can use centrifugal force as a stabilization method

    • @geterdone4936
      @geterdone4936 Год назад

      But he looks like a sped kid on a tricycle

  • @dipereira0123
    @dipereira0123 Год назад +1

    Dude for real, you should have a premium version of you channel with the walkthrough this is the kind of content that some people like me can only dream of

  • @astrovation3281
    @astrovation3281 Год назад

    I love how there are so many comments from people that know how this works, but imo its fun to watch this

  • @rogerayman4499
    @rogerayman4499 Год назад

    like my boy Pontypants used to say "Epik ballerina simulator 2k", awesome btw

  • @kurikokaleidoscope
    @kurikokaleidoscope Год назад

    Fabulous channel and style
    NEW SUBSCRIBER FROM JAPAN ❤

  • @aaronb7990
    @aaronb7990 Год назад

    All hail the algorithm 😂 great video, subscribed!

  • @mr_rowboto
    @mr_rowboto Год назад

    Big W dude. Love the Ballerina Ironman result.

  • @Beatsbasteln
    @Beatsbasteln Год назад

    i can see a future in which instagram- and tiktok content creators just rip off that scene of your ironman spinning around slowly through your obstacle course as a background video for their voiceover content

  • @frogringtone
    @frogringtone Год назад

    thanks for making a long video :)

  • @michaelganzer3684
    @michaelganzer3684 Год назад

    This might be a good demonstration on how the heater element of my old baking oven works. Gets the job done, but only readjusts when falling under or climbing over certain temperature thresholds.

  • @geterdone4936
    @geterdone4936 Год назад +2

    You should add a style reward so he’s not spinning around like a neurodivergent fish and you should also add a speed reward so it’s not taking seven years to tickle the next ball

  • @casperjensen4156
    @casperjensen4156 Год назад

    Wonderful informative humor😄👍

  • @h0ckeyman136
    @h0ckeyman136 Год назад +1

    I love the low attention span shade and for that, a sub

  • @Ididor
    @Ididor Год назад

    There are so many recomendations in the comments, please make a part two where you implement them cuz im curious af

  • @NotKotten
    @NotKotten Год назад +1

    bro did this without even activating windows what a legend

  • @lolcat69
    @lolcat69 Год назад +1

    if you do something like this in the future, you could add a reward for it facing forwards, it's going to take a bit longer to train, but damm it is going to be more stable

  • @Unpug
    @Unpug Год назад

    Great video :D

  • @glennhuman6936
    @glennhuman6936 Год назад

    You probably should added a learning phase where it learned to recover from an uncontrolled fall

  • @comproprasad6438
    @comproprasad6438 Год назад +3

    Saw that you had some parameters related to velocity which I think depends on the direction. Haven't done much machine learning or 3D animation programming myself but I think you need to train it on 2 random points and optimize for speed instead of velocity and time taken to reach the destination.

  • @MrAndroGaming
    @MrAndroGaming Год назад +1

    I think adding the wrist rotation joint in the hands and ankle joints in the feet would help stabilization a lotttt if trained enough! (As a bonus give it variable thrust... The ability to control how much thrust to output from each of the boosters independently and individually... But it will require a lotttt of training too)

  • @David-gk2ml
    @David-gk2ml Год назад

    " sometimes you gotta learn to run before you can learn to walk" Ironman

  • @HotNitrogen
    @HotNitrogen Год назад

    This iron man accurately represents how my life is going

  • @clarysshow3253
    @clarysshow3253 Год назад

    11:23 dude you're so true. Your words are similar to mine, we share the same knowledge , as great minds think alike Mr. Gonkee

  • @a-fletcher
    @a-fletcher Год назад

    I feel like if you added additional informally like g forces from spinning and added a penalty for spinning 2 much, plus maybe a bonus for having the right way for the drone it could improve the stability. Especially for the iron Man as it was just doing a lazy, I spin 2 win technique 😂😂. Super cool video though loved it.

  • @ohctascooby2
    @ohctascooby2 Год назад +1

    So Stark’s space version of his suit has a booster set of thrusters mounted high in his back. You need to include those and make them the primary lift thruster. That allows you to use the arms and legs to fine tune the location. You also (likely) need more dexterity in the arms and legs.

  • @HansPeter-gx9ew
    @HansPeter-gx9ew Год назад

    what I learned from the video that Quaternions are not good to use for training, thank you :D
    Btw., a negative rewardr for overall spinning velocity would help to minimize the quirky movement

  • @fardouk
    @fardouk Год назад

    For the third step (on the map), change your rewards by going from "how close it is from the point" (it knows how to do it) to "how fast it completes the path" and get some generations : when you learn a track in track mania: first you try to finish it, then, when you know that, you try to make a new personal record.

  • @renagon6864
    @renagon6864 Год назад

    A reward for reaching each point in the shortest amount of time, maybe?

  • @EmergencyTemporalShift
    @EmergencyTemporalShift Год назад

    What might improve things is to have it target the point two ahead from the closest point, that way it always wants to move forward instead of matching the points exactly.

  • @wtechboy18
    @wtechboy18 Год назад

    spin stabilization - it makes so much sense that even AI can use it

  • @matteoventura7465
    @matteoventura7465 Год назад

    I read that some machine learning techniques try to fail the object by telling them to stay off the ground, that way they could learn more stricter and efficiently to avoid collision with a certain surface.

  • @SUED145
    @SUED145 11 месяцев назад +1

    it must have control over the propulsion force

  • @shanjoogamer3609
    @shanjoogamer3609 Год назад

    If that were Tony, He'd be puking in his helmet halfway through the course.

  • @AlexKDev
    @AlexKDev Год назад

    Doesn't get there on time, but gets there in style 😎

  • @pixels7223
    @pixels7223 Год назад

    summary: play around more with rewards

  • @candlestorms
    @candlestorms Год назад

    I think a follow up could be pretty intresting, adding a punishment for rotation and a reward for getting to the destination quickly, that way it would spin less adn would care about time

  • @GameGasmTrailer
    @GameGasmTrailer Год назад

    I wonder what force could've been added to the suit to balance the spinning momentum. Maybe two angled thrusters on the back.

  • @dipereira0123
    @dipereira0123 Год назад

    Amazing Content!! Liked comented subscribed and clicked the Bell!😃👍

  • @SaltyMcSaltyPants
    @SaltyMcSaltyPants Год назад +1

    You could try adding a time based reward (a 0 second score should be considered bad as well). A stability based reward could also help with training in the beginning 🤔

  • @pureindustries1975
    @pureindustries1975 Год назад

    @gonkee adding a facing reward would help stabilize the rotation nad also maybe give it sone control over the thrust control not fully like 0% - 100% but more like 50% to 100%

  • @ToninFightsEntropy
    @ToninFightsEntropy Год назад

    Good rant. Totally agree.

  • @sukhrajhothi1542
    @sukhrajhothi1542 Год назад

    love the sarcasm

  • @daigakunobaku273
    @daigakunobaku273 Год назад

    Great video, man! Nice to see you being back for the technical stuff! I would recommend adding angular momentum with a negative factor to your loss function (with a certain unpunishable threshold and nonlinear activation) - that may fix the spinning and make your Iron Man fly more like in the movies
    P.S. It seems like that's what literally every commenter wrote, quite unoriginal 😅 So here's a more original proposition: make another video or two, improving this design instead of moving to a different topic! That would certainly be interesting and also more beneficial for you as a professional

  • @JPARnum1
    @JPARnum1 Год назад

    it fell because you didn't solve the icing problem.

  • @linecraftman3907
    @linecraftman3907 Год назад

    The model is probably spinning as a simple way to strabilize into the upright direction like a gyroscope

  • @daves_world
    @daves_world Год назад

    They became self aware at the end and gave up in retaliation 🤖

  • @ronaldocala8447
    @ronaldocala8447 Год назад

    Adding a time reward, so it can gets faster to the checkpoint might help, so it doesn't take a lifetime to get there, and a negative reward for each complete rotation it does

  • @Virus.uploading
    @Virus.uploading Год назад

    So that’s why the old flying saucers had lights circling around them!!

  • @GnJoe941
    @GnJoe941 11 месяцев назад

    Tony: JARVIS I think there is something wrong with my suit...
    JARVIS: It's working fine Sir..

  • @WyrdNexus_
    @WyrdNexus_ Год назад

    Maybe use radians instead of vectors for rotation?
    To make this effective you'll need three reward mechanics: facing, distance to point, and time.
    1. Hover: (-score distance from pointA)
    2. Hover: (-score distance from pointA) and Face (-score angle offset from direction to pointB)
    3. Hover Time: (+score time on pointA) and Face (+score time [very close] to direction to pointB)
    3. Race: Time (-score duration from start to pointA) and Face (+score time [very close] to direction to pointA)
    4. Race: Time (-score duration from start to pointA then B then C) and Face (+score time to next destination point)
    5. Add more and more points until you get to around 10 in one course, train them on that for several days.
    6. Hover & Race: Distance (from next point), Face (offset from next point), Time (+score for time on point). Move a single point randomly every n seconds. Once they touch the point set the facing direction target randomly, until the point moves again. Now every time the point moves, they will get a high score for immediately facing the point, getting there as quick as possible, then staying there as long as possible while picking a new facing direction.
    7. Bring it all together, and make another long course of 10 points or so, but remove all the rewards except completion time.

  • @AHSEN.
    @AHSEN. Год назад +8

    Nice video. Are you rewarding the AI based on how fast it can get to the target? Because it you're rewarding it for staying in the air, and then a fixed reward when it hits the target, it learns to take longer. I'm sure you already know this, but this is a subject I'm rather interested in ¯\_(ツ)_/¯

  • @schirmcharmemelone
    @schirmcharmemelone Год назад

    WOW that is soo cool! please make a followup on this! i think you can make this thing go crazy wild! punish it for spinning so much and instead of training it to go to a random point train it to go for chains of points. so it can anticipate where the second next point will be instead of just being surprised where the next position will be!
    i like your hairline :)

  • @Dicklesberg
    @Dicklesberg Год назад +1

    Would be really cool if you made this into a series of a few videos, where you take ideas from the comments and other ideas you come up with to improve the flying. Basically, I think the "meta answer" is to think through all the properties you would want to see in a perfect flight, and then build all of those things into the reward function. Other commenters have mentioned penalties for taking too long, penalties for excessive rotations, etc. One approach would be to compute the total "energy" used by all the rotors, and make the reward function "Gets the the destination in the least amount of time using the least amount of total energy". This would probably have a side benefit of reducing the extra rotation, since that is mostly a "waste" of energy.

    • @Crazyclay78YT
      @Crazyclay78YT Год назад

      i think its less wasting energy and more wasting time

  • @AlexJoneses
    @AlexJoneses Год назад

    spinning is because of stability, the way its spinning kinda makes it so it just stabilizes itself with a constant output rather than needing to vary every single thruster individually. To avoid this, when making the path rewards add a reward for maybe not rotating or facing the target

  • @SgtSlippySticks
    @SgtSlippySticks Год назад

    Tony's in desperate need of some elbows and knees

  • @durant4526
    @durant4526 Год назад

    The video was great! Iron man was busting a move

  • @synical2316
    @synical2316 Год назад

    bruh the intro is straight outta rocket league im telling you, look at the air roll

  • @carbonyte
    @carbonyte Год назад

    To fly like in the movies the suit would need to create some kind of uplift, that it obviously do not.
    So one feet need to keep pointing down to hover, but it is absolutly unstable. There for the AI uses spin to stabilize the position. It is really clever, and i think the only smart way to stay stable in the air. And it shows, that it would be almost impossible for a human to fly in such a suit. It would need some movable thruster attached to the hips, to perform some kind of VTOL movements. Very interesting video. Thank you a lot for this hard work!

  • @programm1c
    @programm1c 9 месяцев назад +1

    Try giving the Agent a huge punishment for spinning around, that may help. Keep it up! :)

  • @moahammad1mohammad
    @moahammad1mohammad Год назад

    Gonkee closer to achieving enlightenment with every video

  • @SamLeroSberg
    @SamLeroSberg Год назад

    Dude the edits man 😆

  • @zettabitepragmara4031
    @zettabitepragmara4031 Год назад +26

    ayo new gonkee vid? time to watch instead of woman

    •  Год назад

      W comment

  • @frostymcfrosts2831
    @frostymcfrosts2831 Год назад

    Jaaj ur making videos agoin. Your such a good youtuber