Neural Network Intermediate Output Access via Data Flow Graph Augmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Accessing intermediate outputs in neural networks is challenging due to the need for modifying and recompiling program code, which is resource-intensive and can alter the network's behavior, leading to erroneous results.
Innovation Solution
A compiler is configured to save intermediate outputs by inserting save operations into the data flow graph, allowing for access to these outputs without modifying the original program code, thereby preserving the network's behavior.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of information
If program code is modified to access intermediate outputs, then access to intermediate outputs is enabled, but compilation time and resource consumption increase
Solution Approach 1:
The patent applies preliminary action by having the compiler automatically insert save operations into the data flow graph during the initial compilation process. This allows intermediate outputs to be saved without requiring subsequent code modifications or recompilations, thus enabling access to intermediate outputs while avoiding repeated compilation time losses.
2Loss of information
If program code is modified to access intermediate outputs, then access to intermediate outputs is enabled, but neural network behavior may change leading to erroneous results
Solution Approach 1:
The patent uses an intermediary approach by introducing save operations as mediator elements in the data flow graph. These save operations act as transparent intermediaries that capture intermediate outputs without interfering with the original computation flow, thus enabling access to intermediate outputs while preserving the neural network's original behavior and reliability.
3Loss of information
If program code is modified to access intermediate outputs, then access to intermediate outputs is enabled, but device complexity increases
Solution Approach 1:
The patent applies self-service by enabling the compiler to automatically generate and insert save operations into the data flow graph without requiring manual code modifications. This self-service approach allows intermediate outputs to be accessed while avoiding the increased program code complexity that would result from manual modifications.
Data Source
AI summary
A computing system is configured to access intermediate outputs of a neural network by augmenting a data flow graph generated for the neural network. The data flow graph includes a plurality of nodes interconnected by connections, each node representing an operation to be executed by the neural network. To access the intermediate output, the data flow graph is augmented by inserting a node representing an operation that saves the output of a node which produces the intermediate output. The node representing the save operation is inserted while maintaining all existing nodes and connections in the data flow graph, thereby preserving the behavior of the data flow graph. The augmenting can be performed using a compiler that generates the data flow graph from program code.


