Rapid deployment machine learning system
A machine learning system may be deployed with a less-than-optimal classification system, but may include a human in the loop system to rapidly assist in classification and deployment. The human's input may be returned as a response to a query and may also be stored for re-training the machine learning system. With a rapid human response, a machine learning system may be deployed and may “learn” over time. A multi-stage human intervention system may have a rapid response human interface, and if the first human encounters ambiguity, the request may be elevated to a second stage human expert for resolution. Such a system may be deployed using a generic or semi-generic classification system, and as the human responses are accumulated, the machine learning system may be repeatedly re-trained to reach a desired performance level.
1 . A system comprising:
multiple processors configured to operate an application programming interface;
said application programming interface that:
receives, at an edge classifier, a first request comprising a first image and a first natural language request relating to said first image from a customer computer;
processes, at the edge classifier, said first natural language request and said first image through an automated machine learning engine to generate a first response comprising a confidence factor for the first response;
when the confidence factor is above a first predetermined threshold, responds, by the edge classifier, to said customer computer with said first response;
when said confidence factor is below said first predetermined threshold, transmits, by the edge classifier, said first natural language request and said first image to a first device,
performs, at the first device, a human in the loop method comprising:
causing, by the first device, said first image and said first natural language request to be displayed on the first device; and
receiving, by the first device, a human response through said first device, said human response being a response to said first natural language request with respect to said first image; and
transmitting, by the first device, said human response through said application programming interface to said customer computer;
when said confidence factor is below a second predetermined threshold, transmits, by the edge classifier, said first natural language request and said first image to a cloud-based classifier;
processes, by the cloud-based classifier, said first natural language request and said first image through a second automated machine learning engine to generate a second response comprising a second confidence factor for said second response;
when said second confidence factor is above said first predetermined threshold, responds, by the cloud-based classifier, to said customer computer with said second response; and
when said second confidence factor is below said first predetermined threshold, transmits, by the cloud-based classifier, said first natural language request and said first image to the first device, wherein the first device receives said first natural language request and said first image from the cloud-based classifier and performs said human in the loop method.
2 . The system of claim 1 , said first predetermined threshold being higher than said second predetermined threshold.
3 . The system of claim 2 , said second automated machine learning engine being physically located remotely from said automated machine learning engine.
4 . The system of claim 1 , the human in the loop method further comprising: receiving, by the first device, a clarification request from a human operator.
5 . The system of claim 4 , the human in the loop method further comprising: transmitting said clarification request to said customer computer.
6 . The system of claim 5 , the human in the loop method further comprising:
receiving a clarification response from said customer computer;
displaying said clarification response to said human operator; and
receiving said human response based at least in part on said clarification response.
7 . The system of claim 6 , the application programming interface that further:
uses at least a portion of said clarification response to train said automated machine learning engine.
8 . The system of claim 7 , the application programming interface that further:
receives a second request, said second request being similar to said first request;
determines that at least a first portion of said clarification response applies to said second request; and
displays at least a second portion of said clarification response on said first device.
9 . The system of claim 4 , the human in the loop method further comprising:
transmitting said clarification request to a second human, said second human generating a second human response; and
transmitting said second human response to said customer computer.
10 . The system of claim 9 further comprising:
storing said second human response and using said second human response to train said automated machine learning engine.
11 . The system of claim 9 , said second human having a higher level of expertise than a first human associated with the first device.
12 . The system of claim 9 , retraining said automated machine learning engine using at least a portion of said clarification request.
13 . The system of claim 1 , said human in the loop method being performed a plurality of times for said first request to generate a plurality of said human responses.
14 . The system of claim 13 , aggregating said plurality of human responses to find a consensus response and transmitting said consensus response to said customer computer.
15 . The system of claim 1 , said first request comprising a video sequence, said first image being one image of said video sequence.
16 . The system of claim 1 , wherein the edge classifier is deployed within a robot controller and the system further comprises a camera located on an industrial robot, wherein the first image is captured by the camera located on the industrial robot.
17 . The system of claim 16 , wherein the robot controller is configured to receive the first response and perform a sequence to realign a part if the first response indicates that the part is present and misaligned.
18 . The system of claim 1 , wherein:
causing said first image and said first natural language request to be displayed on the first device comprises presenting said first image and said first natural language request via a cell phone application; and
receiving the human response through said first device comprises receiving input within the cell phone application.
19 . The system of claim 1 , wherein said application program interface further:
initially deploys a classification engine comprising partially-trained classification algorithm to the edge classifier, wherein the partially-trained classification algorithm is trained for a purpose different from a purpose associated with the first request; and
replaces the classification engine with the automated machine learning engine, wherein the automated machine learning engine comprises an updated classification algorithm retrained on gathered human validated data points received from the first device.
20 . The system of claim 19 , further comprising a database containing pre-configured classification algorithms, wherein the partially-trained classification algorithm is selected from the pre-configured classification algorithms in accordance with a request for a classification algorithm having certain characteristics.