So this post is for me to structure and document down my thoughts on building Artificial General Intelligence (AGI).
First thing is I do not see AGI being build using Deep Learning models or Neural Network alone, regardless of the architecture in each of the layer, as seen mostly in a Convolutional Neural Network such as Max Pooling, and Convolution Layer.
Rather, what I am currently thinking of is actually a graph model instead. A graph model where its nodes represent entities and the link present relationship between two entities. However, what I am thinking of further is adding in an additional variable and that is probability of the relationship, with the probability being updated during the Learning Phase. (Should remind you of Bayes Theorem right?)
So here lies the underlying architecture to store the information, the graph model and as it learns more about the world through "reading" and "experience", it grows the graph model and update the probability along the way.
How should we store the entities and what kind of relationship should we learn about?
Let's use an example to discuss. Fruits, Apple, and Apple Pie. Entities have characteristics on its own, for instance, Green Apple, Small Green Apple, Large Green Apple etc. We can store these characteristics under the Entity as they might not be a relationship to other entities.
Here lies a few questions to answer and that is, what to store, how much to store and definition of these characteristics? Do we store color, how to store color and when do we call an entity green colored?
From the above example, is Apple "part-of" (relationship) Fruits? If we acknowledge that, how to we go about building the relationship and labeling the relationship?
What kind of relationship should we store, we should only store the useful ones that are accessed quite often otherwise our graph will grow and extended out quickly. Why is this important? Because we also have to think about the retrieval, where in the graph shall we start retrieving the entity-relations data and how much of the data to extract, etc. So, in my opinion, it is not so straightforward rather.
But a graph is definitely the best architecture to store information of the world because I do believe we are interconnected to each other, not to the extent of a butterfly flapping its wing in Asia can cause a hurricane in Texas but at least locally (and sliding the local sphere of influence), we are connected to each other in some way.
So...what are your thoughts? Will love to hear from you! You can share them with me on my LinkedIn. Please feel free to link up on LinkedIn or Twitter (@PSkoo). Do consider signing up for my newsletter too.
Thanks for spending your time on reading this. Greatly appreciated! :)