How I created an evolving neural network ecosystem

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

Awesome sim! I’ve messed around with a few homegrown evo sims and they’re always a lot of fun. I’ve never had the patience to put as much effort into one as you have here, so I applaud you.

Sorry if I missed it, but do you have sexual reproduction in your sim? I saw genes for “want to mate” but I didn’t see any mention of combining genes of two agents.

👍︎︎ 28 👤︎︎ u/Ignitus1 📅︎︎ Apr 28 2019 🗫︎ replies

This is great! Well done!

👍︎︎ 6 👤︎︎ u/EdmondSanders 📅︎︎ Apr 28 2019 🗫︎ replies

I'm not sure if you've incorporated this already, but in humans, the brain is a major metabolic drain, and we "sacrifice" a lot of energy and resources to maintain higher intelligence. Adding that metabolic cost could lead to "dumb but just smart enough" being a viable niche in your ecosystem. Without downward evolutionary pressure on brain complexity, you're likely to evolve into complex and not very efficient brains. This could also assist your simulation speed by limiting the number of complex brains in the system.

👍︎︎ 5 👤︎︎ u/indigo747 📅︎︎ Apr 29 2019 🗫︎ replies

How many lines of code does it take to implement something like this? I've always been interested in machine learning/neural network algorithms, but wasn't sure how difficult they are to code.

👍︎︎ 3 👤︎︎ u/Sulek 📅︎︎ Apr 28 2019 🗫︎ replies

Hi, I posted a video a while back from a simulaton on an evolutionary AI ecosystem I made,

and I got a lot of comments asking to make a video explaining how I did it.

It took me a while to learn how to video edit, voice act, and animate, but it's finally done :P

It is not yet a game, but I want it to bring it toward that in the future

Inpiration :

http://nn.cs.utexas.edu/downloads/papers/stanley.ec02.pdf

Sorry if my english is a little broken sometimes, it's not my first language.

👍︎︎ 3 👤︎︎ u/Naotagrey 📅︎︎ Apr 28 2019 🗫︎ replies

Every thought of moving your skill set for Neural Networks into game design?

👍︎︎ 3 👤︎︎ u/Shylo132 📅︎︎ Apr 28 2019 🗫︎ replies

Reminds me of this Google talk about a similar idea.

👍︎︎ 3 👤︎︎ u/mr_yogurt 📅︎︎ Apr 28 2019 🗫︎ replies

Brilliant idea. Thanks for sharing your work and making the super interesting video.

👍︎︎ 3 👤︎︎ u/CrazyEoin 📅︎︎ Apr 28 2019 🗫︎ replies

This is some really cool stuff, man! Excited for future updates on this.

