SYSTEM AND METHOD FOR GENERATING AND USING DESCRIPTORS OF ARTIFICIAL NEURAL NETWORKS
Systems and methods for generating and using descriptors of artificial neural networks are provided. For example, an artificial neural network may be obtained, the artificial neural network may be obtained, descriptors of the segments may be calculated, and a descriptor of the artificial neural network may be compiled. In some examples, a match score for a pair of artificial neural networks may be calculated (for example using the descriptors compiled for the two artificial neural networks), and actions may be selected based on the matching score.
1 . A system for generating descriptors of artificial neural networks, the system comprising:
at least one storage device configured to store an artificial neural network; and
at least one processor configured to:
analyze the artificial neural network to obtain a plurality of segments of the artificial neural network, each segment comprises one or more artificial neurons;
for each segment, calculate a descriptor of the segment using values associated with the one or more artificial neurons of the segment; and
compile a descriptor of the artificial neural network using at least part of the plurality of calculated descriptors of the segments.
2 . The system of claim 1 , wherein the values associated with the one or more artificial neurons comprises at least one of outputs of the one or more artificial neurons for selected inputs, parameters of the one or more artificial neurons, and hyper-parameters associated with the one or more artificial neurons.
3 . The system of claim 1 , wherein calculating the descriptor of the segment comprises using a hash function of at least part of the values associated with the one or more artificial neurons.
4 . The system of claim 1 , wherein calculating the descriptor of the segment comprises identifying a property of a distribution of at least part of the values associated with the one or more artificial neurons.
5 . The system of claim 1 , wherein compiling a descriptor of the artificial neural network comprises constructing a graph, where the graph nodes correspond to the plurality of segments.
6 . The system of claim 1 , wherein the at least one processor is further configured to compare the descriptor of the artificial neural network with a descriptor of a second artificial neural network to obtain a matching score.
7 . The system of claim 6 , wherein the second artificial neural network is a result of using a machine learning algorithm to update the artificial neural network.
8 . The system of claim 6 , wherein the at least one processor is further configured to:
receive the artificial neural network from an external device using a communication device;
compare the matching score with at least one threshold;
decide, based on the comparison of the matching score and the at least one threshold, to utilize the second artificial neural network; and
based on the decision to utilize the second artificial neural network, transmit the second artificial neural network to the external device.
9 . A method for generating descriptors of artificial neural networks, the method comprising:
analyze the artificial neural network to obtain a plurality of segments of the artificial neural network, each segment comprises one or more artificial neurons;
for each segment, calculating descriptor of the segment using values associated with the one or more artificial neurons of the segment; and
compiling a descriptor of the artificial neural network using at least part of the plurality of calculated descriptors of the segments.
10 . The method of claim 9 , wherein the values associated with the one or more artificial neurons comprises outputs of the one or more artificial neurons for selected inputs.
11 . The method of claim 9 , wherein the values associated with the one or more artificial neurons comprises parameters of the one or more artificial neurons.
12 . The method of claim 9 , wherein the values associated with the one or more artificial neurons comprises hyper-parameters associated with the one or more artificial neurons.
13 . The method of claim 9 , wherein calculating the descriptor of the segment comprises using a hash function of at least part of the values associated with the one or more artificial neurons.
14 . The method of claim 9 , wherein calculating the descriptor of the segment comprises identifying a property of a distribution of at least part of the values associated with the one or more artificial neurons.
15 . The method of claim 9 , wherein compiling a descriptor of the artificial neural network comprises constructing a graph, where the graph nodes correspond to the plurality of segments.
16 . The method of claim 9 , further comprising comparing the descriptor of the artificial neural network with a descriptor of a second artificial neural network to obtain a matching score.
17 . The method of claim 16 , wherein the second artificial neural network is a result of using a machine learning algorithm to update the artificial neural network.
18 . The method of claim 16 , wherein the descriptor of the artificial neural network comprises a first distribution, the descriptor of the second artificial neural network comprises a second distribution, and comparing the descriptors is based on a statistical distance between the first distribution and the second distribution.
19 . The method of claim 16 , further comprising:
receiving the artificial neural network from an external device using a communication device;
comparing the matching score with at least one threshold; and
deciding, based on the comparison of the matching score and the at least one threshold, to utilize the second artificial neural network; and
based on the decision to utilize the second artificial neural network, transmit the second artificial neural network to an external device.
20 . A non-transitory computer readable medium storing data and computer implementable instructions for carrying out a method for generating descriptors of artificial neural networks, the method comprising:
obtaining a plurality of segments of an artificial neural network, each segment comprises one or more artificial neurons;
for each segment, calculating descriptor of the segment using values associated with the one or more artificial neurons of the segment; and
compiling a descriptor of the artificial neural network using at least part of the plurality of calculated descriptors of the segments.