Hardware BRNN Implementation via Static Graph Transformation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Implementing Bidirectional Recurrent Neural Networks (BRNNs) in hardware is challenging due to their dynamic nature, which requires both forward and backward state dependencies, making it difficult to execute on hardware designed for static neural networks.
Innovation Solution
The method involves transforming the BRNN into a derivative neural network comprising forward and backward recurrent neural networks, which are then implemented in hardware, allowing for concurrent operation and parallel processing of forward and backward states.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If BRNN is implemented directly in hardware, then forward and backward state dependencies can be maintained, but hardware execution becomes difficult due to dynamic nature
Solution Approach 1:
The patent applies preliminary action by unrolling the BRNN into a derivative neural network before hardware implementation. The transformation unit converts the dynamic BRNN graph into a static unrolled graph in advance, where all forward and backward state dependencies are explicitly represented as fixed connections. This allows the hardware to execute the pre-transformed static graph without needing to dynamically manage state dependencies during runtime.
2Ease of manufacture
If BRNN is transformed into derivative neural network, then hardware implementation becomes feasible, but forward and backward RNNs must be unrolled which increases complexity
Solution Approach 1:
The patent applies segmentation by dividing the BRNN into separate forward RNN and backward RNN components in the derivative neural network. Each RNN is unrolled independently into discrete time steps, creating segmented computational units that can be systematically implemented in hardware. The transformation unit generates these segmented forward and backward paths, which are then executed in parallel on hardware accelerators.
Solution Approach 2:
The patent applies dimensionality change by transforming the temporal recurrence dimension of the BRNN into explicit spatial layers in the unrolled derivative network. The time steps are expanded as separate layers in the static graph, converting the temporal dependency into a spatial structure that hardware can process efficiently through parallel computation across layers.
3Adaptability or versatility
If unrolling is performed prior to forming derivative neural network, then forward and backward RNNs can be formed independently, but processing time increases
Solution Approach 1:
The patent applies merging by combining the forward and backward RNN operations into a single unified derivative neural network graph. The transformation unit integrates both forward and backward unrolled RNNs into one cohesive static graph structure, allowing them to be executed simultaneously on hardware accelerators. This merging enables parallel processing of forward and backward computations, reducing overall processing time compared to sequential execution.
Data Source
AI summary
A method of implementing in hardware a bidirectional recurrent neural network (BRNN) for operation on a sequence of inputs, each step of the BRNN being for operation on (a) an input of the sequence, (b) corresponding backward state generated in respect of a subsequent input of the sequence, and (c) corresponding forward state generated in respect of a preceding input of the sequence. A representation of the BRNN is transformed into a derivative neural network equivalent to the BRNN over the sequence of inputs. The derivative neural network includes a forward recurrent neural network (RNN) for operation on the forward state over the inputs of the sequence, and a backward recurrent neural network (RNN) for operation on the backward state over the inputs of the sequence. The derivative neural network is implemented in hardware so as to perform the BRNN on the sequence of inputs.


