Augmenting Neural Networks with External Memory for Sequential Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current neural network systems lack effective long-term memory storage and interference reduction, limiting their ability to process sequential data efficiently without increasing trainable parameters or introducing interference between memory writes.

Innovation Solution

An augmented neural network system is introduced, which includes a neural network and an external memory that uses a memory interface subsystem for reading, writing, and erasing operations, allowing for content and location-based lookups, and is fully differentiable for efficient training.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If neural networks use recurrent structures to process sequential data, then they can capture temporal dependencies, but they lack effective long-term memory storage and suffer from interference between consecutive writes

Engineering Contradiction:
Improvememory storage capabilityVSAvoidinterference between memory writes
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The external memory is segmented into multiple memory locations that can be independently accessed. The memory interface subsystem manages these segments, allowing selective reading and writing to specific locations without interference between consecutive writes. This segmentation enables long-term memory storage while reducing write interference.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A memory interface subsystem is introduced as an intermediary between the neural network and the external memory. This interface subsystem manages the communication protocols, handles read/write operations, and coordinates access to the external memory, thereby reducing interference between consecutive writes and enabling reliable long-term storage.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If neural networks increase the size of memory storage, then they can store more information from preceding inputs, but they cannot increase memory size without increasing the number of trainable parameters

Engineering Contradiction:
Improvememory storage capacityVSAvoidnumber of trainable parameters
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The memory storage function is extracted from the neural network's trainable parameters and placed in external memory. The external memory stores information derived from neural network outputs, allowing the network to access stored information without increasing its own parameter count. This separation enables unlimited memory capacity independent of trainable parameters.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of storing information within the neural network's parameter space, the system creates copies of relevant information in external memory. The memory interface subsystem reads these copies when needed, allowing the network to access historical information without expanding its trainable parameters.

Inventive Principle:
Principle #26Copying

3Measurement precision

If neural networks process inputs from sequences, then they can generate accurate outputs, but they cannot effectively use information from preceding inputs without additional memory mechanisms

Engineering Contradiction:
Improveoutput accuracyVSAvoidmemory access mechanisms
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The external memory serves multiple functions: it stores information from preceding inputs, provides content-based lookup, enables location-based access, and reduces interference between writes. The memory interface subsystem handles all these operations, making the system more versatile without adding complex memory mechanisms to the neural network itself.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system changes the parameter of information storage from within the neural network parameters to external memory storage. This allows the network to access historical information through the memory interface subsystem without changing the network's own parameters, thereby improving output accuracy while maintaining parameter efficiency.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If neural networks implement content and location-based lookups in external memory, then they can access stored information efficiently, but the system complexity increases

Engineering Contradiction:
Improveinformation access efficiencyVSAvoidmemory interface subsystem
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory interface subsystem merges content-based lookup and location-based access into a single unified interface. This integrated interface handles both types of queries efficiently, allowing the neural network to access external memory without managing separate complex mechanisms for each access method.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11210579B2Augmenting neural networks with external memory
Publication Date: 2021.12.28 GDM HOLDING LLC
  • US11210579B2 patent drawing
  • US11210579B2 patent drawing
  • US11210579B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for augmenting neural networks with an external memory. One of the methods includes providing an output derived from a first portion of a neural network output as a system output; determining one or more sets of writing weights for each of a plurality of locations in an external memory; writing data defined by a third portion of the neural network output to the external memory in accordance with the sets of writing weights; determining one or more sets of reading weights for each of the plurality of locations in the external memory from a fourth portion of the neural network output; reading data from the external memory in accordance with the sets of reading weights; and combining the data read from the external memory with a next system input to generate the next neural network input.