Octhum: a tool to unify different Artificial Intelligence approaches
Artificial Intelligences, in few words, are models that simulate human brains. For an example, Neural Networks, one of more famous artificial intelligence approach, learn about a scope (through an information database file or another font that contains patterns), simulate the neurons signals and your connections (synapsis), considering the weight of each one in a “brain processing”. Exactly this happens in our brain: we grown up learning patterns our entire life, classifying them in images, audios and touches.
The great problem, is that there isn’t an easy way to reuse artificial intelligence softwares, as we reuse our brain to process everything. If you need to work with tumor patterns, you will need acquire a neural network that will have specific synapsis weights, and neuron quantities, applied to this scope. If you are a biologist and need recognize whales species by the their noises, you will need acquire another neural network platform, containing synapsis weights and neuron quantities completely different than the first case.
Octhum was made to solve this problem, training the intelligences with many models, verifying which model is the best, and using it. In this way, we can use various scopes in the same platform, with each scope using the the model that best suits. This is possible because Octhum require the same formatting in the database file content.
Below we have two examples: an intelligence to decide what’s the color, based in RGB inputted, and another intelligence to decide what’s the abalone’s sex, based in some characteristics, like rings number, viscera weight, height, width, and others.
In the first intelligence, we should format the CSV file (used as database file in Octhum neural networks training) as in the image below, where the first column contains the final classifications, and the another columns contains the inputs (or variables) associated with each classification. The second and third lines contains the minimum and maximum values of each variable (only to validation).
In the second intelligence, we should format the CSV file as we done in first intelligence, maintaining the same structure. To train any intelligence, the file format should be the same.
Octhum will process these databases, and will store the configured neural network, accessing it when user want to use the intelligence. When this happens, Octhum receive the variables values (defined by the user), input them in neural network, and give a response with the final classification. The images below shows the first intelligence being used.
In the the second intelligence, we have a greater database, with more cases and variables, and final classifications can be male (M), female (F), and undefined (I). Below, the Octhum receiving variables input to process them and return a response, the abalone’s sex.
Trained the two intelligences, we can use both in any time, without change the Octhum Core, changing only the input database format to the format shown above.
All of this showed previously was made with only one software, changing only the input database file layout. If anyone want to use neural networks, in any scope, only need to format a CSV file properly, and use it in Octhum.
Octhum is an open source REST API developed in PHP that works based in SaaS technology, allowing third-part software customisation (to forecast sells in a ERP, for example). Octhum is still little, but has potential to be a great platform,
- allowing more file database formats (JSON, for example) to take the process easier to third-part software through API;
- working with more artificial intelligence approaches, like specialist systems, genetic algorithms, and others;
- using some container (like Docker), to process the various architectures in a parallel way;
- working with many input types, like image and sounds.