i am developing a system as part of my Msc Thesis to simulate a human brain habilities by implementing several functions we humans have and by using neo4j as a support system to accumulate knowledge and learn, promoting reward/penalties oriented reasoning. Though the goal is to simulate a human brain in this project there is no orientation to pursue a biological plausible architecture, nor to apply machine learning algorithms in their usual tabular approach. Neo4j abilities to manipulate data in a graph are to be explored in this project alongside with a stochastic approach.
I'm curious to know how you went/are going with this idea. I've been playing with some ideas for non-conventional styles of artificial neural networks that shrink and grow to adapt to the data. Very early implementations at the moment, and to be honest I'm not expecting any of it to have an application other than for experimentation.
so far i have been able to create graphs that represent episodes (as defined in Reinforcement Learning (RL)).
These graphs are made of macro-action nodes, perception nodes, Reward nodes (includes Penalties represented by negative values) and state nodes. State and Reward nodes act as labels of specific moments in the episodes. With the State and Reward nodes i am querying neo4j database for the path (MATCH p = (s: STATE) - [*] -> (r: REWARD) RETURN p) between a specific state and future possible rewards in order to calculate the state value with a normal Bellman equation (basic calculation of accumulated discounted rewards) in a path between a state and an ending reward. This path is also called a policy in RL.
Still experimenting with this graph against a virtual world with a virtual robot. Later this year i will make my thesis and github code available. Not until i make my thesis final discussion :)
Ah i see. It looks really interesting, thanks for sharing. I'm curious to see how you progress.
Hi Dan, you can access my MSc Thesis here https://www.researchgate.net/publication/348077190_my_Human_Brain_Project and check out the experiments i did with Neo4J in Reinforcement Learning.