| CPC G06N 3/08 (2013.01) [G06N 20/00 (2019.01)] | 15 Claims |

|
1. A method comprising:
(a) receiving a plurality of packets of a first flow onto a first device and generating therefrom a Neural Network Feature Vector (NNFV), wherein the first device includes a neural network, wherein the neural network includes multiple perceptron circuits, wherein the NNFV includes a log of information about the first flow, wherein the log of information includes a single-bit answer value, wherein the single-bit answer value is determined on the first device by a heuristic, and wherein the single-bit answer value is indicative of whether the first device has determined that the first flow has a particular type-of-flow characteristic;
(b) communicating the NNFV from the first device to a second device, wherein the second device comprises a multi-layer software-implemented neural network, wherein the multi-layer software-implemented neural network comprises a first software perceptron and a second software perceptron, wherein the first software perceptron is in a first layer of the multi-layer software-implemented neural network, and wherein the second software perceptron is in a second layer of the multi-layer software-implemented neural network;
(c) using the NNFV on the second device to determine a set of weight values for the neural network on the first device, wherein the using of (c) includes determining a first weight value of the set of weight values by determining a difference between the single-bit answer value and a first perceptron result value output by the first software perceptron, and wherein the using of (c) further includes determining a second weight value of the set of weight values by determining a difference between the single-bit answer value and a second perceptron result value output by the second software perceptron;
(d) communicating the set of weight values from the second device to the first device;
(e) loading the set of weight values into the neural network on the first device;
(f) receiving a plurality of packets of a second flow onto the first device; and
(g) using the neural network to make a determination on the first device that the second flow likely has the particular type-of-flow characteristic.
|