Distributed Neural Network Boosting for PLC Scalability
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Neural Processing Units (NPUs) in edge devices face limitations in processing speed, memory, and scalability, leading to restricted applicability and accuracy in applications like image detection due to resource constraints, which prevents the use of multiple NPUs to scale applications effectively.
Innovation Solution
The implementation of a distributed ensemble learning method using Adaptive Boosting (AdaBoost) that trains multiple weak neural network learners across multiple NPUs, allowing them to process data concurrently and vote for a final hypothesis, thereby expanding the Vapnik-Chervonenkis dimension without reaching resource limitations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a large neural network model is used to support high VC dimension, then model accuracy and generalizability are improved, but the device memory capacity and processing speed are exceeded
Solution Approach 1:
The patent divides a large neural network model into multiple smaller sub-models that can be distributed across multiple NPUs. Each NPU processes a portion of the computation, allowing the system to achieve the functional equivalent of a high VC dimension model without requiring any single device to store the entire model in memory.
Solution Approach 2:
The patent transitions from a single-NPU architecture to a multi-NPU distributed architecture, adding the dimension of spatial distribution. This allows the system to scale computational capacity by adding more NPUs rather than increasing the memory capacity of individual NPUs.
2Measurement precision
If a large neural network model is used to support high VC dimension, then model generalizability is improved, but the processing speed becomes insufficient for real-time applications
Solution Approach 1:
The patent segments the neural network computation into multiple parallel tasks that can be executed simultaneously across different NPUs. This parallelization maintains the computational complexity needed for high generalizability while reducing the time required to complete each inference or training step.
Solution Approach 2:
The patent combines the computational results from multiple NPUs to produce the final output. By merging the distributed computations, the system achieves the equivalent processing power of a much larger single-model architecture while maintaining real-time performance through parallel execution.
3Device complexity
If a single NPU is used to run a neural network, then device simplicity is maintained, but scalability is limited
Solution Approach 1:
The patent creates a universal NPU architecture where each NPU can function independently as a complete processing unit. This allows the system to scale from a single NPU to multiple NPUs without changing the fundamental design of each unit, maintaining simplicity at the component level while achieving scalability at the system level.
Solution Approach 2:
The patent implements a dynamic configuration where the number of NPUs can be adjusted based on computational requirements. The system can adaptively allocate and distribute neural network computations across varying numbers of NPUs, allowing scalability without requiring a complete system redesign.
4Quantity of substance
If the neural network model size is reduced to fit resource limitations, then device compatibility is improved, but model accuracy drops
Solution Approach 1:
The patent segments the large model into smaller sub-models that fit within individual NPU memory constraints. Each sub-model is smaller than the original full model, allowing it to be stored and processed on resource-constrained devices, while the collective output of multiple sub-models achieves the accuracy of the original large model.
Data Source
AI summary
Distributed neural network boosting is performed by a neural network system through operating at least one processor. A method comprises providing a boosting algorithm that distributes a model among a plurality of processing units each being a weak learner of multiple weak learners that can perform computations independent from one another yet process data concurrently. The method further comprises enabling a distributed ensemble learning which enables a programmable logic controller (PLC) to use more than one processing units of the plurality of processing units to scale an application and training the multiple weak learners using the boosting algorithm. The multiple weak learners are machine learning models that do not capture an entire data distribution and are purposefully designed to predict with a lower accuracy. The method further comprises using the multiple weak learners to vote for a final hypothesis based on a feed forward computation of neural networks.


