Contextual Unidirectional LSTM for Streaming Speech Recognition

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current machine learning models for speech recognition, particularly unidirectional models, face challenges in processing streaming data due to limitations in temporal dependency, leading to inaccuracies and inability to apply bidirectional models to real-time data streams.

Innovation Solution

The implementation of a contextual unidirectional machine learning model that utilizes LSTM-RNN processing blocks with an embedding vector that incorporates outputs from both temporally preceding and subsequent processing blocks, allowing for a temporal shift in processing flow to enable real-time processing of streaming data without requiring the entire data stream to be received.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If bidirectional RNN models are used to improve accuracy by incorporating future context, then prediction accuracy is improved, but the model cannot be applied to streaming data requiring real-time processing

Engineering Contradiction:
Improveprediction accuracyVSAvoidapplicability to streaming data
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent applies preliminary action by pre-computing and storing embedding vectors for future frames before they are needed for processing. This allows the unidirectional model to access future context information without actually waiting for or processing future data in real-time, thus maintaining streaming compatibility while achieving bidirectional-like accuracy

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of future frame data in the form of embedding vectors that are stored in advance. These embedded representations serve as proxies for actual future data, allowing the model to incorporate future context without breaking the unidirectional processing flow required for streaming applications

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If unidirectional models are used for real-time streaming processing, then applicability to streaming data is improved, but prediction accuracy deteriorates due to lack of future context

Engineering Contradiction:
Improveapplicability to streaming dataVSAvoidprediction accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent introduces embedding vectors as an intermediary mechanism that bridges the gap between unidirectional processing and bidirectional accuracy. These vectors act as mediators that carry future context information into the unidirectional model without disrupting the forward-only processing flow, thus improving accuracy while maintaining streaming capability

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If model complexity is increased to improve accuracy through multiple layers and temporal dependencies, then prediction accuracy is improved, but training difficulty increases due to vanishing and exploding gradients

Engineering Contradiction:
Improveprediction accuracyVSAvoidtraining difficulty
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing embedding vectors offline before the actual streaming processing occurs. This separates the complex computational work from the real-time processing, allowing complex multi-layer models to be trained and prepared in advance without impacting the simplicity and speed of online streaming inference

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11244673B2Streaming contextual unidirectional models
Publication Date: 2022.02.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11244673B2 patent drawing
  • US11244673B2 patent drawing
  • US11244673B2 patent drawing

AI summary

Streaming machine learning unidirectional models is facilitated by the use of embedding vectors. Processing blocks in the models apply embedding vectors as input. The embedding vectors utilize context of future data (e.g., data that is temporally offset into the future within a data stream) to improve the accuracy of the outputs generated by the processing blocks. The embedding vectors cause a temporal shift between the outputs of the processing blocks and the inputs to which the outputs correspond. This temporal shift enables the processing blocks to apply the embedding vector inputs from processing blocks that are associated with future data.