Cognifeed — a Foreword
Deep learning frameworks, algorithms, neural network architectures, cloud deployment solutions. It’s easy to get lost in a sea of tools, but where does Cognifeed fit in? What is Cognifeed?
Simply put, Cognifeed is seeking to make machine learning accessible to everyone, starting with software engineers. It is an online platform for searching, building and deploying machine learning systems. All of this with no previous machine learning knowledge.
The entry barrier for machine learning (ML) is continuously being lowered. Deep learning frameworks, such as TensorFlow, PyTorch, and caffe2 allow engineers and researchers alike to build efficient architectures and models faster than ever.
Despite this, training and deploying machine learning solutions requires a very specific set of skills. From a thorough understanding of the business, to deep machine learning knowledge. These skills are usually spread across a whole team that is in charge of ML.
Putting such a team together is often problematic, especially for small enterprises and startups. An imbalanced team often leads to a divergence between the problems and the ML solutions developed to address them.
Set to fix this, a new approach is starting to gain some steam: machine teaching. It’s been popularized by Microsoft’s paper “Machine Teaching: A New Paradigm for Building Machine Learning Systems”. This new approach focuses on the efficiency of the teacher, rather than on that of the learner’s. It decouples models and algorithms from the training (teaching) process. A teacher with domain knowledge in a problem can build a solution without knowing ML.
Frictionless machine teaching
Cognifeed puts your interaction with data at the heart of building a machine learning system. The teaching process is powered by active learning. This allows the algorithm to ask questions about the data it sees. By answering these questions you are helping it to converge much faster. The entire process is very sample efficient too (you need very little data for good results).
Cognifeed allows you to create a project and deploy a solution in a matter of minutes. It engages you in an interactive feed of questions. A feed that helps you build and annotate your dataset while also helping the algorithm learn faster.
A hub for machine learning projects
When starting a new machine learning project the first issue everyone encounters is a lack of data to get started. Cognifeed aims to encourage users to create public datasets and machine learning projects. This way, when facing with a new problem, the first thing you will do is search through Cognifeed’s repository of public solutions. When you find something similar to what you need you can choose to:
- use the available trained models right away;
- contribute with data and labels;
- or fork the project and customize it to your specific needs.
A dataset building and annotation tool
If your problem is very niche or specific you might not find an exact solution already available. Don’t fret! Simply upload a few data points and let the cognitive feed take over. If the nature of your data is quite common (let’s say images), our algorithm will propose adding similar or relevant samples to your dataset. At the same time it will try to predict an output for unlabeled entries. The most uncertain prediction will be forwarded to you to corrected.
For instance, let’s suppose you want to build a cloud type classifier. You’d upload a few images of clouds and then define your classes: cirrus, altostratus, cumulus, cumulonimbus. Based on these classes and on the images you have uploaded, cognifeed will pull other images and propose them to enrich your dataset. Then it will try to predict what type of cloud it sees in each of the image and ask you about the ones it can’t classify. Your answers will improve future results as the teaching process continues iterating.
Deploying and downloading models
Of course, everything would be pointless if you can’t use what you teach outside of cognifeed. At launch, we intend to have two ways in which you can make use of your model:
- You’ll be able to access an up to date instance of it, at any moment, through our API.
- We’ll provide an optimization and export option. Through this you can download your model optimized for a target platform (CPU, GPU, mobile devices, etc).
State of the project and future articles
Cognifeed is still in the early stages. We have a prototype up and running that illustrates the power of active learning. We’re working hard towards bringing you an early alpha towards the second half of the year. Make sure to apply on our website!
To take the veil of black magic off of our machine teaching approach, we will release a series of short blog posts. Each of them will describe a slice of the theory and some of the technology powering Cognifeed. The first one will be on of active learning and sample efficiency.
Follow us on Twitter and Facebook and be sure to subscribe to our Medium page to be the first that finds out our “secrets”.