“Art is never finished, only abandoned” – Leonardo Da Vinci
“Perfect is the enemy of done” – Catherine Carrigan
“Do not plan for ventures before finishing what is at hand” – Euripides
I am building an AI neural net that is biologically plausible. I am running tests and have built a testing environment to work through side-by-side comparisons and testing out training processes to make the AI tracks and sync with human brain waves. The goal is less to get to the point of “transfer” whatever consciousness is, but more because I think being able to simulate the brain and reverse engineer the chemical states of a brain rapidly to give medical operators precise chemical estimates and estimates of connections of a target brain by very carefully engineering the AI to match our brain has lowered my error.
During this, I have built an evolutionary algorithm that automates the test and improvement of the base algorithm. I am currently torn between when and where the line is for “cool” hypothetical simulation and genuinely practical outputs. I use a scoring system for how close the AI is to the target human brain wave. The max score on any point across the 30 EEG sensors is 3122.014. Below is a fast-moving average of 10,000 in blue and a slow-moving average of 100,000 in orange. You can see that the testing slowly improves. You can see that even the broad population is inching towards “better”.
Therefore, if the line goes up, then it's towards the top score of 3122 and is better more often on average.
That is an average though the current best performer is relatively new scoring 3037.5501207738953 and is version 33165. That gap of 122.014 is relatively trivial as it includes 30 sensors I looked into this and published my idea of how close you need to be and anything where routinely was below 10 millivolts probably is in practice is enough for my needs to say that I am simulating it.
Copy Paste Research: - What is a EEG and the hard and soft hypotheses
A EEG represents a dry or wet sensor on your cranium and it measures the changes in voltage (usually measured in milli-volts). When neurones fire they spike and the voltage of the EEG spikes with it; when they recover they become negative voltage and the EEG goes down. The behaviour is characterised by sudden spiking and long periods of a lowering of voltage often called the refractory period.
It is worth noting that it is measured in mili-volts because any spike in neurone activity is often attenuated such that it is divided by 10-100 by the time it reaches the sensor. This attenuation is affected by distance of the nerve to the sensor. Therefore it can be different based on how you put the sensor and largely a EEG can be thought as a rough estimate rather than a precise measure of brain waves.
Using invasive techniques you can remove that scalp attenuation in which case the accuracy is much higher because of less noise. To be rough it would be equivalent to within 1 milivolt but the readings are now 10-100 times higher than the scalp level EEG. At the level of an invasive brain computer interface (BCI) you can accurately see and isolate the firing of individual neurones. At scalp level EEG you would need an accuracy of about 1 you would be predicting individual neurones prior to firing.
I talked about the hard and soft hypothesis so largely for my AI simulation to be beneficial it must really show that it can be below those numbers of 10 millivolts or 1 millivolts if you are to think its ready genuine information out of the head which I am labelling the hard hypothesis to say brain emulation is possible. Above this you would still get information from the simulation but it would be an estimation tool. Below 10 millivolts we would say the AI is predicting the brain and below 1 well anyone fancy a trip to the matrix?
Though this gives us an estimate of what level of accurate you would need to be if in our simulation was simulating you?
Estimating Actual
The 84.4638792261047 difference is averaging 2-3 millivolt per sensors can be chalked up to there is an initial learning phase where not synced, but the 2-3 gap is enough that you would assume that a snapshot of what's going on in the AI is probably analogous in terms of connections between neurones and hopefully the chemical state would be analogous to the user.
That is to say that current testing seems to be that its routinely inside the 10 millivolts that you have to accept it is analogous to broad target brain function though not always predicting individual neurone firing. Which is probably what I want as I do not want to mind read just explore data analysis for sleep, or medical data analysis.
A generation purposefully includes randomised test cases; and purposefully counter tests on current hypotheses by putting some tests in purposefully bad performing setups to gather data. I believe trying out bad ideas is the hardest but fastest path to “better”.The gap between average and best does not worry me the data is not normatively distributed and include lots of “purposeful and enforced errors on my part”. Therefore I think the “best” is possibly representative of real world application though I could possibly sure up that assertion a little at some point.
Therefore I am kind of hesitantly sure I should start asking people for funding and or assistance to do wider testing. I am flipping between moving into seeking interest and use and or trying to work out further problems in current setup. The quotes at the top are all personal recriminations I have made to myself. 2 out of 3 make me want to wait one makes me think I should get on with it.
Bug Hunting
I did have some bugs that I had to pull out. This was painful but getting a data enriched environment such as supported by the graphs I show below made it obvious. A number of functional parts where misbehaving and spawning
Also when setup random initialisation has very low chance of any converging so I applied some initial guard rails a lot of which turned out to include mistakes or the inverse of how should be setup.
I think current build should be stable over longer time horizons because will not go into those mistakes which would be myriad.
Charting Evolution
The small issue is that for each parameters I am using similar slow and fast moving average to estimate change if the short and the fast where in the same place you would conclude that evolution has stopped.
Some like error transmission seems very set in place. I would be worried this means they are not doing anything in the model.
Though I created a control called Global Misc that does not do anything. If the AI values where not evolved to give performance improvements to the AI they should be static and stable around a value of 1. They are not and show divergence so I can conclude there is still some work to do.
Therefore, I think there is evidence that it's only shallowly performing. I have about 84 values to optimise to confirm “finish”. Further, I have done most of the “function” tests, i.e. where I make something purposeful worse and or try better versions to see what works and or identify really what drives improvement. Albeit I could spend a lifetime micro-analysing each segment of this.
I made a lot of mistakes.
Making mistakes is how we learn. I have been trialling out visualisations on the AI evolution. Dark spots below indicate better performance of the AI. The below is a parameters for
My current problem is that such visualisation tends towards a vast space. It's an odd thought I have never really considered: the distance between 0-10 to be large, but when you look at the below, you realise, in terms of space to explore and what makes an AI “better,” it's a wilderness just look at all that whitespace to be "done" would need to fill it all to say this was the best cofiguration unequivicably.
You can see that it is a big space. I am confident I could do at least the core of that business plan (technically, but whether anyone will see it as anything beyond an interesting experiment).
Conclusion
But to me, what I wanted to get out of this project was a chemical recipe to take Hodgkin and Huxley neuron simulation and train it like an AI using a simulated long-term potentiation, and yes, this evolutionary process does seem to have given me that recipe, and that is great. What I intend to do is add this to my blog and send it to people I ask for advice, and try to get a sense of whether to roll on or let evolution do its work.
I probably need to think of what to do with this. The model seems broadly to work. I could spend ages just doing tests, and in fact, the evolutionary algorithm, being largely automated, will just continue doing tests with minimum maintenance from me. I think I would have broadly tested most of it completely in 4 months, but to exhaust my data sources under my current hypothesis and testing protocol, I think it might take 3 years.
I could do network analysis on the brains being produced in the simulation. Which I think would be cool and maybe a feature if the shape turned out to show anything. The AI builds itself without any dimension assumptions with automated pruning and new connection formation analogous to neurogenesis. That would generate pretty graphs, which I always like doing.
Thereafter, I could be paranoid and sequentially do test and trace on every line of code, seeing what removal or variance in any part does to the collective performance.
Therefore, I do not have the data, but the 30 sensors used in this test could be put on healthy people, and people say with dementia, you would only need to analyse a sample of both , and then you can see if the AI detects differences in chemicals in certain sub-network nodes. I do not have the data, but I think if it were related to sparsity of connections, chemical concentrations or could be detected therefrom, that data ought to then show that.
It feels like that makes sense to me because a lot of mental and psychological orders feel to me either would be treatable or the data is obfuscated. Things where you might get obfuscation is the chemical contents of neurones and the connectomes. Therefore a rapid growth system that estimates both feels like you could pop a EEG device on get estimate there off and well it makes sense to me why that would be useful.
But I think in broad strokes, yep… all tests passed… at least a form of human analogous long term potentiation reverse engineered to match an EEG...human brain meet copy...Copy I haven’t got round to thinking about how you vocalise period yet… not quite hello world but at least it's something.
The parts that I might sound like exaggerating about it being a “simulacra” or a brain emulation in the true sense what previously; I do think this is a basic method what the data says is you have a AI and the evolutionary algorithm was meant to figure out exactly what you need to do what chemicals needed adding or subtracting to take a AI and get it to line up with the EEG data. Well then, logically, if scalable and I know no reason why it would not, why can't that scale to doing a whole brain, if not a brain, why not train a simulation and use it like regular AI? I am hopeful that solving this hard problem, things like applying elsewhere, would be easy. Though I am being a bit careful because, truth be told, I do not know.
Anyway, it did what I wanted it to do. Eventually... I think that is enough to conclude, at least for myself, brain emulations are wholly possible, probably easier than you think. I have not at least found anything that stops you from doing the whole thing,g Altered Carbon, Pantheon or Ghost in the Shell. We are all just neural networks in the end, after all.
Add comment
Comments
Amazing piece of work. Congratulations on all you have achieved 🤩