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 grew 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 software, as we reuse our brain to process everything. If you need to work with tumor patterns, you will need to acquire a neural network that will have specific synapsis weights, and neuron quantities applied to this scope. If you are a biologist and need to recognize whales species by their noises, you will need to 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 use it. In this way, we can use various scopes in the same platform, with each scope using the model that best suits. This is possible because Octhum requires 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 other columns contain the inputs (or variables) associated with each classification. The second and third lines contain the minimum and maximum values of each variable (only to validation).
In the second intelligence, we should format the CSV file as we did 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 the user wants to use the intelligence. When this happens, Octhum receives the values of the variables (defined by the user), input them in a neural network, and give a response with the final classification. The images below show the first intelligence being used.
In 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 at 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 wants 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 on SaaS technology, allowing third-party software customization (to forecast sells in an ERP, for example). Octhum is still little, but has the potential to be a great platform,
- allowing more file database formats (JSON, for example) to make 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.