👍︎︎ 3 👤︎︎ u/bradygoalie33 📅︎︎ Apr 28 2019 🗫︎ replies
Captions
welcome everyone I thought it was about time for me to present you this project it's called the Babbitt's so the basic concept is simple the pivots are creatures that can eat food pellets to gain energy they then use energy to survive longer lay eggs and pass down their genes the interesting part is that they are not programmed to do anything any behavior like going forward has to be evolved so how does this works well they are given a set of inputs and outputs or you could say a set of senses and possible actions at first they have absolutely no brain connections meaning they will do absolutely nothing however under random chances they can be born with mutations like going forward if they are lucky they will then blindly run into a pellet which will provide them with food so they can lay a few eggs and pass down their genes over time and through natural selection they should develop more complex behaviors like steering toward food holding food for later if they are fall or developing some kind of memory they also have basic genes that don't influence their behavior but other factors instead like size speed Kadir mutation factors and a lot more most of them have other impacts like their metabolism cost which is the basic energy cost to stay alive each seconds and is calculated from their size and their speed their dreams are all simply stored in a table of numbers a new mutation occurs each of these numbers has a small chance of being modified affecting the pivot and its offsprings their brains are a little more complex than their genes at first their brain were art coded meaning I programmed them to codeword food to want to mate when ready and so on at one point I took an online course on machine learning and after studying neural networks I thought it would be a great fit for this project and so I tried applying it to them started searching and after a while I found the neat evolutionary algorithm for neural evolution of it menteng topologies you could see how fitting it was just by its name it's an evolutionary algorithm specially tailored for natural selection inspired my algorithm form a variant call RT neat for real-time this implies that unlike most generic algorithms the assimilation is constantly running and there is no generation step where we evaluate the fitness of every individuals and select which of them passes the round and get to reproduce instead I leave all of that to a real natural selection their fitness score is simply R well to survive and pass their genes [Music] under this algorithm as previously said we found them with an empty brain there is then many things that can happen through mutations they can develop a synapse that will link to neuron propagating values between them mutate a strange of a synapse making the connection weaker or stronger disabled snaps rendering it ineffective evolve the snaps into a hidden neuron mutate the function of a hidden neuron and lastly to remove the synapse or a new run also removing any floating structure to determine their behavior we then just propagate the values forward at each time step even with such simple basic building blocks you can see our complex behavior can easily emerge because my computer is not that good and is starting to get pretty old I have to regulate them a little bit or they get so good and numerous my framerate falls to minus infinite a good number where everything stays stable and smooth is at about 200 Bibbit in total the fact is they get progressively better and better so if I keep fitting them the same amount of pellets they will keep growing restless to prevent their infinite growth I can reduce the number of sperm pellet proportionately to the number of pivot over 200 this will have the advantage to keep an equilibrium however even if their number is stable the equilibrium might not be at 200 so to bring them back toward 200 no matter how good they are I have to gradually reduce the number of pellets by a certain factor as long as they are too many bits on screen as a result the pellets will continuously adjust so the equilibrium is around 200 it feels a little cheesy but I have a few ideas on how to fix it in the future so what's next for the future well first from a lot of comments I get that a lot of what's happening is not obvious enough we need to be able to interpret a lot more from the visuals instead of having absolutely no clue of what's going on a lot of people have suggested linking colors to stat instead of them being independent parameters like having the blue color represents P but I really like the fact that their color is kind of a witness of their genetic drift and can be used to identify species independently of their other genes tell me what you think in the comments I need out on this one [Music] one of the things that is completely unclear to announce a hidden is that they have the capacity to produce and sense pheromones my idea was that it would allow them to communicate or form structure that are bigger than only one individual however there is absolutely no visual rendition of the phenomenon so when we are watching the simulation there is absolutely no way to know if the reactions a debit takes is correlated to that as of now it works kind of like a broadcasting tower when a Bibbit produces pheromones it is detected by every other individuals up to a maximum distance I think I'm going to replace it with them leaving a trail or maybe bolt but what's certain is that I'm going to make sure that it appears on screen now probably as clouds or something like that again leave a comment if you have a better idea or if you feel more inspired than I am another thing I've been wanting to add for a while is predation having certain Bibbit that can prey on others would create a more competitive and interesting ecosystem it would also force the simulation to develop a food herbivore carnivore equilibrium solving my initial population control problem I think I'm going to implement that through a spectrum meaning a float number will represent their position on a scale determining our perverse or caneva as they are this also means that it will allow them to be am neighbors having access to both pellets and meat as food of course being able to eat both will have to make them less efficient digesting either source to help with that I think it would be a good idea to rework the energy system so it's more realistic and stable as of now I have to continuously spawn food for the simulation to run if I stop food will never spawn by itself and every bit will simply die the primary reason this happens is because everything happens at a loss energy is not conserved I'll try fixing this with the help of her friend at one lab Wednesday's famous saying nothing is lost nothing is created everything is transformed I made a little diagram to demonstrate my ID I'll take time to explain it in the next video so anyways that's that I'll be posting updates on the development feel free to subscribe if you want to be notified when it comes out but I can't promise frequent uploads this is just a hobby as always I'm open to any idea or suggestion you might have I'll show you I'm hard enough that I read every single comments on this video so thanks for watching you
Info
Channel: The Bibites: Digital Life
Views: 245,574
Rating: undefined out of 5
Keywords: AI, Neural networks, neural network, simulation, evolution, ecosystem, programmation, programming
Id: myJ7YOZGkv0
Channel Id: undefined
Length: 10min 8sec (608 seconds)
Published: Sun Apr 28 2019
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.