I'm still impressed at your ability to speak without moving your lips
@woobear017 жыл бұрын
Retired developer here and after watching the 4 videos you make me want to program again. Thanks for the juice.
@xamael19897 жыл бұрын
James Frohliger dont retire fellow keep the fire burning✌✌✌
@Rostol6 жыл бұрын
i downloaded visual studio and unity after these 4 videos, so yeah i get it
@woobear016 жыл бұрын
I love being retired but I also love exploring the coding landscape. Always will. Currently chasing golang + graph databases.
@jabahpureza6 жыл бұрын
Obrigado pelo curso! Um salve de São Félix, Bahia, Brasil.
@kenchang34566 жыл бұрын
Former programmer here too and this was so approachable and the topic is so amazingly interesting I am grateful for the work presented here.
@emperorpicard64745 жыл бұрын
The reason why Forrest failed is because you didn't incorporate Jenny into the reward algorithm.
@deepfakestudio77765 жыл бұрын
Nice 1
@b7e2865 жыл бұрын
hahahaha!!
@Crisosphinx4 жыл бұрын
He also didn't have a box of chocolates.
@emperorpicard64744 жыл бұрын
@@Crisosphinx My ma always said, a neural net is like a box of chocolates, you'll never know what you're gonna get.
@seanld4446 жыл бұрын
1st video: 'I AM LAZY" 4th video: "Don't be lazy, bro."
@TheMarkFeet6 жыл бұрын
Forrest has evolved already if you tell me: he blamed lag.
@voxorox6 жыл бұрын
We'll know he's really getting advanced when he starts accusing the courses of cheating.
@MrAj1985 жыл бұрын
Hahahahahhahahahaha!
@malamhari_5 жыл бұрын
lmao
@danvartan6 жыл бұрын
That was one of the best video/series of machine learning that I have watch. Machine Learning Games! Wow, that would be awesome!
@Alfie2756 жыл бұрын
How to stop lag affecting the results: Use FixedUpdate and fixedDeltaTime instead of Update and deltaTime. Update gets called every frame, so the actual time between varies. FixedUpdate will get called with a constant average frequency (note actual period in real time may vary, but thats why you use fixedDeltaTime). The way it exactly works is that the time since last frame will be added to some accumulator, eg the accumulator is currently 0 and then you get a frame after 0.023 seconds, it will now be 0.023. Then the first thing (before physics) is that while the accumulator is above the fixedDeltaTime (say 0.02), it will do a fixedUpdate and subtract the 0.02 from the accumulator. Then there will be 0.003 left in this example. This is useful as the "leftover" time accumulates, until you get multiple fixedUpdates per frame (of course, you may be getting many anyway if framerate is bad). Also useful is that each fixedUpdate is called before each physics step, so anything affecting the physics (or relying on it) should be done here as well.
@filmgbg6 жыл бұрын
What this guy said. Sure hope he sees this comment.
@MaddieM46 жыл бұрын
On top of this, I'd like to say, the most likely REASON for this unpredictable and seemingly nonsensical lag, is garbage collection. Memory optimization, especially lifetimes and explicit collection timing, are probably the most critical improvements that the game could have used.
@filmgbg6 жыл бұрын
Philip Horger You can't do stuff like that manually in C# though, and I'm pretty sure you can't in javascript either.
@Alfie2756 жыл бұрын
filmgbg you kind of can, using techniques like object pooling, where instead of creating/deleting objects, you take from the pool (and create if needed) and return them when not needed. Since the pool has references to unused objects the GC doesn't kick in untill the pool itself isn't needed
@filmgbg6 жыл бұрын
Alfie275 Yeah of course you can object pool, but that wouldn't apply to this project, except possibly when respawning the AI player.
@DariushMJ6 жыл бұрын
Good job! here is my analysis: #1: Put the the code in Unity's fixedUpdate function rather than the update function to avoid the lag influencing the AI. #2: Either give him a longer sight range such that he will be able to spot the dead-ends earlier, or equip him with A* path-planning, such that he will only have to follow way-points. #3: Avoid overfitting by testing him on all the maps at the same time, or by giving him a new randomized map in each iteration. #4: Add one more hidden layer to the neural network: 1 layer with 100 neurons perform equal to 2 layers with 2-3 neurons each!
@alxjones6 жыл бұрын
All good ideas. For #4, it may be worthwhile (given sufficient training time) to use some kind of optimization algorithm to determine the best NN architecture for the application. And on the subject of time, a quicker method of training, like a version of the game with no or simple graphics, would help significantly.
@ZackAngelSmith4 жыл бұрын
does he use unity and python? plz anwser
@SourabhDesaiBrief4 жыл бұрын
Yes, I also, Visualised #2...
@NaudVanDalen5 жыл бұрын
The hex shapes constantly increase and decrease the distance to the walls next to him if running horizontally and even more confusing when running vertically because the distance to one wall gets large while the distance to another wall becomes small and the other way around.
@BlueTJLP7 жыл бұрын
Use raycasts next time instead of these static lines, so Forrest could adapt to situations where the lines would be too short in open areas.
@jakobkreft77977 жыл бұрын
Yoo you are SO AMAZING! Watched just a few of your videos but damn you are original! I'm proud to be your sub this early because you have the sauce! Hahaha much love from slovenia 😁🔥
@zitaoqiu6 жыл бұрын
I am taking machine learning class this semester, your project is very interesting! One possible problem I can think of was the input. I don't think there was enough input to train your agent well. You can play this game well because the environment was fully observable to you. However, your agent didn't have full access to the entire map. Just imagine how hard it would be if you are playing this game in first-person view. Even the top player may not be able to do well if there is some dead end trap.
@SSampaleanu6 жыл бұрын
When Forrest failed on level 4, it looked like he ran directly into the wall at a 90 degree angle. In every other level, he was moving around corners, so walls would always approach on one side and Forrest would know to turn the OTHER direction. If the wall approaches from a head-on angle, Forrest would not know which way to turn since the wall would activate his front-left and front-right equally. I believe including a similar scenario in your training would have corrected this, as you alluded to in the video, but I'm still pretty new to this topic. Love this content, you inject a lot of fun and personality into this topic! thanks for your work
@SheeplessNW66 жыл бұрын
I loved this series! I think you did a great job of conveying the fun of experimenting with software, and I suspect quite a few of the people who watch this series will be encouraged to try their hand at machine learning as a result. Great job!
@govinm69736 жыл бұрын
Just found this channel, so much information and yet you leave the viewer wanting more to sink their teeth into. Great job! Also, looking forward to trying out some of the machine learning games!
@WindBendsSteel6 жыл бұрын
One thing that would help Forrest, is increasing the turning speed with lower distance values, so he has time to turn around before hitting a wall. and also feed him with a backwards very long linetrace as well, so he knows what is behind him, and how he is progressing.
@rtesdahl6 жыл бұрын
Really fun and helpful video series. I have enrolled in an introduction to machine learning course after being inspired by your Forrest project. I'm not changing my career or anything, but I really want to understand the field better. Thank you for your accessible and informative way of talking about your project.
@dyntaos6 жыл бұрын
I'm a new viewer and I just wanted to say, I really enjoyed the first 4 videos of yours. Keep up the good work!
@TheGamingPerspective7 жыл бұрын
Just wanted to commend you on a good series. It does a lot to give a general understanding of neural networks and you use humor well. My only critique would be to show more code. I will probably stick to watching the coding train for most of my watch time simply because he offers the attitude of love for code that you also show, but he spends his time showing the code which is the best way I learn.
@maxedwill6 жыл бұрын
Wow sick series, really enjoyed it, I feel like I understand machine learning much better after watching this than other videos which can get caught up in jargon. You keep it funny and interesting while getting into complex subject matter. I also really appreciate how you analyse and learn from yourself, it's really cool to see your process. Will definitely be watching more of your videos, can't wait for your channel to properly blow up!
@busytellingjokes16505 жыл бұрын
Its up to you bro you gotta make the breakthrough in machine learning programs and forever be noted in history as the man who changed the world
@JimGiant6 жыл бұрын
Something which might be worth trying is playing the game through Forrest's eyes. Try the courses yourself but without rendering the course and just showing the inputs Forrest receives. If you struggle try adding more inputs to give a better picture of the world.
@ForsmanTomas6 жыл бұрын
I spent DAYS trying to figure out how that demo worked when I was just a kid, not even a teen. It's been with me ever since and when machine learning blew up I kinda felt I understood it straight away, though...only in a very very general sort of way. Thanks for this fun demo.
@Not_Pulsus4 жыл бұрын
Hella impressed with the fact that you powered through this project. Looks exhausting! Such good learning, though!
@steventeglman6 жыл бұрын
First time I've seen you talk while moving your lips. Impressed. But real talk, your channel is amazing, and has inspired me to really start looking into machine learning. Keep up the great work!
@RichardVaught2 жыл бұрын
Your observation @3:26 is essentially a damning critique of our western education system: So deep in the basics that the learner never achieves the general understanding that would allow them to navigate challenges they never trained to face.
@hammadshaikhha7 жыл бұрын
Awesome video, really good reflection of this ambitious project. I look forward to your machine learning game on steam.
@Photosynthesisbeing6 жыл бұрын
Watching these 4 vids has really inspired me to learn more about machine learning. Great job keep this up 100k subs very soon.
@darth_dan88865 жыл бұрын
For the first time in a while I actually learned something in this machine learning series. Gotta go check out your links on video 2. Thanks for doing this project!
@pjbsgalmbakakgwns28176 жыл бұрын
The most fun game I have ever played , feels like co-operating with my pc to beat the stage keep being awesome !!
@ixon43305 жыл бұрын
Hey man, maybe adding a “rewind to safe position” feature could not only increase Forrest learning skills but also, give you the exact moment when your Robot succeed to master any course. And with a good use of probabilities, he could adapt results to any course in real time without (too many) errors(or none).
@JunkiMoturi4 жыл бұрын
You've taken a very different approach to machine learning that has gotten me fired up and ready to dive in... Time to feed that curiosity.. :D Just subscribed to learn more from you.
@lizardy28675 жыл бұрын
In many different NN setups; specifically more linear ones, a common theme with regards to learning is the fact that optimizations are made for general solutions to generally similar situations. Meaning: trying to make a NN learn how to deal with polar situations usually ends with less than lackluster results. Training for one thing can make you a master at specifically that thing. Training for another thing with a similarly structured dataset can make you above average at completing both. This pattern of a downward curve of percentage success over the number of things you are training for, is probably one of the main reasons animals are designed to be able to remember things, and create schemas based on those memories of different situations. This should ultimately achieve similar results to combining multiple simple NNs designed for only one situation in order to act as one NN.
@dfghj2415 жыл бұрын
i love this topic of machine learning so fucking much because it touches on so many fundamental topics of humanity. You have to understand biological evolution, genetics, education and learning, psychology, statistics, data analysis, programming, and probably more, but i can't think of any right now.
@nononono34216 жыл бұрын
You probably figured what was wrong by then, but if not here's my view (I'm not a programmer). Having made Forrest human-like in appearance may have mislead you from realizing that he was programmed like a car more than a runner:) He can't stop, he doesn't do head-sweeps, and I'm not sure if he can actually slow down. As soon as I saw that you drew those distance lines as his input, I knew it wouldn't work. When you try to reproduce intelligence, any shortcut is likely to bite you in the butt later. We can't replicate everything really, but you have to be really careful about what you will simulate. In this case, he is missing key runner-like abilities, especially considering the tracks you gave him are sometimes maze-like. It was mission impossible from day one. You gave him a car-like behavior, but maze-like tracks. In some situations, a distance will appear favorable, but then lead to the equivalent of a dead end, where there is always a path that is longer than another, but Forrest won't be able to course correct fast enough before hitting the wall. This limits his ability to spend more time learning what to do in cases where there is actually a chance to survive, because you are losing training time on cases where there is no success potential. For example, imagine there are three doors, and from that alone you cannot learn which can lead to the finish line; you go in one, it's a dead end. First, you don't have the ability to stop, then turn, to find a longer path than the dead end's walls. Even if you see a longer path in in the periphery of your vision, you lack the ability to course correct enough to take it. This wouldn't be as much an issue if the track was not maze-like, but it is, so the need to do more significant course-correction should be key. Second, when you die hitting the wall, what did you learn about the first choice you had to make, which was which door to go through? Nothing. So you wasted some training time making decisions about choices that couldn't be solved. Ideally, you would have learned nothing about which door to use itself, but at least would have survived out of the dead end and continued, learning course-correction all the way, losing no training time. So if you want Forrest to be a "maze-runner", you have to modify him. He cannot predict what won't lead to a dead end, so he has to be able to correct his course when options narrow too much. Maybe add the ability to slow down and look for longer paths. Otherwise, you have to alter the design of your tracks to fit with Forrest' abilities and make them less maze-like, and more car-race like. Cool stuff though, subscribed!
@giancarlo98666 жыл бұрын
I really like your comment mister :)
@dustyapples13946 жыл бұрын
I don't know much about coding, but if you want him to learn quickly I think one way to speed up the process would be to give him a distance that he can't cross. ie, if any values are closer than .1 to a wall, change direction. Similarly to avoid running circles create a "cannot be in the same spot twice within one lap" rule. Also If lap 1 = success! Then lap 2 = lap 1. The last thing I can think of off the cuff would be to add a "distance from start" calculator and tell Forrest every time distance is improved, run the course that same way up until the improved "checkpoint", and then improvise from there. Similarly, if after getting to a checkpoint distance is degraded (Forrest turned around a circle and ran backwards etc) never repeat that route. Just some thoughts, if any of those just don't make sense/aren't possible weeeeeeeelllllll like I said I don't know much about coding. Cheers! *Edit: I got so caught up in ideas that came to me I forgot to add my appreciation to the comment. I just found you and so far I'm loving every video! This one decided my subscribe. Keep up the good work bud.
@johnbeck69964 жыл бұрын
Good series! The first issue I would suggest attacking, is running into a wall. That simply check if he travels further than the track is, it is immediately a failure. ie: choose a direction, but not if that direction hits a wall. That would stop a LOT of training failures, and aborted runs.
@gravitonschannel69447 жыл бұрын
You are great Jabril!! Good job on the project, and better luck next time :)
@KnThSelf2ThSelfBTrue7 жыл бұрын
Hey there Jabrils! I just watched all four videos in the series consecutively. This channel is so exciting, and I really hope you keep at it! I'm currently trying to teach myself how to build machine learning algorithms on KZbin, and so far I've got my first, tiny, three-neuron-big network. I'm really interested in a videogame that pits a human against a machine that learns to respond to the player's actions... like some kind of dueling or defense game. If the algorithm was good enough, the machine would always beat the human eventually, but I think players would get a lot out of seeing how long they could outwit the machine in a mechanically balanced game. Any game where player can fulfill a teacher and student role seems exciting to me. A player-versus-player game might have a bit more of a... niche... audience. But it would be fun for us data scientists to put our algorithms to the test in a "microbe army vs. microbe army" sort of game! The excitement might wear off if the global minimum of the game were found.
@totally_not_a_bot6 жыл бұрын
I think a good idea might be to set a lap trigger, like you did, but make it so crossing the trigger backwards gives a heavy penalty, or even kills Forrest outright. Using a pathfinding algorithm to help generate fitness scores could be useful as well. Clearing a greater length of the path gives a higher score, and hitting the lap trigger in more time gives a smaller multiplier, with a simple function of Forrest's speed and path length being used to calculate the max bonus. Total distance travelled could factor in as well, with a bigger number relative to percentage cleared being worse. Maybe if I work hard enough, I'll know how to implement these ideas myself in a few months.
@MULREADY976 жыл бұрын
Student here and after siphoning through loads of crap monotone boring af content I stumbled on your channel, best programming vids I've seen, like a breath of fresh air. Thank you p.s. Subbed
@oasishurl6 жыл бұрын
This is awesome! For more complicated levels, it'd be awesome if you added a way to run into unexplored areas. Like a reward for moving away from everywhere you've already been. Which would require a real time memory of that as the agents explore. That way you could keep agents from getting turned around and going around backwards.
@Rostol6 жыл бұрын
Dude i cant thank you enough, both for the code and for the line-by-line commenting ... sooo easy. gamejolt here i come ;)
@arianh65536 жыл бұрын
amusing and informative, man. thank you for putting in all the work to produce this
@mdtapilatu4 жыл бұрын
It took me 4 parts of your video only to understand that forest is no more than what you WILL ALWAYS teach him to be and do. I hope we as human are not mere AIs to the Gods. Nice work btw👍
@kevinowenburress24356 жыл бұрын
You need to add a gradient for each of forrests "feelers" so that it becomes more negative to be too close to the wall in any one direction. Maybe use a logarithm. It's also better to use a predictive time series so you would actually have forrest running a frame or number of frames behind where he would run, and then anticipate where to go based on values and use a second, deeper network, in order to make decision trees based on which training sets to use in the next steps. And there are multiple ways to do this so you might want to look at making a neural network that tries them all randomly until the best combinations are found based on the same recursion. Then just add a lap marker at the starting point and make forrest drop markers for where he has already been and train him only on not hitting the walls and covering the least amount of distance to complete the tracks, and causing the first lap markers to be ignored at a certain point before the second lap or erase them up to a distance behind him, before they are in his field of vision, which is probably better except for in a few cases, which is a harder problem to case for randomly generating courses, which is another algorithm that is inversely co-variant with the difficulty in solving them, in some aspects. Being able to calculate that in the same means is of value as well, and you can see why now things are boring, and why it is of no value to explore things that don't make my possible as an independent conservative. Of course doing this in ways that affects people is a whole other domain and is in the realm of managing probability and risk. Since you wanted to get political and this is a matter of science involving politics and what we're not the ones doing..
@maleck254 жыл бұрын
Very well edited and funny. You have a creative mind bro !
@nammick6 жыл бұрын
I both found this both extremely painful to watch and amazing to watch your thought process and presentation and closely follows a few of my failures in NN. From the offset it was clear that without any memory, a feed forward state would need more info on it's environments. Ironically I think if you had the NN setup with just 2 more input angles this may have worked but the problem was basic geometry for fitness on your tight hex courses you were essentially getting aliasing so 2 more inputs would have removed aliasing. Very good series and well explained. I have found that if you can think of what you would need to solve a problem and going further in deep learning the number of functions you may need to use to solve a problem + wether it needs to remember some state this can give you good clues on how many inputs you need, what layers you need and what activation functions you need on those layers.
@GameCarpenter6 жыл бұрын
A couple of concerns I had that weren't mentioned, is that this is a harder problem for forest than it is for us, because forest is essentially playing the game in first person mode, and since there is no way for forest to track his previous location during a race (trail markers, memory effects), he has no way to (for example) loop around a hexagon, realize he has made a loop, and continue in a different direction. Everything else, you hit on. Especially the idea that the hexagonal tracks were a particularly treacherous terrain choice.
@maroawesome30686 жыл бұрын
Great series man .. I really love the semi technical way of explaining things and I really like your video editing Best of Luck
@DigitalAwareness6 жыл бұрын
Awesome series. The main issue is that Machine Learning/Neural Networks are not AI. They only work to regurgitate previously trained data. So you would have to train Forest on one course until he mastered it then he would replicate that. If put into a new course he would undoubtedly fail as his training would be as good as random for the new course. Just because he is trained on a few different courses does not mean he has the ability to make artificial judgement in a new situation. This also depends on how you have setup the game and training. My suggestion would be to gather distances from the walls around him, then it will be like he has sight and can learn which way to go based on that sight. when properly trained with "sight" he should be able to tackle any new course and eventually find his way around it without fail. I presume he is currently just randomly running in a direction and memorizing a path which he improves upon every iteration. With that approach he is just memorizing a specific course when trained over and over, no real cognition is happening. Great job though and loved your content.
@arsnakehert6 жыл бұрын
Great series, man, I'll make sure to follow your next projects!
@robertf90636 жыл бұрын
Hey just found this video. My last name is Forrest. I'm going to start my Machine Learning journey now thanks to your videos. I'll do my best to make the master Forrest.
@Krommandant6 жыл бұрын
HUGE PROPS FOR THE SERIES! I admire your very thorough analysis in this episode, it gives so much insight on machine learning! I have subscribed to your channel since your videos are great! Note: on the campain video (3/4) the use of split screen was a bit overkill, maybe next time split the screen on only the AI hat have succeeded the task and have a small graph/table/image in a corner of the screen to keep count of which ones are dead.
@martiddy7 жыл бұрын
I watched all the Forrest machine learning series and I have to say they are really amazing. Also, I like how you find new obstacle in every video and give your best to find the problem. I'd like to give my opinion about why I think Forrest doesn't play as good as a human. My guess is that since we can observe the whole track and find which path lead to the finish line while Forrest has sensors around him so he only can see what is in front of him, that's why it can't know which path is the right one when he runs a new track for the first time.
@lespiedsdansleau_7 жыл бұрын
I love this series. Although I just binge watched it haha I'm a cognitive science student in Germany in his first semester. Unfortunately it'll take two semesters until we start programming with python, but I'm still interested in an in depth versions of this series. Also I'm sure many other viewers are sick of the typical superficial explanations in the many videos on neural networks etc. you can already find on youtube. Keep up the good work! I like the direction you're going with this channel
@VeNoM06196 жыл бұрын
Ever since I watched the first video, I always felt there was an issue with limited input. Like the roundabouts: how does he know to go left, or go right, when he has no idea which direction is the goal. If you are given a T intersection while driving, how do you make your choice when you are told only that you can go left or right? Nothing can prepare you for that decision, you are given limited input, therefor it is an algorithm to "predict" a "coin flip", which doesn't work. Was he well trained for a first person perspective runner? Yes, of course, since its a maze to him, but he won't know he's in a dead end (and can't recover from entering it, once a random bad choice leads him in it).
@PaulBrunt6 жыл бұрын
One notable machine learning game since then....Creatures (Steve Grand 1996)! I think I've still got a super norm in that attic on a floppy disk ;-) Look him up he pioneered genetic algos and neural nets before they where trendy, his robot monkey was cool yet kind of scary.
@Lefty936 жыл бұрын
Wow. That was really, really intersting ! Thanks for theses 4 videos. Like you said, it's up to us ! That's iinspiring !
@puliukonpronssi34296 жыл бұрын
This series was really interesting keep up the good quality work!!
@imnotselma33057 жыл бұрын
Sounds like this will be a pretty sweet year (also I don't think I'll ever quite get over just how creepy Forrest looked when he was waving)
@hikester20106 жыл бұрын
Maybe you should make a way for him to see around corners like put a T shape sight pattern. It's like when you use your mind to figure out a maze or find your way through a new part of a city or town you have never been to. It will be like giving forest an imagination.
@GonzoTBA6 жыл бұрын
Hi! I really enjoyed your videos. Informative, educative, very funny. You have a talent for communication. Thanks for sharing!
@Aman-to1nj4 жыл бұрын
The middle axis (one of the 5 axis) you are using to get the distance in front of Forrest must have an algorithm that if the wall comes too close , He should take a U-turn.
@yosephmetal6 жыл бұрын
loved your analysis of the subject of ai/machine learning. I want to learn about this myself and your tactics are extremely approachable! TY for the community at large. this is a subject that is hard to get into with little/no knowledge but the way it is presented.... hats off! it's great! and I hope to learn more soon , as tis a subject that I'm deeply interested in! That is all! ty for your vids!
@baritoneboy666 жыл бұрын
I thoroughly enjoyed this series. I am a CS major so I might be biased, but it wasn't too technical and decently engaging
@kamiljanpozezynski70405 жыл бұрын
What about creating an algoritm that will create map`s based on forest skills? so for example if forest is starting it will create straight without many curves, and going harder and harder?
@eaglenebula21725 жыл бұрын
Good idea imo
@someone57817 жыл бұрын
I love your videos! The way you explain things makes so much sense, especially after seeing countless other youtube videos that just didn't give me enough of a reason to care about the minutia of ML. I would also love to help out on your video game using whatever skills I have! :)
@iamundergrace6 жыл бұрын
Second process that monitors just his forward. When the forward gets very low or close them then calculate average 2 on left then right. Then go the way of higher.
@NathanHaaren6 жыл бұрын
you should add a 'distance to finish' reward, which forest will use to choose which way he goes
@kl80366 жыл бұрын
Great content! Thank you for sharing and explaining everything you learned. It expanded my scope on reinforced learning a lot.
@prozacchiwawa6 жыл бұрын
Really informative series. Thanks for making this. Feeling inspired.
@agu1605796 жыл бұрын
Thanks for your work, time and share!
@RPAChampion3 жыл бұрын
Bro, I swear I thought to myself once I was finished watching this I’d see your subscribe count and it was going to be in the millions.. haha Great content and super informative I’ll be coming back for sure.
@joubertlacerda95356 жыл бұрын
Just discovered you bruh! Loving the vids! Loving the energy and spin you putting on the vids! Cant wait for more... prety much just binged on all your vids! Keep it up man! Definitely hitting the bell button on this channel!!
@imlxh71263 жыл бұрын
8:16 hot DAMN! that's eco virtual!! you, sir, are TRULY a man of class
@calebmcnevin6 жыл бұрын
I definitely think using distance from the walls as fitness was a main problem. I would use length of survival and number of laps, which is what the actual objective is
@RafaelSValerio6 жыл бұрын
Thx for the series, really interesting and fun to watch!
@Tinkerer_Red5 жыл бұрын
The issue is that Forest was given 5 inputs, say he is running exactly at a wall, he has an equal choice to either turn left or right, causing them to fight each other. try giving him SLIGHTLY randomized benefits. Also front, fleft, and fright should all be double lines, just slightly off from each other, that way if it's a thin pillar, he can detect that it is ever so slightly to one side.
@omgacat5206 жыл бұрын
AAAA MACHINE LEARNING IS SO FASCINATING
@mattjhann6 жыл бұрын
I think one of the problems your forrest faced is that he couldn't see around the corners like you could. Maybe weighting the average so that the straight ahead reward value was 2x that of the 45 degree value it might have helped. At some points he had to just guess because he couldn't see around the corner as well. Bear in mind this is coming from somebody that has no actual experience in machine learning, it's just some observations. I'd love to get into it, but I really have no idea where to start. Anyway, incredibly interesting and thanks for the video!
@MrGvtb7 жыл бұрын
Hey bro! You deserve more subs! I'm sure you will reach 1M subs within 1 year! Great job!
@RudeFoxALTON6 жыл бұрын
6:55 If your laptop has a dedicated GPU it is possible that it has hardware encode/decode. If you change your encoder option in OBS from x264 to NVENC (Nvidia's encoder) it will reduce the strain on your CPU. AMD has the same thing and it's also possible with intel igpus apparently, using intel's "quick sync", but I have never tried it. obsproject.com/forum/resources/how-to-use-quicksync.82/
@johnvonhorn29425 жыл бұрын
Jabril is the coolest cat in code.
@nitish18tayal5 жыл бұрын
I think that the corner issue can be solved if you add the probability of going back... It may take more time but eventually it will be able to tackle both circles and corners...
@iffn6 жыл бұрын
Amazing video series! Looking at the reason why Forrest failed, I would argue that the 5 lines as inputs might not be enough information to determine a solution to every course. This would basically mean that the global minimum for the system is not low enough to solve every course. Thinking about this and looking at the graph at 3:30, I would assume that the closer the lowest point to is to the minimum required to solve the problem, the more difficult it is to determine, weither the problem has a solution. Meanwhile, a narrow valley would mean that the probability of finding it is lower and therefore requires more training time. A practical example of a narrow valley could be Forrest wiggling left and right to get more information from the environment, similar to the way some birds move their head while walking to increase spacial awareness.
@hairynutsack97046 жыл бұрын
You should try to add a dynamic bias term like the one in adam optimization which increases your momentum gradually in your previous direction making little changes to current direction as per the distances...and you must also add a penalizing function for your fitness models for forest when he deviates from centre line of route..and as far as overfitting goes maybe use a deeper neural network...Anyways it was a nice series of videos keep it up buddy
@KingAwesomeOutputs6 жыл бұрын
I NEED IT!!! I NEED IT!!! I NEEEEEEEEEEEED IT!! But seriously I found your channel like yesterday, and my sub box is ready for the new videos.
@bobbyhutter56546 жыл бұрын
I just wanted to say how much I enjoyed following this AI project you put together! I'm thinking about learning python so I can start a similar process for mastering games by emulating AI that has solved it - like 80's retrocade games. This was really educational and I appreciate all the resources you included - especially being a visual learner! I subscribed and hope you wanna do more ML / AI game oriented videos in the future! Also, is that Eco Virtual you ended the video with?
@tyelork6 жыл бұрын
Awesome series! Just watched the first through to this one :)
@josephjames27676 жыл бұрын
Good series! Enjoyed it a lot
@jdsr4c5 жыл бұрын
Great video series. Well done!
@veritablepixel69045 жыл бұрын
So I guess having forest adjust his vector in the direction with the longest ray-trace defeats the purpose of this exercise? Great series. Thank you for this!
@redeamed197 жыл бұрын
It is interesting that the sharp turns and the round about sections seems to be...opposites? Mastering one almost seemed to mean failing the other. Given the 5 ray input I can kind of imagine why...I think....The sharp turn means maintaining a low average distance on one side, getting quickly around the turn. but in a round about section hugging that turn increases the chance of getting stuck in a loop. Could be that a wider turn means they are more likely to break free of the round about loop, but let likely to succeed at the sharp turns. I'm going to have to take a look at the code. I wonder it we may need to re-examine the input layer in in some way.
@juliettaylorswift6 жыл бұрын
After you said this would end up on github (episode 2?) I planned to build upon it in some way. In the past there have been many projects where I've gotten far enough into it to realize that it was not a task to take on at that moment as it would basically require building a game engine of sorts to be able to test any of the code. This series does remind me of my MTG neural net that never learned...I should take a look at it again (not true MTG, really simplified sorcery speed burn vs vanilla creature).
@pardotkynes15 жыл бұрын
was you on mark robers vid. love your vids sub!
@StarPlatinum30006 жыл бұрын
I feel like your features could have been improved, from just distance-to-wall measurements to also using the fraction of the course that Forrest ran (including negative values to punish running backward), as well as a time penalty. That way you could weed out bad habits like running in circles, running backward, and biases against exploration. Of course, all that was just talk, and I'd need to try coding it myself, before I can understand the feasibility of such an endeavor. This was an awesome video series. Hope you work on further projects like this.
@Schrodinger_6 жыл бұрын
Overfitting was the first thing that came to my mind. When you trained, would you train on one course for a long time, and then move him on to the next one? Maybe it would be better to change courses after each weight update (multiple batches for an epoch). That way, weight updates that help him learn general rules would still be rewarded, but weight updates for memorizing the specific training course would be punished.
@jeffersontbraga6 жыл бұрын
Good job Jabrils! :)
@toosmokie39555 жыл бұрын
I've watched it all and i'm wondering if a simple rule could have get your buddy through those mazes. To complete a tour, your guy have to keep a wall on his left or on his right ( it doesn't matter wich one, it just have to be one or the other, but always the same one : always right or always left ). It will not get a fast way to complete a lap, but a logical and systematical way to complete it. You should have selected the ones that keep an even average value to the right or left wall ( not too close, not too far ). It might have solved any course if no lag or others issues. The logic is that a lap is in a way a circle, and to complet it, you have to turn the same side at every step. No matter how complex the maze is, from start to arrival, you always have the inside wall or the outside wall, makinge a loop on itself, otherwise, the maze won't return to his depart point ;-) . I didn't read all the comments to see if anyone already had proposed this solution. Let me know if I'm the first one to have this idea ;-) . Great job, and great fun while watching ! ps : excuse my english, I'm french ;-) .