A scalable neural network system may include a root processor and a plurality of neural network processors with a tree of synchronizing sub-systems connecting them together. Each synchronization sub-system may connect one parent to a plurality of children. Furthermore, each of the synchronizing sub-systems may simultaneously distribute weight updates from the root processor to the plurality of neural network processors, while statistically combining corresponding weight gradients from its children into single statistical weight gradients. A generalized network of sensor-controllers may have a similar structure.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A neural network system, including: a root processor; one or more synchronizing sub-systems (SSSs), bidirectionally coupled to the root processor; and a plurality of neural network processors (NNPs), wherein a respective one of the plurality of NNPs is bidirectionally coupled to one of the one or more SSSs. 2. The neural network system of claim 1, wherein at least one of the plurality of NNPs is an atomic worker (AW). 3. The neural network system of claim 1, wherein at least one of the plurality of NNPs is a composite worker (CW). 4. The neural network system of claim 1, wherein at least one of the plurality of NNPs is a batch neural network processor. 5. The neural network system of claim 1, wherein the one or more SSSs include at least two SSSs arranged in at least two hierarchical layers. 6. The neural network system of claim 1, wherein at least one SSS of the one or more SSSs comprises: a distributer configured to distribute information to one or more NNPs coupled to the at least one SSS; and a combiner configured to receive and combine information from the one or more NNPs coupled to the at least one SSS. 7. The neural network system of claim 6, wherein the at least one SSS further comprises: control logic coupled to the root processor and coupled to control at least one of the combiner or the distributer. 8. The neural network system of claim 6, wherein the at least one SSS further comprises at least one memory coupled to the combiner, the distributer, or both the combiner and the distributer. 9. The neural network system of claim 8, wherein the at least one SSS further comprises: control logic coupled to the root processor and coupled to control at least one of the combiner or the distributer or the at least one memory. 10. The neural network system of claim 1, wherein the one or more SSSs are configured to receive and distribute weight information to the plurality of NNPs. 11. The neural network system of claim 1, wherein the one or more SSSs are configured to receive and combine weight gradient information from the plurality of NNPs. 12. A synchronizing sub-system (SSS) of a neural network system, the SSS configured to be coupled between a root processor and a plurality of neural network processors (NNPs), the SSS including: a distributer configured to distribute information to one or more NNPs coupled to the at least one SSS; and a combiner configured to receive and combine information from the one or more NNPs coupled to the at least one SSS. 13. The SSS of claim 12, further including: control logic coupled to the root processor and coupled to control at least one of the combiner or the distributer. 14. The SSS of claim 12, further including: at least one memory coupled to the combiner, the distributer, or both the combiner and the distributer. 15. The SSS of claim 14, further including: control logic coupled to the root processor and coupled to control at least one of the combiner or the distributer or the at least one memory. 16. The SSS of claim 12, wherein the SSS is configured to receive and distribute weight information to the plurality of NNPs. 17. The SSS of claim 12, wherein the SSS is configured to receive and combine weight gradient information from the plurality of NNPs. 18. A method of operating a neural network, the method including: coupling a root processor with a plurality of neural network processors (NNPs) through at least one intermediate processing sub-system; passing information bi-directionally between the root processor and the at least one intermediate processing sub-system; and passing information bi-directionally between the at least one intermediate processing sub-system and the plurality of NNPs. 19. The method of claim 18, wherein passing information bi-directionally between the root processor and the at least one intermediate processing sub-system includes performing, by the at least one intermediate processing sub-system, compression, decompression, or both, of information being passed. 20. The method of claim 18, wherein passing information bi-directionally between the at least one intermediate processing sub-system and the plurality of NNPs includes performing, by the at least one intermediate processing sub-system, compression, decompression, or both, of information being passed. 21. The method of claim 18, further including performing, by the at least one intermediate processing sub-system, synchronization of data flow in at least one direction between the root processor and the plurality of NNPs. 22. The method of claim 21, wherein the synchronization of data flow includes storing data in a memory of the intermediate processing sub-system. 23. The method of claim 18, further including controlling one or more of the plurality of NNPs to be turned off, in response to a command from the root processor. 24. The method of claim 23, wherein the controlling comprises: receiving the command at the intermediate processing sub-system; adjusting the command at the intermediate processing sub-system to obtain an adjusted command; and passing the adjusted command from the intermediate processing sub-system to at least one of the plurality of NNPs. 25. The method of claim 18, wherein the passing information bi-directionally between the root processor and the at least one intermediate processing sub-system and the passing information bi-directionally between the at least one intermediate processing sub-system and the plurality of NNPs together comprise: receiving, at the at least one intermediate processing sub-system, information from the root processor and distributing, by the at least one intermediate processing sub-system, corresponding information to the plurality of NNPs; and receiving, at the at least one intermediate processing sub-system, information from the plurality of NNPs, and combining, by the at least one intermediate processing sub-system, at least a portion of the information received from the plurality of NNPs, prior to forwarding corresponding information, in combined form, to the root processor. 26. The method of claim 25, wherein the information received from the root processor and distributed to the plurality of NNPs comprises neural network weight information. 27. The method of claim 25, wherein the information received from the plurality of NNPs and combined at the at least one intermediate processing sub-system comprises neural network weight gradient information. 28. A method of operating a synchronizing sub-system (SSS) of a neural network system, the SSS configured to be coupled between a root processor and a plurality of neural network processors (NNPs), the method including: communicating information bi-directionally with the root processor; and communicating information bi-directionally with the plurality of NNPs. 29. The method of claim 28, further including: performing compression, decompression, or both, on information being communicated between the SSS and the root processor or between the SSS and the plurality of NNPs or both. 30. The method of claim 28, further including synchronizing data flow in at least one direction between the root processor and the plurality of NNPs. 31. The method of claim 30, wherein the synchronizing data flow comprises storing data in a memory of the SSS. 32. The method of claim 28, further including controlling one or more of the plurality of NNPs to be turned off, in response to a command from the root processor. 33. The method of claim 32, wherein the controlling comprises: receiving the command from the root processor; adjusting the command to obtain an adjusted command; and passing the adjusted command to at least one of the plurality of NNPs. 34. The method of claim 28, wherein the communicating information bi-directionally with the root processor and the communicating information bi-directionally with the plurality of NNPs together comprise: receiving information from the root processor and distributing corresponding information to the plurality of NNPs; and receiving information from the plurality of NNPs, and combining at least a portion of the information received from the plurality of NNPs, prior to forwarding corresponding information, in combined form, to the root processor. 35. The method of claim 34, wherein the information received from the root processor and distributed to the plurality of NNPs comprises neural network weight information. 36. The method of claim 34, wherein the information received from the plurality of NNPs and combined comprises neural network weight gradient information. 37. A memory medium containing executable instructions configured to cause one or more processors to implement the method according to claim 18. 38. A neural network system including: the memory medium according to claim 37; and one or more processors coupled to the memory medium to enable the one or more processors to execute the executable instructions contained in the memory medium. 39. A memory medium containing executable instructions configured to cause one or more processors to implement the method according to claim 28. 40. A neural network system including: the memory medium according to claims 39; and one or more processors coupled to the memory medium according to claim 33 to enable the one or more processors to execute the executable instructions contained in the memory medium.