Differential Recurrent Neural Network for Long-Term Dependency Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Recurrent neural networks (RNNs) face challenges in handling dependencies that go arbitrarily far in time due to their inability to store information robustly, leading to issues with training using gradient descent, where gradients either vanish or explode, making it difficult to effectively process tasks like text processing and finite state machine learning.

Innovation Solution

The differential RNN implementation addresses this by using a state component with a recurrent loop and a trainable transition and differential non-linearity component, which modifies and stores states through addition, allowing gradients to be accumulated and preserved indefinitely, and employs a trainable OUT component for post-processing, enabling stable state transitions and long-term dependency learning.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If RNNs use recurrent loops to store states robustly, then long-term dependencies can be handled, but gradients vanish during training making it difficult to learn

Engineering Contradiction:
Improvestate storage durationVSAvoidtraining reliability
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The patent introduces an auxiliary variable (counter) that acts as an intermediary to track the time step and modulates the gradient flow through the recurrent loop. This counter mechanism allows gradients to be preserved and propagated effectively over long time sequences while maintaining stable state storage, resolving the contradiction between long-term dependency handling and training reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Stability of the object's composition

If RNNs use gating functions to keep eigenvalues close to 1, then state stability is improved, but the architecture becomes more complex

Engineering Contradiction:
Improvestate stabilityVSAvoidarchitecture complexity
Core Design Contradiction:
Stability of the object's compositionVSDevice complexity

Solution Approach 1:

The patent changes the eigenvalue parameter of the recurrent loop from values close to 1 (as in traditional RNNs with gating) to values close to 0.5 by using a different initialization scheme and training approach. This parameter change maintains state stability while simplifying the overall architecture and improving gradient flow, avoiding the need for complex gating mechanisms.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If convolutional networks are used to handle local dependencies, then processing efficiency is improved, but they cannot handle arbitrary long-term dependencies

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtemporal dependency handling
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent merges the local processing capability of convolutional networks with the long-term dependency handling of recurrent networks. By combining convolutional layers for local feature extraction with a modified recurrent loop that uses the counter mechanism for gradient preservation, the system achieves both processing efficiency and the ability to handle arbitrary long-term dependencies.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12099931B2Differential recurrent neural network
Publication Date: 2024.09.24 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12099931B2 patent drawing
  • US12099931B2 patent drawing
  • US12099931B2 patent drawing

AI summary

A differential recurrent neural network (RNN) is described that handles dependencies that go arbitrarily far in time by allowing the network system to store states using recurrent loops without adversely affecting training. The differential RNN includes a state component for storing states, and a trainable transition and differential non-linearity component which includes a neural network. The trainable transition and differential non-linearity component takes as input, an output of the previous stored states from the state component along with an input vector, and produces positive and negative contribution vectors which are employed to produce a state contribution vector. The state contribution vector is input into the state component to create a set of current states. In one implementation, the current states are simply output. In another implementation, the differential RNN includes a trainable OUT component which includes a neural network that performs post-processing on the current states before outputting them.