A method of updating a neural network may be provided. A method may include computing gradients for an operating matrix of a current layer of the neural network based on data of at least one of the current layer and at least other layer of the neural network. The method may also include updating the operating matrix based on the computed gradients. Further, the method may include updating an indexing matrix of the current layer based on the updated operating matrix.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method of updating a neural network, comprising: computing gradients for an operating matrix of a current layer of the neural network based on data of at least one of the current layer and at least other layer of the neural network; updating the operating matrix based on the computed gradients; and updating an indexing matrix of the current layer based on the updated operating matrix. 2. The method of claim 1, wherein the updating an indexing matrix comprises updating the indexing matrix via a clustering method. 3. The method of claim 2, wherein the updating an indexing matrix via a clustering method comprises updating the indexing matrix via a k-means clustering method. 4. The method of claim 2, further comprising updating a matching dictionary of the current layer via the clustering method and based on the updated operating matrix. 5. The method of claim 4, wherein the updating a matching dictionary of the current layer via the clustering method comprises updating the matching dictionary and the indexing matrix substantially simultaneously. 6. The method of claim 4, wherein the updating a matching dictionary of the current layer via the clustering method comprises updating the matching dictionary via a k-means clustering method. 7. The method of claim 1, further comprising updating a matching dictionary of the current layer based on the gradients for the operating matrix and the indexing matrix. 8. The method of claim 7, wherein the updating the matching dictionary comprises: matching the gradients for the operating matrix with the indexing matrix to compute gradients for the matching dictionary; and updating the matching dictionary based on the matching dictionary, a learning rate, and the gradients for the matching dictionary. 9. The method of claim 1, wherein computing gradients for an operating matrix of the current layer comprises computing gradients for the operating matrix based on an activation array of the current layer. 10. One or more non-transitory computer-readable media that include instructions that, when executed by one or more processors, are configured to cause the one or more processors to perform operations, the operations comprising: computing gradients for an operating matrix of a current layer of a neural network based on data of at least one of the current layer and at least other layer of the neural network; updating the operating matrix based on the computed gradients; and updating an indexing matrix of the current layer based on the updated operating matrix. 11. The computer-readable media of claim 10, wherein the updating an indexing matrix comprises updating the indexing matrix via a clustering method. 12. The computer-readable media of claim 11, the operations further comprising updating a matching dictionary of the current layer via the clustering method and based on the updated operating matrix. 13. The computer-readable media of claim 12, wherein the updating a matching dictionary of the current layer via the clustering method comprises updating the matching dictionary and the indexing matrix substantially simultaneously. 14. The computer-readable media of claim 10, the operations further comprising updating a matching dictionary of the current layer based on the gradients for the operating matrix and the indexing matrix. 15. The computer-readable media of claim 14, wherein the updating the matching dictionary comprises: matching the gradients for the operating matrix with the indexing matrix to compute gradients for the matching dictionary; and updating the matching dictionary based on the matching dictionary, a learning rate, and the gradients for the matching dictionary. 16. A system for updating a neural network, comprising: a plurality of layers, each layer of the plurality of layers including at least one storage device and a processing element, each processing element configured to: compute gradients for an operating matrix based on data of one or more layer of the plurality of layers; update the operating matrix based on the computed gradients; and update an indexing matrix based on the updated operating matrix. 17. The system of claim 16, wherein each processing element further configured to update the indexing matrix via a clustering method. 18. The system of claim 17, each processing element further configured to update a matching dictionary via the clustering method and based on the updated operating matrix. 19. The system of claim 16, each processing element further configured to update a matching dictionary based on the gradients for the operating matrix and the indexing matrix. 20. The system of claim 19, each processing element further configured to: match the gradients for the operating matrix with the indexing matrix to compute gradients for the matching dictionary; and update the matching dictionary based on the matching dictionary, a learning rate, and the gradients for the matching dictionary.