Hardware BRNN Implementation via Static Graph Transformation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvestate dependency accuracyVSAvoidhardware implementation difficulty
Core Design Contradiction:
ReliabilityVSEase of manufacture

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvehardware implementabilityVSAvoidnetwork structure complexity
Core Design Contradiction:
Ease of manufactureVSDevice 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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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

Engineering Contradiction:
Improveindependent RNN formationVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS20230031537A1Running Bidirectional Recurrent Neural Networks in Hardware
Publication Date: 2023.02.02 IMAGINATION TECH LTD
  • US20230031537A1 patent drawing
  • US20230031537A1 patent drawing
  • US20230031537A1 patent drawing

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.